From 4bc4547cb90f158d80ffb3275ae47fe2ead66192 Mon Sep 17 00:00:00 2001 From: "Bharat R. Devnani (OpenERP)" Date: Fri, 30 Aug 2013 19:26:43 +0530 Subject: [PATCH 01/20] [ADD] added the functionalities mentioned on pad bzr revid: bde@tinyerp.com-20130830135643-ehzm0bdtvq8lltdi --- addons/account/account.py | 4 ++++ addons/account/account_installer.xml | 2 +- addons/l10n_ar/l10n_ar_wizard.xml | 10 +++++++--- addons/l10n_at/l10n_chart_at_wizard.xml | 10 +++++++--- addons/l10n_be/wizard/account_wizard.xml | 12 +++++++++--- addons/l10n_bo/l10n_bo_wizard.xml | 10 +++++++--- addons/l10n_br/l10n_br_wizard.xml | 12 +++++++++--- addons/l10n_ca/l10n_ca_wizard.xml | 6 +++++- addons/l10n_ch/wizard.xml | 6 ++++++ addons/l10n_cl/l10n_cl_wizard.xml | 7 ++++++- addons/l10n_cn/l10n_chart_cn_wizard.xml | 7 ++++++- addons/l10n_co/data/l10n_chart_mx_wizard.xml | 6 ++++++ addons/l10n_cr/l10n_wizard.xml | 7 ++++++- addons/l10n_de/l10n_de_wizard.xml | 6 +++++- addons/l10n_ec/l10n_chart_ec_wizard.xml | 7 ++++++- addons/l10n_es/l10n_es_wizard.xml | 5 +++++ addons/l10n_et/l10n_et_wizard.xml | 6 ++++++ addons/l10n_fr/l10n_fr_wizard.xml | 5 +++++ addons/l10n_gr/l10n_gr_wizard.xml | 7 ++++++- addons/l10n_gt/l10n_gt_base.xml | 4 ++++ addons/l10n_hn/l10n_hn_base.xml | 4 ++++ addons/l10n_hr/l10n_hr_wizard.xml | 6 ++++++ addons/l10n_in/l10n_in_wizard.xml | 5 +++++ addons/l10n_it/l10n_chart_it_generic.xml | 6 ++++++ addons/l10n_lu/l10n_lu_wizard.xml | 5 +++++ addons/l10n_ma/l10n_ma_tax.xml | 3 ++- addons/l10n_ma/l10n_ma_wizard.xml | 5 +++++ addons/l10n_mx/data/l10n_chart_mx_wizard.xml | 12 +++++++++--- addons/l10n_nl/l10n_nl_wizard.xml | 7 ++++++- addons/l10n_pa/l10n_pa_wizard.xml | 4 ++++ addons/l10n_pe/l10n_pe_wizard.xml | 4 ++++ addons/l10n_pl/l10n_chart_pl_wizard.xml | 5 +++++ addons/l10n_pt/l10n_chart_pt_wizard.xml | 5 +++++ addons/l10n_ro/l10n_chart_ro_wizard.xml | 5 +++++ addons/l10n_si/l10n_si_wizard.xml | 6 ++++++ .../l10n_syscohada/l10n_syscohada_wizard.xml | 6 ++++++ addons/l10n_th/account_data.xml | 6 ++++++ addons/l10n_tr/l10n_tr_wizard.xml | 6 ++++++ addons/l10n_uk/l10n_uk_wizard.xml | 5 +++++ addons/l10n_us/__openerp__.py | 3 ++- addons/l10n_us/l10n_us_wizard.xml | 11 ++++++++++- addons/l10n_uy/l10n_uy_wizard.xml | 5 +++++ addons/l10n_ve/data/account_tax.xml | 18 ++---------------- addons/l10n_ve/data/l10n_chart_ve_wizard.xml | 5 +++++ addons/l10n_vn/l10n_vn_wizard.xml | 4 ++++ 45 files changed, 244 insertions(+), 46 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 33b52b643ed..3a5e2f12cfc 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -3030,6 +3030,9 @@ class wizard_multi_charts_accounts(osv.osv_memory): } def onchange_company_id(self, cr, uid, ids, company_id, context=None): + if context.get('default_currency_id', False): + dummy, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', context.get('default_currency_id')) + return {'value': {'currency_id': view_id}} currency_id = False if company_id: currency_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id.id @@ -3067,6 +3070,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): res.update({'company_id': self.pool.get('res.users').browse(cr, uid, [uid], context=context)[0].company_id.id}) if 'currency_id' in fields: company_id = res.get('company_id') or False + if company_id: company_obj = self.pool.get('res.company') country_id = company_obj.browse(cr, uid, company_id, context=context).country_id.id diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml index b03babc63ac..79557b3f406 100644 --- a/addons/account/account_installer.xml +++ b/addons/account/account_installer.xml @@ -51,6 +51,6 @@ 3 automatic - + diff --git a/addons/l10n_ar/l10n_ar_wizard.xml b/addons/l10n_ar/l10n_ar_wizard.xml index 82e7671b4d3..f21b5cd8c11 100644 --- a/addons/l10n_ar/l10n_ar_wizard.xml +++ b/addons/l10n_ar/l10n_ar_wizard.xml @@ -2,9 +2,13 @@ - - open - + + open + + + + done + diff --git a/addons/l10n_at/l10n_chart_at_wizard.xml b/addons/l10n_at/l10n_chart_at_wizard.xml index 19d27fb47c7..350ea995edc 100644 --- a/addons/l10n_at/l10n_chart_at_wizard.xml +++ b/addons/l10n_at/l10n_chart_at_wizard.xml @@ -1,9 +1,13 @@ - - open - + + open + + + + done + diff --git a/addons/l10n_be/wizard/account_wizard.xml b/addons/l10n_be/wizard/account_wizard.xml index dde7a77516a..27785c1b6cf 100644 --- a/addons/l10n_be/wizard/account_wizard.xml +++ b/addons/l10n_be/wizard/account_wizard.xml @@ -1,7 +1,13 @@ - - open - + + + open + + + + done + + diff --git a/addons/l10n_bo/l10n_bo_wizard.xml b/addons/l10n_bo/l10n_bo_wizard.xml index 4de61247b90..cc2f17058ff 100644 --- a/addons/l10n_bo/l10n_bo_wizard.xml +++ b/addons/l10n_bo/l10n_bo_wizard.xml @@ -2,9 +2,13 @@ - - open - + + open + + + + done + diff --git a/addons/l10n_br/l10n_br_wizard.xml b/addons/l10n_br/l10n_br_wizard.xml index 748b8913660..5988a2ccd40 100644 --- a/addons/l10n_br/l10n_br_wizard.xml +++ b/addons/l10n_br/l10n_br_wizard.xml @@ -1,8 +1,14 @@ - - open - + + + open + + + + done + + \ No newline at end of file diff --git a/addons/l10n_ca/l10n_ca_wizard.xml b/addons/l10n_ca/l10n_ca_wizard.xml index 19d27fb47c7..007f2badc7a 100644 --- a/addons/l10n_ca/l10n_ca_wizard.xml +++ b/addons/l10n_ca/l10n_ca_wizard.xml @@ -4,6 +4,10 @@ open - + + + done + + diff --git a/addons/l10n_ch/wizard.xml b/addons/l10n_ch/wizard.xml index dde7a77516a..8247cf51cc0 100644 --- a/addons/l10n_ch/wizard.xml +++ b/addons/l10n_ch/wizard.xml @@ -1,7 +1,13 @@ + open + + + done + + diff --git a/addons/l10n_cl/l10n_cl_wizard.xml b/addons/l10n_cl/l10n_cl_wizard.xml index 704ac4daf38..f05a8d4d664 100644 --- a/addons/l10n_cl/l10n_cl_wizard.xml +++ b/addons/l10n_cl/l10n_cl_wizard.xml @@ -1,9 +1,14 @@ + open - + + + done + + diff --git a/addons/l10n_cn/l10n_chart_cn_wizard.xml b/addons/l10n_cn/l10n_chart_cn_wizard.xml index 52aaa88fdab..d93d83a37aa 100644 --- a/addons/l10n_cn/l10n_chart_cn_wizard.xml +++ b/addons/l10n_cn/l10n_chart_cn_wizard.xml @@ -1,8 +1,13 @@ + open - + + + done + + diff --git a/addons/l10n_co/data/l10n_chart_mx_wizard.xml b/addons/l10n_co/data/l10n_chart_mx_wizard.xml index e73c75c3506..c6f013cbdb3 100644 --- a/addons/l10n_co/data/l10n_chart_mx_wizard.xml +++ b/addons/l10n_co/data/l10n_chart_mx_wizard.xml @@ -1,8 +1,14 @@ + open + + + done + + diff --git a/addons/l10n_cr/l10n_wizard.xml b/addons/l10n_cr/l10n_wizard.xml index 6919eb199b6..2199faa9366 100644 --- a/addons/l10n_cr/l10n_wizard.xml +++ b/addons/l10n_cr/l10n_wizard.xml @@ -1,8 +1,13 @@ + open - + + + done + + diff --git a/addons/l10n_de/l10n_de_wizard.xml b/addons/l10n_de/l10n_de_wizard.xml index 19d27fb47c7..007f2badc7a 100644 --- a/addons/l10n_de/l10n_de_wizard.xml +++ b/addons/l10n_de/l10n_de_wizard.xml @@ -4,6 +4,10 @@ open - + + + done + + diff --git a/addons/l10n_ec/l10n_chart_ec_wizard.xml b/addons/l10n_ec/l10n_chart_ec_wizard.xml index 52aaa88fdab..71b98ed174b 100644 --- a/addons/l10n_ec/l10n_chart_ec_wizard.xml +++ b/addons/l10n_ec/l10n_chart_ec_wizard.xml @@ -1,8 +1,13 @@ + open - + + + done + + diff --git a/addons/l10n_es/l10n_es_wizard.xml b/addons/l10n_es/l10n_es_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_es/l10n_es_wizard.xml +++ b/addons/l10n_es/l10n_es_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_et/l10n_et_wizard.xml b/addons/l10n_et/l10n_et_wizard.xml index cbbb56b7989..1027cc5874f 100644 --- a/addons/l10n_et/l10n_et_wizard.xml +++ b/addons/l10n_et/l10n_et_wizard.xml @@ -1,8 +1,14 @@ + open + + + done + + diff --git a/addons/l10n_fr/l10n_fr_wizard.xml b/addons/l10n_fr/l10n_fr_wizard.xml index 704ac4daf38..193de99eeb4 100644 --- a/addons/l10n_fr/l10n_fr_wizard.xml +++ b/addons/l10n_fr/l10n_fr_wizard.xml @@ -1,9 +1,14 @@ + open + + done + + diff --git a/addons/l10n_gr/l10n_gr_wizard.xml b/addons/l10n_gr/l10n_gr_wizard.xml index 52aaa88fdab..71b98ed174b 100644 --- a/addons/l10n_gr/l10n_gr_wizard.xml +++ b/addons/l10n_gr/l10n_gr_wizard.xml @@ -1,8 +1,13 @@ + open - + + + done + + diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml index 8caf6ebe48c..ddce9748193 100644 --- a/addons/l10n_gt/l10n_gt_base.xml +++ b/addons/l10n_gt/l10n_gt_base.xml @@ -4,6 +4,10 @@ open + + + done + diff --git a/addons/l10n_hn/l10n_hn_base.xml b/addons/l10n_hn/l10n_hn_base.xml index b8b85c3f2a7..63cf79a441f 100644 --- a/addons/l10n_hn/l10n_hn_base.xml +++ b/addons/l10n_hn/l10n_hn_base.xml @@ -5,6 +5,10 @@ open + + + done + diff --git a/addons/l10n_hr/l10n_hr_wizard.xml b/addons/l10n_hr/l10n_hr_wizard.xml index b736f241607..25cc74eb4a6 100644 --- a/addons/l10n_hr/l10n_hr_wizard.xml +++ b/addons/l10n_hr/l10n_hr_wizard.xml @@ -1,8 +1,14 @@ + open + + + done + + diff --git a/addons/l10n_in/l10n_in_wizard.xml b/addons/l10n_in/l10n_in_wizard.xml index 704ac4daf38..193de99eeb4 100644 --- a/addons/l10n_in/l10n_in_wizard.xml +++ b/addons/l10n_in/l10n_in_wizard.xml @@ -1,9 +1,14 @@ + open + + done + + diff --git a/addons/l10n_it/l10n_chart_it_generic.xml b/addons/l10n_it/l10n_chart_it_generic.xml index dde7a77516a..71b98ed174b 100644 --- a/addons/l10n_it/l10n_chart_it_generic.xml +++ b/addons/l10n_it/l10n_chart_it_generic.xml @@ -1,7 +1,13 @@ + open + + + done + + diff --git a/addons/l10n_lu/l10n_lu_wizard.xml b/addons/l10n_lu/l10n_lu_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_lu/l10n_lu_wizard.xml +++ b/addons/l10n_lu/l10n_lu_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_ma/l10n_ma_tax.xml b/addons/l10n_ma/l10n_ma_tax.xml index 070d2d4fc9b..f296b22edca 100644 --- a/addons/l10n_ma/l10n_ma_tax.xml +++ b/addons/l10n_ma/l10n_ma_tax.xml @@ -742,7 +742,8 @@ - + + diff --git a/addons/l10n_ma/l10n_ma_wizard.xml b/addons/l10n_ma/l10n_ma_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_ma/l10n_ma_wizard.xml +++ b/addons/l10n_ma/l10n_ma_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_mx/data/l10n_chart_mx_wizard.xml b/addons/l10n_mx/data/l10n_chart_mx_wizard.xml index e73c75c3506..baf1a49fc54 100644 --- a/addons/l10n_mx/data/l10n_chart_mx_wizard.xml +++ b/addons/l10n_mx/data/l10n_chart_mx_wizard.xml @@ -1,8 +1,14 @@ - - open - + + + open + + + + done + + diff --git a/addons/l10n_nl/l10n_nl_wizard.xml b/addons/l10n_nl/l10n_nl_wizard.xml index 52aaa88fdab..3b11bd90c90 100644 --- a/addons/l10n_nl/l10n_nl_wizard.xml +++ b/addons/l10n_nl/l10n_nl_wizard.xml @@ -1,8 +1,13 @@ + open - + + + done + + diff --git a/addons/l10n_pa/l10n_pa_wizard.xml b/addons/l10n_pa/l10n_pa_wizard.xml index 4de61247b90..8acb61d7edf 100644 --- a/addons/l10n_pa/l10n_pa_wizard.xml +++ b/addons/l10n_pa/l10n_pa_wizard.xml @@ -6,5 +6,9 @@ open + + done + + diff --git a/addons/l10n_pe/l10n_pe_wizard.xml b/addons/l10n_pe/l10n_pe_wizard.xml index 82e7671b4d3..b18ee6e26ca 100644 --- a/addons/l10n_pe/l10n_pe_wizard.xml +++ b/addons/l10n_pe/l10n_pe_wizard.xml @@ -6,5 +6,9 @@ open + + done + + diff --git a/addons/l10n_pl/l10n_chart_pl_wizard.xml b/addons/l10n_pl/l10n_chart_pl_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_pl/l10n_chart_pl_wizard.xml +++ b/addons/l10n_pl/l10n_chart_pl_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_pt/l10n_chart_pt_wizard.xml b/addons/l10n_pt/l10n_chart_pt_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_pt/l10n_chart_pt_wizard.xml +++ b/addons/l10n_pt/l10n_chart_pt_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_ro/l10n_chart_ro_wizard.xml b/addons/l10n_ro/l10n_chart_ro_wizard.xml index 52aaa88fdab..22953449166 100644 --- a/addons/l10n_ro/l10n_chart_ro_wizard.xml +++ b/addons/l10n_ro/l10n_chart_ro_wizard.xml @@ -1,8 +1,13 @@ + open + + done + + diff --git a/addons/l10n_si/l10n_si_wizard.xml b/addons/l10n_si/l10n_si_wizard.xml index 5a4b51a01e9..65e60217eb3 100644 --- a/addons/l10n_si/l10n_si_wizard.xml +++ b/addons/l10n_si/l10n_si_wizard.xml @@ -1,8 +1,14 @@ + open + + + done + + diff --git a/addons/l10n_syscohada/l10n_syscohada_wizard.xml b/addons/l10n_syscohada/l10n_syscohada_wizard.xml index dde7a77516a..2f815a22ff6 100644 --- a/addons/l10n_syscohada/l10n_syscohada_wizard.xml +++ b/addons/l10n_syscohada/l10n_syscohada_wizard.xml @@ -1,7 +1,13 @@ + open + + + done + + diff --git a/addons/l10n_th/account_data.xml b/addons/l10n_th/account_data.xml index 9ae3d9e3364..5df58bc3867 100644 --- a/addons/l10n_th/account_data.xml +++ b/addons/l10n_th/account_data.xml @@ -645,8 +645,14 @@ + open + + + done + + diff --git a/addons/l10n_tr/l10n_tr_wizard.xml b/addons/l10n_tr/l10n_tr_wizard.xml index 66b9d37221b..a2c8c45c2de 100644 --- a/addons/l10n_tr/l10n_tr_wizard.xml +++ b/addons/l10n_tr/l10n_tr_wizard.xml @@ -1,8 +1,14 @@ + open + + + done + + diff --git a/addons/l10n_uk/l10n_uk_wizard.xml b/addons/l10n_uk/l10n_uk_wizard.xml index 8a6f1a5a83c..b488b5b53f0 100644 --- a/addons/l10n_uk/l10n_uk_wizard.xml +++ b/addons/l10n_uk/l10n_uk_wizard.xml @@ -1,9 +1,14 @@ + open + + done + + diff --git a/addons/l10n_us/__openerp__.py b/addons/l10n_us/__openerp__.py index 90c0e6fd4ad..cc0de9350f2 100644 --- a/addons/l10n_us/__openerp__.py +++ b/addons/l10n_us/__openerp__.py @@ -36,7 +36,8 @@ United States - Chart of accounts. 'account_tax_code_template.xml', 'account_tax_template.xml', 'account_chart_template_after.xml', - 'l10n_us_wizard.xml' + 'l10n_us_wizard.xml', + 'account_chart_template_set_accounts.xml' ], 'demo': [], 'test': [], diff --git a/addons/l10n_us/l10n_us_wizard.xml b/addons/l10n_us/l10n_us_wizard.xml index 52aaa88fdab..7d53a61910c 100644 --- a/addons/l10n_us/l10n_us_wizard.xml +++ b/addons/l10n_us/l10n_us_wizard.xml @@ -1,8 +1,17 @@ + + + {'default_currency_id': "USD"} + + open - + + + done + + diff --git a/addons/l10n_uy/l10n_uy_wizard.xml b/addons/l10n_uy/l10n_uy_wizard.xml index 3dea57dc5c2..4a82f72ca23 100644 --- a/addons/l10n_uy/l10n_uy_wizard.xml +++ b/addons/l10n_uy/l10n_uy_wizard.xml @@ -4,5 +4,10 @@ open + + + done + + diff --git a/addons/l10n_ve/data/account_tax.xml b/addons/l10n_ve/data/account_tax.xml index d28b0d1d8f3..915761fc92a 100644 --- a/addons/l10n_ve/data/account_tax.xml +++ b/addons/l10n_ve/data/account_tax.xml @@ -1,12 +1,12 @@ - + Exento 0.00000 percent - sale + all @@ -14,7 +14,6 @@ - IVA (12.0%) ventas @@ -54,19 +53,6 @@ - - - Exento - 0.00000 - percent - purchase - - - - - - - IVA (12.0%) compras diff --git a/addons/l10n_ve/data/l10n_chart_ve_wizard.xml b/addons/l10n_ve/data/l10n_chart_ve_wizard.xml index dde7a77516a..e772699014f 100644 --- a/addons/l10n_ve/data/l10n_chart_ve_wizard.xml +++ b/addons/l10n_ve/data/l10n_chart_ve_wizard.xml @@ -3,5 +3,10 @@ open + + + done + + diff --git a/addons/l10n_vn/l10n_vn_wizard.xml b/addons/l10n_vn/l10n_vn_wizard.xml index 368a3cbd8b3..f84b8d654e4 100755 --- a/addons/l10n_vn/l10n_vn_wizard.xml +++ b/addons/l10n_vn/l10n_vn_wizard.xml @@ -5,6 +5,10 @@ open + + + done + \ No newline at end of file From 00711ec5bdd7df523196f3f5a2d712f47ccace9a Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Mon, 2 Sep 2013 16:06:29 +0530 Subject: [PATCH 02/20] [IMP] set defalut cot as per last configuration wizard. bzr revid: tpa@tinyerp.com-20130902103629-9d1joumo51b7w8qg --- addons/account/account.py | 5 ++++- addons/account/account_installer.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 33b52b643ed..4773547df30 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -3076,7 +3076,10 @@ class wizard_multi_charts_accounts(osv.osv_memory): ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context) if ids: if 'chart_template_id' in fields: - res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': ids[0]}) + chart_id = ids[0] + if context.get("default_charts"): + chart_id = self.pool.get('ir.model.data').search_read(cr, uid, [('model','=','account.chart.template'),('module','=',context.get("default_charts"))], ['res_id'], context=context)[0]['res_id'] + res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': chart_id}) if 'sale_tax' in fields: sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id" , "=", ids[0]), ('type_tax_use', 'in', ('sale','all'))], order="sequence") diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml index b03babc63ac..8d1b25b299f 100644 --- a/addons/account/account_installer.xml +++ b/addons/account/account_installer.xml @@ -10,7 +10,7 @@
-
From 1b0ad7b55f013f94e39aac141d4f8edf0cd31847 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Mon, 2 Sep 2013 16:59:43 +0530 Subject: [PATCH 03/20] [IMP] l10n_us: improved code to set default recivable and payble accounts. bzr revid: tpa@tinyerp.com-20130902112943-cj3jbtn1bt5n15y2 --- addons/account/account.py | 1 + addons/l10n_us/account_chart_template_after.xml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/addons/account/account.py b/addons/account/account.py index c298a15646b..45308a9e7d4 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -3030,6 +3030,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): } def onchange_company_id(self, cr, uid, ids, company_id, context=None): + if context is None:context = {} if context.get('default_currency_id', False): dummy, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', context.get('default_currency_id')) return {'value': {'currency_id': view_id}} diff --git a/addons/l10n_us/account_chart_template_after.xml b/addons/l10n_us/account_chart_template_after.xml index 5ca3a169aba..4dea930f09f 100644 --- a/addons/l10n_us/account_chart_template_after.xml +++ b/addons/l10n_us/account_chart_template_after.xml @@ -6,6 +6,8 @@ + + From 34862b9d247571606b11b751542751b9720d5627 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Mon, 2 Sep 2013 18:38:39 +0530 Subject: [PATCH 04/20] [ADD] added currency_id in account.chart.template and remove onchange from company_id to set currency in account data configuration wizard and set currency_in in l10n_us. bzr revid: tpa@tinyerp.com-20130902130839-mpvu7nfzefmzh9kq --- addons/account/account.py | 14 +++----------- addons/account/account_view.xml | 2 +- addons/l10n_us/account_chart_template.xml | 9 +++++++++ addons/l10n_us/l10n_us_wizard.xml | 8 ++------ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 45308a9e7d4..1a593e4ad59 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2774,6 +2774,7 @@ class account_chart_template(osv.osv): 'parent_id': fields.many2one('account.chart.template', 'Parent Chart Template'), 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"), 'visible': fields.boolean('Can be Visible?', help="Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template."), + 'currency_id': fields.many2one('res.currency', 'Currency'), 'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sale and purchase rates or choose from list of taxes. This last choice assumes that the set of tax defined on this template is complete'), 'account_root_id': fields.many2one('account.account.template', 'Root Account', domain=[('parent_id','=',False)]), 'tax_code_root_id': fields.many2one('account.tax.code.template', 'Root Tax Code', domain=[('parent_id','=',False)]), @@ -3029,16 +3030,6 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'), } - def onchange_company_id(self, cr, uid, ids, company_id, context=None): - if context is None:context = {} - if context.get('default_currency_id', False): - dummy, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', context.get('default_currency_id')) - return {'value': {'currency_id': view_id}} - currency_id = False - if company_id: - currency_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id.id - return {'value': {'currency_id': currency_id}} - def onchange_tax_rate(self, cr, uid, ids, rate=False, context=None): return {'value': {'purchase_tax_rate': rate or False}} @@ -3048,7 +3039,8 @@ class wizard_multi_charts_accounts(osv.osv_memory): res['value'] = {'complete_tax_set': False, 'sale_tax': False, 'purchase_tax': False} if chart_template_id: data = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context) - res['value'].update({'complete_tax_set': data.complete_tax_set}) + currency_id = data.currency_id.id or self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id + res['value'].update({'complete_tax_set': data.complete_tax_set, 'currency_id': currency_id}) if data.complete_tax_set: # default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while isntalling the generic chart of account sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id" diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 91c6d6608fd..cb53d7d8fdc 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2120,7 +2120,7 @@ - + @@ -13,45 +14,53 @@ + Advertising + Agriculture + Construction Trades (Plumber, Electrician, HVAC, etc.) + Financial Services other than Accounting or Bookkeeping + General Service-Based Business + Legal Services + General Product-Based Business + diff --git a/addons/l10n_us/l10n_us_wizard.xml b/addons/l10n_us/l10n_us_wizard.xml index 9373935b22c..19d27fb47c7 100644 --- a/addons/l10n_us/l10n_us_wizard.xml +++ b/addons/l10n_us/l10n_us_wizard.xml @@ -1,13 +1,9 @@ - - - {'default_currency_id': "USD"} - - + open - + From e7ef5b87909dc6acaedf8b0660b2ba87189e1d6c Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Tue, 3 Sep 2013 11:07:15 +0530 Subject: [PATCH 05/20] [IMP] in order to set default chart which was last created set max of ids. bzr revid: tpa@tinyerp.com-20130903053715-zyduv0q0b81lz0vq --- addons/account/account.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index 1a593e4ad59..9f9ee187d69 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -3072,7 +3072,8 @@ class wizard_multi_charts_accounts(osv.osv_memory): ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context) if ids: if 'chart_template_id' in fields: - chart_id = ids[0] + #in order to get set default chart which was last created set max of ids. + chart_id = max(ids) if context.get("default_charts"): chart_id = self.pool.get('ir.model.data').search_read(cr, uid, [('model','=','account.chart.template'),('module','=',context.get("default_charts"))], ['res_id'], context=context)[0]['res_id'] res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': chart_id}) From 305e9f5cddf209db45e5bb5c6cfa7d7838b171f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 3 Sep 2013 16:58:40 +0200 Subject: [PATCH 06/20] [ADD] web, web_kanban: moved sparkline and gauge widgets from crm and sale_crm into web, because other modules will have to use it in kanban veiws. bzr revid: tde@openerp.com-20130903145840-uxt0blhjcly1oz3o --- addons/web/__openerp__.py | 2 + .../lib/jquery.sparkline/jquery.sparkline.js | 3047 +++++++++++++++++ .../web/static/lib/justgage/justgage.1.0.1.js | 946 +++++ addons/web/static/lib/qweb/qweb2.js | 1 + addons/web_kanban/static/src/js/kanban.js | 142 + 5 files changed, 4138 insertions(+) create mode 100644 addons/web/static/lib/jquery.sparkline/jquery.sparkline.js create mode 100644 addons/web/static/lib/justgage/justgage.1.0.1.js diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 5c8d27e11cb..32a108c131d 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -32,9 +32,11 @@ This module provides the core of the OpenERP Web Client. "static/lib/jquery.ui.notify/js/jquery.notify.js", "static/lib/jquery.deferred-queue/jquery.deferred-queue.js", "static/lib/jquery.scrollTo/jquery.scrollTo-min.js", + "static/lib/jquery.sparkline/jquery.sparkline.js", "static/lib/jquery.tipsy/jquery.tipsy.js", "static/lib/jquery.textext/jquery.textext.js", "static/lib/jquery.timeago/jquery.timeago.js", + "static/lib/justgage/justgage.1.0.1.js", "static/lib/qweb/qweb2.js", "static/lib/underscore/underscore.js", "static/lib/underscore.string/lib/underscore.string.js", diff --git a/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js b/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js new file mode 100644 index 00000000000..8069db45fe9 --- /dev/null +++ b/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js @@ -0,0 +1,3047 @@ +/** +* +* jquery.sparkline.js +* +* v2.1.1 +* (c) Splunk, Inc +* Contact: Gareth Watts (gareth@splunk.com) +* http://omnipotent.net/jquery.sparkline/ +* +* Generates inline sparkline charts from data supplied either to the method +* or inline in HTML +* +* Compatible with Internet Explorer 6.0+ and modern browsers equipped with the canvas tag +* (Firefox 2.0+, Safari, Opera, etc) +* +* License: New BSD License +* +* Copyright (c) 2012, Splunk Inc. +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, +* are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of Splunk Inc nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +* SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* +* Usage: +* $(selector).sparkline(values, options) +* +* If values is undefined or set to 'html' then the data values are read from the specified tag: +*

Sparkline: 1,4,6,6,8,5,3,5

+* $('.sparkline').sparkline(); +* There must be no spaces in the enclosed data set +* +* Otherwise values must be an array of numbers or null values +*

Sparkline: This text replaced if the browser is compatible

+* $('#sparkline1').sparkline([1,4,6,6,8,5,3,5]) +* $('#sparkline2').sparkline([1,4,6,null,null,5,3,5]) +* +* Values can also be specified in an HTML comment, or as a values attribute: +*

Sparkline:

+*

Sparkline:

+* $('.sparkline').sparkline(); +* +* For line charts, x values can also be specified: +*

Sparkline: 1:1,2.7:4,3.4:6,5:6,6:8,8.7:5,9:3,10:5

+* $('#sparkline1').sparkline([ [1,1], [2.7,4], [3.4,6], [5,6], [6,8], [8.7,5], [9,3], [10,5] ]) +* +* By default, options should be passed in as teh second argument to the sparkline function: +* $('.sparkline').sparkline([1,2,3,4], {type: 'bar'}) +* +* Options can also be set by passing them on the tag itself. This feature is disabled by default though +* as there's a slight performance overhead: +* $('.sparkline').sparkline([1,2,3,4], {enableTagOptions: true}) +*

Sparkline: loading

+* Prefix all options supplied as tag attribute with "spark" (configurable by setting tagOptionPrefix) +* +* Supported options: +* lineColor - Color of the line used for the chart +* fillColor - Color used to fill in the chart - Set to '' or false for a transparent chart +* width - Width of the chart - Defaults to 3 times the number of values in pixels +* height - Height of the chart - Defaults to the height of the containing element +* chartRangeMin - Specify the minimum value to use for the Y range of the chart - Defaults to the minimum value supplied +* chartRangeMax - Specify the maximum value to use for the Y range of the chart - Defaults to the maximum value supplied +* chartRangeClip - Clip out of range values to the max/min specified by chartRangeMin and chartRangeMax +* chartRangeMinX - Specify the minimum value to use for the X range of the chart - Defaults to the minimum value supplied +* chartRangeMaxX - Specify the maximum value to use for the X range of the chart - Defaults to the maximum value supplied +* composite - If true then don't erase any existing chart attached to the tag, but draw +* another chart over the top - Note that width and height are ignored if an +* existing chart is detected. +* tagValuesAttribute - Name of tag attribute to check for data values - Defaults to 'values' +* enableTagOptions - Whether to check tags for sparkline options +* tagOptionPrefix - Prefix used for options supplied as tag attributes - Defaults to 'spark' +* disableHiddenCheck - If set to true, then the plugin will assume that charts will never be drawn into a +* hidden dom element, avoding a browser reflow +* disableInteraction - If set to true then all mouseover/click interaction behaviour will be disabled, +* making the plugin perform much like it did in 1.x +* disableTooltips - If set to true then tooltips will be disabled - Defaults to false (tooltips enabled) +* disableHighlight - If set to true then highlighting of selected chart elements on mouseover will be disabled +* defaults to false (highlights enabled) +* highlightLighten - Factor to lighten/darken highlighted chart values by - Defaults to 1.4 for a 40% increase +* tooltipContainer - Specify which DOM element the tooltip should be rendered into - defaults to document.body +* tooltipClassname - Optional CSS classname to apply to tooltips - If not specified then a default style will be applied +* tooltipOffsetX - How many pixels away from the mouse pointer to render the tooltip on the X axis +* tooltipOffsetY - How many pixels away from the mouse pointer to render the tooltip on the r axis +* tooltipFormatter - Optional callback that allows you to override the HTML displayed in the tooltip +* callback is given arguments of (sparkline, options, fields) +* tooltipChartTitle - If specified then the tooltip uses the string specified by this setting as a title +* tooltipFormat - A format string or SPFormat object (or an array thereof for multiple entries) +* to control the format of the tooltip +* tooltipPrefix - A string to prepend to each field displayed in a tooltip +* tooltipSuffix - A string to append to each field displayed in a tooltip +* tooltipSkipNull - If true then null values will not have a tooltip displayed (defaults to true) +* tooltipValueLookups - An object or range map to map field values to tooltip strings +* (eg. to map -1 to "Lost", 0 to "Draw", and 1 to "Win") +* numberFormatter - Optional callback for formatting numbers in tooltips +* numberDigitGroupSep - Character to use for group separator in numbers "1,234" - Defaults to "," +* numberDecimalMark - Character to use for the decimal point when formatting numbers - Defaults to "." +* numberDigitGroupCount - Number of digits between group separator - Defaults to 3 +* +* There are 7 types of sparkline, selected by supplying a "type" option of 'line' (default), +* 'bar', 'tristate', 'bullet', 'discrete', 'pie' or 'box' +* line - Line chart. Options: +* spotColor - Set to '' to not end each line in a circular spot +* minSpotColor - If set, color of spot at minimum value +* maxSpotColor - If set, color of spot at maximum value +* spotRadius - Radius in pixels +* lineWidth - Width of line in pixels +* normalRangeMin +* normalRangeMax - If set draws a filled horizontal bar between these two values marking the "normal" +* or expected range of values +* normalRangeColor - Color to use for the above bar +* drawNormalOnTop - Draw the normal range above the chart fill color if true +* defaultPixelsPerValue - Defaults to 3 pixels of width for each value in the chart +* highlightSpotColor - The color to use for drawing a highlight spot on mouseover - Set to null to disable +* highlightLineColor - The color to use for drawing a highlight line on mouseover - Set to null to disable +* valueSpots - Specify which points to draw spots on, and in which color. Accepts a range map +* +* bar - Bar chart. Options: +* barColor - Color of bars for postive values +* negBarColor - Color of bars for negative values +* zeroColor - Color of bars with zero values +* nullColor - Color of bars with null values - Defaults to omitting the bar entirely +* barWidth - Width of bars in pixels +* colorMap - Optional mappnig of values to colors to override the *BarColor values above +* can be an Array of values to control the color of individual bars or a range map +* to specify colors for individual ranges of values +* barSpacing - Gap between bars in pixels +* zeroAxis - Centers the y-axis around zero if true +* +* tristate - Charts values of win (>0), lose (<0) or draw (=0) +* posBarColor - Color of win values +* negBarColor - Color of lose values +* zeroBarColor - Color of draw values +* barWidth - Width of bars in pixels +* barSpacing - Gap between bars in pixels +* colorMap - Optional mappnig of values to colors to override the *BarColor values above +* can be an Array of values to control the color of individual bars or a range map +* to specify colors for individual ranges of values +* +* discrete - Options: +* lineHeight - Height of each line in pixels - Defaults to 30% of the graph height +* thesholdValue - Values less than this value will be drawn using thresholdColor instead of lineColor +* thresholdColor +* +* bullet - Values for bullet graphs msut be in the order: target, performance, range1, range2, range3, ... +* options: +* targetColor - The color of the vertical target marker +* targetWidth - The width of the target marker in pixels +* performanceColor - The color of the performance measure horizontal bar +* rangeColors - Colors to use for each qualitative range background color +* +* pie - Pie chart. Options: +* sliceColors - An array of colors to use for pie slices +* offset - Angle in degrees to offset the first slice - Try -90 or +90 +* borderWidth - Width of border to draw around the pie chart, in pixels - Defaults to 0 (no border) +* borderColor - Color to use for the pie chart border - Defaults to #000 +* +* box - Box plot. Options: +* raw - Set to true to supply pre-computed plot points as values +* values should be: low_outlier, low_whisker, q1, median, q3, high_whisker, high_outlier +* When set to false you can supply any number of values and the box plot will +* be computed for you. Default is false. +* showOutliers - Set to true (default) to display outliers as circles +* outlierIQR - Interquartile range used to determine outliers. Default 1.5 +* boxLineColor - Outline color of the box +* boxFillColor - Fill color for the box +* whiskerColor - Line color used for whiskers +* outlierLineColor - Outline color of outlier circles +* outlierFillColor - Fill color of the outlier circles +* spotRadius - Radius of outlier circles +* medianColor - Line color of the median line +* target - Draw a target cross hair at the supplied value (default undefined) +* +* +* +* Examples: +* $('#sparkline1').sparkline(myvalues, { lineColor: '#f00', fillColor: false }); +* $('.barsparks').sparkline('html', { type:'bar', height:'40px', barWidth:5 }); +* $('#tristate').sparkline([1,1,-1,1,0,0,-1], { type:'tristate' }): +* $('#discrete').sparkline([1,3,4,5,5,3,4,5], { type:'discrete' }); +* $('#bullet').sparkline([10,12,12,9,7], { type:'bullet' }); +* $('#pie').sparkline([1,1,2], { type:'pie' }); +*/ + +/*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */ + +(function(factory) { + if(typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else { + factory(jQuery); + } +} +(function($) { + 'use strict'; + + var UNSET_OPTION = {}, + getDefaults, createClass, SPFormat, clipval, quartile, normalizeValue, normalizeValues, + remove, isNumber, all, sum, addCSS, ensureArray, formatNumber, RangeMap, + MouseHandler, Tooltip, barHighlightMixin, + line, bar, tristate, discrete, bullet, pie, box, defaultStyles, initStyles, + VShape, VCanvas_base, VCanvas_canvas, VCanvas_vml, pending, shapeCount = 0; + + /** + * Default configuration settings + */ + getDefaults = function () { + return { + // Settings common to most/all chart types + common: { + type: 'line', + lineColor: '#00f', + fillColor: '#cdf', + defaultPixelsPerValue: 3, + width: 'auto', + height: 'auto', + composite: false, + tagValuesAttribute: 'values', + tagOptionsPrefix: 'spark', + enableTagOptions: false, + enableHighlight: true, + highlightLighten: 1.4, + tooltipSkipNull: true, + tooltipPrefix: '', + tooltipSuffix: '', + disableHiddenCheck: false, + numberFormatter: false, + numberDigitGroupCount: 3, + numberDigitGroupSep: ',', + numberDecimalMark: '.', + disableTooltips: false, + disableInteraction: false + }, + // Defaults for line charts + line: { + spotColor: '#f80', + highlightSpotColor: '#5f5', + highlightLineColor: '#f22', + spotRadius: 1.5, + minSpotColor: '#f80', + maxSpotColor: '#f80', + lineWidth: 1, + normalRangeMin: undefined, + normalRangeMax: undefined, + normalRangeColor: '#ccc', + drawNormalOnTop: false, + chartRangeMin: undefined, + chartRangeMax: undefined, + chartRangeMinX: undefined, + chartRangeMaxX: undefined, + tooltipFormat: new SPFormat(' {{prefix}}{{y}}{{suffix}}') + }, + // Defaults for bar charts + bar: { + barColor: '#3366cc', + negBarColor: '#f44', + stackedBarColor: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', + '#dd4477', '#0099c6', '#990099'], + zeroColor: undefined, + nullColor: undefined, + zeroAxis: true, + barWidth: 4, + barSpacing: 1, + chartRangeMax: undefined, + chartRangeMin: undefined, + chartRangeClip: false, + colorMap: undefined, + tooltipFormat: new SPFormat(' {{prefix}}{{value}}{{suffix}}') + }, + // Defaults for tristate charts + tristate: { + barWidth: 4, + barSpacing: 1, + posBarColor: '#6f6', + negBarColor: '#f44', + zeroBarColor: '#999', + colorMap: {}, + tooltipFormat: new SPFormat(' {{value:map}}'), + tooltipValueLookups: { map: { '-1': 'Loss', '0': 'Draw', '1': 'Win' } } + }, + // Defaults for discrete charts + discrete: { + lineHeight: 'auto', + thresholdColor: undefined, + thresholdValue: 0, + chartRangeMax: undefined, + chartRangeMin: undefined, + chartRangeClip: false, + tooltipFormat: new SPFormat('{{prefix}}{{value}}{{suffix}}') + }, + // Defaults for bullet charts + bullet: { + targetColor: '#f33', + targetWidth: 3, // width of the target bar in pixels + performanceColor: '#33f', + rangeColors: ['#d3dafe', '#a8b6ff', '#7f94ff'], + base: undefined, // set this to a number to change the base start number + tooltipFormat: new SPFormat('{{fieldkey:fields}} - {{value}}'), + tooltipValueLookups: { fields: {r: 'Range', p: 'Performance', t: 'Target'} } + }, + // Defaults for pie charts + pie: { + offset: 0, + sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', + '#dd4477', '#0099c6', '#990099'], + borderWidth: 0, + borderColor: '#000', + tooltipFormat: new SPFormat(' {{value}} ({{percent.1}}%)') + }, + // Defaults for box plots + box: { + raw: false, + boxLineColor: '#000', + boxFillColor: '#cdf', + whiskerColor: '#000', + outlierLineColor: '#333', + outlierFillColor: '#fff', + medianColor: '#f00', + showOutliers: true, + outlierIQR: 1.5, + spotRadius: 1.5, + target: undefined, + targetColor: '#4a2', + chartRangeMax: undefined, + chartRangeMin: undefined, + tooltipFormat: new SPFormat('{{field:fields}}: {{value}}'), + tooltipFormatFieldlistKey: 'field', + tooltipValueLookups: { fields: { lq: 'Lower Quartile', med: 'Median', + uq: 'Upper Quartile', lo: 'Left Outlier', ro: 'Right Outlier', + lw: 'Left Whisker', rw: 'Right Whisker'} } + } + }; + }; + + // You can have tooltips use a css class other than jqstooltip by specifying tooltipClassname + defaultStyles = '.jqstooltip { ' + + 'position: absolute;' + + 'left: 0px;' + + 'top: 0px;' + + 'visibility: hidden;' + + 'background: rgb(0, 0, 0) transparent;' + + 'background-color: rgba(0,0,0,0.6);' + + 'filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);' + + '-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";' + + 'color: white;' + + 'font: 10px arial, san serif;' + + 'text-align: left;' + + 'white-space: nowrap;' + + 'padding: 5px;' + + 'border: 1px solid white;' + + 'z-index: 10000;' + + '}' + + '.jqsfield { ' + + 'color: white;' + + 'font: 10px arial, san serif;' + + 'text-align: left;' + + '}'; + + /** + * Utilities + */ + + createClass = function (/* [baseclass, [mixin, ...]], definition */) { + var Class, args; + Class = function () { + this.init.apply(this, arguments); + }; + if (arguments.length > 1) { + if (arguments[0]) { + Class.prototype = $.extend(new arguments[0](), arguments[arguments.length - 1]); + Class._super = arguments[0].prototype; + } else { + Class.prototype = arguments[arguments.length - 1]; + } + if (arguments.length > 2) { + args = Array.prototype.slice.call(arguments, 1, -1); + args.unshift(Class.prototype); + $.extend.apply($, args); + } + } else { + Class.prototype = arguments[0]; + } + Class.prototype.cls = Class; + return Class; + }; + + /** + * Wraps a format string for tooltips + * {{x}} + * {{x.2} + * {{x:months}} + */ + $.SPFormatClass = SPFormat = createClass({ + fre: /\{\{([\w.]+?)(:(.+?))?\}\}/g, + precre: /(\w+)\.(\d+)/, + + init: function (format, fclass) { + this.format = format; + this.fclass = fclass; + }, + + render: function (fieldset, lookups, options) { + var self = this, + fields = fieldset, + match, token, lookupkey, fieldvalue, prec; + return this.format.replace(this.fre, function () { + var lookup; + token = arguments[1]; + lookupkey = arguments[3]; + match = self.precre.exec(token); + if (match) { + prec = match[2]; + token = match[1]; + } else { + prec = false; + } + fieldvalue = fields[token]; + if (fieldvalue === undefined) { + return ''; + } + if (lookupkey && lookups && lookups[lookupkey]) { + lookup = lookups[lookupkey]; + if (lookup.get) { // RangeMap + return lookups[lookupkey].get(fieldvalue) || fieldvalue; + } else { + return lookups[lookupkey][fieldvalue] || fieldvalue; + } + } + if (isNumber(fieldvalue)) { + if (options.get('numberFormatter')) { + fieldvalue = options.get('numberFormatter')(fieldvalue); + } else { + fieldvalue = formatNumber(fieldvalue, prec, + options.get('numberDigitGroupCount'), + options.get('numberDigitGroupSep'), + options.get('numberDecimalMark')); + } + } + return fieldvalue; + }); + } + }); + + // convience method to avoid needing the new operator + $.spformat = function(format, fclass) { + return new SPFormat(format, fclass); + }; + + clipval = function (val, min, max) { + if (val < min) { + return min; + } + if (val > max) { + return max; + } + return val; + }; + + quartile = function (values, q) { + var vl; + if (q === 2) { + vl = Math.floor(values.length / 2); + return values.length % 2 ? values[vl] : (values[vl-1] + values[vl]) / 2; + } else { + if (values.length % 2 ) { // odd + vl = (values.length * q + q) / 4; + return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; + } else { //even + vl = (values.length * q + 2) / 4; + return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; + + } + } + }; + + normalizeValue = function (val) { + var nf; + switch (val) { + case 'undefined': + val = undefined; + break; + case 'null': + val = null; + break; + case 'true': + val = true; + break; + case 'false': + val = false; + break; + default: + nf = parseFloat(val); + if (val == nf) { + val = nf; + } + } + return val; + }; + + normalizeValues = function (vals) { + var i, result = []; + for (i = vals.length; i--;) { + result[i] = normalizeValue(vals[i]); + } + return result; + }; + + remove = function (vals, filter) { + var i, vl, result = []; + for (i = 0, vl = vals.length; i < vl; i++) { + if (vals[i] !== filter) { + result.push(vals[i]); + } + } + return result; + }; + + isNumber = function (num) { + return !isNaN(parseFloat(num)) && isFinite(num); + }; + + formatNumber = function (num, prec, groupsize, groupsep, decsep) { + var p, i; + num = (prec === false ? parseFloat(num).toString() : num.toFixed(prec)).split(''); + p = (p = $.inArray('.', num)) < 0 ? num.length : p; + if (p < num.length) { + num[p] = decsep; + } + for (i = p - groupsize; i > 0; i -= groupsize) { + num.splice(i, 0, groupsep); + } + return num.join(''); + }; + + // determine if all values of an array match a value + // returns true if the array is empty + all = function (val, arr, ignoreNull) { + var i; + for (i = arr.length; i--; ) { + if (ignoreNull && arr[i] === null) continue; + if (arr[i] !== val) { + return false; + } + } + return true; + }; + + // sums the numeric values in an array, ignoring other values + sum = function (vals) { + var total = 0, i; + for (i = vals.length; i--;) { + total += typeof vals[i] === 'number' ? vals[i] : 0; + } + return total; + }; + + ensureArray = function (val) { + return $.isArray(val) ? val : [val]; + }; + + // http://paulirish.com/2008/bookmarklet-inject-new-css-rules/ + addCSS = function(css) { + var tag; + //if ('\v' == 'v') /* ie only */ { + if (document.createStyleSheet) { + document.createStyleSheet().cssText = css; + } else { + tag = document.createElement('style'); + tag.type = 'text/css'; + document.getElementsByTagName('head')[0].appendChild(tag); + tag[(typeof document.body.style.WebkitAppearance == 'string') /* webkit only */ ? 'innerText' : 'innerHTML'] = css; + } + }; + + // Provide a cross-browser interface to a few simple drawing primitives + $.fn.simpledraw = function (width, height, useExisting, interact) { + var target, mhandler; + if (useExisting && (target = this.data('_jqs_vcanvas'))) { + return target; + } + if (width === undefined) { + width = $(this).innerWidth(); + } + if (height === undefined) { + height = $(this).innerHeight(); + } + if ($.fn.sparkline.hasCanvas) { + target = new VCanvas_canvas(width, height, this, interact); + } else if ($.fn.sparkline.hasVML) { + target = new VCanvas_vml(width, height, this); + } else { + return false; + } + mhandler = $(this).data('_jqs_mhandler'); + if (mhandler) { + mhandler.registerCanvas(target); + } + return target; + }; + + $.fn.cleardraw = function () { + var target = this.data('_jqs_vcanvas'); + if (target) { + target.reset(); + } + }; + + $.RangeMapClass = RangeMap = createClass({ + init: function (map) { + var key, range, rangelist = []; + for (key in map) { + if (map.hasOwnProperty(key) && typeof key === 'string' && key.indexOf(':') > -1) { + range = key.split(':'); + range[0] = range[0].length === 0 ? -Infinity : parseFloat(range[0]); + range[1] = range[1].length === 0 ? Infinity : parseFloat(range[1]); + range[2] = map[key]; + rangelist.push(range); + } + } + this.map = map; + this.rangelist = rangelist || false; + }, + + get: function (value) { + var rangelist = this.rangelist, + i, range, result; + if ((result = this.map[value]) !== undefined) { + return result; + } + if (rangelist) { + for (i = rangelist.length; i--;) { + range = rangelist[i]; + if (range[0] <= value && range[1] >= value) { + return range[2]; + } + } + } + return undefined; + } + }); + + // Convenience function + $.range_map = function(map) { + return new RangeMap(map); + }; + + MouseHandler = createClass({ + init: function (el, options) { + var $el = $(el); + this.$el = $el; + this.options = options; + this.currentPageX = 0; + this.currentPageY = 0; + this.el = el; + this.splist = []; + this.tooltip = null; + this.over = false; + this.displayTooltips = !options.get('disableTooltips'); + this.highlightEnabled = !options.get('disableHighlight'); + }, + + registerSparkline: function (sp) { + this.splist.push(sp); + if (this.over) { + this.updateDisplay(); + } + }, + + registerCanvas: function (canvas) { + var $canvas = $(canvas.canvas); + this.canvas = canvas; + this.$canvas = $canvas; + $canvas.mouseenter($.proxy(this.mouseenter, this)); + $canvas.mouseleave($.proxy(this.mouseleave, this)); + $canvas.click($.proxy(this.mouseclick, this)); + }, + + reset: function (removeTooltip) { + this.splist = []; + if (this.tooltip && removeTooltip) { + this.tooltip.remove(); + this.tooltip = undefined; + } + }, + + mouseclick: function (e) { + var clickEvent = $.Event('sparklineClick'); + clickEvent.originalEvent = e; + clickEvent.sparklines = this.splist; + this.$el.trigger(clickEvent); + }, + + mouseenter: function (e) { + $(document.body).unbind('mousemove.jqs'); + $(document.body).bind('mousemove.jqs', $.proxy(this.mousemove, this)); + this.over = true; + this.currentPageX = e.pageX; + this.currentPageY = e.pageY; + this.currentEl = e.target; + if (!this.tooltip && this.displayTooltips) { + this.tooltip = new Tooltip(this.options); + this.tooltip.updatePosition(e.pageX, e.pageY); + } + this.updateDisplay(); + }, + + mouseleave: function () { + $(document.body).unbind('mousemove.jqs'); + var splist = this.splist, + spcount = splist.length, + needsRefresh = false, + sp, i; + this.over = false; + this.currentEl = null; + + if (this.tooltip) { + this.tooltip.remove(); + this.tooltip = null; + } + + for (i = 0; i < spcount; i++) { + sp = splist[i]; + if (sp.clearRegionHighlight()) { + needsRefresh = true; + } + } + + if (needsRefresh) { + this.canvas.render(); + } + }, + + mousemove: function (e) { + this.currentPageX = e.pageX; + this.currentPageY = e.pageY; + this.currentEl = e.target; + if (this.tooltip) { + this.tooltip.updatePosition(e.pageX, e.pageY); + } + this.updateDisplay(); + }, + + updateDisplay: function () { + var splist = this.splist, + spcount = splist.length, + needsRefresh = false, + offset = this.$canvas.offset(), + localX = this.currentPageX - offset.left, + localY = this.currentPageY - offset.top, + tooltiphtml, sp, i, result, changeEvent; + if (!this.over) { + return; + } + for (i = 0; i < spcount; i++) { + sp = splist[i]; + result = sp.setRegionHighlight(this.currentEl, localX, localY); + if (result) { + needsRefresh = true; + } + } + if (needsRefresh) { + changeEvent = $.Event('sparklineRegionChange'); + changeEvent.sparklines = this.splist; + this.$el.trigger(changeEvent); + if (this.tooltip) { + tooltiphtml = ''; + for (i = 0; i < spcount; i++) { + sp = splist[i]; + tooltiphtml += sp.getCurrentRegionTooltip(); + } + this.tooltip.setContent(tooltiphtml); + } + if (!this.disableHighlight) { + this.canvas.render(); + } + } + if (result === null) { + this.mouseleave(); + } + } + }); + + + Tooltip = createClass({ + sizeStyle: 'position: static !important;' + + 'display: block !important;' + + 'visibility: hidden !important;' + + 'float: left !important;', + + init: function (options) { + var tooltipClassname = options.get('tooltipClassname', 'jqstooltip'), + sizetipStyle = this.sizeStyle, + offset; + this.container = options.get('tooltipContainer') || document.body; + this.tooltipOffsetX = options.get('tooltipOffsetX', 10); + this.tooltipOffsetY = options.get('tooltipOffsetY', 12); + // remove any previous lingering tooltip + $('#jqssizetip').remove(); + $('#jqstooltip').remove(); + this.sizetip = $('
', { + id: 'jqssizetip', + style: sizetipStyle, + 'class': tooltipClassname + }); + this.tooltip = $('
', { + id: 'jqstooltip', + 'class': tooltipClassname + }).appendTo(this.container); + // account for the container's location + offset = this.tooltip.offset(); + this.offsetLeft = offset.left; + this.offsetTop = offset.top; + this.hidden = true; + $(window).unbind('resize.jqs scroll.jqs'); + $(window).bind('resize.jqs scroll.jqs', $.proxy(this.updateWindowDims, this)); + this.updateWindowDims(); + }, + + updateWindowDims: function () { + this.scrollTop = $(window).scrollTop(); + this.scrollLeft = $(window).scrollLeft(); + this.scrollRight = this.scrollLeft + $(window).width(); + this.updatePosition(); + }, + + getSize: function (content) { + this.sizetip.html(content).appendTo(this.container); + this.width = this.sizetip.width() + 1; + this.height = this.sizetip.height(); + this.sizetip.remove(); + }, + + setContent: function (content) { + if (!content) { + this.tooltip.css('visibility', 'hidden'); + this.hidden = true; + return; + } + this.getSize(content); + this.tooltip.html(content) + .css({ + 'width': this.width, + 'height': this.height, + 'visibility': 'visible' + }); + if (this.hidden) { + this.hidden = false; + this.updatePosition(); + } + }, + + updatePosition: function (x, y) { + if (x === undefined) { + if (this.mousex === undefined) { + return; + } + x = this.mousex - this.offsetLeft; + y = this.mousey - this.offsetTop; + + } else { + this.mousex = x = x - this.offsetLeft; + this.mousey = y = y - this.offsetTop; + } + if (!this.height || !this.width || this.hidden) { + return; + } + + y -= this.height + this.tooltipOffsetY; + x += this.tooltipOffsetX; + + if (y < this.scrollTop) { + y = this.scrollTop; + } + if (x < this.scrollLeft) { + x = this.scrollLeft; + } else if (x + this.width > this.scrollRight) { + x = this.scrollRight - this.width; + } + + this.tooltip.css({ + 'left': x, + 'top': y + }); + }, + + remove: function () { + this.tooltip.remove(); + this.sizetip.remove(); + this.sizetip = this.tooltip = undefined; + $(window).unbind('resize.jqs scroll.jqs'); + } + }); + + initStyles = function() { + addCSS(defaultStyles); + }; + + $(initStyles); + + pending = []; + $.fn.sparkline = function (userValues, userOptions) { + return this.each(function () { + var options = new $.fn.sparkline.options(this, userOptions), + $this = $(this), + render, i; + render = function () { + var values, width, height, tmp, mhandler, sp, vals; + if (userValues === 'html' || userValues === undefined) { + vals = this.getAttribute(options.get('tagValuesAttribute')); + if (vals === undefined || vals === null) { + vals = $this.html(); + } + values = vals.replace(/(^\s*\s*$)|\s+/g, '').split(','); + } else { + values = userValues; + } + + width = options.get('width') === 'auto' ? values.length * options.get('defaultPixelsPerValue') : options.get('width'); + if (options.get('height') === 'auto') { + if (!options.get('composite') || !$.data(this, '_jqs_vcanvas')) { + // must be a better way to get the line height + tmp = document.createElement('span'); + tmp.innerHTML = 'a'; + $this.html(tmp); + height = $(tmp).innerHeight() || $(tmp).height(); + $(tmp).remove(); + tmp = null; + } + } else { + height = options.get('height'); + } + + if (!options.get('disableInteraction')) { + mhandler = $.data(this, '_jqs_mhandler'); + if (!mhandler) { + mhandler = new MouseHandler(this, options); + $.data(this, '_jqs_mhandler', mhandler); + } else if (!options.get('composite')) { + mhandler.reset(); + } + } else { + mhandler = false; + } + + if (options.get('composite') && !$.data(this, '_jqs_vcanvas')) { + if (!$.data(this, '_jqs_errnotify')) { + alert('Attempted to attach a composite sparkline to an element with no existing sparkline'); + $.data(this, '_jqs_errnotify', true); + } + return; + } + + sp = new $.fn.sparkline[options.get('type')](this, values, options, width, height); + + sp.render(); + + if (mhandler) { + mhandler.registerSparkline(sp); + } + }; + // jQuery 1.3.0 completely changed the meaning of :hidden :-/ + if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || ($.fn.jquery < '1.3.0' && $(this).parents().is(':hidden')) || !$(this).parents('body').length) { + if (!options.get('composite') && $.data(this, '_jqs_pending')) { + // remove any existing references to the element + for (i = pending.length; i; i--) { + if (pending[i - 1][0] == this) { + pending.splice(i - 1, 1); + } + } + } + pending.push([this, render]); + $.data(this, '_jqs_pending', true); + } else { + render.call(this); + } + }); + }; + + $.fn.sparkline.defaults = getDefaults(); + + + $.sparkline_display_visible = function () { + var el, i, pl; + var done = []; + for (i = 0, pl = pending.length; i < pl; i++) { + el = pending[i][0]; + if ($(el).is(':visible') && !$(el).parents().is(':hidden')) { + pending[i][1].call(el); + $.data(pending[i][0], '_jqs_pending', false); + done.push(i); + } else if (!$(el).closest('html').length && !$.data(el, '_jqs_pending')) { + // element has been inserted and removed from the DOM + // If it was not yet inserted into the dom then the .data request + // will return true. + // removing from the dom causes the data to be removed. + $.data(pending[i][0], '_jqs_pending', false); + done.push(i); + } + } + for (i = done.length; i; i--) { + pending.splice(done[i - 1], 1); + } + }; + + + /** + * User option handler + */ + $.fn.sparkline.options = createClass({ + init: function (tag, userOptions) { + var extendedOptions, defaults, base, tagOptionType; + this.userOptions = userOptions = userOptions || {}; + this.tag = tag; + this.tagValCache = {}; + defaults = $.fn.sparkline.defaults; + base = defaults.common; + this.tagOptionsPrefix = userOptions.enableTagOptions && (userOptions.tagOptionsPrefix || base.tagOptionsPrefix); + + tagOptionType = this.getTagSetting('type'); + if (tagOptionType === UNSET_OPTION) { + extendedOptions = defaults[userOptions.type || base.type]; + } else { + extendedOptions = defaults[tagOptionType]; + } + this.mergedOptions = $.extend({}, base, extendedOptions, userOptions); + }, + + + getTagSetting: function (key) { + var prefix = this.tagOptionsPrefix, + val, i, pairs, keyval; + if (prefix === false || prefix === undefined) { + return UNSET_OPTION; + } + if (this.tagValCache.hasOwnProperty(key)) { + val = this.tagValCache.key; + } else { + val = this.tag.getAttribute(prefix + key); + if (val === undefined || val === null) { + val = UNSET_OPTION; + } else if (val.substr(0, 1) === '[') { + val = val.substr(1, val.length - 2).split(','); + for (i = val.length; i--;) { + val[i] = normalizeValue(val[i].replace(/(^\s*)|(\s*$)/g, '')); + } + } else if (val.substr(0, 1) === '{') { + pairs = val.substr(1, val.length - 2).split(','); + val = {}; + for (i = pairs.length; i--;) { + keyval = pairs[i].split(':', 2); + val[keyval[0].replace(/(^\s*)|(\s*$)/g, '')] = normalizeValue(keyval[1].replace(/(^\s*)|(\s*$)/g, '')); + } + } else { + val = normalizeValue(val); + } + this.tagValCache.key = val; + } + return val; + }, + + get: function (key, defaultval) { + var tagOption = this.getTagSetting(key), + result; + if (tagOption !== UNSET_OPTION) { + return tagOption; + } + return (result = this.mergedOptions[key]) === undefined ? defaultval : result; + } + }); + + + $.fn.sparkline._base = createClass({ + disabled: false, + + init: function (el, values, options, width, height) { + this.el = el; + this.$el = $(el); + this.values = values; + this.options = options; + this.width = width; + this.height = height; + this.currentRegion = undefined; + }, + + /** + * Setup the canvas + */ + initTarget: function () { + var interactive = !this.options.get('disableInteraction'); + if (!(this.target = this.$el.simpledraw(this.width, this.height, this.options.get('composite'), interactive))) { + this.disabled = true; + } else { + this.canvasWidth = this.target.pixelWidth; + this.canvasHeight = this.target.pixelHeight; + } + }, + + /** + * Actually render the chart to the canvas + */ + render: function () { + if (this.disabled) { + this.el.innerHTML = ''; + return false; + } + return true; + }, + + /** + * Return a region id for a given x/y co-ordinate + */ + getRegion: function (x, y) { + }, + + /** + * Highlight an item based on the moused-over x,y co-ordinate + */ + setRegionHighlight: function (el, x, y) { + var currentRegion = this.currentRegion, + highlightEnabled = !this.options.get('disableHighlight'), + newRegion; + if (x > this.canvasWidth || y > this.canvasHeight || x < 0 || y < 0) { + return null; + } + newRegion = this.getRegion(el, x, y); + if (currentRegion !== newRegion) { + if (currentRegion !== undefined && highlightEnabled) { + this.removeHighlight(); + } + this.currentRegion = newRegion; + if (newRegion !== undefined && highlightEnabled) { + this.renderHighlight(); + } + return true; + } + return false; + }, + + /** + * Reset any currently highlighted item + */ + clearRegionHighlight: function () { + if (this.currentRegion !== undefined) { + this.removeHighlight(); + this.currentRegion = undefined; + return true; + } + return false; + }, + + renderHighlight: function () { + this.changeHighlight(true); + }, + + removeHighlight: function () { + this.changeHighlight(false); + }, + + changeHighlight: function (highlight) {}, + + /** + * Fetch the HTML to display as a tooltip + */ + getCurrentRegionTooltip: function () { + var options = this.options, + header = '', + entries = [], + fields, formats, formatlen, fclass, text, i, + showFields, showFieldsKey, newFields, fv, + formatter, format, fieldlen, j; + if (this.currentRegion === undefined) { + return ''; + } + fields = this.getCurrentRegionFields(); + formatter = options.get('tooltipFormatter'); + if (formatter) { + return formatter(this, options, fields); + } + if (options.get('tooltipChartTitle')) { + header += '
' + options.get('tooltipChartTitle') + '
\n'; + } + formats = this.options.get('tooltipFormat'); + if (!formats) { + return ''; + } + if (!$.isArray(formats)) { + formats = [formats]; + } + if (!$.isArray(fields)) { + fields = [fields]; + } + showFields = this.options.get('tooltipFormatFieldlist'); + showFieldsKey = this.options.get('tooltipFormatFieldlistKey'); + if (showFields && showFieldsKey) { + // user-selected ordering of fields + newFields = []; + for (i = fields.length; i--;) { + fv = fields[i][showFieldsKey]; + if ((j = $.inArray(fv, showFields)) != -1) { + newFields[j] = fields[i]; + } + } + fields = newFields; + } + formatlen = formats.length; + fieldlen = fields.length; + for (i = 0; i < formatlen; i++) { + format = formats[i]; + if (typeof format === 'string') { + format = new SPFormat(format); + } + fclass = format.fclass || 'jqsfield'; + for (j = 0; j < fieldlen; j++) { + if (!fields[j].isNull || !options.get('tooltipSkipNull')) { + $.extend(fields[j], { + prefix: options.get('tooltipPrefix'), + suffix: options.get('tooltipSuffix') + }); + text = format.render(fields[j], options.get('tooltipValueLookups'), options); + entries.push('
' + text + '
'); + } + } + } + if (entries.length) { + return header + entries.join('\n'); + } + return ''; + }, + + getCurrentRegionFields: function () {}, + + calcHighlightColor: function (color, options) { + var highlightColor = options.get('highlightColor'), + lighten = options.get('highlightLighten'), + parse, mult, rgbnew, i; + if (highlightColor) { + return highlightColor; + } + if (lighten) { + // extract RGB values + parse = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(color) || /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(color); + if (parse) { + rgbnew = []; + mult = color.length === 4 ? 16 : 1; + for (i = 0; i < 3; i++) { + rgbnew[i] = clipval(Math.round(parseInt(parse[i + 1], 16) * mult * lighten), 0, 255); + } + return 'rgb(' + rgbnew.join(',') + ')'; + } + + } + return color; + } + + }); + + barHighlightMixin = { + changeHighlight: function (highlight) { + var currentRegion = this.currentRegion, + target = this.target, + shapeids = this.regionShapes[currentRegion], + newShapes; + // will be null if the region value was null + if (shapeids) { + newShapes = this.renderRegion(currentRegion, highlight); + if ($.isArray(newShapes) || $.isArray(shapeids)) { + target.replaceWithShapes(shapeids, newShapes); + this.regionShapes[currentRegion] = $.map(newShapes, function (newShape) { + return newShape.id; + }); + } else { + target.replaceWithShape(shapeids, newShapes); + this.regionShapes[currentRegion] = newShapes.id; + } + } + }, + + render: function () { + var values = this.values, + target = this.target, + regionShapes = this.regionShapes, + shapes, ids, i, j; + + if (!this.cls._super.render.call(this)) { + return; + } + for (i = values.length; i--;) { + shapes = this.renderRegion(i); + if (shapes) { + if ($.isArray(shapes)) { + ids = []; + for (j = shapes.length; j--;) { + shapes[j].append(); + ids.push(shapes[j].id); + } + regionShapes[i] = ids; + } else { + shapes.append(); + regionShapes[i] = shapes.id; // store just the shapeid + } + } else { + // null value + regionShapes[i] = null; + } + } + target.render(); + } + }; + + /** + * Line charts + */ + $.fn.sparkline.line = line = createClass($.fn.sparkline._base, { + type: 'line', + + init: function (el, values, options, width, height) { + line._super.init.call(this, el, values, options, width, height); + this.vertices = []; + this.regionMap = []; + this.xvalues = []; + this.yvalues = []; + this.yminmax = []; + this.hightlightSpotId = null; + this.lastShapeId = null; + this.initTarget(); + }, + + getRegion: function (el, x, y) { + var i, + regionMap = this.regionMap; // maps regions to value positions + for (i = regionMap.length; i--;) { + if (regionMap[i] !== null && x >= regionMap[i][0] && x <= regionMap[i][1]) { + return regionMap[i][2]; + } + } + return undefined; + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion; + return { + isNull: this.yvalues[currentRegion] === null, + x: this.xvalues[currentRegion], + y: this.yvalues[currentRegion], + color: this.options.get('lineColor'), + fillColor: this.options.get('fillColor'), + offset: currentRegion + }; + }, + + renderHighlight: function () { + var currentRegion = this.currentRegion, + target = this.target, + vertex = this.vertices[currentRegion], + options = this.options, + spotRadius = options.get('spotRadius'), + highlightSpotColor = options.get('highlightSpotColor'), + highlightLineColor = options.get('highlightLineColor'), + highlightSpot, highlightLine; + + if (!vertex) { + return; + } + if (spotRadius && highlightSpotColor) { + highlightSpot = target.drawCircle(vertex[0], vertex[1], + spotRadius, undefined, highlightSpotColor); + this.highlightSpotId = highlightSpot.id; + target.insertAfterShape(this.lastShapeId, highlightSpot); + } + if (highlightLineColor) { + highlightLine = target.drawLine(vertex[0], this.canvasTop, vertex[0], + this.canvasTop + this.canvasHeight, highlightLineColor); + this.highlightLineId = highlightLine.id; + target.insertAfterShape(this.lastShapeId, highlightLine); + } + }, + + removeHighlight: function () { + var target = this.target; + if (this.highlightSpotId) { + target.removeShapeId(this.highlightSpotId); + this.highlightSpotId = null; + } + if (this.highlightLineId) { + target.removeShapeId(this.highlightLineId); + this.highlightLineId = null; + } + }, + + scanValues: function () { + var values = this.values, + valcount = values.length, + xvalues = this.xvalues, + yvalues = this.yvalues, + yminmax = this.yminmax, + i, val, isStr, isArray, sp; + for (i = 0; i < valcount; i++) { + val = values[i]; + isStr = typeof(values[i]) === 'string'; + isArray = typeof(values[i]) === 'object' && values[i] instanceof Array; + sp = isStr && values[i].split(':'); + if (isStr && sp.length === 2) { // x:y + xvalues.push(Number(sp[0])); + yvalues.push(Number(sp[1])); + yminmax.push(Number(sp[1])); + } else if (isArray) { + xvalues.push(val[0]); + yvalues.push(val[1]); + yminmax.push(val[1]); + } else { + xvalues.push(i); + if (values[i] === null || values[i] === 'null') { + yvalues.push(null); + } else { + yvalues.push(Number(val)); + yminmax.push(Number(val)); + } + } + } + if (this.options.get('xvalues')) { + xvalues = this.options.get('xvalues'); + } + + this.maxy = this.maxyorg = Math.max.apply(Math, yminmax); + this.miny = this.minyorg = Math.min.apply(Math, yminmax); + + this.maxx = Math.max.apply(Math, xvalues); + this.minx = Math.min.apply(Math, xvalues); + + this.xvalues = xvalues; + this.yvalues = yvalues; + this.yminmax = yminmax; + + }, + + processRangeOptions: function () { + var options = this.options, + normalRangeMin = options.get('normalRangeMin'), + normalRangeMax = options.get('normalRangeMax'); + + if (normalRangeMin !== undefined) { + if (normalRangeMin < this.miny) { + this.miny = normalRangeMin; + } + if (normalRangeMax > this.maxy) { + this.maxy = normalRangeMax; + } + } + if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.miny)) { + this.miny = options.get('chartRangeMin'); + } + if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.maxy)) { + this.maxy = options.get('chartRangeMax'); + } + if (options.get('chartRangeMinX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMinX') < this.minx)) { + this.minx = options.get('chartRangeMinX'); + } + if (options.get('chartRangeMaxX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMaxX') > this.maxx)) { + this.maxx = options.get('chartRangeMaxX'); + } + + }, + + drawNormalRange: function (canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey) { + var normalRangeMin = this.options.get('normalRangeMin'), + normalRangeMax = this.options.get('normalRangeMax'), + ytop = canvasTop + Math.round(canvasHeight - (canvasHeight * ((normalRangeMax - this.miny) / rangey))), + height = Math.round((canvasHeight * (normalRangeMax - normalRangeMin)) / rangey); + this.target.drawRect(canvasLeft, ytop, canvasWidth, height, undefined, this.options.get('normalRangeColor')).append(); + }, + + render: function () { + var options = this.options, + target = this.target, + canvasWidth = this.canvasWidth, + canvasHeight = this.canvasHeight, + vertices = this.vertices, + spotRadius = options.get('spotRadius'), + regionMap = this.regionMap, + rangex, rangey, yvallast, + canvasTop, canvasLeft, + vertex, path, paths, x, y, xnext, xpos, xposnext, + last, next, yvalcount, lineShapes, fillShapes, plen, + valueSpots, hlSpotsEnabled, color, xvalues, yvalues, i; + + if (!line._super.render.call(this)) { + return; + } + + this.scanValues(); + this.processRangeOptions(); + + xvalues = this.xvalues; + yvalues = this.yvalues; + + if (!this.yminmax.length || this.yvalues.length < 2) { + // empty or all null valuess + return; + } + + canvasTop = canvasLeft = 0; + + rangex = this.maxx - this.minx === 0 ? 1 : this.maxx - this.minx; + rangey = this.maxy - this.miny === 0 ? 1 : this.maxy - this.miny; + yvallast = this.yvalues.length - 1; + + if (spotRadius && (canvasWidth < (spotRadius * 4) || canvasHeight < (spotRadius * 4))) { + spotRadius = 0; + } + if (spotRadius) { + // adjust the canvas size as required so that spots will fit + hlSpotsEnabled = options.get('highlightSpotColor') && !options.get('disableInteraction'); + if (hlSpotsEnabled || options.get('minSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.miny)) { + canvasHeight -= Math.ceil(spotRadius); + } + if (hlSpotsEnabled || options.get('maxSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.maxy)) { + canvasHeight -= Math.ceil(spotRadius); + canvasTop += Math.ceil(spotRadius); + } + if (hlSpotsEnabled || + ((options.get('minSpotColor') || options.get('maxSpotColor')) && (yvalues[0] === this.miny || yvalues[0] === this.maxy))) { + canvasLeft += Math.ceil(spotRadius); + canvasWidth -= Math.ceil(spotRadius); + } + if (hlSpotsEnabled || options.get('spotColor') || + (options.get('minSpotColor') || options.get('maxSpotColor') && + (yvalues[yvallast] === this.miny || yvalues[yvallast] === this.maxy))) { + canvasWidth -= Math.ceil(spotRadius); + } + } + + + canvasHeight--; + + if (options.get('normalRangeMin') !== undefined && !options.get('drawNormalOnTop')) { + this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); + } + + path = []; + paths = [path]; + last = next = null; + yvalcount = yvalues.length; + for (i = 0; i < yvalcount; i++) { + x = xvalues[i]; + xnext = xvalues[i + 1]; + y = yvalues[i]; + xpos = canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)); + xposnext = i < yvalcount - 1 ? canvasLeft + Math.round((xnext - this.minx) * (canvasWidth / rangex)) : canvasWidth; + next = xpos + ((xposnext - xpos) / 2); + regionMap[i] = [last || 0, next, i]; + last = next; + if (y === null) { + if (i) { + if (yvalues[i - 1] !== null) { + path = []; + paths.push(path); + } + vertices.push(null); + } + } else { + if (y < this.miny) { + y = this.miny; + } + if (y > this.maxy) { + y = this.maxy; + } + if (!path.length) { + // previous value was null + path.push([xpos, canvasTop + canvasHeight]); + } + vertex = [xpos, canvasTop + Math.round(canvasHeight - (canvasHeight * ((y - this.miny) / rangey)))]; + path.push(vertex); + vertices.push(vertex); + } + } + + lineShapes = []; + fillShapes = []; + plen = paths.length; + for (i = 0; i < plen; i++) { + path = paths[i]; + if (path.length) { + if (options.get('fillColor')) { + path.push([path[path.length - 1][0], (canvasTop + canvasHeight)]); + fillShapes.push(path.slice(0)); + path.pop(); + } + // if there's only a single point in this path, then we want to display it + // as a vertical line which means we keep path[0] as is + if (path.length > 2) { + // else we want the first value + path[0] = [path[0][0], path[1][1]]; + } + lineShapes.push(path); + } + } + + // draw the fill first, then optionally the normal range, then the line on top of that + plen = fillShapes.length; + for (i = 0; i < plen; i++) { + target.drawShape(fillShapes[i], + options.get('fillColor'), options.get('fillColor')).append(); + } + + if (options.get('normalRangeMin') !== undefined && options.get('drawNormalOnTop')) { + this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); + } + + plen = lineShapes.length; + for (i = 0; i < plen; i++) { + target.drawShape(lineShapes[i], options.get('lineColor'), undefined, + options.get('lineWidth')).append(); + } + + if (spotRadius && options.get('valueSpots')) { + valueSpots = options.get('valueSpots'); + if (valueSpots.get === undefined) { + valueSpots = new RangeMap(valueSpots); + } + for (i = 0; i < yvalcount; i++) { + color = valueSpots.get(yvalues[i]); + if (color) { + target.drawCircle(canvasLeft + Math.round((xvalues[i] - this.minx) * (canvasWidth / rangex)), + canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[i] - this.miny) / rangey))), + spotRadius, undefined, + color).append(); + } + } + + } + if (spotRadius && options.get('spotColor') && yvalues[yvallast] !== null) { + target.drawCircle(canvasLeft + Math.round((xvalues[xvalues.length - 1] - this.minx) * (canvasWidth / rangex)), + canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[yvallast] - this.miny) / rangey))), + spotRadius, undefined, + options.get('spotColor')).append(); + } + if (this.maxy !== this.minyorg) { + if (spotRadius && options.get('minSpotColor')) { + x = xvalues[$.inArray(this.minyorg, yvalues)]; + target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), + canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.minyorg - this.miny) / rangey))), + spotRadius, undefined, + options.get('minSpotColor')).append(); + } + if (spotRadius && options.get('maxSpotColor')) { + x = xvalues[$.inArray(this.maxyorg, yvalues)]; + target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), + canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.maxyorg - this.miny) / rangey))), + spotRadius, undefined, + options.get('maxSpotColor')).append(); + } + } + + this.lastShapeId = target.getLastShapeId(); + this.canvasTop = canvasTop; + target.render(); + } + }); + + /** + * Bar charts + */ + $.fn.sparkline.bar = bar = createClass($.fn.sparkline._base, barHighlightMixin, { + type: 'bar', + + init: function (el, values, options, width, height) { + var barWidth = parseInt(options.get('barWidth'), 10), + barSpacing = parseInt(options.get('barSpacing'), 10), + chartRangeMin = options.get('chartRangeMin'), + chartRangeMax = options.get('chartRangeMax'), + chartRangeClip = options.get('chartRangeClip'), + stackMin = Infinity, + stackMax = -Infinity, + isStackString, groupMin, groupMax, stackRanges, + numValues, i, vlen, range, zeroAxis, xaxisOffset, min, max, clipMin, clipMax, + stacked, vlist, j, slen, svals, val, yoffset, yMaxCalc, canvasHeightEf; + bar._super.init.call(this, el, values, options, width, height); + + // scan values to determine whether to stack bars + for (i = 0, vlen = values.length; i < vlen; i++) { + val = values[i]; + isStackString = typeof(val) === 'string' && val.indexOf(':') > -1; + if (isStackString || $.isArray(val)) { + stacked = true; + if (isStackString) { + val = values[i] = normalizeValues(val.split(':')); + } + val = remove(val, null); // min/max will treat null as zero + groupMin = Math.min.apply(Math, val); + groupMax = Math.max.apply(Math, val); + if (groupMin < stackMin) { + stackMin = groupMin; + } + if (groupMax > stackMax) { + stackMax = groupMax; + } + } + } + + this.stacked = stacked; + this.regionShapes = {}; + this.barWidth = barWidth; + this.barSpacing = barSpacing; + this.totalBarWidth = barWidth + barSpacing; + this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing); + + this.initTarget(); + + if (chartRangeClip) { + clipMin = chartRangeMin === undefined ? -Infinity : chartRangeMin; + clipMax = chartRangeMax === undefined ? Infinity : chartRangeMax; + } + + numValues = []; + stackRanges = stacked ? [] : numValues; + var stackTotals = []; + var stackRangesNeg = []; + for (i = 0, vlen = values.length; i < vlen; i++) { + if (stacked) { + vlist = values[i]; + values[i] = svals = []; + stackTotals[i] = 0; + stackRanges[i] = stackRangesNeg[i] = 0; + for (j = 0, slen = vlist.length; j < slen; j++) { + val = svals[j] = chartRangeClip ? clipval(vlist[j], clipMin, clipMax) : vlist[j]; + if (val !== null) { + if (val > 0) { + stackTotals[i] += val; + } + if (stackMin < 0 && stackMax > 0) { + if (val < 0) { + stackRangesNeg[i] += Math.abs(val); + } else { + stackRanges[i] += val; + } + } else { + stackRanges[i] += Math.abs(val - (val < 0 ? stackMax : stackMin)); + } + numValues.push(val); + } + } + } else { + val = chartRangeClip ? clipval(values[i], clipMin, clipMax) : values[i]; + val = values[i] = normalizeValue(val); + if (val !== null) { + numValues.push(val); + } + } + } + this.max = max = Math.max.apply(Math, numValues); + this.min = min = Math.min.apply(Math, numValues); + this.stackMax = stackMax = stacked ? Math.max.apply(Math, stackTotals) : max; + this.stackMin = stackMin = stacked ? Math.min.apply(Math, numValues) : min; + + if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < min)) { + min = options.get('chartRangeMin'); + } + if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > max)) { + max = options.get('chartRangeMax'); + } + + this.zeroAxis = zeroAxis = options.get('zeroAxis', true); + if (min <= 0 && max >= 0 && zeroAxis) { + xaxisOffset = 0; + } else if (zeroAxis == false) { + xaxisOffset = min; + } else if (min > 0) { + xaxisOffset = min; + } else { + xaxisOffset = max; + } + this.xaxisOffset = xaxisOffset; + + range = stacked ? (Math.max.apply(Math, stackRanges) + Math.max.apply(Math, stackRangesNeg)) : max - min; + + // as we plot zero/min values a single pixel line, we add a pixel to all other + // values - Reduce the effective canvas size to suit + this.canvasHeightEf = (zeroAxis && min < 0) ? this.canvasHeight - 2 : this.canvasHeight - 1; + + if (min < xaxisOffset) { + yMaxCalc = (stacked && max >= 0) ? stackMax : max; + yoffset = (yMaxCalc - xaxisOffset) / range * this.canvasHeight; + if (yoffset !== Math.ceil(yoffset)) { + this.canvasHeightEf -= 2; + yoffset = Math.ceil(yoffset); + } + } else { + yoffset = this.canvasHeight; + } + this.yoffset = yoffset; + + if ($.isArray(options.get('colorMap'))) { + this.colorMapByIndex = options.get('colorMap'); + this.colorMapByValue = null; + } else { + this.colorMapByIndex = null; + this.colorMapByValue = options.get('colorMap'); + if (this.colorMapByValue && this.colorMapByValue.get === undefined) { + this.colorMapByValue = new RangeMap(this.colorMapByValue); + } + } + + this.range = range; + }, + + getRegion: function (el, x, y) { + var result = Math.floor(x / this.totalBarWidth); + return (result < 0 || result >= this.values.length) ? undefined : result; + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion, + values = ensureArray(this.values[currentRegion]), + result = [], + value, i; + for (i = values.length; i--;) { + value = values[i]; + result.push({ + isNull: value === null, + value: value, + color: this.calcColor(i, value, currentRegion), + offset: currentRegion + }); + } + return result; + }, + + calcColor: function (stacknum, value, valuenum) { + var colorMapByIndex = this.colorMapByIndex, + colorMapByValue = this.colorMapByValue, + options = this.options, + color, newColor; + if (this.stacked) { + color = options.get('stackedBarColor'); + } else { + color = (value < 0) ? options.get('negBarColor') : options.get('barColor'); + } + if (value === 0 && options.get('zeroColor') !== undefined) { + color = options.get('zeroColor'); + } + if (colorMapByValue && (newColor = colorMapByValue.get(value))) { + color = newColor; + } else if (colorMapByIndex && colorMapByIndex.length > valuenum) { + color = colorMapByIndex[valuenum]; + } + return $.isArray(color) ? color[stacknum % color.length] : color; + }, + + /** + * Render bar(s) for a region + */ + renderRegion: function (valuenum, highlight) { + var vals = this.values[valuenum], + options = this.options, + xaxisOffset = this.xaxisOffset, + result = [], + range = this.range, + stacked = this.stacked, + target = this.target, + x = valuenum * this.totalBarWidth, + canvasHeightEf = this.canvasHeightEf, + yoffset = this.yoffset, + y, height, color, isNull, yoffsetNeg, i, valcount, val, minPlotted, allMin; + + vals = $.isArray(vals) ? vals : [vals]; + valcount = vals.length; + val = vals[0]; + isNull = all(null, vals); + allMin = all(xaxisOffset, vals, true); + + if (isNull) { + if (options.get('nullColor')) { + color = highlight ? options.get('nullColor') : this.calcHighlightColor(options.get('nullColor'), options); + y = (yoffset > 0) ? yoffset - 1 : yoffset; + return target.drawRect(x, y, this.barWidth - 1, 0, color, color); + } else { + return undefined; + } + } + yoffsetNeg = yoffset; + for (i = 0; i < valcount; i++) { + val = vals[i]; + + if (stacked && val === xaxisOffset) { + if (!allMin || minPlotted) { + continue; + } + minPlotted = true; + } + + if (range > 0) { + height = Math.floor(canvasHeightEf * ((Math.abs(val - xaxisOffset) / range))) + 1; + } else { + height = 1; + } + if (val < xaxisOffset || (val === xaxisOffset && yoffset === 0)) { + y = yoffsetNeg; + yoffsetNeg += height; + } else { + y = yoffset - height; + yoffset -= height; + } + color = this.calcColor(i, val, valuenum); + if (highlight) { + color = this.calcHighlightColor(color, options); + } + result.push(target.drawRect(x, y, this.barWidth - 1, height - 1, color, color)); + } + if (result.length === 1) { + return result[0]; + } + return result; + } + }); + + /** + * Tristate charts + */ + $.fn.sparkline.tristate = tristate = createClass($.fn.sparkline._base, barHighlightMixin, { + type: 'tristate', + + init: function (el, values, options, width, height) { + var barWidth = parseInt(options.get('barWidth'), 10), + barSpacing = parseInt(options.get('barSpacing'), 10); + tristate._super.init.call(this, el, values, options, width, height); + + this.regionShapes = {}; + this.barWidth = barWidth; + this.barSpacing = barSpacing; + this.totalBarWidth = barWidth + barSpacing; + this.values = $.map(values, Number); + this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing); + + if ($.isArray(options.get('colorMap'))) { + this.colorMapByIndex = options.get('colorMap'); + this.colorMapByValue = null; + } else { + this.colorMapByIndex = null; + this.colorMapByValue = options.get('colorMap'); + if (this.colorMapByValue && this.colorMapByValue.get === undefined) { + this.colorMapByValue = new RangeMap(this.colorMapByValue); + } + } + this.initTarget(); + }, + + getRegion: function (el, x, y) { + return Math.floor(x / this.totalBarWidth); + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion; + return { + isNull: this.values[currentRegion] === undefined, + value: this.values[currentRegion], + color: this.calcColor(this.values[currentRegion], currentRegion), + offset: currentRegion + }; + }, + + calcColor: function (value, valuenum) { + var values = this.values, + options = this.options, + colorMapByIndex = this.colorMapByIndex, + colorMapByValue = this.colorMapByValue, + color, newColor; + + if (colorMapByValue && (newColor = colorMapByValue.get(value))) { + color = newColor; + } else if (colorMapByIndex && colorMapByIndex.length > valuenum) { + color = colorMapByIndex[valuenum]; + } else if (values[valuenum] < 0) { + color = options.get('negBarColor'); + } else if (values[valuenum] > 0) { + color = options.get('posBarColor'); + } else { + color = options.get('zeroBarColor'); + } + return color; + }, + + renderRegion: function (valuenum, highlight) { + var values = this.values, + options = this.options, + target = this.target, + canvasHeight, height, halfHeight, + x, y, color; + + canvasHeight = target.pixelHeight; + halfHeight = Math.round(canvasHeight / 2); + + x = valuenum * this.totalBarWidth; + if (values[valuenum] < 0) { + y = halfHeight; + height = halfHeight - 1; + } else if (values[valuenum] > 0) { + y = 0; + height = halfHeight - 1; + } else { + y = halfHeight - 1; + height = 2; + } + color = this.calcColor(values[valuenum], valuenum); + if (color === null) { + return; + } + if (highlight) { + color = this.calcHighlightColor(color, options); + } + return target.drawRect(x, y, this.barWidth - 1, height - 1, color, color); + } + }); + + /** + * Discrete charts + */ + $.fn.sparkline.discrete = discrete = createClass($.fn.sparkline._base, barHighlightMixin, { + type: 'discrete', + + init: function (el, values, options, width, height) { + discrete._super.init.call(this, el, values, options, width, height); + + this.regionShapes = {}; + this.values = values = $.map(values, Number); + this.min = Math.min.apply(Math, values); + this.max = Math.max.apply(Math, values); + this.range = this.max - this.min; + this.width = width = options.get('width') === 'auto' ? values.length * 2 : this.width; + this.interval = Math.floor(width / values.length); + this.itemWidth = width / values.length; + if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.min)) { + this.min = options.get('chartRangeMin'); + } + if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.max)) { + this.max = options.get('chartRangeMax'); + } + this.initTarget(); + if (this.target) { + this.lineHeight = options.get('lineHeight') === 'auto' ? Math.round(this.canvasHeight * 0.3) : options.get('lineHeight'); + } + }, + + getRegion: function (el, x, y) { + return Math.floor(x / this.itemWidth); + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion; + return { + isNull: this.values[currentRegion] === undefined, + value: this.values[currentRegion], + offset: currentRegion + }; + }, + + renderRegion: function (valuenum, highlight) { + var values = this.values, + options = this.options, + min = this.min, + max = this.max, + range = this.range, + interval = this.interval, + target = this.target, + canvasHeight = this.canvasHeight, + lineHeight = this.lineHeight, + pheight = canvasHeight - lineHeight, + ytop, val, color, x; + + val = clipval(values[valuenum], min, max); + x = valuenum * interval; + ytop = Math.round(pheight - pheight * ((val - min) / range)); + color = (options.get('thresholdColor') && val < options.get('thresholdValue')) ? options.get('thresholdColor') : options.get('lineColor'); + if (highlight) { + color = this.calcHighlightColor(color, options); + } + return target.drawLine(x, ytop, x, ytop + lineHeight, color); + } + }); + + /** + * Bullet charts + */ + $.fn.sparkline.bullet = bullet = createClass($.fn.sparkline._base, { + type: 'bullet', + + init: function (el, values, options, width, height) { + var min, max, vals; + bullet._super.init.call(this, el, values, options, width, height); + + // values: target, performance, range1, range2, range3 + this.values = values = normalizeValues(values); + // target or performance could be null + vals = values.slice(); + vals[0] = vals[0] === null ? vals[2] : vals[0]; + vals[1] = values[1] === null ? vals[2] : vals[1]; + min = Math.min.apply(Math, values); + max = Math.max.apply(Math, values); + if (options.get('base') === undefined) { + min = min < 0 ? min : 0; + } else { + min = options.get('base'); + } + this.min = min; + this.max = max; + this.range = max - min; + this.shapes = {}; + this.valueShapes = {}; + this.regiondata = {}; + this.width = width = options.get('width') === 'auto' ? '4.0em' : width; + this.target = this.$el.simpledraw(width, height, options.get('composite')); + if (!values.length) { + this.disabled = true; + } + this.initTarget(); + }, + + getRegion: function (el, x, y) { + var shapeid = this.target.getShapeAt(el, x, y); + return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion; + return { + fieldkey: currentRegion.substr(0, 1), + value: this.values[currentRegion.substr(1)], + region: currentRegion + }; + }, + + changeHighlight: function (highlight) { + var currentRegion = this.currentRegion, + shapeid = this.valueShapes[currentRegion], + shape; + delete this.shapes[shapeid]; + switch (currentRegion.substr(0, 1)) { + case 'r': + shape = this.renderRange(currentRegion.substr(1), highlight); + break; + case 'p': + shape = this.renderPerformance(highlight); + break; + case 't': + shape = this.renderTarget(highlight); + break; + } + this.valueShapes[currentRegion] = shape.id; + this.shapes[shape.id] = currentRegion; + this.target.replaceWithShape(shapeid, shape); + }, + + renderRange: function (rn, highlight) { + var rangeval = this.values[rn], + rangewidth = Math.round(this.canvasWidth * ((rangeval - this.min) / this.range)), + color = this.options.get('rangeColors')[rn - 2]; + if (highlight) { + color = this.calcHighlightColor(color, this.options); + } + return this.target.drawRect(0, 0, rangewidth - 1, this.canvasHeight - 1, color, color); + }, + + renderPerformance: function (highlight) { + var perfval = this.values[1], + perfwidth = Math.round(this.canvasWidth * ((perfval - this.min) / this.range)), + color = this.options.get('performanceColor'); + if (highlight) { + color = this.calcHighlightColor(color, this.options); + } + return this.target.drawRect(0, Math.round(this.canvasHeight * 0.3), perfwidth - 1, + Math.round(this.canvasHeight * 0.4) - 1, color, color); + }, + + renderTarget: function (highlight) { + var targetval = this.values[0], + x = Math.round(this.canvasWidth * ((targetval - this.min) / this.range) - (this.options.get('targetWidth') / 2)), + targettop = Math.round(this.canvasHeight * 0.10), + targetheight = this.canvasHeight - (targettop * 2), + color = this.options.get('targetColor'); + if (highlight) { + color = this.calcHighlightColor(color, this.options); + } + return this.target.drawRect(x, targettop, this.options.get('targetWidth') - 1, targetheight - 1, color, color); + }, + + render: function () { + var vlen = this.values.length, + target = this.target, + i, shape; + if (!bullet._super.render.call(this)) { + return; + } + for (i = 2; i < vlen; i++) { + shape = this.renderRange(i).append(); + this.shapes[shape.id] = 'r' + i; + this.valueShapes['r' + i] = shape.id; + } + if (this.values[1] !== null) { + shape = this.renderPerformance().append(); + this.shapes[shape.id] = 'p1'; + this.valueShapes.p1 = shape.id; + } + if (this.values[0] !== null) { + shape = this.renderTarget().append(); + this.shapes[shape.id] = 't0'; + this.valueShapes.t0 = shape.id; + } + target.render(); + } + }); + + /** + * Pie charts + */ + $.fn.sparkline.pie = pie = createClass($.fn.sparkline._base, { + type: 'pie', + + init: function (el, values, options, width, height) { + var total = 0, i; + + pie._super.init.call(this, el, values, options, width, height); + + this.shapes = {}; // map shape ids to value offsets + this.valueShapes = {}; // maps value offsets to shape ids + this.values = values = $.map(values, Number); + + if (options.get('width') === 'auto') { + this.width = this.height; + } + + if (values.length > 0) { + for (i = values.length; i--;) { + total += values[i]; + } + } + this.total = total; + this.initTarget(); + this.radius = Math.floor(Math.min(this.canvasWidth, this.canvasHeight) / 2); + }, + + getRegion: function (el, x, y) { + var shapeid = this.target.getShapeAt(el, x, y); + return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; + }, + + getCurrentRegionFields: function () { + var currentRegion = this.currentRegion; + return { + isNull: this.values[currentRegion] === undefined, + value: this.values[currentRegion], + percent: this.values[currentRegion] / this.total * 100, + color: this.options.get('sliceColors')[currentRegion % this.options.get('sliceColors').length], + offset: currentRegion + }; + }, + + changeHighlight: function (highlight) { + var currentRegion = this.currentRegion, + newslice = this.renderSlice(currentRegion, highlight), + shapeid = this.valueShapes[currentRegion]; + delete this.shapes[shapeid]; + this.target.replaceWithShape(shapeid, newslice); + this.valueShapes[currentRegion] = newslice.id; + this.shapes[newslice.id] = currentRegion; + }, + + renderSlice: function (valuenum, highlight) { + var target = this.target, + options = this.options, + radius = this.radius, + borderWidth = options.get('borderWidth'), + offset = options.get('offset'), + circle = 2 * Math.PI, + values = this.values, + total = this.total, + next = offset ? (2*Math.PI)*(offset/360) : 0, + start, end, i, vlen, color; + + vlen = values.length; + for (i = 0; i < vlen; i++) { + start = next; + end = next; + if (total > 0) { // avoid divide by zero + end = next + (circle * (values[i] / total)); + } + if (valuenum === i) { + color = options.get('sliceColors')[i % options.get('sliceColors').length]; + if (highlight) { + color = this.calcHighlightColor(color, options); + } + + return target.drawPieSlice(radius, radius, radius - borderWidth, start, end, undefined, color); + } + next = end; + } + }, + + render: function () { + var target = this.target, + values = this.values, + options = this.options, + radius = this.radius, + borderWidth = options.get('borderWidth'), + shape, i; + + if (!pie._super.render.call(this)) { + return; + } + if (borderWidth) { + target.drawCircle(radius, radius, Math.floor(radius - (borderWidth / 2)), + options.get('borderColor'), undefined, borderWidth).append(); + } + for (i = values.length; i--;) { + if (values[i]) { // don't render zero values + shape = this.renderSlice(i).append(); + this.valueShapes[i] = shape.id; // store just the shapeid + this.shapes[shape.id] = i; + } + } + target.render(); + } + }); + + /** + * Box plots + */ + $.fn.sparkline.box = box = createClass($.fn.sparkline._base, { + type: 'box', + + init: function (el, values, options, width, height) { + box._super.init.call(this, el, values, options, width, height); + this.values = $.map(values, Number); + this.width = options.get('width') === 'auto' ? '4.0em' : width; + this.initTarget(); + if (!this.values.length) { + this.disabled = 1; + } + }, + + /** + * Simulate a single region + */ + getRegion: function () { + return 1; + }, + + getCurrentRegionFields: function () { + var result = [ + { field: 'lq', value: this.quartiles[0] }, + { field: 'med', value: this.quartiles[1] }, + { field: 'uq', value: this.quartiles[2] } + ]; + if (this.loutlier !== undefined) { + result.push({ field: 'lo', value: this.loutlier}); + } + if (this.routlier !== undefined) { + result.push({ field: 'ro', value: this.routlier}); + } + if (this.lwhisker !== undefined) { + result.push({ field: 'lw', value: this.lwhisker}); + } + if (this.rwhisker !== undefined) { + result.push({ field: 'rw', value: this.rwhisker}); + } + return result; + }, + + render: function () { + var target = this.target, + values = this.values, + vlen = values.length, + options = this.options, + canvasWidth = this.canvasWidth, + canvasHeight = this.canvasHeight, + minValue = options.get('chartRangeMin') === undefined ? Math.min.apply(Math, values) : options.get('chartRangeMin'), + maxValue = options.get('chartRangeMax') === undefined ? Math.max.apply(Math, values) : options.get('chartRangeMax'), + canvasLeft = 0, + lwhisker, loutlier, iqr, q1, q2, q3, rwhisker, routlier, i, + size, unitSize; + + if (!box._super.render.call(this)) { + return; + } + + if (options.get('raw')) { + if (options.get('showOutliers') && values.length > 5) { + loutlier = values[0]; + lwhisker = values[1]; + q1 = values[2]; + q2 = values[3]; + q3 = values[4]; + rwhisker = values[5]; + routlier = values[6]; + } else { + lwhisker = values[0]; + q1 = values[1]; + q2 = values[2]; + q3 = values[3]; + rwhisker = values[4]; + } + } else { + values.sort(function (a, b) { return a - b; }); + q1 = quartile(values, 1); + q2 = quartile(values, 2); + q3 = quartile(values, 3); + iqr = q3 - q1; + if (options.get('showOutliers')) { + lwhisker = rwhisker = undefined; + for (i = 0; i < vlen; i++) { + if (lwhisker === undefined && values[i] > q1 - (iqr * options.get('outlierIQR'))) { + lwhisker = values[i]; + } + if (values[i] < q3 + (iqr * options.get('outlierIQR'))) { + rwhisker = values[i]; + } + } + loutlier = values[0]; + routlier = values[vlen - 1]; + } else { + lwhisker = values[0]; + rwhisker = values[vlen - 1]; + } + } + this.quartiles = [q1, q2, q3]; + this.lwhisker = lwhisker; + this.rwhisker = rwhisker; + this.loutlier = loutlier; + this.routlier = routlier; + + unitSize = canvasWidth / (maxValue - minValue + 1); + if (options.get('showOutliers')) { + canvasLeft = Math.ceil(options.get('spotRadius')); + canvasWidth -= 2 * Math.ceil(options.get('spotRadius')); + unitSize = canvasWidth / (maxValue - minValue + 1); + if (loutlier < lwhisker) { + target.drawCircle((loutlier - minValue) * unitSize + canvasLeft, + canvasHeight / 2, + options.get('spotRadius'), + options.get('outlierLineColor'), + options.get('outlierFillColor')).append(); + } + if (routlier > rwhisker) { + target.drawCircle((routlier - minValue) * unitSize + canvasLeft, + canvasHeight / 2, + options.get('spotRadius'), + options.get('outlierLineColor'), + options.get('outlierFillColor')).append(); + } + } + + // box + target.drawRect( + Math.round((q1 - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight * 0.1), + Math.round((q3 - q1) * unitSize), + Math.round(canvasHeight * 0.8), + options.get('boxLineColor'), + options.get('boxFillColor')).append(); + // left whisker + target.drawLine( + Math.round((lwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 2), + Math.round((q1 - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 2), + options.get('lineColor')).append(); + target.drawLine( + Math.round((lwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 4), + Math.round((lwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight - canvasHeight / 4), + options.get('whiskerColor')).append(); + // right whisker + target.drawLine(Math.round((rwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 2), + Math.round((q3 - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 2), + options.get('lineColor')).append(); + target.drawLine( + Math.round((rwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight / 4), + Math.round((rwhisker - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight - canvasHeight / 4), + options.get('whiskerColor')).append(); + // median line + target.drawLine( + Math.round((q2 - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight * 0.1), + Math.round((q2 - minValue) * unitSize + canvasLeft), + Math.round(canvasHeight * 0.9), + options.get('medianColor')).append(); + if (options.get('target')) { + size = Math.ceil(options.get('spotRadius')); + target.drawLine( + Math.round((options.get('target') - minValue) * unitSize + canvasLeft), + Math.round((canvasHeight / 2) - size), + Math.round((options.get('target') - minValue) * unitSize + canvasLeft), + Math.round((canvasHeight / 2) + size), + options.get('targetColor')).append(); + target.drawLine( + Math.round((options.get('target') - minValue) * unitSize + canvasLeft - size), + Math.round(canvasHeight / 2), + Math.round((options.get('target') - minValue) * unitSize + canvasLeft + size), + Math.round(canvasHeight / 2), + options.get('targetColor')).append(); + } + target.render(); + } + }); + + // Setup a very simple "virtual canvas" to make drawing the few shapes we need easier + // This is accessible as $(foo).simpledraw() + + // Detect browser renderer support + (function() { + if (document.namespaces && !document.namespaces.v) { + $.fn.sparkline.hasVML = true; + document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML'); + } else { + $.fn.sparkline.hasVML = false; + } + + var el = document.createElement('canvas'); + $.fn.sparkline.hasCanvas = !!(el.getContext && el.getContext('2d')); + + })() + + VShape = createClass({ + init: function (target, id, type, args) { + this.target = target; + this.id = id; + this.type = type; + this.args = args; + }, + append: function () { + this.target.appendShape(this); + return this; + } + }); + + VCanvas_base = createClass({ + _pxregex: /(\d+)(px)?\s*$/i, + + init: function (width, height, target) { + if (!width) { + return; + } + this.width = width; + this.height = height; + this.target = target; + this.lastShapeId = null; + if (target[0]) { + target = target[0]; + } + $.data(target, '_jqs_vcanvas', this); + }, + + drawLine: function (x1, y1, x2, y2, lineColor, lineWidth) { + return this.drawShape([[x1, y1], [x2, y2]], lineColor, lineWidth); + }, + + drawShape: function (path, lineColor, fillColor, lineWidth) { + return this._genShape('Shape', [path, lineColor, fillColor, lineWidth]); + }, + + drawCircle: function (x, y, radius, lineColor, fillColor, lineWidth) { + return this._genShape('Circle', [x, y, radius, lineColor, fillColor, lineWidth]); + }, + + drawPieSlice: function (x, y, radius, startAngle, endAngle, lineColor, fillColor) { + return this._genShape('PieSlice', [x, y, radius, startAngle, endAngle, lineColor, fillColor]); + }, + + drawRect: function (x, y, width, height, lineColor, fillColor) { + return this._genShape('Rect', [x, y, width, height, lineColor, fillColor]); + }, + + getElement: function () { + return this.canvas; + }, + + /** + * Return the most recently inserted shape id + */ + getLastShapeId: function () { + return this.lastShapeId; + }, + + /** + * Clear and reset the canvas + */ + reset: function () { + alert('reset not implemented'); + }, + + _insert: function (el, target) { + $(target).html(el); + }, + + /** + * Calculate the pixel dimensions of the canvas + */ + _calculatePixelDims: function (width, height, canvas) { + // XXX This should probably be a configurable option + var match; + match = this._pxregex.exec(height); + if (match) { + this.pixelHeight = match[1]; + } else { + this.pixelHeight = $(canvas).height(); + } + match = this._pxregex.exec(width); + if (match) { + this.pixelWidth = match[1]; + } else { + this.pixelWidth = $(canvas).width(); + } + }, + + /** + * Generate a shape object and id for later rendering + */ + _genShape: function (shapetype, shapeargs) { + var id = shapeCount++; + shapeargs.unshift(id); + return new VShape(this, id, shapetype, shapeargs); + }, + + /** + * Add a shape to the end of the render queue + */ + appendShape: function (shape) { + alert('appendShape not implemented'); + }, + + /** + * Replace one shape with another + */ + replaceWithShape: function (shapeid, shape) { + alert('replaceWithShape not implemented'); + }, + + /** + * Insert one shape after another in the render queue + */ + insertAfterShape: function (shapeid, shape) { + alert('insertAfterShape not implemented'); + }, + + /** + * Remove a shape from the queue + */ + removeShapeId: function (shapeid) { + alert('removeShapeId not implemented'); + }, + + /** + * Find a shape at the specified x/y co-ordinates + */ + getShapeAt: function (el, x, y) { + alert('getShapeAt not implemented'); + }, + + /** + * Render all queued shapes onto the canvas + */ + render: function () { + alert('render not implemented'); + } + }); + + VCanvas_canvas = createClass(VCanvas_base, { + init: function (width, height, target, interact) { + VCanvas_canvas._super.init.call(this, width, height, target); + this.canvas = document.createElement('canvas'); + if (target[0]) { + target = target[0]; + } + $.data(target, '_jqs_vcanvas', this); + $(this.canvas).css({ display: 'inline-block', width: width, height: height, verticalAlign: 'top' }); + this._insert(this.canvas, target); + this._calculatePixelDims(width, height, this.canvas); + this.canvas.width = this.pixelWidth; + this.canvas.height = this.pixelHeight; + this.interact = interact; + this.shapes = {}; + this.shapeseq = []; + this.currentTargetShapeId = undefined; + $(this.canvas).css({width: this.pixelWidth, height: this.pixelHeight}); + }, + + _getContext: function (lineColor, fillColor, lineWidth) { + var context = this.canvas.getContext('2d'); + if (lineColor !== undefined) { + context.strokeStyle = lineColor; + } + context.lineWidth = lineWidth === undefined ? 1 : lineWidth; + if (fillColor !== undefined) { + context.fillStyle = fillColor; + } + return context; + }, + + reset: function () { + var context = this._getContext(); + context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); + this.shapes = {}; + this.shapeseq = []; + this.currentTargetShapeId = undefined; + }, + + _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) { + var context = this._getContext(lineColor, fillColor, lineWidth), + i, plen; + context.beginPath(); + context.moveTo(path[0][0] + 0.5, path[0][1] + 0.5); + for (i = 1, plen = path.length; i < plen; i++) { + context.lineTo(path[i][0] + 0.5, path[i][1] + 0.5); // the 0.5 offset gives us crisp pixel-width lines + } + if (lineColor !== undefined) { + context.stroke(); + } + if (fillColor !== undefined) { + context.fill(); + } + if (this.targetX !== undefined && this.targetY !== undefined && + context.isPointInPath(this.targetX, this.targetY)) { + this.currentTargetShapeId = shapeid; + } + }, + + _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { + var context = this._getContext(lineColor, fillColor, lineWidth); + context.beginPath(); + context.arc(x, y, radius, 0, 2 * Math.PI, false); + if (this.targetX !== undefined && this.targetY !== undefined && + context.isPointInPath(this.targetX, this.targetY)) { + this.currentTargetShapeId = shapeid; + } + if (lineColor !== undefined) { + context.stroke(); + } + if (fillColor !== undefined) { + context.fill(); + } + }, + + _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { + var context = this._getContext(lineColor, fillColor); + context.beginPath(); + context.moveTo(x, y); + context.arc(x, y, radius, startAngle, endAngle, false); + context.lineTo(x, y); + context.closePath(); + if (lineColor !== undefined) { + context.stroke(); + } + if (fillColor) { + context.fill(); + } + if (this.targetX !== undefined && this.targetY !== undefined && + context.isPointInPath(this.targetX, this.targetY)) { + this.currentTargetShapeId = shapeid; + } + }, + + _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) { + return this._drawShape(shapeid, [[x, y], [x + width, y], [x + width, y + height], [x, y + height], [x, y]], lineColor, fillColor); + }, + + appendShape: function (shape) { + this.shapes[shape.id] = shape; + this.shapeseq.push(shape.id); + this.lastShapeId = shape.id; + return shape.id; + }, + + replaceWithShape: function (shapeid, shape) { + var shapeseq = this.shapeseq, + i; + this.shapes[shape.id] = shape; + for (i = shapeseq.length; i--;) { + if (shapeseq[i] == shapeid) { + shapeseq[i] = shape.id; + } + } + delete this.shapes[shapeid]; + }, + + replaceWithShapes: function (shapeids, shapes) { + var shapeseq = this.shapeseq, + shapemap = {}, + sid, i, first; + + for (i = shapeids.length; i--;) { + shapemap[shapeids[i]] = true; + } + for (i = shapeseq.length; i--;) { + sid = shapeseq[i]; + if (shapemap[sid]) { + shapeseq.splice(i, 1); + delete this.shapes[sid]; + first = i; + } + } + for (i = shapes.length; i--;) { + shapeseq.splice(first, 0, shapes[i].id); + this.shapes[shapes[i].id] = shapes[i]; + } + + }, + + insertAfterShape: function (shapeid, shape) { + var shapeseq = this.shapeseq, + i; + for (i = shapeseq.length; i--;) { + if (shapeseq[i] === shapeid) { + shapeseq.splice(i + 1, 0, shape.id); + this.shapes[shape.id] = shape; + return; + } + } + }, + + removeShapeId: function (shapeid) { + var shapeseq = this.shapeseq, + i; + for (i = shapeseq.length; i--;) { + if (shapeseq[i] === shapeid) { + shapeseq.splice(i, 1); + break; + } + } + delete this.shapes[shapeid]; + }, + + getShapeAt: function (el, x, y) { + this.targetX = x; + this.targetY = y; + this.render(); + return this.currentTargetShapeId; + }, + + render: function () { + var shapeseq = this.shapeseq, + shapes = this.shapes, + shapeCount = shapeseq.length, + context = this._getContext(), + shapeid, shape, i; + context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); + for (i = 0; i < shapeCount; i++) { + shapeid = shapeseq[i]; + shape = shapes[shapeid]; + this['_draw' + shape.type].apply(this, shape.args); + } + if (!this.interact) { + // not interactive so no need to keep the shapes array + this.shapes = {}; + this.shapeseq = []; + } + } + + }); + + VCanvas_vml = createClass(VCanvas_base, { + init: function (width, height, target) { + var groupel; + VCanvas_vml._super.init.call(this, width, height, target); + if (target[0]) { + target = target[0]; + } + $.data(target, '_jqs_vcanvas', this); + this.canvas = document.createElement('span'); + $(this.canvas).css({ display: 'inline-block', position: 'relative', overflow: 'hidden', width: width, height: height, margin: '0px', padding: '0px', verticalAlign: 'top'}); + this._insert(this.canvas, target); + this._calculatePixelDims(width, height, this.canvas); + this.canvas.width = this.pixelWidth; + this.canvas.height = this.pixelHeight; + groupel = ''; + this.canvas.insertAdjacentHTML('beforeEnd', groupel); + this.group = $(this.canvas).children()[0]; + this.rendered = false; + this.prerender = ''; + }, + + _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) { + var vpath = [], + initial, stroke, fill, closed, vel, plen, i; + for (i = 0, plen = path.length; i < plen; i++) { + vpath[i] = '' + (path[i][0]) + ',' + (path[i][1]); + } + initial = vpath.splice(0, 1); + lineWidth = lineWidth === undefined ? 1 : lineWidth; + stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; + fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; + closed = vpath[0] === vpath[vpath.length - 1] ? 'x ' : ''; + vel = '' + + ' '; + return vel; + }, + + _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { + var stroke, fill, vel; + x -= radius; + y -= radius; + stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; + fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; + vel = ''; + return vel; + + }, + + _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { + var vpath, startx, starty, endx, endy, stroke, fill, vel; + if (startAngle === endAngle) { + return ''; // VML seems to have problem when start angle equals end angle. + } + if ((endAngle - startAngle) === (2 * Math.PI)) { + startAngle = 0.0; // VML seems to have a problem when drawing a full circle that doesn't start 0 + endAngle = (2 * Math.PI); + } + + startx = x + Math.round(Math.cos(startAngle) * radius); + starty = y + Math.round(Math.sin(startAngle) * radius); + endx = x + Math.round(Math.cos(endAngle) * radius); + endy = y + Math.round(Math.sin(endAngle) * radius); + + if (startx === endx && starty === endy) { + if ((endAngle - startAngle) < Math.PI) { + // Prevent very small slices from being mistaken as a whole pie + return ''; + } + // essentially going to be the entire circle, so ignore startAngle + startx = endx = x + radius; + starty = endy = y; + } + + if (startx === endx && starty === endy && (endAngle - startAngle) < Math.PI) { + return ''; + } + + vpath = [x - radius, y - radius, x + radius, y + radius, startx, starty, endx, endy]; + stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="1px" strokeColor="' + lineColor + '" '; + fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; + vel = '' + + ' '; + return vel; + }, + + _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) { + return this._drawShape(shapeid, [[x, y], [x, y + height], [x + width, y + height], [x + width, y], [x, y]], lineColor, fillColor); + }, + + reset: function () { + this.group.innerHTML = ''; + }, + + appendShape: function (shape) { + var vel = this['_draw' + shape.type].apply(this, shape.args); + if (this.rendered) { + this.group.insertAdjacentHTML('beforeEnd', vel); + } else { + this.prerender += vel; + } + this.lastShapeId = shape.id; + return shape.id; + }, + + replaceWithShape: function (shapeid, shape) { + var existing = $('#jqsshape' + shapeid), + vel = this['_draw' + shape.type].apply(this, shape.args); + existing[0].outerHTML = vel; + }, + + replaceWithShapes: function (shapeids, shapes) { + // replace the first shapeid with all the new shapes then toast the remaining old shapes + var existing = $('#jqsshape' + shapeids[0]), + replace = '', + slen = shapes.length, + i; + for (i = 0; i < slen; i++) { + replace += this['_draw' + shapes[i].type].apply(this, shapes[i].args); + } + existing[0].outerHTML = replace; + for (i = 1; i < shapeids.length; i++) { + $('#jqsshape' + shapeids[i]).remove(); + } + }, + + insertAfterShape: function (shapeid, shape) { + var existing = $('#jqsshape' + shapeid), + vel = this['_draw' + shape.type].apply(this, shape.args); + existing[0].insertAdjacentHTML('afterEnd', vel); + }, + + removeShapeId: function (shapeid) { + var existing = $('#jqsshape' + shapeid); + this.group.removeChild(existing[0]); + }, + + getShapeAt: function (el, x, y) { + var shapeid = el.id.substr(8); + return shapeid; + }, + + render: function () { + if (!this.rendered) { + // batch the intial render into a single repaint + this.group.innerHTML = this.prerender; + this.rendered = true; + } + } + }); + +})); diff --git a/addons/web/static/lib/justgage/justgage.1.0.1.js b/addons/web/static/lib/justgage/justgage.1.0.1.js new file mode 100644 index 00000000000..24540beb293 --- /dev/null +++ b/addons/web/static/lib/justgage/justgage.1.0.1.js @@ -0,0 +1,946 @@ +/** + * JustGage - this is work-in-progress, unreleased, unofficial code, so it might not work top-notch :) + * Check http://www.justgage.com for official releases + * Licensed under MIT. + * @author Bojan Djuricic (@Toorshia) + * + * LATEST UPDATES + + * ----------------------------- + * April 18, 2013. + * ----------------------------- + * parentNode - use this instead of id, to attach gauge to node which is outside of DOM tree - https://github.com/toorshia/justgage/issues/48 + * width - force gauge width + * height - force gauge height + + * ----------------------------- + * April 17, 2013. + * ----------------------------- + * fix - https://github.com/toorshia/justgage/issues/49 + + * ----------------------------- + * April 01, 2013. + * ----------------------------- + * fix - https://github.com/toorshia/justgage/issues/46 + + * ----------------------------- + * March 26, 2013. + * ----------------------------- + * customSectors - define specific color for value range (0-10 : red, 10-30 : blue etc.) + + * ----------------------------- + * March 23, 2013. + * ----------------------------- + * counter - option to animate value in counting fashion + * fix - https://github.com/toorshia/justgage/issues/45 + + * ----------------------------- + * March 13, 2013. + * ----------------------------- + * refresh method - added optional 'max' parameter to use when you need to update max value + + * ----------------------------- + * February 26, 2013. + * ----------------------------- + * decimals - option to define/limit number of decimals when not using humanFriendly or customRenderer to display value + * fixed a missing parameters bug when calling generateShadow() for IE < 9 + + * ----------------------------- + * December 31, 2012. + * ----------------------------- + * fixed text y-position for hidden divs - workaround for Raphael 'dy' bug - https://github.com/DmitryBaranovskiy/raphael/issues/491 + * 'show' parameters, like showMinMax are now 'hide' because I am lame developer - please update these in your setups + * Min and Max labels are now auto-off when in donut mode + * Start angle in donut mode is now 90 + * donutStartAngle - option to define start angle for donut + + * ----------------------------- + * November 25, 2012. + * ----------------------------- + * Option to define custom rendering function for displayed value + + * ----------------------------- + * November 19, 2012. + * ----------------------------- + * Config.value is now updated after gauge refresh + + * ----------------------------- + * November 13, 2012. + * ----------------------------- + * Donut display mode added + * Option to hide value label + * Option to enable responsive gauge size + * Removed default title attribute + * Option to accept min and max defined as string values + * Option to configure value symbol + * Fixed bad aspect ratio calculations + * Option to configure minimum font size for all texts + * Option to show shorthand big numbers (human friendly) + */ + + JustGage = function(config) { + + // if (!config.id) {alert("Missing id parameter for gauge!"); return false;} + // if (!document.getElementById(config.id)) {alert("No element with id: \""+config.id+"\" found!"); return false;} + + var obj = this; + + // configurable parameters + obj.config = + { + // id : string + // this is container element id + id : config.id, + + // parentNode : node object + // this is container element + parentNode : (config.parentNode) ? config.parentNode : null, + + // width : int + // gauge width + width : (config.width) ? config.width : null, + + // height : int + // gauge height + height : (config.height) ? config.height : null, + + // title : string + // gauge title + title : (config.title) ? config.title : "", + + // titleFontColor : string + // color of gauge title + titleFontColor : (config.titleFontColor) ? config.titleFontColor : "#999999", + + // value : int + // value gauge is showing + value : (config.value) ? config.value : 0, + + // valueFontColor : string + // color of label showing current value + valueFontColor : (config.valueFontColor) ? config.valueFontColor : "#010101", + + // symbol : string + // special symbol to show next to value + symbol : (config.symbol) ? config.symbol : "", + + // min : int + // min value + min : (config.min !== undefined) ? parseFloat(config.min) : 0, + + // max : int + // max value + max : (config.max !== undefined) ? parseFloat(config.max) : 100, + + // humanFriendlyDecimal : int + // number of decimal places for our human friendly number to contain + humanFriendlyDecimal : (config.humanFriendlyDecimal) ? config.humanFriendlyDecimal : 0, + + // textRenderer: func + // function applied before rendering text + textRenderer : (config.textRenderer) ? config.textRenderer : null, + + // gaugeWidthScale : float + // width of the gauge element + gaugeWidthScale : (config.gaugeWidthScale) ? config.gaugeWidthScale : 1.0, + + // gaugeColor : string + // background color of gauge element + gaugeColor : (config.gaugeColor) ? config.gaugeColor : "#edebeb", + + // label : string + // text to show below value + label : (config.label) ? config.label : "", + + // labelFontColor : string + // color of label showing label under value + labelFontColor : (config.labelFontColor) ? config.labelFontColor : "#b3b3b3", + + // shadowOpacity : int + // 0 ~ 1 + shadowOpacity : (config.shadowOpacity) ? config.shadowOpacity : 0.2, + + // shadowSize: int + // inner shadow size + shadowSize : (config.shadowSize) ? config.shadowSize : 5, + + // shadowVerticalOffset : int + // how much shadow is offset from top + shadowVerticalOffset : (config.shadowVerticalOffset) ? config.shadowVerticalOffset : 3, + + // levelColors : string[] + // colors of indicator, from lower to upper, in RGB format + levelColors : (config.levelColors) ? config.levelColors : [ + "#a9d70b", + "#f9c802", + "#ff0000" + ], + + // startAnimationTime : int + // length of initial animation + startAnimationTime : (config.startAnimationTime) ? config.startAnimationTime : 700, + + // startAnimationType : string + // type of initial animation (linear, >, <, <>, bounce) + startAnimationType : (config.startAnimationType) ? config.startAnimationType : ">", + + // refreshAnimationTime : int + // length of refresh animation + refreshAnimationTime : (config.refreshAnimationTime) ? config.refreshAnimationTime : 700, + + // refreshAnimationType : string + // type of refresh animation (linear, >, <, <>, bounce) + refreshAnimationType : (config.refreshAnimationType) ? config.refreshAnimationType : ">", + + // donutStartAngle : int + // angle to start from when in donut mode + donutStartAngle : (config.donutStartAngle) ? config.donutStartAngle : 90, + + // valueMinFontSize : int + // absolute minimum font size for the value + valueMinFontSize : config.valueMinFontSize || 16, + + // titleMinFontSize + // absolute minimum font size for the title + titleMinFontSize : config.titleMinFontSize || 10, + + // labelMinFontSize + // absolute minimum font size for the label + labelMinFontSize : config.labelMinFontSize || 10, + + // minLabelMinFontSize + // absolute minimum font size for the minimum label + minLabelMinFontSize : config.minLabelMinFontSize || 10, + + // maxLabelMinFontSize + // absolute minimum font size for the maximum label + maxLabelMinFontSize : config.maxLabelMinFontSize || 10, + + // hideValue : bool + // hide value text + hideValue : (config.hideValue) ? config.hideValue : false, + + // hideMinMax : bool + // hide min and max values + hideMinMax : (config.hideMinMax) ? config.hideMinMax : false, + + // hideInnerShadow : bool + // hide inner shadow + hideInnerShadow : (config.hideInnerShadow) ? config.hideInnerShadow : false, + + // humanFriendly : bool + // convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M) + humanFriendly : (config.humanFriendly) ? config.humanFriendly : false, + + // noGradient : bool + // whether to use gradual color change for value, or sector-based + noGradient : (config.noGradient) ? config.noGradient : false, + + // donut : bool + // show full donut gauge + donut : (config.donut) ? config.donut : false, + + // relativeGaugeSize : bool + // whether gauge size should follow changes in container element size + relativeGaugeSize : (config.relativeGaugeSize) ? config.relativeGaugeSize : false, + + // counter : bool + // animate level number change + counter : (config.counter) ? config.counter : false, + + // decimals : int + // number of digits after floating point + decimals : (config.decimals) ? config.decimals : 0, + + // customSectors : [] of objects + // number of digits after floating point + customSectors : (config.customSectors) ? config.customSectors : [] + }; + + // variables + var + canvasW, + canvasH, + widgetW, + widgetH, + aspect, + dx, + dy, + titleFontSize, + titleX, + titleY, + valueFontSize, + valueX, + valueY, + labelFontSize, + labelX, + labelY, + minFontSize, + minX, + minY, + maxFontSize, + maxX, + maxY; + + // overflow values + if (obj.config.value > obj.config.max) obj.config.value = obj.config.max; + if (obj.config.value < obj.config.min) obj.config.value = obj.config.min; + obj.originalValue = config.value; + + // create canvas + if (obj.config.id !== null && (document.getElementById(obj.config.id)) !== null) { + obj.canvas = Raphael(obj.config.id, "100%", "100%"); + } else if (obj.config.parentNode !== null) { + obj.canvas = Raphael(obj.config.parentNode, "100%", "100%"); + } + + if (obj.config.relativeGaugeSize === true) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + } + + // canvas dimensions + if (obj.config.relativeGaugeSize === true) { + canvasW = 200; + canvasH = 150; + } else if (obj.config.width !== null && obj.config.height !== null) { + canvasW = obj.config.width; + canvasH = obj.config.height; + } else if (obj.config.parentNode !== null) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + canvasW = 200; + canvasH = 150; + } else { + canvasW = getStyle(document.getElementById(obj.config.id), "width").slice(0, -2) * 1; + canvasH = getStyle(document.getElementById(obj.config.id), "height").slice(0, -2) * 1; + } + + // widget dimensions + if (obj.config.donut === true) { + + // DONUT ******************************* + + // width more than height + if(canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH; + // width less than height + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW; + // if height don't fit, rescale both + if(widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + // equal + } else { + widgetW = canvasW; + widgetH = widgetW; + } + + // delta + dx = (canvasW - widgetW)/2; + dy = (canvasH - widgetH)/2; + + // title + titleFontSize = ((widgetH / 8) > 10) ? (widgetH / 10) : 10; + titleX = dx + widgetW / 2; + titleY = dy + widgetH / 11; + + // value + valueFontSize = ((widgetH / 6.4) > 16) ? (widgetH / 5.4) : 18; + valueX = dx + widgetW / 2; + if(obj.config.label !== '') { + valueY = dy + widgetH / 1.85; + } else { + valueY = dy + widgetH / 1.7; + } + + // label + labelFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + labelX = dx + widgetW / 2; + labelY = valueY + labelFontSize; + + // min + minFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2 ; + minY = labelY; + + // max + maxFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2 ; + maxY = labelY; + + } else { + // HALF ******************************* + + // width more than height + if(canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH * 1.25; + //if width doesn't fit, rescale both + if(widgetW > canvasW) { + aspect = widgetW / canvasW; + widgetW = widgetW / aspect; + widgetH = widgetH / aspect; + } + // width less than height + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW / 1.25; + // if height don't fit, rescale both + if(widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + // equal + } else { + widgetW = canvasW; + widgetH = widgetW * 0.75; + } + + // delta + dx = (canvasW - widgetW)/2; + dy = (canvasH - widgetH)/2; + + // title + titleFontSize = ((widgetH / 8) > obj.config.titleMinFontSize) ? (widgetH / 10) : obj.config.titleMinFontSize; + titleX = dx + widgetW / 2; + titleY = dy + widgetH / 6.4; + + // value + valueFontSize = ((widgetH / 6.5) > obj.config.valueMinFontSize) ? (widgetH / 6.5) : obj.config.valueMinFontSize; + valueX = dx + widgetW / 2; + valueY = dy + widgetH / 1.275; + + // label + labelFontSize = ((widgetH / 16) > obj.config.labelMinFontSize) ? (widgetH / 16) : obj.config.labelMinFontSize; + labelX = dx + widgetW / 2; + labelY = valueY + valueFontSize / 2 + 5; + + // min + minFontSize = ((widgetH / 16) > obj.config.minLabelMinFontSize) ? (widgetH / 16) : obj.config.minLabelMinFontSize; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2 ; + minY = labelY; + + // max + maxFontSize = ((widgetH / 16) > obj.config.maxLabelMinFontSize) ? (widgetH / 16) : obj.config.maxLabelMinFontSize; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2 ; + maxY = labelY; + } + + // parameters + obj.params = { + canvasW : canvasW, + canvasH : canvasH, + widgetW : widgetW, + widgetH : widgetH, + dx : dx, + dy : dy, + titleFontSize : titleFontSize, + titleX : titleX, + titleY : titleY, + valueFontSize : valueFontSize, + valueX : valueX, + valueY : valueY, + labelFontSize : labelFontSize, + labelX : labelX, + labelY : labelY, + minFontSize : minFontSize, + minX : minX, + minY : minY, + maxFontSize : maxFontSize, + maxX : maxX, + maxY : maxY + }; + + // var clear + canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, titleFontSize, titleX, titleY, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null + + // pki - custom attribute for generating gauge paths + obj.canvas.customAttributes.pki = function (value, min, max, w, h, dx, dy, gws, donut) { + + var alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path; + + if (donut) { + alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 7; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.95 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) + 0 - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) + 0 - Ri * Math.sin(alpha); + + path += "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ro + "," + Ro + " 0 0 1 " + (Cx + Ro) + "," + Cy + " "; + } + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx + Ri) + "," + Cy + " "; + } + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + + return { path: path }; + + } else { + alpha = (1 - (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 10; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) + 0 - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) + 0 - Ri * Math.sin(alpha); + + path += "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + + return { path: path }; + } + + // var clear + alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path = null; + }; + + // gauge + obj.gauge = obj.canvas.path().attr({ + "stroke": "none", + "fill": obj.config.gaugeColor, + pki: [ + obj.config.max, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }); + + // level + obj.level = obj.canvas.path().attr({ + "stroke": "none", + "fill": getColor(obj.config.value, (obj.config.value - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors), + pki: [ + obj.config.min, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }); + if(obj.config.donut) { + obj.level.transform("r" + obj.config.donutStartAngle + ", " + (obj.params.widgetW/2 + obj.params.dx) + ", " + (obj.params.widgetH/1.95 + obj.params.dy)); + } + + // title + obj.txtTitle = obj.canvas.text(obj.params.titleX, obj.params.titleY, obj.config.title); + obj.txtTitle.attr({ + "font-size":obj.params.titleFontSize, + "font-weight":"bold", + "font-family":"Arial", + "fill":obj.config.titleFontColor, + "fill-opacity":"1" + }); + setDy(obj.txtTitle, obj.params.titleFontSize, obj.params.titleY); + + // value + obj.txtValue = obj.canvas.text(obj.params.valueX, obj.params.valueY, 0); + obj.txtValue.attr({ + "font-size":obj.params.valueFontSize, + "font-weight":"bold", + "font-family":"Arial", + "fill":obj.config.valueFontColor, + "fill-opacity":"0" + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + + // label + obj.txtLabel = obj.canvas.text(obj.params.labelX, obj.params.labelY, obj.config.label); + obj.txtLabel.attr({ + "font-size":obj.params.labelFontSize, + "font-weight":"normal", + "font-family":"Arial", + "fill":obj.config.labelFontColor, + "fill-opacity":"0" + }); + setDy(obj.txtLabel, obj.params.labelFontSize, obj.params.labelY); + + // min + obj.txtMinimum = obj.config.min; + if( obj.config.humanFriendly ) obj.txtMinimum = humanFriendlyNumber( obj.config.min, obj.config.humanFriendlyDecimal ); + obj.txtMin = obj.canvas.text(obj.params.minX, obj.params.minY, obj.txtMinimum); + obj.txtMin.attr({ + "font-size":obj.params.minFontSize, + "font-weight":"normal", + "font-family":"Arial", + "fill":obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut)? "0" : "1" + }); + setDy(obj.txtMin, obj.params.minFontSize, obj.params.minY); + + // max + obj.txtMaximum = obj.config.max; + if( obj.config.humanFriendly ) obj.txtMaximum = humanFriendlyNumber( obj.config.max, obj.config.humanFriendlyDecimal ); + obj.txtMax = obj.canvas.text(obj.params.maxX, obj.params.maxY, obj.txtMaximum); + obj.txtMax.attr({ + "font-size":obj.params.maxFontSize, + "font-weight":"normal", + "font-family":"Arial", + "fill":obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut)? "0" : "1" + }); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + + var defs = obj.canvas.canvas.childNodes[1]; + var svg = "http://www.w3.org/2000/svg"; + + if (ie < 9) { + onCreateElementNsReady(function() { + obj.generateShadow(svg, defs); + }); + } else { + obj.generateShadow(svg, defs); + } + + // var clear + defs, svg = null; + + // set value to display + if(obj.config.textRenderer) { + obj.originalValue = obj.config.textRenderer(obj.originalValue); + } else if(obj.config.humanFriendly) { + obj.originalValue = humanFriendlyNumber( obj.originalValue, obj.config.humanFriendlyDecimal ) + obj.config.symbol; + } else { + obj.originalValue = (obj.originalValue * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + + if(obj.config.counter === true) { + //on each animation frame + eve.on("raphael.anim.frame." + (obj.level.id), function() { + var currentValue = obj.level.attr("pki"); + if(obj.config.textRenderer) { + obj.txtValue.attr("text", obj.config.textRenderer(Math.floor(currentValue[0]))); + } else if(obj.config.humanFriendly) { + obj.txtValue.attr("text", humanFriendlyNumber( Math.floor(currentValue[0]), obj.config.humanFriendlyDecimal ) + obj.config.symbol); + } else { + obj.txtValue.attr("text", (currentValue[0] * 1).toFixed(obj.config.decimals) + obj.config.symbol); + } + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + currentValue = null; + }); + //on animation end + eve.on("raphael.anim.finish." + (obj.level.id), function() { + obj.txtValue.attr({"text" : obj.originalValue}); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } else { + //on animation start + eve.on("raphael.anim.start." + (obj.level.id), function() { + obj.txtValue.attr({"text" : obj.originalValue}); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } + + // animate gauge level, value & label + obj.level.animate({ + pki: [ + obj.config.value, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }, obj.config.startAnimationTime, obj.config.startAnimationType); + obj.txtValue.animate({"fill-opacity":(obj.config.hideValue)?"0":"1"}, obj.config.startAnimationTime, obj.config.startAnimationType); + obj.txtLabel.animate({"fill-opacity":"1"}, obj.config.startAnimationTime, obj.config.startAnimationType); +}; + +/** Refresh gauge level */ +JustGage.prototype.refresh = function(val, max) { + + var obj = this; + var displayVal, color, max = max || null; + + // set new max + if(max !== null) { + obj.config.max = max; + + obj.txtMaximum = obj.config.max; + if( obj.config.humanFriendly ) obj.txtMaximum = humanFriendlyNumber( obj.config.max, obj.config.humanFriendlyDecimal ); + obj.txtMax.attr({"text" : obj.txtMaximum}); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + } + + // overflow values + displayVal = val; + if ((val * 1) > (obj.config.max * 1)) {val = (obj.config.max * 1);} + if ((val * 1) < (obj.config.min * 1)) {val = (obj.config.min * 1);} + + color = getColor(val, (val - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors); + + if(obj.config.textRenderer) { + displayVal = obj.config.textRenderer(displayVal); + } else if( obj.config.humanFriendly ) { + displayVal = humanFriendlyNumber( displayVal, obj.config.humanFriendlyDecimal ) + obj.config.symbol; + } else { + displayVal = (displayVal * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + obj.originalValue = displayVal; + obj.config.value = val * 1; + + if(!obj.config.counter) { + obj.txtValue.attr({"text":displayVal}); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + } + + obj.level.animate({ + pki: [ + obj.config.value, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ], + "fill":color + }, obj.config.refreshAnimationTime, obj.config.refreshAnimationType); + + // var clear + obj, displayVal, color, max = null; +}; + +/** Generate shadow */ +JustGage.prototype.generateShadow = function(svg, defs) { + + var obj = this; + var gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3; + + // FILTER + gaussFilter = document.createElementNS(svg,"filter"); + gaussFilter.setAttribute("id","inner-shadow"); + defs.appendChild(gaussFilter); + + // offset + feOffset = document.createElementNS(svg,"feOffset"); + feOffset.setAttribute("dx", 0); + feOffset.setAttribute("dy", obj.config.shadowVerticalOffset); + gaussFilter.appendChild(feOffset); + + // blur + feGaussianBlur = document.createElementNS(svg,"feGaussianBlur"); + feGaussianBlur.setAttribute("result","offset-blur"); + feGaussianBlur.setAttribute("stdDeviation", obj.config.shadowSize); + gaussFilter.appendChild(feGaussianBlur); + + // composite 1 + feComposite1 = document.createElementNS(svg,"feComposite"); + feComposite1.setAttribute("operator","out"); + feComposite1.setAttribute("in", "SourceGraphic"); + feComposite1.setAttribute("in2","offset-blur"); + feComposite1.setAttribute("result","inverse"); + gaussFilter.appendChild(feComposite1); + + // flood + feFlood = document.createElementNS(svg,"feFlood"); + feFlood.setAttribute("flood-color","black"); + feFlood.setAttribute("flood-opacity", obj.config.shadowOpacity); + feFlood.setAttribute("result","color"); + gaussFilter.appendChild(feFlood); + + // composite 2 + feComposite2 = document.createElementNS(svg,"feComposite"); + feComposite2.setAttribute("operator","in"); + feComposite2.setAttribute("in", "color"); + feComposite2.setAttribute("in2","inverse"); + feComposite2.setAttribute("result","shadow"); + gaussFilter.appendChild(feComposite2); + + // composite 3 + feComposite3 = document.createElementNS(svg,"feComposite"); + feComposite3.setAttribute("operator","over"); + feComposite3.setAttribute("in", "shadow"); + feComposite3.setAttribute("in2","SourceGraphic"); + gaussFilter.appendChild(feComposite3); + + // set shadow + if (!obj.config.hideInnerShadow) { + obj.canvas.canvas.childNodes[2].setAttribute("filter", "url(#inner-shadow)"); + obj.canvas.canvas.childNodes[3].setAttribute("filter", "url(#inner-shadow)"); + } + + // var clear + gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3 = null; + +}; + +/** Get color for value */ +function getColor(val, pct, col, noGradient, custSec) { + + var no, inc, colors, percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color; + var noGradient = noGradient || custSec.length > 0; + + if(custSec.length > 0) { + for(var i = 0; i < custSec.length; i++) { + if(val > custSec[i].lo && val <= custSec[i].hi) { + return custSec[i].color; + } + } + } + + no = col.length; + if (no === 1) return col[0]; + inc = (noGradient) ? (1 / no) : (1 / (no - 1)); + colors = []; + for (var i = 0; i < col.length; i++) { + percentage = (noGradient) ? (inc * (i + 1)) : (inc * i); + rval = parseInt((cutHex(col[i])).substring(0,2),16); + gval = parseInt((cutHex(col[i])).substring(2,4),16); + bval = parseInt((cutHex(col[i])).substring(4,6),16); + colors[i] = { pct: percentage, color: { r: rval, g: gval, b: bval } }; + } + + if(pct === 0) { + return 'rgb(' + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(',') + ')'; + } + + for (var j = 0; j < colors.length; j++) { + if (pct <= colors[j].pct) { + if (noGradient) { + return 'rgb(' + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(',') + ')'; + } else { + lower = colors[j - 1]; + upper = colors[j]; + range = upper.pct - lower.pct; + rangePct = (pct - lower.pct) / range; + pctLower = 1 - rangePct; + pctUpper = rangePct; + color = { + r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), + g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), + b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) + }; + return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; + } + } + } + +} + +/** Fix Raphael display:none tspan dy attribute bug */ +function setDy(elem, fontSize, txtYpos) { + if (!ie || ie > 9) { + elem.node.firstChild.attributes.dy.value = 0; + } +} + +/** Random integer */ +function getRandomInt (min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; +} + +/** Cut hex */ +function cutHex(str) { + return (str.charAt(0)=="#") ? str.substring(1,7):str; +} + +/** Human friendly number suffix - From: http://stackoverflow.com/questions/2692323/code-golf-friendly-number-abbreviator */ +function humanFriendlyNumber( n, d ) { + var p, d2, i, s; + + p = Math.pow; + d2 = p(10, d); + i = 7; + while( i ) { + s = p(10,i--*3); + if( s <= n ) { + n = Math.round(n*d2/s)/d2+"KMGTPE"[i]; + } + } + return n; +} + +/** Get style */ +function getStyle(oElm, strCssRule){ + var strValue = ""; + if(document.defaultView && document.defaultView.getComputedStyle){ + strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); + } + else if(oElm.currentStyle){ + strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ + return p1.toUpperCase(); + }); + strValue = oElm.currentStyle[strCssRule]; + } + return strValue; +} + +/** Create Element NS Ready */ +function onCreateElementNsReady(func) { + if (document.createElementNS !== undefined) { + func(); + } else { + setTimeout(function() { onCreateElementNsReady(func); }, 100); + } +} + +/** Get IE version */ +// ---------------------------------------------------------- +// A short snippet for detecting versions of IE in JavaScript +// without resorting to user-agent sniffing +// ---------------------------------------------------------- +// If you're not in IE (or IE version is less than 5) then: +// ie === undefined +// If you're in IE (>=5) then you can determine which version: +// ie === 7; // IE7 +// Thus, to detect IE: +// if (ie) {} +// And to detect the version: +// ie === 6 // IE6 +// ie > 7 // IE8, IE9 ... +// ie < 9 // Anything less than IE9 +// ---------------------------------------------------------- +// UPDATE: Now using Live NodeList idea from @jdalton +var ie = (function(){ + + var undef, + v = 3, + div = document.createElement('div'), + all = div.getElementsByTagName('i'); + + while ( + div.innerHTML = '', + all[0] + ); + return v > 4 ? v : undef; +}()); \ No newline at end of file diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index 52e975322e5..44db469cd89 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -384,6 +384,7 @@ QWeb2.Engine = (function() { this.compiled_templates[template] = tcompiled; return this.render(template, dict); } else { + console.log(this.compiled_templates, template); return this.tools.exception("Template '" + template + "' not found"); } }, diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 6f47f9c128d..aff3673f687 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1231,6 +1231,148 @@ instance.web_kanban.AbstractField = instance.web.Widget.extend(instance.web_kanb }); instance.web_kanban.fields_registry = new instance.web.Registry({}); + + +/** + * Kanban widgets: Sparkline + * + */ + +instance.web_kanban.SparklineBarWidget = instance.web_kanban.AbstractField.extend({ + className: "oe_sparkline_bar", + start: function() { + var self = this; + var title = this.$node.html() || this.field.string; + setTimeout(function () { + var value = _.pluck(self.field.value, 'value'); + var tooltips = _.pluck(self.field.value, 'tooltip'); + var sparkline_options = _.extend({ + type: 'bar', + barWidth: 5, + height: '50px', + barWidth: '10px', + barSpacing: '5px', + barColor: '#96d854', + tooltipFormat: '{{offset:offset}} {{value}}', + tooltipValueLookups: { + 'offset': tooltips + } + }, this.options); + self.$el.sparkline(value, sparkline_options); + self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'}); + }, 0); + }, +}); + +instance.web_kanban.fields_registry.add("sparkline_bar", "instance.web_kanban.SparklineBarWidget"); + + +/** + * Kanban widgets: GaugeWidget + * + */ + +instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ + className: "oe_gauge", + start: function() { + var self = this; + var max = 100; + if (this.options.max_field) { + max = this.getParent().record[this.options.max_field].raw_value; + } + var label = this.options.label || ""; + if (this.options.label_field) { + label = this.getParent().record[this.options.label_field].raw_value; + } + var val = this.field.value; + var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; + var title = this.$node.html() || this.field.string; + console.log(value, title, max); + this.gage = new JustGage({ + parentNode: this.$el[0], + value: value, + title: title, + min: 0, + max: max, + relativeGaugeSize: true, + humanFriendly: true, + label: label, + levelColors: [ + "#ff0000", + "#f9c802", + "#a9d70b" + ] + }); + + var flag_open = false; + if (self.options.action_change) { + var $svg = self.$el.find('svg'); + var css = { + 'text-align': 'center', + 'position': 'absolute', + 'width': self.$el.outerWidth() + 'px', + 'top': (self.$el.outerHeight()/2-5) + 'px' + }; + + self.$el.click(function (event) { + event.stopPropagation(); + flag_open = false; + if (!parent.view.is_action_enabled('edit')) { + return; + } + if (!self.$el.find(".oe_justgage_edit").size()) { + $div = $('
'); + $div.css(css); + $input = $('').val(value); + $input.css({ + 'text-align': 'center', + 'margin': 'auto', + 'width': ($svg.outerWidth()-40) + 'px' + }); + $div.append($input); + self.$el.prepend($div) + $input.focus() + .keydown(function (event) { + event.stopPropagation(); + if (event.keyCode == 13 || event.keyCode == 9) { + if ($input.val() != value) { + parent.view.dataset.call(self.options.action_change, [parent.id, $input.val()]).then(function () { + parent.do_reload(); + }); + } else { + $div.remove(); + } + } + }) + .click(function (event) { + event.stopPropagation(); + flag_open = false; + }) + .blur(function (event) { + if(!flag_open) { + self.$el.find(".oe_justgage_edit").remove(); + } else { + flag_open = false; + setTimeout(function () {$input.focus();}, 0); + } + }); + } + }).mousedown(function () { + flag_open = true; + }); + + if (!+value) { + $svg.fadeTo(0, 0.3); + $div = $('
').text(_t("Click to change value")); + $div.css(css); + self.$el.append($div); + } + } + }, +}); + +instance.web_kanban.fields_registry.add("gauge", "instance.web_kanban.GaugeWidget"); + }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: From bf1fd1d071e709ae246018a6cd75c3015fab20ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 3 Sep 2013 17:20:28 +0200 Subject: [PATCH 07/20] [FIX] sparkline widget: fixed some default values computation bzr revid: tde@openerp.com-20130903152028-6gr51965tmva0npu --- addons/web_kanban/static/src/js/kanban.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index aff3673f687..bd1c116aded 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1249,15 +1249,15 @@ instance.web_kanban.SparklineBarWidget = instance.web_kanban.AbstractField.exten var sparkline_options = _.extend({ type: 'bar', barWidth: 5, - height: '50px', - barWidth: '10px', - barSpacing: '5px', + height: '20px', + barWidth: 4, + barSpacing: 1, barColor: '#96d854', tooltipFormat: '{{offset:offset}} {{value}}', tooltipValueLookups: { 'offset': tooltips } - }, this.options); + }, self.options); self.$el.sparkline(value, sparkline_options); self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'}); }, 0); @@ -1287,7 +1287,6 @@ instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ var val = this.field.value; var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; var title = this.$node.html() || this.field.string; - console.log(value, title, max); this.gage = new JustGage({ parentNode: this.$el[0], value: value, From a937b5679ba6b829f769cc4e119de7a22009a8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 6 Sep 2013 11:32:21 +0200 Subject: [PATCH 08/20] [IMP] [FIX] kanban: updated justgage and sparklin libraries; fixed gauge widget showing 0 as value by forcing a refresh bzr revid: tde@openerp.com-20130906093221-n94whqrrj2meknwf --- addons/web/__openerp__.py | 2 +- .../lib/jquery.sparkline/jquery.sparkline.js | 61 +++++++++++-------- .../{justgage.1.0.1.js => justgage.js} | 0 addons/web_kanban/static/src/js/kanban.js | 25 +++++--- 4 files changed, 53 insertions(+), 35 deletions(-) rename addons/web/static/lib/justgage/{justgage.1.0.1.js => justgage.js} (100%) diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 32a108c131d..9b13fd48b0a 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -36,7 +36,7 @@ This module provides the core of the OpenERP Web Client. "static/lib/jquery.tipsy/jquery.tipsy.js", "static/lib/jquery.textext/jquery.textext.js", "static/lib/jquery.timeago/jquery.timeago.js", - "static/lib/justgage/justgage.1.0.1.js", + "static/lib/justgage/justgage.js", "static/lib/qweb/qweb2.js", "static/lib/underscore/underscore.js", "static/lib/underscore.string/lib/underscore.string.js", diff --git a/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js b/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js index 8069db45fe9..43b24c080a6 100644 --- a/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js +++ b/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js @@ -2,7 +2,7 @@ * * jquery.sparkline.js * -* v2.1.1 +* v2.1.2 * (c) Splunk, Inc * Contact: Gareth Watts (gareth@splunk.com) * http://omnipotent.net/jquery.sparkline/ @@ -202,11 +202,11 @@ /*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */ +(function(document, Math, undefined) { // performance/minified-size optimization (function(factory) { if(typeof define === 'function' && define.amd) { define(['jquery'], factory); - } - else { + } else if (jQuery && !jQuery.fn.sparkline) { factory(jQuery); } } @@ -597,19 +597,41 @@ if (useExisting && (target = this.data('_jqs_vcanvas'))) { return target; } + + if ($.fn.sparkline.canvas === false) { + // We've already determined that neither Canvas nor VML are available + return false; + + } else if ($.fn.sparkline.canvas === undefined) { + // No function defined yet -- need to see if we support Canvas or VML + var el = document.createElement('canvas'); + if (!!(el.getContext && el.getContext('2d'))) { + // Canvas is available + $.fn.sparkline.canvas = function(width, height, target, interact) { + return new VCanvas_canvas(width, height, target, interact); + }; + } else if (document.namespaces && !document.namespaces.v) { + // VML is available + document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML'); + $.fn.sparkline.canvas = function(width, height, target, interact) { + return new VCanvas_vml(width, height, target); + }; + } else { + // Neither Canvas nor VML are available + $.fn.sparkline.canvas = false; + return false; + } + } + if (width === undefined) { width = $(this).innerWidth(); } if (height === undefined) { height = $(this).innerHeight(); } - if ($.fn.sparkline.hasCanvas) { - target = new VCanvas_canvas(width, height, this, interact); - } else if ($.fn.sparkline.hasVML) { - target = new VCanvas_vml(width, height, this); - } else { - return false; - } + + target = $.fn.sparkline.canvas(width, height, this, interact); + mhandler = $(this).data('_jqs_mhandler'); if (mhandler) { mhandler.registerCanvas(target); @@ -977,8 +999,7 @@ mhandler.registerSparkline(sp); } }; - // jQuery 1.3.0 completely changed the meaning of :hidden :-/ - if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || ($.fn.jquery < '1.3.0' && $(this).parents().is(':hidden')) || !$(this).parents('body').length) { + if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || !$(this).parents('body').length) { if (!options.get('composite') && $.data(this, '_jqs_pending')) { // remove any existing references to the element for (i = pending.length; i; i--) { @@ -2528,20 +2549,6 @@ // Setup a very simple "virtual canvas" to make drawing the few shapes we need easier // This is accessible as $(foo).simpledraw() - // Detect browser renderer support - (function() { - if (document.namespaces && !document.namespaces.v) { - $.fn.sparkline.hasVML = true; - document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML'); - } else { - $.fn.sparkline.hasVML = false; - } - - var el = document.createElement('canvas'); - $.fn.sparkline.hasCanvas = !!(el.getContext && el.getContext('2d')); - - })() - VShape = createClass({ init: function (target, id, type, args) { this.target = target; @@ -3044,4 +3051,4 @@ } }); -})); +}))}(document, Math)); \ No newline at end of file diff --git a/addons/web/static/lib/justgage/justgage.1.0.1.js b/addons/web/static/lib/justgage/justgage.js similarity index 100% rename from addons/web/static/lib/justgage/justgage.1.0.1.js rename to addons/web/static/lib/justgage/justgage.js diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index bd1c116aded..9bc8e3bd785 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1276,6 +1276,7 @@ instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ className: "oe_gauge", start: function() { var self = this; + var parent = this.getParent(); var max = 100; if (this.options.max_field) { max = this.getParent().record[this.options.max_field].raw_value; @@ -1287,33 +1288,43 @@ instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ var val = this.field.value; var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; var title = this.$node.html() || this.field.string; + // var unique_id = _.uniqueId("JustGage"); + + this.$el.empty() + .attr('style', this.$node.attr('style') + ';position:relative; display:inline-block;'); + this.gage = new JustGage({ parentNode: this.$el[0], + // id: unique_id, value: value, title: title, min: 0, max: max, relativeGaugeSize: true, humanFriendly: true, + titleFontColor: '#333333', + valueFontColor: '#333333', + labelFontColor: '#000', label: label, levelColors: [ "#ff0000", "#f9c802", "#a9d70b" - ] + ], }); + this.gage.refresh(value, max); var flag_open = false; - if (self.options.action_change) { - var $svg = self.$el.find('svg'); + if (this.options.action_change) { + var $svg = this.$el.find('svg'); var css = { 'text-align': 'center', 'position': 'absolute', - 'width': self.$el.outerWidth() + 'px', - 'top': (self.$el.outerHeight()/2-5) + 'px' + 'width': this.$el.outerWidth() + 'px', + 'top': (this.$el.outerHeight()/2-5) + 'px' }; - self.$el.click(function (event) { + this.$el.click(function (event) { event.stopPropagation(); flag_open = false; if (!parent.view.is_action_enabled('edit')) { @@ -1364,7 +1375,7 @@ instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ $svg.fadeTo(0, 0.3); $div = $('
').text(_t("Click to change value")); $div.css(css); - self.$el.append($div); + this.$el.append($div); } } }, From 5245e732bc31dfe65d2480565bf0b9f3be307dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 6 Sep 2013 12:05:28 +0200 Subject: [PATCH 09/20] [MOV] [ADD] Moved gauge and sparkline widgets into their own modules. Introducing two new web modules: web_kanban_gauge and web_kanban_sparkline. bzr revid: tde@openerp.com-20130906100528-rfk9u9op5u8kadl9 --- addons/web/__openerp__.py | 2 - addons/web_kanban/static/src/js/kanban.js | 151 ------------------ addons/web_kanban_gauge/__init__.py | 0 addons/web_kanban_gauge/__openerp__.py | 18 +++ .../static/lib/justgage/justgage.js | 0 .../static/src/js/kanban_gauge.js | 119 ++++++++++++++ addons/web_kanban_sparkline/__init__.py | 0 addons/web_kanban_sparkline/__openerp__.py | 18 +++ .../lib/jquery.sparkline/jquery.sparkline.js | 0 .../static/src/js/kanban_sparkline.js | 37 +++++ 10 files changed, 192 insertions(+), 153 deletions(-) create mode 100644 addons/web_kanban_gauge/__init__.py create mode 100644 addons/web_kanban_gauge/__openerp__.py rename addons/{web => web_kanban_gauge}/static/lib/justgage/justgage.js (100%) create mode 100644 addons/web_kanban_gauge/static/src/js/kanban_gauge.js create mode 100644 addons/web_kanban_sparkline/__init__.py create mode 100644 addons/web_kanban_sparkline/__openerp__.py rename addons/{web => web_kanban_sparkline}/static/lib/jquery.sparkline/jquery.sparkline.js (100%) create mode 100644 addons/web_kanban_sparkline/static/src/js/kanban_sparkline.js diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 9b13fd48b0a..5c8d27e11cb 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -32,11 +32,9 @@ This module provides the core of the OpenERP Web Client. "static/lib/jquery.ui.notify/js/jquery.notify.js", "static/lib/jquery.deferred-queue/jquery.deferred-queue.js", "static/lib/jquery.scrollTo/jquery.scrollTo-min.js", - "static/lib/jquery.sparkline/jquery.sparkline.js", "static/lib/jquery.tipsy/jquery.tipsy.js", "static/lib/jquery.textext/jquery.textext.js", "static/lib/jquery.timeago/jquery.timeago.js", - "static/lib/justgage/justgage.js", "static/lib/qweb/qweb2.js", "static/lib/underscore/underscore.js", "static/lib/underscore.string/lib/underscore.string.js", diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 9bc8e3bd785..8ec11e37d25 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1232,157 +1232,6 @@ instance.web_kanban.AbstractField = instance.web.Widget.extend(instance.web_kanb instance.web_kanban.fields_registry = new instance.web.Registry({}); - -/** - * Kanban widgets: Sparkline - * - */ - -instance.web_kanban.SparklineBarWidget = instance.web_kanban.AbstractField.extend({ - className: "oe_sparkline_bar", - start: function() { - var self = this; - var title = this.$node.html() || this.field.string; - setTimeout(function () { - var value = _.pluck(self.field.value, 'value'); - var tooltips = _.pluck(self.field.value, 'tooltip'); - var sparkline_options = _.extend({ - type: 'bar', - barWidth: 5, - height: '20px', - barWidth: 4, - barSpacing: 1, - barColor: '#96d854', - tooltipFormat: '{{offset:offset}} {{value}}', - tooltipValueLookups: { - 'offset': tooltips - } - }, self.options); - self.$el.sparkline(value, sparkline_options); - self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'}); - }, 0); - }, -}); - -instance.web_kanban.fields_registry.add("sparkline_bar", "instance.web_kanban.SparklineBarWidget"); - - -/** - * Kanban widgets: GaugeWidget - * - */ - -instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ - className: "oe_gauge", - start: function() { - var self = this; - var parent = this.getParent(); - var max = 100; - if (this.options.max_field) { - max = this.getParent().record[this.options.max_field].raw_value; - } - var label = this.options.label || ""; - if (this.options.label_field) { - label = this.getParent().record[this.options.label_field].raw_value; - } - var val = this.field.value; - var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; - var title = this.$node.html() || this.field.string; - // var unique_id = _.uniqueId("JustGage"); - - this.$el.empty() - .attr('style', this.$node.attr('style') + ';position:relative; display:inline-block;'); - - this.gage = new JustGage({ - parentNode: this.$el[0], - // id: unique_id, - value: value, - title: title, - min: 0, - max: max, - relativeGaugeSize: true, - humanFriendly: true, - titleFontColor: '#333333', - valueFontColor: '#333333', - labelFontColor: '#000', - label: label, - levelColors: [ - "#ff0000", - "#f9c802", - "#a9d70b" - ], - }); - this.gage.refresh(value, max); - - var flag_open = false; - if (this.options.action_change) { - var $svg = this.$el.find('svg'); - var css = { - 'text-align': 'center', - 'position': 'absolute', - 'width': this.$el.outerWidth() + 'px', - 'top': (this.$el.outerHeight()/2-5) + 'px' - }; - - this.$el.click(function (event) { - event.stopPropagation(); - flag_open = false; - if (!parent.view.is_action_enabled('edit')) { - return; - } - if (!self.$el.find(".oe_justgage_edit").size()) { - $div = $('
'); - $div.css(css); - $input = $('').val(value); - $input.css({ - 'text-align': 'center', - 'margin': 'auto', - 'width': ($svg.outerWidth()-40) + 'px' - }); - $div.append($input); - self.$el.prepend($div) - $input.focus() - .keydown(function (event) { - event.stopPropagation(); - if (event.keyCode == 13 || event.keyCode == 9) { - if ($input.val() != value) { - parent.view.dataset.call(self.options.action_change, [parent.id, $input.val()]).then(function () { - parent.do_reload(); - }); - } else { - $div.remove(); - } - } - }) - .click(function (event) { - event.stopPropagation(); - flag_open = false; - }) - .blur(function (event) { - if(!flag_open) { - self.$el.find(".oe_justgage_edit").remove(); - } else { - flag_open = false; - setTimeout(function () {$input.focus();}, 0); - } - }); - } - }).mousedown(function () { - flag_open = true; - }); - - if (!+value) { - $svg.fadeTo(0, 0.3); - $div = $('
').text(_t("Click to change value")); - $div.css(css); - this.$el.append($div); - } - } - }, -}); - -instance.web_kanban.fields_registry.add("gauge", "instance.web_kanban.GaugeWidget"); - }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/web_kanban_gauge/__init__.py b/addons/web_kanban_gauge/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/addons/web_kanban_gauge/__openerp__.py b/addons/web_kanban_gauge/__openerp__.py new file mode 100644 index 00000000000..19b2d6f0da3 --- /dev/null +++ b/addons/web_kanban_gauge/__openerp__.py @@ -0,0 +1,18 @@ +{ + 'name': 'Gauge Widget for Kanban', + 'category': 'Hidden', + 'description': """ +This widget allows to display gauges using jquery.sparkline library. +""", + 'version': '1.0', + 'depends': ['web_kanban'], + 'js': [ + 'static/lib/justgage/justgage.js', + 'static/src/js/kanban_gauge.js' + ], + 'css': [ + ], + 'qweb': [ + ], + 'auto_install': False, +} diff --git a/addons/web/static/lib/justgage/justgage.js b/addons/web_kanban_gauge/static/lib/justgage/justgage.js similarity index 100% rename from addons/web/static/lib/justgage/justgage.js rename to addons/web_kanban_gauge/static/lib/justgage/justgage.js diff --git a/addons/web_kanban_gauge/static/src/js/kanban_gauge.js b/addons/web_kanban_gauge/static/src/js/kanban_gauge.js new file mode 100644 index 00000000000..cb2faf6874b --- /dev/null +++ b/addons/web_kanban_gauge/static/src/js/kanban_gauge.js @@ -0,0 +1,119 @@ +openerp.web_kanban_gauge = function (instance) { + +/** + * Kanban widgets: GaugeWidget + * + */ + +instance.web_kanban.GaugeWidget = instance.web_kanban.AbstractField.extend({ + className: "oe_gauge", + start: function() { + var self = this; + var parent = this.getParent(); + var max = 100; + if (this.options.max_field) { + max = this.getParent().record[this.options.max_field].raw_value; + } + var label = this.options.label || ""; + if (this.options.label_field) { + label = this.getParent().record[this.options.label_field].raw_value; + } + var val = this.field.value; + var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; + var title = this.$node.html() || this.field.string; + // var unique_id = _.uniqueId("JustGage"); + + this.$el.empty() + .attr('style', this.$node.attr('style') + ';position:relative; display:inline-block;'); + + this.gage = new JustGage({ + parentNode: this.$el[0], + // id: unique_id, + value: value, + title: title, + min: 0, + max: max, + relativeGaugeSize: true, + humanFriendly: true, + titleFontColor: '#333333', + valueFontColor: '#333333', + labelFontColor: '#000', + label: label, + levelColors: [ + "#ff0000", + "#f9c802", + "#a9d70b" + ], + }); + this.gage.refresh(value, max); + + var flag_open = false; + if (this.options.action_change) { + var $svg = this.$el.find('svg'); + var css = { + 'text-align': 'center', + 'position': 'absolute', + 'width': this.$el.outerWidth() + 'px', + 'top': (this.$el.outerHeight()/2-5) + 'px' + }; + + this.$el.click(function (event) { + event.stopPropagation(); + flag_open = false; + if (!parent.view.is_action_enabled('edit')) { + return; + } + if (!self.$el.find(".oe_justgage_edit").size()) { + $div = $('
'); + $div.css(css); + $input = $('').val(value); + $input.css({ + 'text-align': 'center', + 'margin': 'auto', + 'width': ($svg.outerWidth()-40) + 'px' + }); + $div.append($input); + self.$el.prepend($div) + $input.focus() + .keydown(function (event) { + event.stopPropagation(); + if (event.keyCode == 13 || event.keyCode == 9) { + if ($input.val() != value) { + parent.view.dataset.call(self.options.action_change, [parent.id, $input.val()]).then(function () { + parent.do_reload(); + }); + } else { + $div.remove(); + } + } + }) + .click(function (event) { + event.stopPropagation(); + flag_open = false; + }) + .blur(function (event) { + if(!flag_open) { + self.$el.find(".oe_justgage_edit").remove(); + } else { + flag_open = false; + setTimeout(function () {$input.focus();}, 0); + } + }); + } + }).mousedown(function () { + flag_open = true; + }); + + if (!+value) { + $svg.fadeTo(0, 0.3); + $div = $('
').text(_t("Click to change value")); + $div.css(css); + this.$el.append($div); + } + } + }, +}); + +instance.web_kanban.fields_registry.add("gauge", "instance.web_kanban.GaugeWidget"); + +} diff --git a/addons/web_kanban_sparkline/__init__.py b/addons/web_kanban_sparkline/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/addons/web_kanban_sparkline/__openerp__.py b/addons/web_kanban_sparkline/__openerp__.py new file mode 100644 index 00000000000..3fb4e13b4f7 --- /dev/null +++ b/addons/web_kanban_sparkline/__openerp__.py @@ -0,0 +1,18 @@ +{ + 'name': 'Sparkline Widget for Kanban', + 'category': 'Hidden', + 'description': """ +This widget allows to display sparklines using jquery.sparkline library. +""", + 'version': '1.0', + 'depends': ['web_kanban'], + 'js': [ + "static/lib/jquery.sparkline/jquery.sparkline.js", + 'static/src/js/kanban_sparkline.js' + ], + 'css': [ + ], + 'qweb': [ + ], + 'auto_install': False, +} diff --git a/addons/web/static/lib/jquery.sparkline/jquery.sparkline.js b/addons/web_kanban_sparkline/static/lib/jquery.sparkline/jquery.sparkline.js similarity index 100% rename from addons/web/static/lib/jquery.sparkline/jquery.sparkline.js rename to addons/web_kanban_sparkline/static/lib/jquery.sparkline/jquery.sparkline.js diff --git a/addons/web_kanban_sparkline/static/src/js/kanban_sparkline.js b/addons/web_kanban_sparkline/static/src/js/kanban_sparkline.js new file mode 100644 index 00000000000..de21cbba945 --- /dev/null +++ b/addons/web_kanban_sparkline/static/src/js/kanban_sparkline.js @@ -0,0 +1,37 @@ +openerp.web_kanban_sparkline = function (instance) { + +/** + * Kanban widgets: Sparkline + * + */ + +instance.web_kanban.SparklineBarWidget = instance.web_kanban.AbstractField.extend({ + className: "oe_sparkline_bar", + start: function() { + var self = this; + var title = this.$node.html() || this.field.string; + setTimeout(function () { + var value = _.pluck(self.field.value, 'value'); + var tooltips = _.pluck(self.field.value, 'tooltip'); + var sparkline_options = _.extend({ + type: 'bar', + barWidth: 5, + height: '20px', + barWidth: 4, + barSpacing: 1, + barColor: '#96d854', + tooltipFormat: '{{offset:offset}} {{value}}', + tooltipValueLookups: { + 'offset': tooltips + } + }, self.options); + self.$el.sparkline(value, sparkline_options); + self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'}); + }, 0); + }, +}); + +instance.web_kanban.fields_registry.add("sparkline_bar", "instance.web_kanban.SparklineBarWidget"); + + +} From 205a5c37c0925d82507ea97884ef427f0794ef27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 6 Sep 2013 12:11:55 +0200 Subject: [PATCH 10/20] [CLEAN] qweb, kanban: removed forgotten console.log + unnecessary void line bzr revid: tde@openerp.com-20130906101155-0o58oycwb992s093 --- addons/web/static/lib/qweb/qweb2.js | 1 - addons/web_kanban/static/src/js/kanban.js | 1 - 2 files changed, 2 deletions(-) diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index 44db469cd89..52e975322e5 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -384,7 +384,6 @@ QWeb2.Engine = (function() { this.compiled_templates[template] = tcompiled; return this.render(template, dict); } else { - console.log(this.compiled_templates, template); return this.tools.exception("Template '" + template + "' not found"); } }, diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 8ec11e37d25..6f47f9c128d 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1231,7 +1231,6 @@ instance.web_kanban.AbstractField = instance.web.Widget.extend(instance.web_kanb }); instance.web_kanban.fields_registry = new instance.web.Registry({}); - }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: From 87ff039a2aa41435e4fc593b97aaf58ce275f140 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP Trainee)" Date: Fri, 6 Sep 2013 16:27:05 +0530 Subject: [PATCH 11/20] [IMP]:trunk account chart template data bzr revid: sunilsharma.sharma07@gmail.com-20130906105705-j2u30ldytf3qev3r --- addons/l10n_ar/l10n_ar_chart.xml | 1 + addons/l10n_at/account_chart.xml | 1 + addons/l10n_be/account_chart_template.xml | 1 + addons/l10n_bo/l10n_bo_chart.xml | 1 + addons/l10n_br/data/account_chart_template.xml | 1 + addons/l10n_ca/account_chart_template_en.xml | 1 + addons/l10n_ca/account_chart_template_fr.xml | 1 + addons/l10n_ch/sterchi_chart/account.xml | 1 + addons/l10n_cl/l10n_cl_chart.xml | 1 + addons/l10n_cn/account_chart.xml | 1 + addons/l10n_co/data/account_chart.xml | 1 + addons/l10n_cr/data/account_chart_template.xml | 2 ++ addons/l10n_de/account_chart_template_skr03.xml | 1 + addons/l10n_de/account_chart_template_skr04.xml | 1 + addons/l10n_ec/account_chart.xml | 3 ++- addons/l10n_es/account_chart.xml | 1 + addons/l10n_es/account_chart_assoc.xml | 1 + addons/l10n_es/account_chart_pymes.xml | 1 + addons/l10n_fr/fr_pcg_taxes.xml | 1 + addons/l10n_gr/account_tax.xml | 1 + addons/l10n_gt/l10n_gt_base.xml | 1 + addons/l10n_hn/l10n_hn_base.xml | 1 + addons/l10n_hr/l10n_hr_chart_template.xml | 1 + addons/l10n_in/l10n_in_private_chart.xml | 1 + addons/l10n_in/l10n_in_public_chart.xml | 1 + addons/l10n_it/account_chart.xml | 1 + addons/l10n_lu/account_chart_template.xml | 1 + addons/l10n_ma/l10n_ma_tax.xml | 1 + addons/l10n_mx/data/account_chart.xml | 1 + addons/l10n_nl/account_chart_netherlands.xml | 1 + addons/l10n_pa/l10n_pa_chart.xml | 1 + addons/l10n_pe/l10n_pe_chart.xml | 3 ++- addons/l10n_pl/account_chart.xml | 1 + addons/l10n_pt/account_chart_template.xml | 1 + addons/l10n_ro/account_chart.xml | 2 +- addons/l10n_syscohada/l10n_syscohada_data.xml | 1 + addons/l10n_th/account_data.xml | 1 + addons/l10n_tr/account_chart_template.xml | 1 + addons/l10n_us/account_chart_template_after.xml | 8 ++++++++ addons/l10n_uy/account_chart_template.xml | 1 + addons/l10n_ve/data/account_chart.xml | 1 + addons/l10n_vn/account_chart.xml | 4 ++-- 42 files changed, 53 insertions(+), 5 deletions(-) diff --git a/addons/l10n_ar/l10n_ar_chart.xml b/addons/l10n_ar/l10n_ar_chart.xml index 062697d5aa6..02b2f3e97bf 100644 --- a/addons/l10n_ar/l10n_ar_chart.xml +++ b/addons/l10n_ar/l10n_ar_chart.xml @@ -252,6 +252,7 @@ + diff --git a/addons/l10n_at/account_chart.xml b/addons/l10n_at/account_chart.xml index 51d0c9a85a8..eca220994e6 100644 --- a/addons/l10n_at/account_chart.xml +++ b/addons/l10n_at/account_chart.xml @@ -2518,6 +2518,7 @@ + diff --git a/addons/l10n_be/account_chart_template.xml b/addons/l10n_be/account_chart_template.xml index 55726fdc335..48e506ded79 100644 --- a/addons/l10n_be/account_chart_template.xml +++ b/addons/l10n_be/account_chart_template.xml @@ -13,6 +13,7 @@ + diff --git a/addons/l10n_bo/l10n_bo_chart.xml b/addons/l10n_bo/l10n_bo_chart.xml index dc9e9598909..3d7e5cc1935 100644 --- a/addons/l10n_bo/l10n_bo_chart.xml +++ b/addons/l10n_bo/l10n_bo_chart.xml @@ -249,6 +249,7 @@ + diff --git a/addons/l10n_br/data/account_chart_template.xml b/addons/l10n_br/data/account_chart_template.xml index c99bbd03d2f..598c3191cba 100644 --- a/addons/l10n_br/data/account_chart_template.xml +++ b/addons/l10n_br/data/account_chart_template.xml @@ -11,6 +11,7 @@ + diff --git a/addons/l10n_ca/account_chart_template_en.xml b/addons/l10n_ca/account_chart_template_en.xml index 635fa7b8bb1..64e0632382e 100644 --- a/addons/l10n_ca/account_chart_template_en.xml +++ b/addons/l10n_ca/account_chart_template_en.xml @@ -13,6 +13,7 @@ + diff --git a/addons/l10n_ca/account_chart_template_fr.xml b/addons/l10n_ca/account_chart_template_fr.xml index 7d1cc0a9ae2..510153200c6 100644 --- a/addons/l10n_ca/account_chart_template_fr.xml +++ b/addons/l10n_ca/account_chart_template_fr.xml @@ -12,6 +12,7 @@ + diff --git a/addons/l10n_ch/sterchi_chart/account.xml b/addons/l10n_ch/sterchi_chart/account.xml index ddad62946ae..acee99cad4a 100644 --- a/addons/l10n_ch/sterchi_chart/account.xml +++ b/addons/l10n_ch/sterchi_chart/account.xml @@ -11812,6 +11812,7 @@ + diff --git a/addons/l10n_cl/l10n_cl_chart.xml b/addons/l10n_cl/l10n_cl_chart.xml index 8bc4272c2eb..e6d7b1d75bd 100644 --- a/addons/l10n_cl/l10n_cl_chart.xml +++ b/addons/l10n_cl/l10n_cl_chart.xml @@ -248,6 +248,7 @@ + diff --git a/addons/l10n_cn/account_chart.xml b/addons/l10n_cn/account_chart.xml index afcb3e04b0c..fe4690e306c 100644 --- a/addons/l10n_cn/account_chart.xml +++ b/addons/l10n_cn/account_chart.xml @@ -957,6 +957,7 @@ + diff --git a/addons/l10n_co/data/account_chart.xml b/addons/l10n_co/data/account_chart.xml index 2fe4ac9a1b9..06d6d471e1e 100644 --- a/addons/l10n_co/data/account_chart.xml +++ b/addons/l10n_co/data/account_chart.xml @@ -103348,6 +103348,7 @@ participacion, de conformidad con las disposiciones legales vigentes. + diff --git a/addons/l10n_cr/data/account_chart_template.xml b/addons/l10n_cr/data/account_chart_template.xml index e84ea73fbed..a8a08647c00 100644 --- a/addons/l10n_cr/data/account_chart_template.xml +++ b/addons/l10n_cr/data/account_chart_template.xml @@ -16,6 +16,7 @@ + Costa Rica - Company 1 @@ -28,6 +29,7 @@ + diff --git a/addons/l10n_de/account_chart_template_skr03.xml b/addons/l10n_de/account_chart_template_skr03.xml index 058424188f6..ce71f132de3 100644 --- a/addons/l10n_de/account_chart_template_skr03.xml +++ b/addons/l10n_de/account_chart_template_skr03.xml @@ -12,6 +12,7 @@ + diff --git a/addons/l10n_de/account_chart_template_skr04.xml b/addons/l10n_de/account_chart_template_skr04.xml index c33c0d415eb..fee680af379 100644 --- a/addons/l10n_de/account_chart_template_skr04.xml +++ b/addons/l10n_de/account_chart_template_skr04.xml @@ -12,6 +12,7 @@ + diff --git a/addons/l10n_ec/account_chart.xml b/addons/l10n_ec/account_chart.xml index 17f1b71d047..1cf12529c6c 100644 --- a/addons/l10n_ec/account_chart.xml +++ b/addons/l10n_ec/account_chart.xml @@ -4202,7 +4202,8 @@ - + + diff --git a/addons/l10n_es/account_chart.xml b/addons/l10n_es/account_chart.xml index 1bc63f6419f..8260a76dca1 100644 --- a/addons/l10n_es/account_chart.xml +++ b/addons/l10n_es/account_chart.xml @@ -13333,6 +13333,7 @@ + diff --git a/addons/l10n_es/account_chart_assoc.xml b/addons/l10n_es/account_chart_assoc.xml index 670eed53c9b..105be447ca8 100644 --- a/addons/l10n_es/account_chart_assoc.xml +++ b/addons/l10n_es/account_chart_assoc.xml @@ -12420,6 +12420,7 @@ + diff --git a/addons/l10n_es/account_chart_pymes.xml b/addons/l10n_es/account_chart_pymes.xml index 223d80e3193..1986a532a66 100644 --- a/addons/l10n_es/account_chart_pymes.xml +++ b/addons/l10n_es/account_chart_pymes.xml @@ -11464,6 +11464,7 @@ + diff --git a/addons/l10n_fr/fr_pcg_taxes.xml b/addons/l10n_fr/fr_pcg_taxes.xml index 78b34f2d696..2279b077383 100644 --- a/addons/l10n_fr/fr_pcg_taxes.xml +++ b/addons/l10n_fr/fr_pcg_taxes.xml @@ -441,6 +441,7 @@ + diff --git a/addons/l10n_gr/account_tax.xml b/addons/l10n_gr/account_tax.xml index c3de033869b..36148f49a9b 100644 --- a/addons/l10n_gr/account_tax.xml +++ b/addons/l10n_gr/account_tax.xml @@ -21,6 +21,7 @@ + diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml index 8caf6ebe48c..bfc91ddb83e 100644 --- a/addons/l10n_gt/l10n_gt_base.xml +++ b/addons/l10n_gt/l10n_gt_base.xml @@ -31,6 +31,7 @@ + diff --git a/addons/l10n_hn/l10n_hn_base.xml b/addons/l10n_hn/l10n_hn_base.xml index b8b85c3f2a7..8b9acf5c50a 100644 --- a/addons/l10n_hn/l10n_hn_base.xml +++ b/addons/l10n_hn/l10n_hn_base.xml @@ -17,6 +17,7 @@ + diff --git a/addons/l10n_hr/l10n_hr_chart_template.xml b/addons/l10n_hr/l10n_hr_chart_template.xml index d9a7db5710c..1cd998115c6 100644 --- a/addons/l10n_hr/l10n_hr_chart_template.xml +++ b/addons/l10n_hr/l10n_hr_chart_template.xml @@ -15,6 +15,7 @@ + diff --git a/addons/l10n_in/l10n_in_private_chart.xml b/addons/l10n_in/l10n_in_private_chart.xml index 4b8e4be55bf..efaa9844416 100644 --- a/addons/l10n_in/l10n_in_private_chart.xml +++ b/addons/l10n_in/l10n_in_private_chart.xml @@ -550,6 +550,7 @@ + diff --git a/addons/l10n_in/l10n_in_public_chart.xml b/addons/l10n_in/l10n_in_public_chart.xml index 91d285408d5..18633af054f 100644 --- a/addons/l10n_in/l10n_in_public_chart.xml +++ b/addons/l10n_in/l10n_in_public_chart.xml @@ -988,6 +988,7 @@ + diff --git a/addons/l10n_it/account_chart.xml b/addons/l10n_it/account_chart.xml index 6dd7b539b49..ca64348d482 100644 --- a/addons/l10n_it/account_chart.xml +++ b/addons/l10n_it/account_chart.xml @@ -11,6 +11,7 @@ + diff --git a/addons/l10n_lu/account_chart_template.xml b/addons/l10n_lu/account_chart_template.xml index f0986277343..254feaa932e 100644 --- a/addons/l10n_lu/account_chart_template.xml +++ b/addons/l10n_lu/account_chart_template.xml @@ -13,6 +13,7 @@ + diff --git a/addons/l10n_ma/l10n_ma_tax.xml b/addons/l10n_ma/l10n_ma_tax.xml index f296b22edca..5bc59035861 100644 --- a/addons/l10n_ma/l10n_ma_tax.xml +++ b/addons/l10n_ma/l10n_ma_tax.xml @@ -744,6 +744,7 @@ + diff --git a/addons/l10n_mx/data/account_chart.xml b/addons/l10n_mx/data/account_chart.xml index 491942e4b72..daa564fd10e 100644 --- a/addons/l10n_mx/data/account_chart.xml +++ b/addons/l10n_mx/data/account_chart.xml @@ -3695,6 +3695,7 @@ Cuentas del plan + diff --git a/addons/l10n_nl/account_chart_netherlands.xml b/addons/l10n_nl/account_chart_netherlands.xml index c7eefb42cde..03d9879a100 100644 --- a/addons/l10n_nl/account_chart_netherlands.xml +++ b/addons/l10n_nl/account_chart_netherlands.xml @@ -4102,6 +4102,7 @@ + - + diff --git a/addons/l10n_syscohada/l10n_syscohada_data.xml b/addons/l10n_syscohada/l10n_syscohada_data.xml index d90988e00e3..d4be067bfa2 100644 --- a/addons/l10n_syscohada/l10n_syscohada_data.xml +++ b/addons/l10n_syscohada/l10n_syscohada_data.xml @@ -1850,6 +1850,7 @@ + diff --git a/addons/l10n_th/account_data.xml b/addons/l10n_th/account_data.xml index 9ae3d9e3364..a6de0ced477 100644 --- a/addons/l10n_th/account_data.xml +++ b/addons/l10n_th/account_data.xml @@ -477,6 +477,7 @@ + diff --git a/addons/l10n_tr/account_chart_template.xml b/addons/l10n_tr/account_chart_template.xml index 3e10353298e..60853ff7127 100644 --- a/addons/l10n_tr/account_chart_template.xml +++ b/addons/l10n_tr/account_chart_template.xml @@ -12,6 +12,7 @@ + diff --git a/addons/l10n_us/account_chart_template_after.xml b/addons/l10n_us/account_chart_template_after.xml index 4dea930f09f..4cd1472773d 100644 --- a/addons/l10n_us/account_chart_template_after.xml +++ b/addons/l10n_us/account_chart_template_after.xml @@ -8,33 +8,41 @@ + + + + + + + + diff --git a/addons/l10n_uy/account_chart_template.xml b/addons/l10n_uy/account_chart_template.xml index 4ce35184967..8433ed18c25 100644 --- a/addons/l10n_uy/account_chart_template.xml +++ b/addons/l10n_uy/account_chart_template.xml @@ -1895,6 +1895,7 @@ + diff --git a/addons/l10n_ve/data/account_chart.xml b/addons/l10n_ve/data/account_chart.xml index 05645805a84..7c859083aed 100644 --- a/addons/l10n_ve/data/account_chart.xml +++ b/addons/l10n_ve/data/account_chart.xml @@ -3315,6 +3315,7 @@ + diff --git a/addons/l10n_vn/account_chart.xml b/addons/l10n_vn/account_chart.xml index c7d3f6a9ee3..a4d63681e01 100755 --- a/addons/l10n_vn/account_chart.xml +++ b/addons/l10n_vn/account_chart.xml @@ -1,4 +1,4 @@ - + @@ -2015,7 +2015,7 @@ - + From 7650083606d0eaac4572d71f4bf08601d22268ee Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 6 Sep 2013 18:18:36 +0530 Subject: [PATCH 12/20] [IMP] l10n_de: improved currency. bzr revid: tpa@tinyerp.com-20130906124836-40p7xtnu0qwl8g94 --- addons/l10n_de/account_chart_template_skr03.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/l10n_de/account_chart_template_skr03.xml b/addons/l10n_de/account_chart_template_skr03.xml index ce71f132de3..0e2e239fd19 100644 --- a/addons/l10n_de/account_chart_template_skr03.xml +++ b/addons/l10n_de/account_chart_template_skr03.xml @@ -12,7 +12,7 @@ - + From 099fedc7a47efe82bf411a00531367a3f072138d Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP Trainee)" Date: Mon, 9 Sep 2013 10:29:51 +0530 Subject: [PATCH 13/20] [IMP]:improved currency. bzr revid: sunilsharma.sharma07@gmail.com-20130909045951-t2wjsr5xu5ajw432 --- addons/l10n_cl/l10n_cl_chart.xml | 2 +- addons/l10n_de/account_chart_template_skr03.xml | 2 +- addons/l10n_ec/account_chart.xml | 2 +- addons/l10n_pl/account_chart.xml | 2 +- addons/l10n_ro/account_chart.xml | 2 +- addons/l10n_tr/account_chart_template.xml | 2 +- addons/l10n_uy/account_chart_template.xml | 2 +- addons/l10n_ve/data/account_chart.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/l10n_cl/l10n_cl_chart.xml b/addons/l10n_cl/l10n_cl_chart.xml index e6d7b1d75bd..2e2339f212e 100644 --- a/addons/l10n_cl/l10n_cl_chart.xml +++ b/addons/l10n_cl/l10n_cl_chart.xml @@ -248,7 +248,7 @@ - + diff --git a/addons/l10n_de/account_chart_template_skr03.xml b/addons/l10n_de/account_chart_template_skr03.xml index 0e2e239fd19..ea3c0cff3d7 100644 --- a/addons/l10n_de/account_chart_template_skr03.xml +++ b/addons/l10n_de/account_chart_template_skr03.xml @@ -12,7 +12,7 @@ - + diff --git a/addons/l10n_ec/account_chart.xml b/addons/l10n_ec/account_chart.xml index 1cf12529c6c..afa847ea5a9 100644 --- a/addons/l10n_ec/account_chart.xml +++ b/addons/l10n_ec/account_chart.xml @@ -4203,7 +4203,7 @@ - + diff --git a/addons/l10n_pl/account_chart.xml b/addons/l10n_pl/account_chart.xml index fcd1d216762..c2213c801dc 100644 --- a/addons/l10n_pl/account_chart.xml +++ b/addons/l10n_pl/account_chart.xml @@ -3202,7 +3202,7 @@ - + diff --git a/addons/l10n_ro/account_chart.xml b/addons/l10n_ro/account_chart.xml index 8f531d1ffbf..169e4bfa206 100644 --- a/addons/l10n_ro/account_chart.xml +++ b/addons/l10n_ro/account_chart.xml @@ -4587,7 +4587,7 @@ - + diff --git a/addons/l10n_tr/account_chart_template.xml b/addons/l10n_tr/account_chart_template.xml index 60853ff7127..a15af467932 100644 --- a/addons/l10n_tr/account_chart_template.xml +++ b/addons/l10n_tr/account_chart_template.xml @@ -12,7 +12,7 @@ - + diff --git a/addons/l10n_uy/account_chart_template.xml b/addons/l10n_uy/account_chart_template.xml index 8433ed18c25..2e800e4c5cb 100644 --- a/addons/l10n_uy/account_chart_template.xml +++ b/addons/l10n_uy/account_chart_template.xml @@ -1895,7 +1895,7 @@ - + diff --git a/addons/l10n_ve/data/account_chart.xml b/addons/l10n_ve/data/account_chart.xml index 7c859083aed..2dba15f1b18 100644 --- a/addons/l10n_ve/data/account_chart.xml +++ b/addons/l10n_ve/data/account_chart.xml @@ -3315,7 +3315,7 @@ - + From 837f2c7cb4d634ab5c5f069ce91a2d09b8a36ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 12 Sep 2013 10:00:22 +0200 Subject: [PATCH 14/20] [DOC] web_kanban_gauge, web_kanban_sparkline: added doc with changelog bzr revid: tde@openerp.com-20130912080022-fmzl4hll4wca2yy2 --- addons/web_kanban_gauge/__openerp__.py | 2 +- addons/web_kanban_gauge/doc/changelog.rst | 10 ++++++++++ addons/web_kanban_gauge/doc/index.rst | 10 ++++++++++ addons/web_kanban_sparkline/doc/changelog.rst | 10 ++++++++++ addons/web_kanban_sparkline/doc/index.rst | 10 ++++++++++ 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 addons/web_kanban_gauge/doc/changelog.rst create mode 100644 addons/web_kanban_gauge/doc/index.rst create mode 100644 addons/web_kanban_sparkline/doc/changelog.rst create mode 100644 addons/web_kanban_sparkline/doc/index.rst diff --git a/addons/web_kanban_gauge/__openerp__.py b/addons/web_kanban_gauge/__openerp__.py index 19b2d6f0da3..fd4c2cfba66 100644 --- a/addons/web_kanban_gauge/__openerp__.py +++ b/addons/web_kanban_gauge/__openerp__.py @@ -2,7 +2,7 @@ 'name': 'Gauge Widget for Kanban', 'category': 'Hidden', 'description': """ -This widget allows to display gauges using jquery.sparkline library. +This widget allows to display gauges using justgage library. """, 'version': '1.0', 'depends': ['web_kanban'], diff --git a/addons/web_kanban_gauge/doc/changelog.rst b/addons/web_kanban_gauge/doc/changelog.rst new file mode 100644 index 00000000000..5b3e8fb6857 --- /dev/null +++ b/addons/web_kanban_gauge/doc/changelog.rst @@ -0,0 +1,10 @@ +.. _changelog: + +Changelog +========= + +`trunk (saas-2)` +---------------- + + - Module ``web_kanban_gauge`` created. It comes from the refactoring of + custom kanban widgets used in other modules, now standardized. diff --git a/addons/web_kanban_gauge/doc/index.rst b/addons/web_kanban_gauge/doc/index.rst new file mode 100644 index 00000000000..5c5740853d4 --- /dev/null +++ b/addons/web_kanban_gauge/doc/index.rst @@ -0,0 +1,10 @@ +Gauge for Kanban module documentation +====================================== + +Changelog +''''''''' + +.. toctree:: + :maxdepth: 1 + + changelog.rst diff --git a/addons/web_kanban_sparkline/doc/changelog.rst b/addons/web_kanban_sparkline/doc/changelog.rst new file mode 100644 index 00000000000..4c920a005ff --- /dev/null +++ b/addons/web_kanban_sparkline/doc/changelog.rst @@ -0,0 +1,10 @@ +.. _changelog: + +Changelog +========= + +`trunk (saas-2)` +---------------- + + - Module ``web_kanban_sparkline`` created. It comes from the refactoring of + custom kanban widgets used in other modules, now standardized. diff --git a/addons/web_kanban_sparkline/doc/index.rst b/addons/web_kanban_sparkline/doc/index.rst new file mode 100644 index 00000000000..869a323c62f --- /dev/null +++ b/addons/web_kanban_sparkline/doc/index.rst @@ -0,0 +1,10 @@ +Sparkline for Kanban module documentation +========================================= + +Changelog +''''''''' + +.. toctree:: + :maxdepth: 1 + + changelog.rst From 8f78d705a6a39ea01ea32ba22ff496460b8d33be Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 13 Sep 2013 05:39:30 +0000 Subject: [PATCH 15/20] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130913053904-ur2s9sv8ghejd8ui bzr revid: launchpad_translations_on_behalf_of_openerp-20130913053930-0bdx9o2i5047r20e --- addons/mrp/i18n/da.po | 38 +- openerp/addons/base/i18n/es_BO.po | 15319 ++++++++++++++++++++++++++++ 2 files changed, 15342 insertions(+), 15 deletions(-) create mode 100644 openerp/addons/base/i18n/es_BO.po diff --git a/addons/mrp/i18n/da.po b/addons/mrp/i18n/da.po index 8020bb4afcf..11bb2b377cc 100644 --- a/addons/mrp/i18n/da.po +++ b/addons/mrp/i18n/da.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: 2011-11-09 21:53+0000\n" -"Last-Translator: OpenERP Danmark / Henning Dinsen \n" +"PO-Revision-Date: 2013-09-12 17:27+0000\n" +"Last-Translator: John Mertens Pallesen \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-09-12 05:03+0000\n" +"X-Launchpad-Export-Date: 2013-09-13 05:39+0000\n" "X-Generator: Launchpad (build 16761)\n" #. module: mrp @@ -29,6 +29,14 @@ msgid "" " * Notes for the technician and for the final customer.\n" " This installs the module mrp_repair." msgstr "" +"Tillad at administrere alle reperationer på produkter.\n" +" * Tilføj/fjern varer under reparation\n" +" * Påvirkning lager\n" +" * Fakturering (varer og/eller ydelser)\n" +" * Garanti behandling\n" +" * Tilbuds rapport reparation\n" +" * Notes for the technician and for the final customer.\n" +" This installs the module mrp_repair." #. module: mrp #: report:mrp.production.order:0 @@ -38,7 +46,7 @@ msgstr "" #. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." -msgstr "" +msgstr "Lokation hvor systemet vil lede efter komponenter." #. module: mrp #: field:mrp.production,workcenter_lines:0 @@ -68,12 +76,12 @@ msgstr "" #: code:addons/mrp/report/price.py:130 #, python-format msgid "Hourly Cost" -msgstr "" +msgstr "Kostpris pr. time." #. module: mrp #: view:mrp.production:0 msgid "Scrap Products" -msgstr "" +msgstr "Kasser vare" #. module: mrp #: view:mrp.workcenter:0 @@ -113,7 +121,7 @@ msgstr "" #. module: mrp #: view:product.product:0 msgid "False" -msgstr "" +msgstr "Falsk" #. module: mrp #: view:mrp.bom:0 @@ -125,12 +133,12 @@ msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Finished Products" -msgstr "" +msgstr "Færdigproduceret vare" #. module: mrp #: view:mrp.production:0 msgid "Manufacturing Orders which are currently in production." -msgstr "" +msgstr "Produktionsordre igang" #. module: mrp #: help:mrp.bom,message_summary:0 @@ -145,7 +153,7 @@ msgstr "" #: model:process.transition,name:mrp.process_transition_servicerfq0 #: model:process.transition,name:mrp.process_transition_stockrfq0 msgid "To Buy" -msgstr "" +msgstr "Indkøb" #. module: mrp #: model:process.transition,note:mrp.process_transition_purchaseprocure0 @@ -187,12 +195,12 @@ msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_purchaseprocure0 msgid "For purchased material" -msgstr "" +msgstr "Indkøbte matrialer" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action msgid "Order Planning" -msgstr "" +msgstr "Ordreplanlægning" #. module: mrp #: field:mrp.config.settings,module_mrp_operations:0 @@ -203,7 +211,7 @@ msgstr "" #: code:addons/mrp/mrp.py:633 #, python-format msgid "Cannot cancel manufacturing order!" -msgstr "" +msgstr "Det er ikke muligt at annullere produktionsordre !" #. module: mrp #: field:mrp.workcenter,costs_cycle_account_id:0 @@ -250,7 +258,7 @@ msgstr "" #: view:mrp.production:0 #: field:mrp.production,move_created_ids2:0 msgid "Produced Products" -msgstr "" +msgstr "Produceret vare" #. module: mrp #: report:mrp.production.order:0 @@ -265,7 +273,7 @@ msgstr "" #. module: mrp #: field:mrp.config.settings,module_mrp_byproduct:0 msgid "Produce several products from one manufacturing order" -msgstr "" +msgstr "Producer flere varer på samme produktionsordre" #. module: mrp #: help:mrp.config.settings,group_mrp_properties:0 diff --git a/openerp/addons/base/i18n/es_BO.po b/openerp/addons/base/i18n/es_BO.po new file mode 100644 index 00000000000..dcda7fac9c2 --- /dev/null +++ b/openerp/addons/base/i18n/es_BO.po @@ -0,0 +1,15319 @@ +# Spanish (Bolivia) translation for openobject-server +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-server package. +# FIRST AUTHOR , 2013. +# +msgid "" +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-09-12 21:36+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Bolivia) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-09-13 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: base +#: model:ir.module.module,description:base.module_account_check_writing +msgid "" +"\n" +"Module for the Check Writing and Check Printing.\n" +"================================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.sh +msgid "Saint Helena" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Other Configuration" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "DateTime" +msgstr "" + +#. module: base +#: code:addons/fields.py:652 +#, python-format +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 "" + +#. module: base +#: field:ir.ui.view,arch:0 +#: field:ir.ui.view.custom,arch:0 +msgid "View Architecture" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_sale_stock +msgid "Quotation, Sale Orders, Delivery & Invoicing Control" +msgstr "" + +#. module: base +#: selection:ir.sequence,implementation:0 +msgid "No gap" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Hungarian / Magyar" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (PY) / Español (PY)" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_project_management +msgid "" +"Helps you manage your projects and tasks by tracking them, generating " +"plannings, etc..." +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_point_of_sale +msgid "Touchscreen Interface for Shops" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll +msgid "Indian Payroll" +msgstr "" + +#. module: base +#: help:ir.cron,model:0 +msgid "" +"Model name on which the method to be called is located, e.g. 'res.partner'." +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Created Views" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_product_manufacturer +msgid "" +"\n" +"A module that adds manufacturers and attributes on the product form.\n" +"====================================================================\n" +"\n" +"You can now define the following for a product:\n" +"-----------------------------------------------\n" +" * Manufacturer\n" +" * Manufacturer Product Name\n" +" * Manufacturer Product Code\n" +" * Product Attributes\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.client,params:0 +msgid "Supplementary arguments" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_google_base_account +msgid "" +"\n" +"The module adds google user in res user.\n" +"========================================\n" +msgstr "" + +#. module: base +#: help:res.partner,employee:0 +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: base +#: help:ir.model.fields,domain:0 +msgid "" +"The optional domain to restrict possible values for relationship fields, " +"specified as a Python expression defining a list of triplets. For example: " +"[('color','=','red')]" +msgstr "" + +#. module: base +#: field:res.partner,ref:0 +msgid "Reference" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba +msgid "Belgium - Structured Communication" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,target:0 +msgid "Target Window" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_rml:0 +msgid "Main Report File Path" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans +msgid "Sales Analytic Distribution" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_timesheet_invoice +msgid "" +"\n" +"Generate your Invoices from Expenses, Timesheet Entries.\n" +"========================================================\n" +"\n" +"Module to generate invoices based on costs (human resources, expenses, " +"...).\n" +"\n" +"You can define price lists in analytic account, make some theoretical " +"revenue\n" +"reports." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_sequence.py:134 +#: code:addons/base/ir/ir_sequence.py:160 +#: code:addons/base/res/res_users.py:473 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:405 +#, python-format +msgid "" +"Properties of base fields cannot be altered in this manner! Please modify " +"them through Python code, preferably through a custom addon!" +msgstr "" + +#. module: base +#: code:addons/osv.py:151 +#, python-format +msgid "Constraint Error" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_ui_view_custom +msgid "ir.ui.view.custom" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:374 +#, python-format +msgid "Renaming sparse field \"%s\" is not allowed" +msgstr "" + +#. module: base +#: model:res.country,name:base.sz +msgid "Swaziland" +msgstr "" + +#. module: base +#: code:addons/orm.py:4485 +#, python-format +msgid "created." +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_xsl:0 +msgid "XSL Path" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_tr +msgid "Turkey - Accounting" +msgstr "" + +#. module: base +#: field:ir.sequence,number_increment:0 +msgid "Increment Number" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_company_tree +#: model:ir.ui.menu,name:base.menu_action_res_company_tree +msgid "Company's Structure" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Inuktitut / ᐃᓄᒃᑎᑐᑦ" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_multi_currency +msgid "Multi Currencies" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_cl +msgid "" +"\n" +"Chilean accounting chart and tax localization.\n" +"==============================================\n" +"Plan contable chileno e impuestos de acuerdo a disposiciones vigentes\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale +msgid "Sales Management" +msgstr "" + +#. module: base +#: help:res.partner,user_id:0 +msgid "" +"The internal user that is in charge of communicating with this contact if " +"any." +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Search Partner" +msgstr "" + +#. module: base +#: field:ir.module.category,module_nr:0 +msgid "Number of Modules" +msgstr "" + +#. module: base +#: help:multi_company.default,company_dest_id:0 +msgid "Company to store the current record" +msgstr "" + +#. module: base +#: field:res.partner.bank.type.field,size:0 +msgid "Max. Size" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,res_id:0 +msgid "" +"Database ID of record to open in form view, when ``view_mode`` is set to " +"'form' only" +msgstr "" + +#. module: base +#: help:ir.values,key2:0 +msgid "" +"For actions, one of the possible action slots: \n" +" - client_action_multi\n" +" - client_print_multi\n" +" - client_action_relate\n" +" - tree_but_open\n" +"For defaults, an optional condition" +msgstr "" + +#. module: base +#: sql_constraint:res.lang:0 +msgid "The name of the language must be unique !" +msgstr "" + +#. module: base +#: selection:res.request,state:0 +msgid "active" +msgstr "" + +#. module: base +#: field:ir.actions.wizard,wiz_name:0 +msgid "Wizard Name" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_knowledge +msgid "" +"\n" +"Installer for knowledge-based Hidden.\n" +"=====================================\n" +"\n" +"Makes the Knowledge Application Configuration available from where you can " +"install\n" +"document and Wiki based Hidden.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_customer_relationship_management +msgid "Customer Relationship Management" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery +msgid "" +"\n" +"Allows you to add delivery methods in sale orders and picking.\n" +"==============================================================\n" +"\n" +"You can define your own carrier and delivery grids for prices. When creating " +"\n" +"invoices from picking, OpenERP is able to add and compute the shipping " +"line.\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_filters.py:80 +#, python-format +msgid "" +"There is already a shared filter set as default for %(model)s, delete or " +"change it before setting a new default" +msgstr "" + +#. module: base +#: code:addons/orm.py:2649 +#, python-format +msgid "Invalid group_by" +msgstr "" + +#. module: base +#: field:ir.module.category,child_ids:0 +msgid "Child Applications" +msgstr "" + +#. module: base +#: field:res.partner,credit_limit:0 +msgid "Credit Limit" +msgstr "" + +#. module: base +#: field:ir.model.constraint,date_update:0 +#: field:ir.model.data,date_update:0 +#: field:ir.model.relation,date_update:0 +msgid "Update Date" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_action_rule +msgid "Automated Action Rules" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: field:ir.attachment,create_uid:0 +msgid "Owner" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +msgid "Source Object" +msgstr "" + +#. module: base +#: model:res.partner.bank.type,format_layout:base.bank_normal +msgid "%(bank_name)s: %(acc_number)s" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Config Wizard Steps" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_ui_view_sc +msgid "ir.ui.view_sc" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: field:ir.model.access,group_id:0 +#: view:res.groups:0 +msgid "Group" +msgstr "" + +#. module: base +#: constraint:res.lang:0 +msgid "" +"Invalid date/time format directive specified. Please refer to the list of " +"allowed directives, displayed when you edit a language." +msgstr "" + +#. module: base +#: code:addons/orm.py:4153 +#, python-format +msgid "" +"One of the records you are trying to modify has already been deleted " +"(Document type: %s)." +msgstr "" + +#. module: base +#: help:ir.actions.act_window,views:0 +msgid "" +"This function field computes the ordered list of views that should be " +"enabled when displaying the result of an action, federating view mode, views " +"and reference view. The result is returned as an ordered list of pairs " +"(view_id,view_mode)." +msgstr "" + +#. module: base +#: field:ir.model.relation,name:0 +msgid "Relation Name" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Create Access Right" +msgstr "" + +#. module: base +#: model:res.country,name:base.tv +msgid "Tuvalu" +msgstr "" + +#. module: base +#: field:ir.actions.configuration.wizard,note:0 +msgid "Next Wizard" +msgstr "" + +#. module: base +#: field:res.lang,date_format:0 +msgid "Date Format" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_report_designer +msgid "OpenOffice Report Designer" +msgstr "" + +#. module: base +#: model:res.country,name:base.an +msgid "Netherlands Antilles" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:311 +#, python-format +msgid "" +"You can not remove the admin user as it is used internally for resources " +"created by OpenERP (updates, module installation, ...)" +msgstr "" + +#. module: base +#: view:workflow.transition:0 +msgid "Workflow Transition" +msgstr "" + +#. module: base +#: model:res.country,name:base.gf +msgid "French Guyana" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr +msgid "Jobs, Departments, Employees Details" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_analytic +msgid "" +"\n" +"Module for defining analytic accounting object.\n" +"===============================================\n" +"\n" +"In OpenERP, analytic accounts are linked to general accounts but are " +"treated\n" +"totally independently. So, you can enter various different analytic " +"operations\n" +"that have no counterpart in the general financial accounts.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_idea +msgid "Ideas" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_event +msgid "" +"\n" +"Organization and management of Events.\n" +"======================================\n" +"\n" +"The event module allows you to efficiently organise events and all related " +"tasks: planification, registration tracking,\n" +"attendances, etc.\n" +"\n" +"Key Features\n" +"------------\n" +"* Manage your Events and Registrations\n" +"* Use emails to automatically confirm and send acknowledgements for any " +"event registration\n" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Bosnian / bosanski jezik" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,attachment_use:0 +msgid "" +"If you check this, then the second time the user prints with same attachment " +"name, it returns the previous report." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mrp_byproduct +msgid "" +"\n" +"This module allows you to produce several products from one production " +"order.\n" +"=============================================================================" +"\n" +"\n" +"You can configure by-products in the bill of material.\n" +"\n" +"Without this module:\n" +"--------------------\n" +" A + B + C -> D\n" +"\n" +"With this module:\n" +"-----------------\n" +" A + B + C -> D + E\n" +" " +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (VE) / Español (VE)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice +msgid "Invoice on Timesheets" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "Your system will be updated." +msgstr "" + +#. module: base +#: field:ir.actions.todo,note:0 +#: selection:ir.property,type:0 +msgid "Text" +msgstr "" + +#. module: base +#: field:res.country,name:0 +msgid "Country Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.co +msgid "Colombia" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_mister +msgid "Mister" +msgstr "" + +#. module: base +#: help:res.country,code:0 +msgid "" +"The ISO country code in two chars.\n" +"You can use this field for quick search." +msgstr "" + +#. module: base +#: model:res.country,name:base.pw +msgid "Palau" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Sales & Purchases" +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Untranslated" +msgstr "" + +#. module: base +#: view:ir.mail_server:0 +msgid "Outgoing Mail Server" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,context:0 +#: help:ir.actions.client,context:0 +msgid "" +"Context dictionary as Python expression, empty by default (Default: {})" +msgstr "" + +#. module: base +#: field:res.company,logo_web:0 +msgid "Logo Web" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:344 +#, python-format +msgid "Custom fields must have a name that starts with 'x_' !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_mx +msgid "Mexico - Accounting" +msgstr "" + +#. module: base +#: help:ir.actions.server,action_id:0 +msgid "Select the Action Window, Report, Wizard to be executed." +msgstr "" + +#. module: base +#: sql_constraint:ir.config_parameter:0 +msgid "Key must be unique." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_plugin_outlook +msgid "Outlook Plug-In" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account +msgid "" +"\n" +"Accounting and Financial Management.\n" +"====================================\n" +"\n" +"Financial and accounting module that covers:\n" +"--------------------------------------------\n" +" * General Accounting\n" +" * Cost/Analytic accounting\n" +" * Third party accounting\n" +" * Taxes management\n" +" * Budgets\n" +" * Customer and Supplier Invoices\n" +" * Bank statements\n" +" * Reconciliation process by partner\n" +"\n" +"Creates a dashboard for accountants that includes:\n" +"--------------------------------------------------\n" +" * List of Customer Invoice to Approve\n" +" * Company Analysis\n" +" * Graph of Treasury\n" +"\n" +"The processes like maintaining of general ledger is done through the defined " +"financial Journals (entry move line orgrouping is maintained through " +"journal) \n" +"for a particular financial year and for preparation of vouchers there is a " +"module named account_voucher.\n" +" " +msgstr "" + +#. module: base +#: view:ir.model:0 +#: field:ir.model,name:0 +msgid "Model Description" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_marketing +msgid "" +"\n" +"Menu for Marketing.\n" +"===================\n" +"\n" +"Contains the installer for marketing-related modules.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_linkedin +msgid "" +"\n" +"OpenERP Web LinkedIn module.\n" +"============================\n" +"This module provides the Integration of the LinkedIn with OpenERP.\n" +" " +msgstr "" + +#. module: base +#: help:ir.actions.act_window,src_model:0 +msgid "" +"Optional model name of the objects on which this action should be visible" +msgstr "" + +#. module: base +#: field:workflow.transition,trigger_expr_id:0 +msgid "Trigger Expression" +msgstr "" + +#. module: base +#: model:res.country,name:base.jo +msgid "Jordan" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_hr +msgid "Croatia - RRIF 2012 COA" +msgstr "" + +#. module: base +#: help:ir.cron,nextcall:0 +msgid "Next planned execution date for this job." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_ui_view +msgid "ir.ui.view" +msgstr "" + +#. module: base +#: model:res.country,name:base.er +msgid "Eritrea" +msgstr "" + +#. module: base +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_base_action_rule_admin +msgid "Automated Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ro +msgid "Romania - Accounting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_config_settings +msgid "res.config.settings" +msgstr "" + +#. module: base +#: help:res.partner,image_small:0 +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: base +#: help:ir.actions.server,mobile:0 +msgid "" +"Provides fields that be used to fetch the mobile number, e.g. you select the " +"invoice, then `object.invoice_address_id.mobile` is the field which gives " +"the correct mobile number" +msgstr "" + +#. module: base +#: view:ir.mail_server:0 +msgid "Security and Authentication" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_calendar +msgid "Web Calendar" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Swedish / svenska" +msgstr "" + +#. module: base +#: field:base.language.export,name:0 +#: field:ir.attachment,datas_fname:0 +msgid "File Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.rs +msgid "Serbia" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "Wizard View" +msgstr "" + +#. module: base +#: model:res.country,name:base.kh +msgid "Cambodia, Kingdom of" +msgstr "" + +#. module: base +#: field:base.language.import,overwrite:0 +#: field:base.language.install,overwrite:0 +msgid "Overwrite Existing Terms" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_holidays +msgid "" +"\n" +"Manage leaves and allocation requests\n" +"=====================================\n" +"\n" +"This application controls the holiday schedule of your company. It allows " +"employees to request holidays. Then, managers can review requests for " +"holidays and approve or reject them. This way you can control the overall " +"holiday planning for the company or department.\n" +"\n" +"You can configure several kinds of leaves (sickness, holidays, paid days, " +"...) and allocate leaves to an employee or department quickly using " +"allocation requests. An employee can also make a request for more days off " +"by making a new Allocation. It will increase the total of available days for " +"that leave type (if the request is accepted).\n" +"\n" +"You can keep track of leaves in different ways by following reports: \n" +"\n" +"* Leaves Summary\n" +"* Leaves by Department\n" +"* Leaves Analysis\n" +"\n" +"A synchronization with an internal agenda (Meetings of the CRM module) is " +"also possible in order to automatically create a meeting when a holiday " +"request is accepted by setting up a type of meeting in Leave Type.\n" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Albanian / Shqip" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_crm_config_opportunity +msgid "Opportunities" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_language_export +msgid "base.language.export" +msgstr "" + +#. module: base +#: model:res.country,name:base.pg +msgid "Papua New Guinea" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,report_type:0 +msgid "Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_document_webdav +msgid "Shared Repositories (WebDAV)" +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Email Preferences" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:195 +#, python-format +msgid "'%s' does not seem to be a valid date for field '%%(field)s'" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "My Partners" +msgstr "" + +#. module: base +#: model:res.country,name:base.zw +msgid "Zimbabwe" +msgstr "" + +#. module: base +#: help:ir.model.constraint,type:0 +msgid "" +"Type of the constraint: `f` for a foreign key, `u` for other constraints." +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "XML Report" +msgstr "" + +#. module: base +#: model:res.country,name:base.es +msgid "Spain" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,domain:0 +msgid "" +"Optional domain filtering of the destination data, as a Python expression" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_module_upgrade +msgid "Module Upgrade" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (UY) / Español (UY)" +msgstr "" + +#. module: base +#: field:res.partner,mobile:0 +msgid "Mobile" +msgstr "" + +#. module: base +#: model:res.country,name:base.om +msgid "Oman" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp +msgid "MRP" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_attendance +msgid "" +"\n" +"This module aims to manage employee's attendances.\n" +"==================================================\n" +"\n" +"Keeps account of the attendances of the employees on the basis of the\n" +"actions(Sign in/Sign out) performed by them.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.nu +msgid "Niue" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_membership +msgid "Membership Management" +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "Other OSI Approved Licence" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_gantt +msgid "Web Gantt" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_menu_create +#: view:wizard.ir.model.menu.create:0 +msgid "Create Menu" +msgstr "" + +#. module: base +#: model:res.country,name:base.in +msgid "India" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.res_request_link-act +#: model:ir.ui.menu,name:base.menu_res_request_link_act +msgid "Request Reference Types" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_google_base_account +msgid "Google Users" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_fleet +msgid "Fleet Management" +msgstr "" + +#. module: base +#: help:ir.server.object.lines,value:0 +msgid "" +"Expression containing a value specification. \n" +"When Formula type is selected, this field may be a Python expression that " +"can use the same values as for the condition field on the server action.\n" +"If Value type is selected, the value will be used directly without " +"evaluation." +msgstr "" + +#. module: base +#: model:res.country,name:base.ad +msgid "Andorra, Principality of" +msgstr "" + +#. module: base +#: field:ir.rule,perm_read:0 +msgid "Apply for Read" +msgstr "" + +#. module: base +#: model:res.country,name:base.mn +msgid "Mongolia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm +msgid "" +"\n" +"The generic OpenERP Customer Relationship Management\n" +"====================================================\n" +"\n" +"This application enables a group of people to intelligently and efficiently " +"manage leads, opportunities, meetings and phone calls.\n" +"\n" +"It manages key tasks such as communication, identification, prioritization, " +"assignment, resolution and notification.\n" +"\n" +"OpenERP ensures that all cases are successfully tracked by users, customers " +"and suppliers. It can automatically send reminders, escalate the request, " +"trigger specific methods and many other actions based on your own enterprise " +"rules.\n" +"\n" +"The greatest thing about this system is that users don't need to do anything " +"special. The CRM module has an email gateway for the synchronization " +"interface between mails and OpenERP. That way, users can just send emails to " +"the request tracker.\n" +"\n" +"OpenERP will take care of thanking them for their message, automatically " +"routing it to the appropriate staff and make sure all future correspondence " +"gets to the right place.\n" +"\n" +"\n" +"Dashboard for CRM will include:\n" +"-------------------------------\n" +"* Planned Revenue by Stage and User (graph)\n" +"* Opportunities by Stage (graph)\n" +msgstr "" + +#. module: base +#: selection:base.language.export,format:0 +msgid "TGZ Archive" +msgstr "" + +#. module: base +#: view:res.groups:0 +msgid "" +"Users added to this group are automatically added in the following groups." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:732 +#: code:addons/base/ir/ir_model.py:735 +#, python-format +msgid "Document model" +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Change the user password." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%B - Full month name." +msgstr "" + +#. module: base +#: field:ir.actions.todo,type:0 +#: view:ir.attachment:0 +#: field:ir.attachment,type:0 +#: field:ir.model,state:0 +#: field:ir.model.fields,state:0 +#: field:ir.property,type:0 +#: field:ir.server.object.lines,type:0 +#: field:ir.translation,type:0 +#: view:ir.ui.view:0 +#: view:ir.values:0 +#: field:ir.values,key:0 +msgid "Type" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_user:0 +msgid "Username" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_br +msgid "" +"\n" +"Base module for the Brazilian localization\n" +"==========================================\n" +"\n" +"This module consists in:\n" +"\n" +" - Generic Brazilian chart of accounts\n" +" - Brazilian taxes such as:\n" +"\n" +" - IPI\n" +" - ICMS\n" +" - PIS\n" +" - COFINS\n" +" - ISS\n" +" - IR\n" +" - IRPJ\n" +" - CSLL\n" +"\n" +"The field tax_discount has also been added in the account.tax.template and \n" +"account.tax objects to allow the proper computation of some Brazilian VATs \n" +"such as ICMS. The chart of account creation wizard has been extended to \n" +"propagate those new data properly.\n" +"\n" +"It's important to note however that this module lack many implementations to " +"\n" +"use OpenERP properly in Brazil. Those implementations (such as the " +"electronic \n" +"fiscal Invoicing which is already operational) are brought by more than 15 \n" +"additional modules of the Brazilian Launchpad localization project \n" +"https://launchpad.net/openerp.pt-br-localiz and their dependencies in the \n" +"extra addons branch. Those modules aim at not breaking with the remarkable \n" +"OpenERP modularity, this is why they are numerous but small. One of the \n" +"reasons for maintaining those modules apart is that Brazilian Localization \n" +"leaders need commit rights agility to complete the localization as companies " +"\n" +"fund the remaining legal requirements (such as soon fiscal ledgers, \n" +"accounting SPED, fiscal SPED and PAF ECF that are still missing as September " +"\n" +"2011). Those modules are also strictly licensed under AGPL V3 and today " +"don't \n" +"come with any additional paid permission for online use of 'private " +"modules'.\n" +msgstr "" + +#. module: base +#: code:addons/orm.py:406 +#, python-format +msgid "" +"Language with code \"%s\" is not defined in your system !\n" +"Define it through the Administration menu." +msgstr "" + +#. module: base +#: model:res.country,name:base.gu +msgid "Guam (USA)" +msgstr "" + +#. module: base +#: sql_constraint:res.country:0 +msgid "The name of the country must be unique !" +msgstr "" + +#. module: base +#: field:ir.module.module,installed_version:0 +msgid "Latest Version" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Delete Access Right" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:214 +#, python-format +msgid "Connection test failed!" +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +#: selection:workflow.activity,kind:0 +msgid "Dummy" +msgstr "" + +#. module: base +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: base +#: model:res.country,name:base.ky +msgid "Cayman Islands" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Record Rule" +msgstr "" + +#. module: base +#: model:res.country,name:base.kr +msgid "South Korea" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_si +msgid "Kontni načrt za gospodarske družbe" +msgstr "" + +#. module: base +#: code:addons/orm.py:4920 +#, python-format +msgid "Record #%d of %s not found, cannot copy!" +msgstr "" + +#. module: base +#: field:ir.module.module,contributors:0 +msgid "Contributors" +msgstr "" + +#. module: base +#: field:ir.rule,perm_unlink:0 +msgid "Apply for Delete" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Char" +msgstr "" + +#. module: base +#: field:ir.module.category,visible:0 +msgid "Visible" +msgstr "" + +#. module: base +#: model:ir.actions.client,name:base.action_client_base_menu +msgid "Open Settings Menu" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (AR) / Español (AR)" +msgstr "" + +#. module: base +#: model:res.country,name:base.ug +msgid "Uganda" +msgstr "" + +#. module: base +#: field:ir.model.access,perm_unlink:0 +msgid "Delete Access" +msgstr "" + +#. module: base +#: model:res.country,name:base.ne +msgid "Niger" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Chinese (HK)" +msgstr "" + +#. module: base +#: model:res.country,name:base.ba +msgid "Bosnia-Herzegovina" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "Wizard Field" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (GT) / Español (GT)" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_port:0 +msgid "SMTP Port" +msgstr "" + +#. module: base +#: help:res.users,login:0 +msgid "Used to log into the system" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "" +"TGZ format: this is a compressed archive containing a PO file, directly " +"suitable\n" +" for uploading to OpenERP's translation " +"platform," +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "" +"%W - Week number of the year (Monday as the first day of the week) as a " +"decimal number [00,53]. All days in a new year preceding the first Monday " +"are considered to be in week 0." +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_language_install.py:53 +#, python-format +msgid "Language Pack" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_tests +msgid "Tests" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,attachment:0 +msgid "Save as Attachment Prefix" +msgstr "" + +#. module: base +#: field:ir.ui.view_sc,res_id:0 +msgid "Resource Ref." +msgstr "" + +#. module: base +#: field:ir.actions.act_url,url:0 +msgid "Action URL" +msgstr "" + +#. module: base +#: field:base.module.import,module_name:0 +#: field:ir.module.module,shortdesc:0 +msgid "Module Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.mh +msgid "Marshall Islands" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:429 +#, python-format +msgid "Changing the model of a field is forbidden!" +msgstr "" + +#. module: base +#: model:res.country,name:base.ht +msgid "Haiti" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_fr_hr_payroll +msgid "French Payroll" +msgstr "" + +#. module: base +#: view:ir.ui.view:0 +#: selection:ir.ui.view,type:0 +msgid "Search" +msgstr "" + +#. module: base +#: code:addons/osv.py:154 +#, python-format +msgid "" +"The operation cannot be completed, probably due to the following:\n" +"- deletion: you may be trying to delete a record while other records still " +"reference it\n" +"- creation/update: a mandatory field is not correctly set" +msgstr "" + +#. module: base +#: field:ir.module.category,parent_id:0 +msgid "Parent Application" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_action_wizard +#: view:ir.actions.wizard:0 +#: model:ir.ui.menu,name:base.menu_ir_action_wizard +msgid "Wizards" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:131 +#, python-format +msgid "Operation Canceled" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_document +msgid "Document Management System" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_claim +msgid "Claims Management" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_document_webdav +msgid "" +"\n" +"With this module, the WebDAV server for documents is activated.\n" +"===============================================================\n" +"\n" +"You can then use any compatible browser to remotely see the attachments of " +"OpenObject.\n" +"\n" +"After installation, the WebDAV server can be controlled by a [webdav] " +"section in \n" +"the server's config.\n" +"\n" +"Server Configuration Parameter:\n" +"-------------------------------\n" +"[webdav]:\n" +"+++++++++ \n" +" * enable = True ; Serve webdav over the http(s) servers\n" +" * vdir = webdav ; the directory that webdav will be served at\n" +" * this default val means that webdav will be\n" +" * on \"http://localhost:8069/webdav/\n" +" * verbose = True ; Turn on the verbose messages of webdav\n" +" * debug = True ; Turn on the debugging messages of webdav\n" +" * since the messages are routed to the python logging, with\n" +" * levels \"debug\" and \"debug_rpc\" respectively, you can leave\n" +" * these options on\n" +"\n" +"Also implements IETF RFC 5785 for services discovery on a http server,\n" +"which needs explicit configuration in openerp-server.conf too.\n" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_purchase_management +#: model:ir.ui.menu,name:base.menu_purchase_root +msgid "Purchases" +msgstr "" + +#. module: base +#: model:res.country,name:base.md +msgid "Moldavia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_iban +msgid "" +"\n" +"This module installs the base for IBAN (International Bank Account Number) " +"bank accounts and checks for it's validity.\n" +"=============================================================================" +"=========================================\n" +"\n" +"The ability to extract the correctly represented local accounts from IBAN " +"accounts \n" +"with a single statement.\n" +" " +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Features" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Data" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_claim +msgid "" +"\n" +"This module adds claim menu and features to your portal if claim and portal " +"are installed.\n" +"=============================================================================" +"=============\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_res_partner_bank_account_form +msgid "" +"Configure your company's bank accounts and select those that must appear on " +"the report footer. You can reorder bank accounts from the list view. If you " +"use the accounting application of OpenERP, journals and accounts will be " +"created automatically based on these data." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Version" +msgstr "" + +#. module: base +#: help:res.users,action_id:0 +msgid "" +"If specified, this action will be opened at logon for this user, in addition " +"to the standard menu." +msgstr "" + +#. module: base +#: model:res.country,name:base.mf +msgid "Saint Martin (French part)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_exports +msgid "ir.exports" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_lu +msgid "" +"\n" +"This is the base module to manage the accounting chart for Luxembourg.\n" +"======================================================================\n" +"\n" +" * the Luxembourg Official Chart of Accounts (law of June 2009 + 2011 " +"chart and Taxes),\n" +" * the Tax Code Chart for Luxembourg\n" +" * the main taxes used in Luxembourg\n" +" * default fiscal position for local, intracom, extracom " +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_update_translations.py:39 +#, python-format +msgid "No language with code \"%s\" exists" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_social_network +#: model:ir.module.module,shortdesc:base.module_mail +msgid "Social Network" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%Y - Year with century." +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "Report Footer Configuration" +msgstr "" + +#. module: base +#: field:ir.translation,comments:0 +msgid "Translation comments" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_lunch +msgid "" +"\n" +"The base module to manage lunch.\n" +"================================\n" +"\n" +"Many companies order sandwiches, pizzas and other, from usual suppliers, for " +"their employees to offer them more facilities. \n" +"\n" +"However lunches management within the company requires proper administration " +"especially when the number of employees or suppliers is important. \n" +"\n" +"The “Lunch Order” module has been developed to make this management easier " +"but also to offer employees more tools and usability. \n" +"\n" +"In addition to a full meal and supplier management, this module offers the " +"possibility to display warning and provides quick order selection based on " +"employee’s preferences.\n" +"\n" +"If you want to save your employees' time and avoid them to always have coins " +"in their pockets, this module is essential.\n" +" " +msgstr "" + +#. module: base +#: view:wizard.ir.model.menu.create:0 +msgid "Create _Menu" +msgstr "" + +#. module: base +#: help:ir.actions.server,trigger_obj_id:0 +msgid "" +"The field on the current object that links to the target object record (must " +"be a many2one, or an integer field with the record ID)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_bank +#: view:res.bank:0 +#: field:res.partner.bank,bank:0 +msgid "Bank" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_exports_line +msgid "ir.exports.line" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_purchase_management +msgid "" +"Helps you manage your purchase-related processes such as requests for " +"quotations, supplier invoices, etc..." +msgstr "" + +#. module: base +#: help:res.partner,website:0 +msgid "Website of Partner or Company" +msgstr "" + +#. module: base +#: help:base.language.install,overwrite:0 +msgid "" +"If you check this box, your customized translations will be overwritten and " +"replaced by the official ones." +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_action_report_xml +#: field:ir.module.module,reports_by_module:0 +#: model:ir.ui.menu,name:base.menu_ir_action_report_xml +msgid "Reports" +msgstr "" + +#. module: base +#: help:ir.actions.act_window.view,multi:0 +#: help:ir.actions.report.xml,multi:0 +msgid "" +"If set to true, the action will not be displayed on the right toolbar of a " +"form view." +msgstr "" + +#. module: base +#: field:workflow,on_create:0 +msgid "On Create" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:913 +#, python-format +msgid "" +"'%s' contains too many dots. XML ids should not contain dots ! These are " +"used to refer to other modules data, as in module.reference_id" +msgstr "" + +#. module: base +#: field:res.users,login:0 +msgid "Login" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "" +"Access all the fields related to the current object using expressions, i.e. " +"object.partner_id.name " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_project_issue +msgid "Portal Issue" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_tools +msgid "Tools" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Float" +msgstr "" + +#. module: base +#: help:ir.actions.todo,type:0 +msgid "" +"Manual: Launched manually.\n" +"Automatic: Runs whenever the system is reconfigured.\n" +"Launch Manually Once: after having been launched manually, it sets " +"automatically to Done." +msgstr "" + +#. module: base +#: field:res.partner,image_small:0 +msgid "Small-sized image" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock +msgid "Warehouse Management" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_request_link +msgid "res.request.link" +msgstr "" + +#. module: base +#: field:ir.actions.wizard,name:0 +msgid "Wizard Info" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_wizard_lang_export +#: model:ir.ui.menu,name:base.menu_wizard_lang_export +msgid "Export Translation" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_server_action +#: view:ir.actions.server:0 +#: model:ir.ui.menu,name:base.menu_server_action +msgid "Server Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_lu +msgid "Luxembourg - Accounting" +msgstr "" + +#. module: base +#: model:res.country,name:base.tp +msgid "East Timor" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:414 +#: view:ir.module.module:0 +#, python-format +msgid "Install" +msgstr "" + +#. module: base +#: field:res.currency,accuracy:0 +msgid "Computational Accuracy" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_at +msgid "" +"\n" +"This module provides the standard Accounting Chart for Austria which is " +"based on the Template from BMF.gv.at.\n" +"=============================================================================" +"================================ \n" +"Please keep in mind that you should review and adapt it with your " +"Accountant, before using it in a live Environment.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.kg +msgid "Kyrgyz Republic (Kyrgyzstan)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_accountant +msgid "" +"\n" +"Accounting Access Rights\n" +"========================\n" +"It gives the Administrator user access to all accounting features such as " +"journal items and the chart of accounts.\n" +"\n" +"It assigns manager and user access rights to the Administrator and only user " +"rights to the Demo user. \n" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Day: %(day)s" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_point_of_sale +msgid "" +"Helps you get the most out of your points of sales with fast sale encoding, " +"simplified payment mode encoding, automatic picking lists generation and " +"more." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:164 +#, python-format +msgid "Unknown value '%s' for boolean field '%%(field)s', assuming '%s'" +msgstr "" + +#. module: base +#: model:res.country,name:base.nl +msgid "Netherlands" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_event +msgid "Portal Event" +msgstr "" + +#. module: base +#: selection:ir.translation,state:0 +msgid "Translation in Progress" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_rule +msgid "ir.rule" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Days" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_fleet +msgid "Vehicle, leasing, insurances, costs" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: field:ir.model.access,perm_read:0 +msgid "Read Access" +msgstr "" + +#. module: base +#: help:ir.attachment,res_id:0 +msgid "The record id this is attached to" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_share +msgid "" +"\n" +"This module adds generic sharing tools to your current OpenERP database.\n" +"========================================================================\n" +"\n" +"It specifically adds a 'share' button that is available in the Web client " +"to\n" +"share any kind of OpenERP data with colleagues, customers, friends.\n" +"\n" +"The system will work by creating new users and groups on the fly, and by\n" +"combining the appropriate access rights and ir.rules to ensure that the " +"shared\n" +"users only have access to the data that has been shared with them.\n" +"\n" +"This is extremely useful for collaborative work, knowledge sharing,\n" +"synchronization with other companies.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_process +msgid "Enterprise Process" +msgstr "" + +#. module: base +#: help:res.partner,supplier:0 +msgid "" +"Check this box if this contact is a supplier. If it's not checked, purchase " +"people will not see it when encoding a purchase order." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_evaluation +msgid "Employee Appraisals" +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +msgid "Write Object" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:68 +#, python-format +msgid " (copy)" +msgstr "" + +#. module: base +#: model:res.country,name:base.tm +msgid "Turkmenistan" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "7. %H:%M:%S ==> 18:25:20" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: field:res.partner.category,partner_ids:0 +msgid "Partners" +msgstr "" + +#. module: base +#: field:res.partner.category,parent_left:0 +msgid "Left parent" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_mrp +msgid "Create Tasks on SO" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:320 +#, python-format +msgid "This column contains module data and cannot be removed!" +msgstr "" + +#. module: base +#: field:res.partner.bank,footer:0 +msgid "Display on Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_timesheet +msgid "" +"\n" +"Synchronization of project task work entries with timesheet entries.\n" +"====================================================================\n" +"\n" +"This module lets you transfer the entries under tasks defined for Project\n" +"Management to the Timesheet line entries for particular date and particular " +"user\n" +"with the effect of creating, editing and deleting either ways.\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_multilang +msgid "" +"\n" +" * Multi language support for Chart of Accounts, Taxes, Tax Codes, " +"Journals,\n" +" Accounting Templates, Analytic Chart of Accounts and Analytic " +"Journals.\n" +" * Setup wizard changes\n" +" - Copy translations for COA, Tax, Tax Code and Fiscal Position from\n" +" templates to target objects.\n" +" " +msgstr "" + +#. module: base +#: field:workflow.transition,act_from:0 +msgid "Source Activity" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Legend (for prefix, suffix)" +msgstr "" + +#. module: base +#: selection:ir.server.object.lines,type:0 +msgid "Formula" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:311 +#, python-format +msgid "Can not remove root user!" +msgstr "" + +#. module: base +#: model:res.country,name:base.mw +msgid "Malawi" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ec +msgid "" +"\n" +"This is the base module to manage the accounting chart for Ecuador in " +"OpenERP.\n" +"=============================================================================" +"=\n" +"\n" +"Accounting chart and localization for Ecuador.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_filters.py:36 +#: code:addons/base/res/res_partner.py:339 +#: code:addons/base/res/res_users.py:92 +#: code:addons/base/res/res_users.py:335 +#: code:addons/base/res/res_users.py:337 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_chart +msgid "Template of Charts of Accounts" +msgstr "" + +#. module: base +#: field:res.partner,type:0 +msgid "Address Type" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_stock +msgid "" +"\n" +"Manage sales quotations and orders\n" +"==================================\n" +"\n" +"This module makes the link between the sales and warehouses management " +"applications.\n" +"\n" +"Preferences\n" +"-----------\n" +"* Shipping: Choice of delivery at once or partial delivery\n" +"* Invoicing: choose how invoices will be paid\n" +"* Incoterms: International Commercial terms\n" +"\n" +"You can choose flexible invoicing methods:\n" +"\n" +"* *On Demand*: Invoices are created manually from Sales Orders when needed\n" +"* *On Delivery Order*: Invoices are generated from picking (delivery)\n" +"* *Before Delivery*: A Draft invoice is created and must be paid before " +"delivery\n" +msgstr "" + +#. module: base +#: field:ir.ui.menu,complete_name:0 +msgid "Full Path" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "The next step depends on the file format:" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "" +"%U - Week number of the year (Sunday as the first day of the week) as a " +"decimal number [00,53]. All days in a new year preceding the first Sunday " +"are considered to be in week 0." +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "PO(T) format: you should edit it with a PO editor such as" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_administration +#: model:res.groups,name:base.group_system +msgid "Settings" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,view_type:0 +#: selection:ir.actions.act_window.view,view_mode:0 +#: view:ir.ui.view:0 +#: selection:ir.ui.view,type:0 +msgid "Tree" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Create / Write / Copy" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Second: %(sec)s" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,view_mode:0 +msgid "View Mode" +msgstr "" + +#. module: base +#: help:res.partner.bank,footer:0 +msgid "" +"Display this bank account on the footer of printed documents like invoices " +"and sales orders." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish / Español" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Korean (KP) / 한국어 (KP)" +msgstr "" + +#. module: base +#: model:res.country,name:base.ax +msgid "Åland Islands" +msgstr "" + +#. module: base +#: field:res.company,logo:0 +msgid "Logo" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_cr +msgid "Costa Rica - Accounting" +msgstr "" + +#. module: base +#: selection:ir.actions.act_url,target:0 +#: selection:ir.actions.act_window,target:0 +msgid "New Window" +msgstr "" + +#. module: base +#: field:ir.values,action_id:0 +msgid "Action (change only)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_subscription +msgid "Recurring Documents" +msgstr "" + +#. module: base +#: model:res.country,name:base.bs +msgid "Bahamas" +msgstr "" + +#. module: base +#: field:ir.rule,perm_create:0 +msgid "Apply for Create" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_tools +msgid "Extra Tools" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Attachment" +msgstr "" + +#. module: base +#: model:res.country,name:base.ie +msgid "Ireland" +msgstr "" + +#. module: base +#: help:res.company,rml_header1:0 +msgid "" +"Appears by default on the top right corner of your printed documents (report " +"header)." +msgstr "" + +#. module: base +#: field:base.module.update,update:0 +msgid "Number of modules updated" +msgstr "" + +#. module: base +#: field:ir.cron,function:0 +msgid "Method" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_crypt +msgid "Password Encryption" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +msgid "Workflow Activity" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_timesheet_sheet +msgid "" +"\n" +"Record and validate timesheets and attendances easily\n" +"=====================================================\n" +"\n" +"This application supplies a new screen enabling you to manage both " +"attendances (Sign in/Sign out) and your work encoding (timesheet) by period. " +"Timesheet entries are made by employees each day. At the end of the defined " +"period, employees validate their sheet and the manager must then approve his " +"team's entries. Periods are defined in the company forms and you can set " +"them to run monthly or weekly.\n" +"\n" +"The complete timesheet validation process is:\n" +"---------------------------------------------\n" +"* Draft sheet\n" +"* Confirmation at the end of the period by the employee\n" +"* Validation by the project manager\n" +"\n" +"The validation can be configured in the company:\n" +"------------------------------------------------\n" +"* Period size (Day, Week, Month)\n" +"* Maximal difference between timesheet and attendances\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:341 +#, python-format +msgid "" +"No matching record found for %(field_type)s '%(value)s' in field '%%(field)s'" +msgstr "" + +#. module: base +#: field:change.password.user,new_passwd:0 +msgid "New Password" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_ui_view +msgid "" +"Views allows you to personalize each view of OpenERP. You can add new " +"fields, move fields, rename them or delete the ones that you do not need." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_setup +msgid "Initial Setup Tools" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,groups_id:0 +#: model:ir.actions.act_window,name:base.action_res_groups +#: field:ir.actions.report.xml,groups_id:0 +#: view:ir.actions.todo:0 +#: field:ir.actions.todo,groups_id:0 +#: field:ir.actions.wizard,groups_id:0 +#: view:ir.model:0 +#: field:ir.model.fields,groups:0 +#: field:ir.rule,groups:0 +#: view:ir.ui.menu:0 +#: field:ir.ui.menu,groups_id:0 +#: model:ir.ui.menu,name:base.menu_action_res_groups +#: view:ir.ui.view:0 +#: field:ir.ui.view,groups_id:0 +#: view:res.groups:0 +#: field:res.users,groups_id:0 +msgid "Groups" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (CL) / Español (CL)" +msgstr "" + +#. module: base +#: model:res.country,name:base.bz +msgid "Belize" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,header:0 +msgid "Add or not the corporate RML header" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_anonymous +msgid "" +"\n" +"Allow anonymous to Access Portal.\n" +"=================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.ge +msgid "Georgia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_invoice_bba +msgid "" +"\n" +" \n" +"Belgian localization for in- and outgoing invoices (prereq to " +"account_coda):\n" +"============================================================================" +"\n" +" - Rename 'reference' field labels to 'Communication'\n" +" - Add support for Belgian Structured Communication\n" +"\n" +"A Structured Communication can be generated automatically on outgoing " +"invoices according to the following algorithms:\n" +"-----------------------------------------------------------------------------" +"----------------------------------------\n" +" 1) Random : +++RRR/RRRR/RRRDD+++\n" +" **R..R =** Random Digits, **DD =** Check Digits\n" +" 2) Date : +++DOY/YEAR/SSSDD+++\n" +" **DOY =** Day of the Year, **SSS =** Sequence Number, **DD =** Check " +"Digits\n" +" 3) Customer Reference +++RRR/RRRR/SSSDDD+++\n" +" **R..R =** Customer Reference without non-numeric characters, **SSS " +"=** Sequence Number, **DD =** Check Digits \n" +" \n" +"The preferred type of Structured Communication and associated Algorithm can " +"be\n" +"specified on the Partner records. A 'random' Structured Communication will\n" +"generated if no algorithm is specified on the Partner record. \n" +"\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.pl +msgid "Poland" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,view_mode:0 +msgid "" +"Comma-separated list of allowed view modes, such as 'form', 'tree', " +"'calendar', etc. (Default: tree,form)" +msgstr "" + +#. module: base +#: code:addons/orm.py:3843 +#, python-format +msgid "A document was modified since you last viewed it (%s:%d)" +msgstr "" + +#. module: base +#: view:workflow:0 +msgid "Workflow Editor" +msgstr "" + +#. module: base +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "To be removed" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_sequence +msgid "ir.sequence" +msgstr "" + +#. module: base +#: help:ir.actions.server,expression:0 +msgid "" +"Enter the field/expression that will return the list. E.g. select the sale " +"order in Object, and you can have loop on the sales order line. Expression = " +"`object.order_line`." +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_debug:0 +msgid "Debugging" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_helpdesk +msgid "" +"\n" +"Helpdesk Management.\n" +"====================\n" +"\n" +"Like records and processing of claims, Helpdesk and Support are good tools\n" +"to trace your interventions. This menu is more adapted to oral " +"communication,\n" +"which is not necessarily related to a claim. Select a customer, add notes\n" +"and categorize your interventions with a channel and a priority level.\n" +" " +msgstr "" + +#. module: base +#: help:ir.actions.act_window,view_type:0 +msgid "" +"View type: Tree type to use for the tree view, set to 'tree' for a " +"hierarchical tree view, or 'form' for a regular list view" +msgstr "" + +#. module: base +#: sql_constraint:ir.ui.view_sc:0 +msgid "Shortcut for this menu already exists!" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Groups (no group = global)" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Extra" +msgstr "" + +#. module: base +#: model:res.country,name:base.st +msgid "Saint Tome (Sao Tome) and Principe" +msgstr "" + +#. module: base +#: selection:res.partner,type:0 +msgid "Invoice" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_product +msgid "" +"\n" +"This is the base module for managing products and pricelists in OpenERP.\n" +"========================================================================\n" +"\n" +"Products support variants, different pricing methods, suppliers " +"information,\n" +"make to stock/order, different unit of measures, packaging and properties.\n" +"\n" +"Pricelists support:\n" +"-------------------\n" +" * Multiple-level of discount (by product, category, quantities)\n" +" * Compute price based on different criteria:\n" +" * Other pricelist\n" +" * Cost price\n" +" * List price\n" +" * Supplier price\n" +"\n" +"Pricelists preferences by product and/or partners.\n" +"\n" +"Print product labels with barcode.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_analytic_default +msgid "" +"\n" +"Set default values for your analytic accounts.\n" +"==============================================\n" +"\n" +"Allows to automatically select analytic accounts based on criterions:\n" +"---------------------------------------------------------------------\n" +" * Product\n" +" * Partner\n" +" * User\n" +" * Company\n" +" * Date\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.bb +msgid "Barbados" +msgstr "" + +#. module: base +#: model:res.country,name:base.mg +msgid "Madagascar" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:127 +#, python-format +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_oauth_signup +msgid "Signup with OAuth2 Authentication" +msgstr "" + +#. module: base +#: selection:ir.model,state:0 +msgid "Custom Object" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_menu_admin +#: view:ir.ui.menu:0 +#: field:ir.ui.menu,name:0 +msgid "Menu" +msgstr "" + +#. module: base +#: field:res.currency,rate:0 +msgid "Current Rate" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Greek / Ελληνικά" +msgstr "" + +#. module: base +#: field:res.company,custom_footer:0 +msgid "Custom Footer" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_crm +msgid "Opportunity to Quotation" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_analytic_plans +msgid "" +"\n" +"The base module to manage analytic distribution and sales orders.\n" +"=================================================================\n" +"\n" +"Using this module you will be able to link analytic accounts to sales " +"orders.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_us +msgid "" +"\n" +"United States - Chart of accounts.\n" +"==================================\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.act_url,target:0 +msgid "Action Target" +msgstr "" + +#. module: base +#: model:res.country,name:base.ai +msgid "Anguilla" +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.report_ir_model_overview +msgid "Model Overview" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_margin +msgid "Margins by Products" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_invoiced +msgid "Invoicing" +msgstr "" + +#. module: base +#: field:ir.ui.view_sc,name:0 +msgid "Shortcut Name" +msgstr "" + +#. module: base +#: field:res.partner,contact_address:0 +msgid "Complete Address" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,limit:0 +msgid "Default limit for the list view" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_document +msgid "" +"\n" +"This is a complete document management system.\n" +"==============================================\n" +" * User Authentication\n" +" * Document Indexation:- .pptx and .docx files are not supported in " +"Windows platform.\n" +" * Dashboard for Document that includes:\n" +" * New Files (list)\n" +" * Files by Resource Type (graph)\n" +" * Files by Partner (graph)\n" +" * Files Size by Month (graph)\n" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "RML Report" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_translation_export +msgid "Import / Export" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale +msgid "" +"\n" +"Manage sales quotations and orders\n" +"==================================\n" +"\n" +"This application allows you to manage your sales goals in an effective and " +"efficient manner by keeping track of all sales orders and history.\n" +"\n" +"It handles the full sales workflow:\n" +"\n" +"* **Quotation** -> **Sales order** -> **Invoice**\n" +"\n" +"Preferences (only with Warehouse Management installed)\n" +"------------------------------------------------------\n" +"\n" +"If you also installed the Warehouse Management, you can deal with the " +"following preferences:\n" +"\n" +"* Shipping: Choice of delivery at once or partial delivery\n" +"* Invoicing: choose how invoices will be paid\n" +"* Incoterms: International Commercial terms\n" +"\n" +"You can choose flexible invoicing methods:\n" +"\n" +"* *On Demand*: Invoices are created manually from Sales Orders when needed\n" +"* *On Delivery Order*: Invoices are generated from picking (delivery)\n" +"* *Before Delivery*: A Draft invoice is created and must be paid before " +"delivery\n" +"\n" +"\n" +"The Dashboard for the Sales Manager will include\n" +"------------------------------------------------\n" +"* My Quotations\n" +"* Monthly Turnover (Graph)\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.act_window,res_id:0 +#: field:ir.model.data,res_id:0 +#: field:ir.translation,res_id:0 +#: field:ir.values,res_id:0 +msgid "Record ID" +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "My Filters" +msgstr "" + +#. module: base +#: field:ir.actions.server,email:0 +msgid "Email Address" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_google_docs +msgid "" +"\n" +"Module to attach a google document to any model.\n" +"================================================\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:333 +#, python-format +msgid "Found multiple matches for field '%%(field)s' (%d matches)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "French (BE) / Français (BE)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_pe +msgid "" +"\n" +"Peruvian accounting chart and tax localization. According the PCGE 2010.\n" +"========================================================================\n" +"\n" +"Plan contable peruano e impuestos de acuerdo a disposiciones vigentes de la\n" +"SUNAT 2011 (PCGE 2010).\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: field:workflow.activity,action_id:0 +msgid "Server Action" +msgstr "" + +#. module: base +#: help:ir.actions.client,params:0 +msgid "Arguments sent to the client along withthe view tag" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_contacts +msgid "Contacts, People and Companies" +msgstr "" + +#. module: base +#: model:res.country,name:base.tt +msgid "Trinidad and Tobago" +msgstr "" + +#. module: base +#: model:res.country,name:base.lv +msgid "Latvia" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Field Mappings" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Export Translations" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_crypt +msgid "" +"\n" +"Ecrypted passwords\n" +"==================\n" +"\n" +"Interaction with LDAP authentication:\n" +"-------------------------------------\n" +"This module is currently not compatible with the ``user_ldap`` module and\n" +"will disable LDAP authentication completely if installed at the same time.\n" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_hr_manager +#: model:res.groups,name:base.group_sale_manager +#: model:res.groups,name:base.group_tool_manager +msgid "Manager" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:726 +#, python-format +msgid "Sorry, you are not allowed to access this document." +msgstr "" + +#. module: base +#: model:res.country,name:base.py +msgid "Paraguay" +msgstr "" + +#. module: base +#: model:res.country,name:base.fj +msgid "Fiji" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Report Xml" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_purchase +msgid "" +"\n" +"Manage goods requirement by Purchase Orders easily\n" +"==================================================\n" +"\n" +"Purchase management enables you to track your suppliers' price quotations " +"and convert them into purchase orders if necessary.\n" +"OpenERP has several methods of monitoring invoices and tracking the receipt " +"of ordered goods. You can handle partial deliveries in OpenERP, so you can " +"keep track of items that are still to be delivered in your orders, and you " +"can issue reminders automatically.\n" +"\n" +"OpenERP’s replenishment management rules enable the system to generate draft " +"purchase orders automatically, or you can configure it to run a lean process " +"driven entirely by current production needs.\n" +"\n" +"Dashboard / Reports for Purchase Management will include:\n" +"---------------------------------------------------------\n" +"* Request for Quotations\n" +"* Purchase Orders Waiting Approval \n" +"* Monthly Purchases by Category\n" +"* Receptions Analysis\n" +"* Purchase Analysis\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_act_window_close +msgid "ir.actions.act_window_close" +msgstr "" + +#. module: base +#: field:ir.server.object.lines,col1:0 +msgid "Destination" +msgstr "" + +#. module: base +#: model:res.country,name:base.lt +msgid "Lithuania" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_graph +msgid "" +"\n" +"Graph Views for Web Client.\n" +"===========================\n" +"\n" +" * Parse a view but allows changing dynamically the presentation\n" +" * Graph Types: pie, lines, areas, bars, radar\n" +" * Stacked/Not Stacked for areas and bars\n" +" * Legends: top, inside (top/left), hidden\n" +" * Features: download as PNG or CSV, browse data grid, switch " +"orientation\n" +" * Unlimited \"Group By\" levels (not stacked), two cross level analysis " +"(stacked)\n" +msgstr "" + +#. module: base +#: view:res.groups:0 +msgid "Inherited" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:146 +#, python-format +msgid "yes" +msgstr "" + +#. module: base +#: field:ir.model.fields,serialization_field_id:0 +msgid "Serialization Field" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_hr_payroll +msgid "" +"\n" +"Belgian Payroll Rules.\n" +"======================\n" +"\n" +" * Employee Details\n" +" * Employee Contracts\n" +" * Passport based Contract\n" +" * Allowances/Deductions\n" +" * Allow to configure Basic/Gross/Net Salary\n" +" * Employee Payslip\n" +" * Monthly Payroll Register\n" +" * Integrated with Holiday Management\n" +" * Salary Maj, ONSS, Withholding Tax, Child Allowance, ...\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:174 +#, python-format +msgid "'%s' does not seem to be an integer for field '%%(field)s'" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_report_designer +msgid "" +"Lets you install various tools to simplify and enhance OpenERP's report " +"creation." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%y - Year without century [00,99]." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_anglo_saxon +msgid "" +"\n" +"This module supports the Anglo-Saxon accounting methodology by changing the " +"accounting logic with stock transactions.\n" +"=============================================================================" +"========================================\n" +"\n" +"The difference between the Anglo-Saxon accounting countries and the Rhine \n" +"(or also called Continental accounting) countries is the moment of taking \n" +"the Cost of Goods Sold versus Cost of Sales. Anglo-Saxons accounting does \n" +"take the cost when sales invoice is created, Continental accounting will \n" +"take the cost at the moment the goods are shipped.\n" +"\n" +"This module will add this functionality by using a interim account, to \n" +"store the value of shipped goods and will contra book this interim \n" +"account when the invoice is created to transfer this amount to the \n" +"debtor or creditor account. Secondly, price differences between actual \n" +"purchase price and fixed product standard price are booked on a separate \n" +"account." +msgstr "" + +#. module: base +#: model:res.country,name:base.si +msgid "Slovenia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_status +msgid "" +"\n" +"This module handles state and stage. It is derived from the crm_base and " +"crm_case classes from crm.\n" +"=============================================================================" +"======================\n" +"\n" +" * ``base_state``: state management\n" +" * ``base_stage``: stage management\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_linkedin +msgid "LinkedIn Integration" +msgstr "" + +#. module: base +#: code:addons/orm.py:2021 +#: code:addons/orm.py:2032 +#, python-format +msgid "Invalid Object Architecture!" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:372 +#: code:addons/base/ir/ir_model.py:374 +#: code:addons/base/ir/ir_model.py:404 +#: code:addons/base/ir/ir_model.py:418 +#: code:addons/base/ir/ir_model.py:420 +#: code:addons/base/ir/ir_model.py:422 +#: code:addons/base/ir/ir_model.py:429 +#: code:addons/base/ir/ir_model.py:432 +#: code:addons/base/module/wizard/base_module_import.py:58 +#: code:addons/base/module/wizard/base_module_import.py:66 +#: code:addons/base/module/wizard/base_update_translations.py:39 +#: code:addons/base/res/res_currency.py:52 +#, python-format +msgid "Error!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_fr_rib +msgid "French RIB Bank Details" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%p - Equivalent of either AM or PM." +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Iteration Actions" +msgstr "" + +#. module: base +#: help:multi_company.default,company_id:0 +msgid "Company where the user is connected" +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_sale_manager +msgid "" +"the user will have an access to the sales configuration as well as statistic " +"reports." +msgstr "" + +#. module: base +#: model:res.country,name:base.nz +msgid "New Zealand" +msgstr "" + +#. module: base +#: field:ir.exports.line,name:0 +#: view:ir.model.fields:0 +#: field:res.partner.bank.type.field,name:0 +msgid "Field Name" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_country +msgid "" +"Display and manage the list of all countries that can be assigned to your " +"partner records. You can create or delete countries to make sure the ones " +"you are working on will be maintained." +msgstr "" + +#. module: base +#: model:res.country,name:base.nf +msgid "Norfolk Island" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Korean (KR) / 한국어 (KR)" +msgstr "" + +#. module: base +#: help:ir.model.fields,model:0 +msgid "The technical name of the model this field belongs to" +msgstr "" + +#. module: base +#: field:ir.actions.server,action_id:0 +#: selection:ir.actions.server,state:0 +#: view:ir.values:0 +msgid "Client Action" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_subscription +msgid "" +"\n" +"Create recurring documents.\n" +"===========================\n" +"\n" +"This module allows to create new documents and add subscriptions on that " +"document.\n" +"\n" +"e.g. To have an invoice generated automatically periodically:\n" +"-------------------------------------------------------------\n" +" * Define a document type based on Invoice object\n" +" * Define a subscription whose source document is the document defined " +"as\n" +" above. Specify the interval information and partner to be invoice.\n" +" " +msgstr "" + +#. module: base +#: field:res.company,rml_header1:0 +msgid "Company Tagline" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:674 +#: model:ir.model,name:base.model_ir_module_category +#: field:ir.module.module,application:0 +#: field:res.groups,category_id:0 +#: view:res.users:0 +#, python-format +msgid "Application" +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_hr_manager +msgid "" +"the user will have an access to the human resources configuration as well as " +"statistic reports." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_pl +msgid "" +"\n" +"This is the module to manage the accounting chart and taxes for Poland in " +"OpenERP.\n" +"=============================================================================" +"=====\n" +"\n" +"To jest moduł do tworzenia wzorcowego planu kont i podstawowych ustawień do " +"podatków\n" +"VAT 0%, 7% i 22%. Moduł ustawia też konta do kupna i sprzedaży towarów " +"zakładając,\n" +"że wszystkie towary są w obrocie hurtowym.\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.client,params_store:0 +msgid "Params storage" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:525 +#, python-format +msgid "Can not upgrade module '%s'. It is not installed." +msgstr "" + +#. module: base +#: model:res.country,name:base.cu +msgid "Cuba" +msgstr "" + +#. module: base +#: code:addons/report_sxw.py:443 +#, python-format +msgid "Unknown report type: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_expense +msgid "Expenses Validation, Invoicing" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_hr_payroll_account +msgid "" +"\n" +"Accounting Data for Belgian Payroll Rules.\n" +"==========================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.am +msgid "Armenia" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_evaluation +msgid "Periodical Evaluations, Appraisals, Surveys" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_property_form +#: model:ir.ui.menu,name:base.menu_ir_property_form_all +msgid "Configuration Parameters" +msgstr "" + +#. module: base +#: constraint:ir.cron:0 +msgid "Invalid arguments" +msgstr "" + +#. module: base +#: model:res.country,name:base.se +msgid "Sweden" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_file:0 +msgid "Report File" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window.view,view_mode:0 +#: selection:ir.ui.view,type:0 +msgid "Gantt" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_in_hr_payroll +msgid "" +"\n" +"Indian Payroll Salary Rules.\n" +"============================\n" +"\n" +" -Configuration of hr_payroll for India localization\n" +" -All main contributions rules for India payslip.\n" +" * New payslip report\n" +" * Employee Contracts\n" +" * Allow to configure Basic / Gross / Net Salary\n" +" * Employee PaySlip\n" +" * Allowance / Deduction\n" +" * Integrated with Holiday Management\n" +" * Medical Allowance, Travel Allowance, Child Allowance, ...\n" +" - Payroll Advice and Report\n" +" - Yearly Salary by Head and Yearly Salary by Employee Report\n" +" " +msgstr "" + +#. module: base +#: code:addons/orm.py:3871 +#, python-format +msgid "Missing document(s)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner_bank_type +#: field:res.partner.bank,state:0 +#: view:res.partner.bank.type:0 +msgid "Bank Account Type" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_expense +msgid "" +"\n" +"Manage expenses by Employees\n" +"============================\n" +"\n" +"This application allows you to manage your employees' daily expenses. It " +"gives you access to your employees’ fee notes and give you the right to " +"complete and validate or refuse the notes. After validation it creates an " +"invoice for the employee.\n" +"Employee can encode their own expenses and the validation flow puts it " +"automatically in the accounting after validation by managers.\n" +"\n" +"\n" +"The whole flow is implemented as:\n" +"---------------------------------\n" +"* Draft expense\n" +"* Confirmation of the sheet by the employee\n" +"* Validation by his manager\n" +"* Validation by the accountant and receipt creation\n" +"\n" +"This module also uses analytic accounting and is compatible with the invoice " +"on timesheet module so that you are able to automatically re-invoice your " +"customers' expenses if your work by project.\n" +" " +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "" +"For more details about translating OpenERP in your language, please refer to " +"the" +msgstr "" + +#. module: base +#: field:res.partner,image:0 +msgid "Image" +msgstr "" + +#. module: base +#: model:res.country,name:base.at +msgid "Austria" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window.view,view_mode:0 +#: model:ir.module.module,shortdesc:base.module_base_calendar +#: model:ir.ui.menu,name:base.menu_calendar_configuration +#: selection:ir.ui.view,type:0 +msgid "Calendar" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_knowledge_management +msgid "Knowledge" +msgstr "" + +#. module: base +#: field:workflow.activity,signal_send:0 +msgid "Signal (subflow.*)" +msgstr "" + +#. module: base +#: code:addons/orm.py:4685 +#, python-format +msgid "" +"Invalid \"order\" specified. A valid \"order\" specification is a comma-" +"separated list of valid field names (optionally followed by asc/desc for the " +"direction)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_module_module_dependency +msgid "Module dependency" +msgstr "" + +#. module: base +#: model:res.country,name:base.bd +msgid "Bangladesh" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_title_contact +msgid "" +"Manage the contact titles you want to have available in your system and the " +"way you want to print them in letters and other documents. Some example: " +"Mr., Mrs. " +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: view:res.groups:0 +#: field:res.groups,model_access:0 +msgid "Access Controls" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:277 +#, python-format +msgid "" +"The Selection Options expression is not a valid Pythonic expression.Please " +"provide an expression in the [('key','Label'), ...] format." +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_survey_user +msgid "Survey / User" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +#: field:ir.module.module,dependencies_id:0 +msgid "Dependencies" +msgstr "" + +#. module: base +#: field:multi_company.default,company_id:0 +msgid "Main Company" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon_hover:0 +msgid "Web Icon File (hover)" +msgstr "" + +#. module: base +#: help:res.currency,name:0 +msgid "Currency Code (ISO 4217)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_contract +msgid "Employee Contracts" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "" +"If you use a formula type, use a python expression using the variable " +"'object'." +msgstr "" + +#. module: base +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "" + +#. module: base +#: field:res.partner,birthdate:0 +msgid "Birthdate" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_title_contact +#: model:ir.ui.menu,name:base.menu_partner_title_contact +msgid "Contact Titles" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_manufacturer +msgid "Products Manufacturers" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:240 +#, python-format +msgid "SMTP-over-SSL mode unavailable" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_survey +#: model:ir.ui.menu,name:base.next_id_10 +msgid "Survey" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (DO) / Español (DO)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_activity +msgid "workflow.activity" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Export Complete" +msgstr "" + +#. module: base +#: help:ir.ui.view_sc,res_id:0 +msgid "" +"Reference of the target resource, whose model/table depends on the 'Resource " +"Name' field." +msgstr "" + +#. module: base +#: field:ir.model.fields,select_level:0 +msgid "Searchable" +msgstr "" + +#. module: base +#: model:res.country,name:base.uy +msgid "Uruguay" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Finnish / Suomi" +msgstr "" + +#. module: base +#: view:ir.config_parameter:0 +msgid "System Properties" +msgstr "" + +#. module: base +#: field:ir.sequence,prefix:0 +msgid "Prefix" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "German / Deutsch" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Fields Mapping" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_sir +#: model:res.partner.title,shortcut:base.res_partner_title_sir +msgid "Sir" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ca +msgid "" +"\n" +"This is the module to manage the English and French - Canadian accounting " +"chart in OpenERP.\n" +"=============================================================================" +"==============\n" +"\n" +"Canadian accounting charts and localizations.\n" +" " +msgstr "" + +#. module: base +#: view:base.module.import:0 +msgid "Select module package to import (.zip file):" +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Personal" +msgstr "" + +#. module: base +#: field:base.language.export,modules:0 +msgid "Modules To Export" +msgstr "" + +#. module: base +#: model:res.country,name:base.mt +msgid "Malta" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:732 +#, python-format +msgid "" +"Only users with the following access level are currently allowed to do that" +msgstr "" + +#. module: base +#: field:ir.actions.server,fields_lines:0 +msgid "Field Mappings." +msgstr "" + +#. module: base +#: selection:res.request,priority:0 +msgid "High" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mrp +msgid "" +"\n" +"Manage the Manufacturing process in OpenERP\n" +"===========================================\n" +"\n" +"The manufacturing module allows you to cover planning, ordering, stocks and " +"the manufacturing or assembly of products from raw materials and components. " +"It handles the consumption and production of products according to a bill of " +"materials and the necessary operations on machinery, tools or human " +"resources according to routings.\n" +"\n" +"It supports complete integration and planification of stockable goods, " +"consumables or services. Services are completely integrated with the rest of " +"the software. For instance, you can set up a sub-contracting service in a " +"bill of materials to automatically purchase on order the assembly of your " +"production.\n" +"\n" +"Key Features\n" +"------------\n" +"* Make to Stock/Make to Order\n" +"* Multi-level bill of materials, no limit\n" +"* Multi-level routing, no limit\n" +"* Routing and work center integrated with analytic accounting\n" +"* Periodical scheduler computation \n" +"* Allows to browse bills of materials in a complete structure that includes " +"child and phantom bills of materials\n" +"\n" +"Dashboard / Reports for MRP will include:\n" +"-----------------------------------------\n" +"* Procurements in Exception (Graph)\n" +"* Stock Value Variation (Graph)\n" +"* Work Order Analysis\n" +" " +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: field:ir.attachment,description:0 +#: field:ir.mail_server,name:0 +#: field:ir.module.category,description:0 +#: view:ir.module.module:0 +#: field:ir.module.module,description:0 +msgid "Description" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_instance_form +#: model:ir.ui.menu,name:base.menu_workflow_instance +msgid "Instances" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_purchase_requisition +msgid "" +"\n" +"This module allows you to manage your Purchase Requisition.\n" +"===========================================================\n" +"\n" +"When a purchase order is created, you now have the opportunity to save the\n" +"related requisition. This new object will regroup and will allow you to " +"easily\n" +"keep track and order all your purchase orders.\n" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_host:0 +msgid "Hostname or IP of SMTP server" +msgstr "" + +#. module: base +#: model:res.country,name:base.aq +msgid "Antarctica" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Persons" +msgstr "" + +#. module: base +#: view:base.language.import:0 +msgid "_Import" +msgstr "" + +#. module: base +#: field:res.users,action_id:0 +msgid "Home Action" +msgstr "" + +#. module: base +#: field:res.lang,grouping:0 +msgid "Separator Format" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_report_webkit +msgid "Webkit Report Engine" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_9 +msgid "Database Structure" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_mass_mail +msgid "Mass Mailing" +msgstr "" + +#. module: base +#: model:res.country,name:base.yt +msgid "Mayotte" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_todo +msgid "Tasks on CRM" +msgstr "" + +#. module: base +#: help:ir.model.fields,relation_field:0 +msgid "" +"For one2many fields, the field on the target model that implement the " +"opposite many2one relationship" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Interaction between rules" +msgstr "" + +#. module: base +#: field:res.company,rml_footer:0 +#: field:res.company,rml_footer_readonly:0 +msgid "Report Footer" +msgstr "" + +#. module: base +#: selection:res.lang,direction:0 +msgid "Right-to-Left" +msgstr "" + +#. module: base +#: model:res.country,name:base.sx +msgid "Sint Maarten (Dutch part)" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: model:ir.actions.act_window,name:base.actions_ir_filters_view +#: view:ir.filters:0 +#: model:ir.model,name:base.model_ir_filters +msgid "Filters" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_cron_act +#: view:ir.cron:0 +#: model:ir.ui.menu,name:base.menu_ir_cron_act +msgid "Scheduled Actions" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_reporting +#: model:ir.ui.menu,name:base.menu_lunch_reporting +#: model:ir.ui.menu,name:base.menu_reporting +msgid "Reporting" +msgstr "" + +#. module: base +#: field:res.partner,title:0 +#: field:res.partner.title,name:0 +msgid "Title" +msgstr "" + +#. module: base +#: help:ir.property,res_id:0 +msgid "If not set, acts as a default value for new resources" +msgstr "" + +#. module: base +#: code:addons/orm.py:4246 +#, python-format +msgid "Recursivity Detected." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_et +msgid "Ethiopia - Accounting" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:366 +#, python-format +msgid "Recursion error in modules dependencies !" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_analytic_user_function +msgid "" +"\n" +"This module allows you to define what is the default function of a specific " +"user on a given account.\n" +"=============================================================================" +"=======================\n" +"\n" +"This is mostly used when a user encodes his timesheet: the values are " +"retrieved\n" +"and the fields are auto-filled. But the possibility to change these values " +"is\n" +"still available.\n" +"\n" +"Obviously if no data has been recorded for the current account, the default\n" +"value is given as usual by the employee data so that this module is " +"perfectly\n" +"compatible with older configurations.\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "Create a Menu" +msgstr "" + +#. module: base +#: model:res.country,name:base.tg +msgid "Togo" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,res_model:0 +#: field:ir.actions.client,res_model:0 +msgid "Destination Model" +msgstr "" + +#. module: base +#: selection:ir.sequence,implementation:0 +msgid "Standard" +msgstr "" + +#. module: base +#: model:res.country,name:base.ru +msgid "Russian Federation" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Urdu / اردو" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:739 +#: code:addons/orm.py:3567 +#: code:addons/orm.py:3860 +#: code:addons/orm.py:3902 +#, python-format +msgid "Access Denied" +msgstr "" + +#. module: base +#: field:res.company,name:0 +msgid "Company Name" +msgstr "" + +#. module: base +#: code:addons/orm.py:2808 +#, python-format +msgid "" +"Invalid value for reference field \"%s.%s\" (last part must be a non-zero " +"integer): \"%s\"" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_country +#: model:ir.ui.menu,name:base.menu_country_partner +msgid "Countries" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "RML (deprecated - use Report)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_fr_hr_payroll +msgid "" +"\n" +"French Payroll Rules.\n" +"=====================\n" +"\n" +" - Configuration of hr_payroll for French localization\n" +" - All main contributions rules for French payslip, for 'cadre' and 'non-" +"cadre'\n" +" - New payslip report\n" +"\n" +"TODO:\n" +"-----\n" +" - Integration with holidays module for deduction and allowance\n" +" - Integration with hr_payroll_account for the automatic " +"account_move_line\n" +" creation from the payslip\n" +" - Continue to integrate the contribution. Only the main contribution " +"are\n" +" currently implemented\n" +" - Remake the report under webkit\n" +" - The payslip.line with appears_in_payslip = False should appears in " +"the\n" +" payslip interface, but not in the payslip report\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.pm +msgid "Saint Pierre and Miquelon" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Search Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_calendar +msgid "" +"\n" +"This is a full-featured calendar system.\n" +"========================================\n" +"\n" +"It supports:\n" +"------------\n" +" - Calendar of events\n" +" - Recurring events\n" +"\n" +"If you need to manage your meetings, you should install the CRM module.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.je +msgid "Jersey" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_translation +msgid "ir.translation" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "12. %w ==> 5 ( Friday is the 6th day)" +msgstr "" + +#. module: base +#: constraint:res.partner.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%x - Appropriate date representation." +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Tag" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%d - Day of the month [01,31]." +msgstr "" + +#. module: base +#: model:res.country,name:base.tj +msgid "Tajikistan" +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "GPL-2 or later version" +msgstr "" + +#. module: base +#: selection:workflow.activity,kind:0 +msgid "Stop All" +msgstr "" + +#. module: base +#: field:res.company,paper_format:0 +msgid "Paper Format" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:644 +#, python-format +msgid "" +"Can not create the module file:\n" +" %s" +msgstr "" + +#. module: base +#: model:res.country,name:base.sk +msgid "Slovakia" +msgstr "" + +#. module: base +#: model:res.country,name:base.nr +msgid "Nauru" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:166 +#, python-format +msgid "Reg" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_property +msgid "ir.property" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,view_type:0 +#: selection:ir.actions.act_window.view,view_mode:0 +#: view:ir.ui.view:0 +#: selection:ir.ui.view,type:0 +msgid "Form" +msgstr "" + +#. module: base +#: model:res.country,name:base.pf +msgid "Polynesia (French)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_it +msgid "" +"\n" +"Piano dei conti italiano di un'impresa generica.\n" +"================================================\n" +"\n" +"Italian accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.me +msgid "Montenegro" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_fetchmail +msgid "Email Gateway" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:470 +#, python-format +msgid "" +"Mail delivery failed via SMTP server '%s'.\n" +"%s: %s" +msgstr "" + +#. module: base +#: model:res.country,name:base.tk +msgid "Tokelau" +msgstr "" + +#. module: base +#: view:ir.cron:0 +#: view:ir.module.module:0 +msgid "Technical Data" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_co +msgid "" +"\n" +"Chart of account for Colombia\n" +"=============================\n" +"\n" +"Source of this chart of account is here_.\n" +"\n" +"All the documentation available in this website is embeded in this module, " +"to\n" +"be sure when you open OpenERP it has all necesary information to manage \n" +"accounting en Colombia.\n" +"\n" +"The law that enable this chart of account as valid for this country is \n" +"available in this other link_.\n" +"\n" +"This module has the intention to put available out of the box the chart of \n" +"account for Colombia in Openerp.\n" +"\n" +"We recommend install the module account_anglo_sxon to be able to have the " +"cost\n" +"accounting correctly setted in out invoices.\n" +"\n" +"After installing this module, the Configuration wizard for accounting is " +"launched.\n" +" * We have the account templates which can be helpful to generate Charts " +"of Accounts.\n" +" * On that particular wizard, you will be asked to pass the name of the " +"company,\n" +" the chart template to follow, the no. of digits to generate, the code " +"for your\n" +" account and bank account, currency to create journals.\n" +"\n" +".. _here: http://puc.com.co/\n" +".. _link: http://puc.com.co/normatividad/\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_bank_statement_extensions +msgid "" +"\n" +"Module that extends the standard account_bank_statement_line object for " +"improved e-banking support.\n" +"=============================================================================" +"======================\n" +"\n" +"This module adds:\n" +"-----------------\n" +" - valuta date\n" +" - batch payments\n" +" - traceability of changes to bank statement lines\n" +" - bank statement line views\n" +" - bank statements balances report\n" +" - performance improvements for digital import of bank statement (via \n" +" 'ebanking_import' context flag)\n" +" - name_search on res.partner.bank enhanced to allow search on bank \n" +" and iban account numbers\n" +" " +msgstr "" + +#. module: base +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "To be upgraded" +msgstr "" + +#. module: base +#: model:res.country,name:base.ly +msgid "Libya" +msgstr "" + +#. module: base +#: model:res.country,name:base.cf +msgid "Central African Republic" +msgstr "" + +#. module: base +#: model:res.country,name:base.li +msgid "Liechtenstein" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_issue_sheet +msgid "Timesheet on Issues" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_ltd +msgid "Ltd" +msgstr "" + +#. module: base +#: model:ir.actions.server,name:base.action_run_ir_action_todo +msgid "Run Remaining Action Todo" +msgstr "" + +#. module: base +#: field:res.partner,ean13:0 +msgid "EAN13" +msgstr "" + +#. module: base +#: code:addons/orm.py:2247 +#, python-format +msgid "Invalid Architecture!" +msgstr "" + +#. module: base +#: model:res.country,name:base.pt +msgid "Portugal" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_share +msgid "Share any Document" +msgstr "" + +#. module: base +#: field:workflow.transition,group_id:0 +msgid "Group Required" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "6. %d, %m ==> 05, 12" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_it +msgid "Italy - Accounting" +msgstr "" + +#. module: base +#: field:ir.actions.act_url,help:0 +#: field:ir.actions.act_window,help:0 +#: field:ir.actions.act_window_close,help:0 +#: field:ir.actions.actions,help:0 +#: field:ir.actions.client,help:0 +#: field:ir.actions.report.xml,help:0 +#: field:ir.actions.server,help:0 +#: field:ir.actions.wizard,help:0 +msgid "Action description" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ma +msgid "" +"\n" +"This is the base module to manage the accounting chart for Maroc.\n" +"=================================================================\n" +"\n" +"Ce Module charge le modèle du plan de comptes standard Marocain et permet " +"de\n" +"générer les états comptables aux normes marocaines (Bilan, CPC (comptes de\n" +"produits et charges), balance générale à 6 colonnes, Grand livre " +"cumulatif...).\n" +"L'intégration comptable a été validé avec l'aide du Cabinet d'expertise " +"comptable\n" +"Seddik au cours du troisième trimestre 2010." +msgstr "" + +#. module: base +#: help:ir.module.module,auto_install:0 +msgid "" +"An auto-installable module is automatically installed by the system when all " +"its dependencies are satisfied. If the module has no dependency, it is " +"always installed." +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.res_lang_act_window +#: model:ir.model,name:base.model_res_lang +#: model:ir.ui.menu,name:base.menu_res_lang_act_window +#: view:res.lang:0 +msgid "Languages" +msgstr "" + +#. module: base +#: selection:workflow.activity,join_mode:0 +#: selection:workflow.activity,split_mode:0 +msgid "Xor" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_localization_account_charts +msgid "Account Charts" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_event_main +msgid "Events Organization" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_customer_form +#: model:ir.actions.act_window,name:base.action_partner_form +#: model:ir.ui.menu,name:base.menu_partner_form +#: view:res.partner:0 +msgid "Customers" +msgstr "" + +#. module: base +#: model:res.country,name:base.au +msgid "Australia" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Menu :" +msgstr "" + +#. module: base +#: selection:ir.model.fields,state:0 +msgid "Base Field" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_managing_vehicles_and_contracts +msgid "Managing vehicles and contracts" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_setup +msgid "" +"\n" +"This module helps to configure the system at the installation of a new " +"database.\n" +"=============================================================================" +"===\n" +"\n" +"Shows you a list of applications features to install from.\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_config +msgid "res.config" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pl +msgid "Poland - Accounting" +msgstr "" + +#. module: base +#: view:ir.cron:0 +msgid "Action to Trigger" +msgstr "" + +#. module: base +#: field:ir.model.constraint,name:0 +#: selection:ir.translation,type:0 +msgid "Constraint" +msgstr "" + +#. module: base +#: selection:ir.values,key:0 +#: selection:res.partner,type:0 +msgid "Default" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_lunch +msgid "Lunch Order, Meal, Food" +msgstr "" + +#. module: base +#: view:ir.model.fields:0 +#: field:ir.model.fields,required:0 +#: field:res.partner.bank.type.field,required:0 +msgid "Required" +msgstr "" + +#. module: base +#: model:res.country,name:base.ro +msgid "Romania" +msgstr "" + +#. module: base +#: field:ir.module.module,summary:0 +#: field:res.request.history,name:0 +msgid "Summary" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_hidden_dependency +msgid "Dependency" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal +msgid "" +"\n" +"Customize access to your OpenERP database to external users by creating " +"portals.\n" +"=============================================================================" +"===\n" +"A portal defines a specific user menu and access rights for its members. " +"This\n" +"menu can ben seen by portal members, anonymous users and any other user " +"that\n" +"have the access to technical features (e.g. the administrator).\n" +"Also, each portal member is linked to a specific partner.\n" +"\n" +"The module also associates user groups to the portal users (adding a group " +"in\n" +"the portal automatically adds it to the portal users, etc). That feature " +"is\n" +"very handy when used in combination with the module 'share'.\n" +" " +msgstr "" + +#. module: base +#: field:multi_company.default,expression:0 +msgid "Expression" +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "Header/Footer" +msgstr "" + +#. module: base +#: help:ir.mail_server,sequence:0 +msgid "" +"When no specific mail server is requested for a mail, the highest priority " +"one is used. Default priority is 10 (smaller number = higher priority)" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_sale +msgid "Quotations, Sales Orders, Invoicing" +msgstr "" + +#. module: base +#: field:res.partner,parent_id:0 +msgid "Related Company" +msgstr "" + +#. module: base +#: help:ir.actions.act_url,help:0 +#: help:ir.actions.act_window,help:0 +#: help:ir.actions.act_window_close,help:0 +#: help:ir.actions.actions,help:0 +#: help:ir.actions.client,help:0 +#: help:ir.actions.report.xml,help:0 +#: help:ir.actions.server,help:0 +#: help:ir.actions.wizard,help:0 +msgid "" +"Optional help text for the users with a description of the target view, such " +"as its usage and purpose." +msgstr "" + +#. module: base +#: model:res.country,name:base.va +msgid "Holy See (Vatican City State)" +msgstr "" + +#. module: base +#: field:base.module.import,module_file:0 +msgid "Module .ZIP file" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_17 +msgid "Telecom sector" +msgstr "" + +#. module: base +#: field:workflow.transition,trigger_model:0 +msgid "Trigger Object" +msgstr "" + +#. module: base +#: sql_constraint:ir.sequence.type:0 +msgid "`code` must be unique." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_knowledge +msgid "Knowledge Management System" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,in_transitions:0 +msgid "Incoming Transitions" +msgstr "" + +#. module: base +#: field:ir.values,value_unpickle:0 +msgid "Default value or action reference" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_note_pad +msgid "" +"\n" +"This module update memos inside OpenERP for using an external pad\n" +"=================================================================\n" +"\n" +"Use for update your text memo in real time with the following user that you " +"invite.\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_sequence +msgid "" +"\n" +"This module maintains internal sequence number for accounting entries.\n" +"======================================================================\n" +"\n" +"Allows you to configure the accounting sequences to be maintained.\n" +"\n" +"You can customize the following attributes of the sequence:\n" +"-----------------------------------------------------------\n" +" * Prefix\n" +" * Suffix\n" +" * Next Number\n" +" * Increment Number\n" +" * Number Padding\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_timesheet +msgid "Bill Time on Tasks" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_marketing +#: model:ir.module.module,shortdesc:base.module_marketing +#: model:ir.ui.menu,name:base.marketing_menu +#: model:ir.ui.menu,name:base.menu_report_marketing +msgid "Marketing" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Bank account" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_calendar +msgid "" +"\n" +"OpenERP Web Calendar view.\n" +"==========================\n" +"\n" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (HN) / Español (HN)" +msgstr "" + +#. module: base +#: view:ir.sequence.type:0 +msgid "Sequence Type" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Unicode/UTF-8" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Hindi / हिंदी" +msgstr "" + +#. module: base +#: view:base.language.install:0 +#: model:ir.actions.act_window,name:base.action_view_base_language_install +#: model:ir.ui.menu,name:base.menu_view_base_language_install +msgid "Load a Translation" +msgstr "" + +#. module: base +#: field:ir.module.module,latest_version:0 +msgid "Installed Version" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_test +msgid "" +"\n" +"Asserts on accounting.\n" +"======================\n" +"With this module you can manually check consistencies and inconsistencies of " +"accounting module from menu Reporting/Accounting/Accounting Tests.\n" +"\n" +"You can write a query in order to create Consistency Test and you will get " +"the result of the test \n" +"in PDF format which can be accessed by Menu Reporting -> Accounting Tests, " +"then select the test \n" +"and print the report from Print button in header area.\n" +msgstr "" + +#. module: base +#: field:ir.module.module,license:0 +msgid "License" +msgstr "" + +#. module: base +#: field:ir.attachment,url:0 +msgid "Url" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "SQL Constraint" +msgstr "" + +#. module: base +#: help:ir.ui.menu,groups_id:0 +msgid "" +"If you have groups, the visibility of this menu will be based on these " +"groups. If this field is empty, OpenERP will compute visibility based on the " +"related object's read access." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_event_sale +msgid "" +"\n" +"Creating registration with sale orders.\n" +"=======================================\n" +"\n" +"This module allows you to automate and connect your registration creation " +"with\n" +"your main sale flow and therefore, to enable the invoicing feature of " +"registrations.\n" +"\n" +"It defines a new kind of service products that offers you the possibility " +"to\n" +"choose an event category associated with it. When you encode a sale order " +"for\n" +"that product, you will be able to choose an existing event of that category " +"and\n" +"when you confirm your sale order it will automatically create a registration " +"for\n" +"this event.\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_order_dates +msgid "" +"\n" +"Add additional date information to the sales order.\n" +"===================================================\n" +"\n" +"You can add the following additional dates to a sales order:\n" +"------------------------------------------------------------\n" +" * Requested Date\n" +" * Commitment Date\n" +" * Effective Date\n" +msgstr "" + +#. module: base +#: field:ir.actions.server,srcmodel_id:0 +#: view:ir.filters:0 +#: field:ir.filters,model_id:0 +#: view:ir.model:0 +#: field:ir.model,model:0 +#: field:ir.model.constraint,model:0 +#: field:ir.model.fields,model_id:0 +#: field:ir.model.relation,model:0 +#: view:ir.values:0 +msgid "Model" +msgstr "" + +#. module: base +#: view:base.language.install:0 +msgid "" +"The selected language has been successfully installed. You must change the " +"preferences of the user and open a new menu to view the changes." +msgstr "" + +#. module: base +#: field:ir.actions.act_window.view,view_id:0 +#: field:ir.default,page:0 +#: selection:ir.translation,type:0 +#: view:ir.ui.view:0 +msgid "View" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:146 +#, python-format +msgid "no" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_partner_assign +msgid "" +"\n" +"This is the module used by OpenERP SA to redirect customers to its partners, " +"based on geolocalization.\n" +"=============================================================================" +"=========================\n" +"\n" +"You can geolocalize your opportunities by using this module.\n" +"\n" +"Use geolocalization when assigning opportunities to partners.\n" +"Determine the GPS coordinates according to the address of the partner.\n" +"\n" +"The most appropriate partner can be assigned.\n" +"You can also use the geolocalization without using the GPS coordinates.\n" +" " +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +msgid "Open a Window" +msgstr "" + +#. module: base +#: model:res.country,name:base.gq +msgid "Equatorial Guinea" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_api +msgid "OpenERP Web API" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_fr_rib +msgid "" +"\n" +"This module lets users enter the banking details of Partners in the RIB " +"format (French standard for bank accounts details).\n" +"=============================================================================" +"==============================================\n" +"\n" +"RIB Bank Accounts can be entered in the \"Accounting\" tab of the Partner " +"form by specifying the account type \"RIB\". \n" +"\n" +"The four standard RIB fields will then become mandatory:\n" +"-------------------------------------------------------- \n" +" - Bank Code\n" +" - Office Code\n" +" - Account number\n" +" - RIB key\n" +" \n" +"As a safety measure, OpenERP will check the RIB key whenever a RIB is saved, " +"and\n" +"will refuse to record the data if the key is incorrect. Please bear in mind " +"that\n" +"this can only happen when the user presses the 'save' button, for example on " +"the\n" +"Partner Form. Since each bank account may relate to a Bank, users may enter " +"the\n" +"RIB Bank Code in the Bank form - it will the pre-fill the Bank Code on the " +"RIB\n" +"when they select the Bank. To make this easier, this module will also let " +"users\n" +"find Banks using their RIB code.\n" +"\n" +"The module base_iban can be a useful addition to this module, because French " +"banks\n" +"are now progressively adopting the international IBAN format instead of the " +"RIB format.\n" +"The RIB and IBAN codes for a single account can be entered by recording two " +"Bank\n" +"Accounts in OpenERP: the first with the type 'RIB', the second with the type " +"'IBAN'. \n" +msgstr "" + +#. module: base +#: model:res.country,name:base.ps +msgid "Palestinian Territory, Occupied" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ch +msgid "Switzerland - Accounting" +msgstr "" + +#. module: base +#: field:res.bank,zip:0 +#: field:res.company,zip:0 +#: field:res.partner,zip:0 +#: field:res.partner.bank,zip:0 +msgid "Zip" +msgstr "Casilla" + +#. module: base +#: view:ir.module.module:0 +#: field:ir.module.module,author:0 +msgid "Author" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Set as Todo" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%c - Appropriate date and time representation." +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:420 +#, python-format +msgid "" +"Your database is now fully configured.\n" +"\n" +"Click 'Continue' and enjoy your OpenERP experience..." +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_marketing +msgid "Helps you manage your marketing campaigns step by step." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Hebrew / עִבְרִי" +msgstr "" + +#. module: base +#: model:res.country,name:base.bo +msgid "Bolivia" +msgstr "" + +#. module: base +#: model:res.country,name:base.gh +msgid "Ghana" +msgstr "" + +#. module: base +#: field:res.lang,direction:0 +msgid "Direction" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: model:ir.actions.act_window,name:base.action_ui_view +#: field:ir.actions.act_window,view_ids:0 +#: field:ir.actions.act_window,views:0 +#: view:ir.model:0 +#: field:ir.model,view_ids:0 +#: field:ir.module.module,views_by_module:0 +#: model:ir.ui.menu,name:base.menu_action_ui_view +#: view:ir.ui.view:0 +#: view:res.groups:0 +#: field:res.groups,view_access:0 +msgid "Views" +msgstr "" + +#. module: base +#: view:res.groups:0 +#: field:res.groups,rule_groups:0 +msgid "Rules" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_host:0 +msgid "SMTP Server" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:320 +#, python-format +msgid "You try to remove a module that is installed or will be installed" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "The selected modules have been updated / installed !" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (PR) / Español (PR)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_profiling +msgid "" +"\n" +"This module allows users to perform segmentation within partners.\n" +"=================================================================\n" +"\n" +"It uses the profiles criteria from the earlier segmentation module and " +"improve it. \n" +"Thanks to the new concept of questionnaire. You can now regroup questions " +"into a \n" +"questionnaire and directly use it on a partner.\n" +"\n" +"It also has been merged with the earlier CRM & SRM segmentation tool because " +"they \n" +"were overlapping.\n" +"\n" +" **Note:** this module is not compatible with the module segmentation, " +"since it's the same which has been renamed.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.gt +msgid "Guatemala" +msgstr "" + +#. module: base +#: help:ir.actions.server,message:0 +msgid "" +"Email contents, may contain expressions enclosed in double brackets based on " +"the same values as those available in the condition field, e.g. `Dear [[ " +"object.partner_id.name ]]`" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_form +#: model:ir.ui.menu,name:base.menu_workflow +#: model:ir.ui.menu,name:base.menu_workflow_root +msgid "Workflows" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_73 +msgid "Purchase" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Portuguese (BR) / Português (BR)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_needaction_mixin +msgid "ir.needaction_mixin" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "This file was generated using the universal" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_7 +msgid "IT Services" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_specific_industry_applications +msgid "Specific Industry Applications" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_google_docs +msgid "Google Docs integration" +msgstr "" + +#. module: base +#: help:ir.attachment,res_model:0 +msgid "The database object this attachment will be attached to" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:327 +#, python-format +msgid "name" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mrp_operations +msgid "" +"\n" +"This module adds state, date_start, date_stop in manufacturing order " +"operation lines (in the 'Work Orders' tab).\n" +"=============================================================================" +"===================================\n" +"\n" +"Status: draft, confirm, done, cancel\n" +"When finishing/confirming, cancelling manufacturing orders set all state " +"lines\n" +"to the according state.\n" +"\n" +"Create menus:\n" +"-------------\n" +" **Manufacturing** > **Manufacturing** > **Work Orders**\n" +"\n" +"Which is a view on 'Work Orders' lines in manufacturing order.\n" +"\n" +"Add buttons in the form view of manufacturing order under workorders tab:\n" +"-------------------------------------------------------------------------\n" +" * start (set state to confirm), set date_start\n" +" * done (set state to done), set date_stop\n" +" * set to draft (set state to draft)\n" +" * cancel set state to cancel\n" +"\n" +"When the manufacturing order becomes 'ready to produce', operations must\n" +"become 'confirmed'. When the manufacturing order is done, all operations\n" +"must become done.\n" +"\n" +"The field 'Working Hours' is the delay(stop date - start date).\n" +"So, that we can compare the theoretic delay and real delay. \n" +" " +msgstr "" + +#. module: base +#: view:res.config.installer:0 +msgid "Skip" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_event_sale +msgid "Events Sales" +msgstr "" + +#. module: base +#: model:res.country,name:base.ls +msgid "Lesotho" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid ", or your preferred text editor" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_partner_assign +msgid "Partners Geo-Localization" +msgstr "" + +#. module: base +#: model:res.country,name:base.ke +msgid "Kenya" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_translation +#: model:ir.ui.menu,name:base.menu_action_translation +msgid "Translated Terms" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Abkhazian / аҧсуа" +msgstr "" + +#. module: base +#: view:base.module.configuration:0 +msgid "System Configuration Done" +msgstr "" + +#. module: base +#: code:addons/orm.py:1540 +#, python-format +msgid "Error occurred while validating the field(s) %s: %s" +msgstr "" + +#. module: base +#: view:ir.property:0 +msgid "Generic" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_document_ftp +msgid "Shared Repositories (FTP)" +msgstr "" + +#. module: base +#: model:res.country,name:base.sm +msgid "San Marino" +msgstr "" + +#. module: base +#: model:res.country,name:base.bm +msgid "Bermuda" +msgstr "" + +#. module: base +#: model:res.country,name:base.pe +msgid "Peru" +msgstr "" + +#. module: base +#: selection:ir.model.fields,on_delete:0 +msgid "Set NULL" +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Save" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_xml:0 +msgid "XML Path" +msgstr "" + +#. module: base +#: model:res.country,name:base.bj +msgid "Benin" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_partner_bank_type_form +#: model:ir.ui.menu,name:base.menu_action_res_partner_bank_typeform +msgid "Bank Account Types" +msgstr "" + +#. module: base +#: help:ir.sequence,suffix:0 +msgid "Suffix value of the record for the sequence" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_user:0 +msgid "Optional username for SMTP authentication" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_actions +msgid "ir.actions.actions" +msgstr "" + +#. module: base +#: selection:ir.model.fields,select_level:0 +msgid "Not Searchable" +msgstr "" + +#. module: base +#: view:ir.config_parameter:0 +#: field:ir.config_parameter,key:0 +msgid "Key" +msgstr "" + +#. module: base +#: field:res.company,rml_header:0 +msgid "RML Header" +msgstr "" + +#. module: base +#: help:res.country,address_format:0 +msgid "" +"You can state here the usual format to use for the addresses belonging to " +"this country.\n" +"\n" +"You can use the python-style string patern with all the field of the address " +"(for example, use '%(street)s' to display the field 'street') plus\n" +" \n" +"%(state_name)s: the name of the state\n" +" \n" +"%(state_code)s: the code of the state\n" +" \n" +"%(country_name)s: the name of the country\n" +" \n" +"%(country_code)s: the code of the country" +msgstr "" + +#. module: base +#: model:res.country,name:base.mu +msgid "Mauritius" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +msgid "Full Access" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_pt +msgid "Plano de contas SNC para Portugal" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: view:ir.actions.report.xml:0 +#: model:ir.ui.menu,name:base.menu_security +msgid "Security" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Portuguese / Português" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:372 +#, python-format +msgid "Changing the storing system for field \"%s\" is not allowed." +msgstr "" + +#. module: base +#: help:res.partner.bank,company_id:0 +msgid "Only if this bank account belong to your company" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:337 +#, python-format +msgid "Unknown sub-field '%s'" +msgstr "" + +#. module: base +#: model:res.country,name:base.za +msgid "South Africa" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "Installed" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Ukrainian / українська" +msgstr "" + +#. module: base +#: model:res.country,name:base.sn +msgid "Senegal" +msgstr "" + +#. module: base +#: model:res.country,name:base.hu +msgid "Hungary" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_analytics +msgid "" +"\n" +"Google Analytics.\n" +"=================\n" +"\n" +"Collects web application usage with Google Analytics.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_recruitment +msgid "Recruitment Process" +msgstr "" + +#. module: base +#: model:res.country,name:base.br +msgid "Brazil" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%M - Minute [00,59]." +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "Affero GPL-3" +msgstr "" + +#. module: base +#: field:ir.sequence,number_next:0 +#: field:ir.sequence,number_next_actual:0 +msgid "Next Number" +msgstr "" + +#. module: base +#: help:workflow.transition,condition:0 +msgid "Expression to be satisfied if we want the transition done." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (PA) / Español (PA)" +msgstr "" + +#. module: base +#: view:res.currency:0 +#: field:res.currency,rate_ids:0 +msgid "Rates" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_email_template +msgid "Email Templates" +msgstr "" + +#. module: base +#: model:res.country,name:base.sy +msgid "Syria" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "======================================================" +msgstr "" + +#. module: base +#: sql_constraint:ir.model:0 +msgid "Each model must be unique!" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_localization +#: model:ir.ui.menu,name:base.menu_localisation +msgid "Localization" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_api +msgid "" +"\n" +"Openerp Web API.\n" +"================\n" +"\n" +msgstr "" + +#. module: base +#: selection:res.request,state:0 +msgid "draft" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +#: field:res.currency,date:0 +#: field:res.currency.rate,name:0 +#: field:res.partner,date:0 +#: field:res.request,date_sent:0 +msgid "Date" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_event_moodle +msgid "Event Moodle" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_email_template +msgid "" +"\n" +"Email Templating (simplified version of the original Power Email by " +"Openlabs).\n" +"=============================================================================" +"=\n" +"\n" +"Lets you design complete email templates related to any OpenERP document " +"(Sale\n" +"Orders, Invoices and so on), including sender, recipient, subject, body " +"(HTML and\n" +"Text). You may also automatically attach files to your templates, or print " +"and\n" +"attach a report.\n" +"\n" +"For advanced use, the templates may include dynamic attributes of the " +"document\n" +"they are related to. For example, you may use the name of a Partner's " +"country\n" +"when writing to them, also providing a safe default in case the attribute " +"is\n" +"not defined. Each template contains a built-in assistant to help with the\n" +"inclusion of these dynamic values.\n" +"\n" +"If you enable the option, a composition assistant will also appear in the " +"sidebar\n" +"of the OpenERP documents to which the template applies (e.g. Invoices).\n" +"This serves as a quick way to send a new email based on the template, after\n" +"reviewing and adapting the contents, if needed.\n" +"This composition assistant will also turn into a mass mailing system when " +"called\n" +"for multiple documents at once.\n" +"\n" +"These email templates are also at the heart of the marketing campaign " +"system\n" +"(see the ``marketing_campaign`` application), if you need to automate " +"larger\n" +"campaigns on any OpenERP document.\n" +"\n" +" **Technical note:** only the templating system of the original Power " +"Email by Openlabs was kept.\n" +" " +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_partner_category_form +msgid "Partner Tags" +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "Preview Header/Footer" +msgstr "" + +#. module: base +#: field:ir.ui.menu,parent_id:0 +#: field:wizard.ir.model.menu.create,menu_id:0 +msgid "Parent Menu" +msgstr "" + +#. module: base +#: field:res.partner.bank,owner_name:0 +msgid "Account Owner Name" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:420 +#, python-format +msgid "Cannot rename column to %s, because that column already exists!" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Attached To" +msgstr "" + +#. module: base +#: field:res.lang,decimal_point:0 +msgid "Decimal Separator" +msgstr "" + +#. module: base +#: code:addons/orm.py:5319 +#, python-format +msgid "Missing required value for the field '%s'." +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Write Access Right" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_res_groups +msgid "" +"A group is a set of functional areas that will be assigned to the user in " +"order to give them access and rights to specific applications and tasks in " +"the system. You can create custom groups or edit the ones existing by " +"default in order to customize the view of the menu that users will be able " +"to see. Whether they can have a read, write, create and delete access right " +"can be managed from here." +msgstr "" + +#. module: base +#: view:ir.filters:0 +#: field:ir.filters,name:0 +msgid "Filter Name" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: view:res.partner:0 +#: field:res.request,history:0 +msgid "History" +msgstr "" + +#. module: base +#: model:res.country,name:base.im +msgid "Isle of Man" +msgstr "" + +#. module: base +#: help:ir.actions.client,res_model:0 +msgid "Optional model, mostly used for needactions." +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:306 +#, python-format +msgid "The name of the module must be unique !" +msgstr "" + +#. module: base +#: model:res.country,name:base.bv +msgid "Bouvet Island" +msgstr "" + +#. module: base +#: field:ir.model.constraint,type:0 +msgid "Constraint Type" +msgstr "" + +#. module: base +#: field:res.company,child_ids:0 +msgid "Child Companies" +msgstr "" + +#. module: base +#: model:res.country,name:base.ni +msgid "Nicaragua" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_stock_invoice_directly +msgid "" +"\n" +"Invoice Wizard for Delivery.\n" +"============================\n" +"\n" +"When you send or deliver goods, this module automatically launch the " +"invoicing\n" +"wizard if the delivery is to be invoiced.\n" +" " +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "Wizard Button" +msgstr "" + +#. module: base +#: view:ir.model.fields:0 +#: field:ir.property,fields_id:0 +#: selection:ir.translation,type:0 +#: field:multi_company.default,field_id:0 +msgid "Field" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_long_term +msgid "Long Term Projects" +msgstr "" + +#. module: base +#: model:res.country,name:base.ve +msgid "Venezuela" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "9. %j ==> 340" +msgstr "" + +#. module: base +#: model:res.country,name:base.zm +msgid "Zambia" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Launch Configuration Wizard" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_mrp +msgid "Manufacturing Orders, Bill of Materials, Routing" +msgstr "" + +#. module: base +#: field:ir.attachment,name:0 +msgid "Attachment Name" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Cancel Upgrade" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_report_webkit +msgid "" +"\n" +"This module adds a new Report Engine based on WebKit library (wkhtmltopdf) " +"to support reports designed in HTML + CSS.\n" +"=============================================================================" +"========================================\n" +"\n" +"The module structure and some code is inspired by the report_openoffice " +"module.\n" +"\n" +"The module allows:\n" +"------------------\n" +" - HTML report definition\n" +" - Multi header support\n" +" - Multi logo\n" +" - Multi company support\n" +" - HTML and CSS-3 support (In the limit of the actual WebKIT version)\n" +" - JavaScript support\n" +" - Raw HTML debugger\n" +" - Book printing capabilities\n" +" - Margins definition\n" +" - Paper size definition\n" +"\n" +"Multiple headers and logos can be defined per company. CSS style, header " +"and\n" +"footer body are defined per company.\n" +"\n" +"For a sample report see also the webkit_report_sample module, and this " +"video:\n" +" http://files.me.com/nbessi/06n92k.mov\n" +"\n" +"Requirements and Installation:\n" +"------------------------------\n" +"This module requires the ``wkthtmltopdf`` library to render HTML documents " +"as\n" +"PDF. Version 0.9.9 or later is necessary, and can be found at\n" +"http://code.google.com/p/wkhtmltopdf/ for Linux, Mac OS X (i386) and Windows " +"(32bits).\n" +"\n" +"After installing the library on the OpenERP Server machine, you need to set " +"the\n" +"path to the ``wkthtmltopdf`` executable file on each Company.\n" +"\n" +"If you are experiencing missing header/footer problems on Linux, be sure to\n" +"install a 'static' version of the library. The default ``wkhtmltopdf`` on\n" +"Ubuntu is known to have this issue.\n" +"\n" +"\n" +"TODO:\n" +"-----\n" +" * JavaScript support activation deactivation\n" +" * Collated and book format support\n" +" * Zip return for separated PDF\n" +" * Web client WYSIWYG\n" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_sale_salesman_all_leads +msgid "See all Leads" +msgstr "" + +#. module: base +#: model:res.country,name:base.ci +msgid "Ivory Coast (Cote D'Ivoire)" +msgstr "" + +#. module: base +#: model:res.country,name:base.kz +msgid "Kazakhstan" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%w - Weekday number [0(Sunday),6]." +msgstr "" + +#. module: base +#: field:ir.attachment,res_name:0 +#: field:ir.ui.view_sc,resource:0 +msgid "Resource Name" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_ir_filters +msgid "User-defined Filters" +msgstr "" + +#. module: base +#: field:ir.actions.act_window_close,name:0 +#: field:ir.actions.actions,name:0 +#: field:ir.actions.report.xml,name:0 +#: field:ir.actions.todo,name:0 +#: field:ir.cron,name:0 +#: field:ir.model.access,name:0 +#: field:ir.model.fields,name:0 +#: field:ir.module.category,name:0 +#: field:ir.module.module.dependency,name:0 +#: report:ir.module.reference:0 +#: view:ir.property:0 +#: field:ir.property,name:0 +#: field:ir.rule,name:0 +#: field:ir.sequence,name:0 +#: field:ir.sequence.type,name:0 +#: field:ir.values,name:0 +#: view:multi_company.default:0 +#: field:multi_company.default,name:0 +#: field:res.bank,name:0 +#: view:res.currency.rate.type:0 +#: field:res.currency.rate.type,name:0 +#: field:res.groups,name:0 +#: field:res.lang,name:0 +#: view:res.partner:0 +#: field:res.partner,name:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank.type,name:0 +#: field:res.request.link,name:0 +#: view:res.users:0 +#: field:workflow,name:0 +#: field:workflow.activity,name:0 +msgid "Name" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,multi:0 +msgid "" +"If set to true, the action will not be displayed on the right toolbar of a " +"form view" +msgstr "" + +#. module: base +#: model:res.country,name:base.ms +msgid "Montserrat" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_decimal_precision +msgid "Decimal Precision Configuration" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_act_url +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.act_url" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_translation_app +msgid "Application Terms" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.open_module_tree +msgid "" +"

No module found!

\n" +"

You should try others search criteria.

\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_module_module +#: field:ir.model.constraint,module:0 +#: view:ir.model.data:0 +#: field:ir.model.data,module:0 +#: field:ir.model.relation,module:0 +#: view:ir.module.module:0 +#: field:ir.module.module.dependency,module_id:0 +#: report:ir.module.reference:0 +#: field:ir.translation,module:0 +msgid "Module" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (UK)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Japanese / 日本語" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_language_import +msgid "Language Import" +msgstr "" + +#. module: base +#: help:workflow.transition,act_from:0 +msgid "" +"Source activity. When this activity is over, the condition is tested to " +"determine if we can start the ACT_TO activity." +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_generic_modules_accounting +#: view:res.company:0 +msgid "Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_vat +msgid "" +"\n" +"VAT validation for Partner's VAT numbers.\n" +"=========================================\n" +"\n" +"After installing this module, values entered in the VAT field of Partners " +"will\n" +"be validated for all supported countries. The country is inferred from the\n" +"2-letter country code that prefixes the VAT number, e.g. ``BE0477472701``\n" +"will be validated using the Belgian rules.\n" +"\n" +"There are two different levels of VAT number validation:\n" +"--------------------------------------------------------\n" +" * By default, a simple off-line check is performed using the known " +"validation\n" +" rules for the country, usually a simple check digit. This is quick and " +"\n" +" always available, but allows numbers that are perhaps not truly " +"allocated,\n" +" or not valid anymore.\n" +" \n" +" * When the \"VAT VIES Check\" option is enabled (in the configuration of " +"the user's\n" +" Company), VAT numbers will be instead submitted to the online EU VIES\n" +" database, which will truly verify that the number is valid and " +"currently\n" +" allocated to a EU company. This is a little bit slower than the " +"simple\n" +" off-line check, requires an Internet connection, and may not be " +"available\n" +" all the time. If the service is not available or does not support the\n" +" requested country (e.g. for non-EU countries), a simple check will be " +"performed\n" +" instead.\n" +"\n" +"Supported countries currently include EU countries, and a few non-EU " +"countries\n" +"such as Chile, Colombia, Mexico, Norway or Russia. For unsupported " +"countries,\n" +"only the country code will be validated.\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_act_window_view +msgid "ir.actions.act_window.view" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web +#: report:ir.module.reference:0 +msgid "Web" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_lunch +msgid "Lunch Orders" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (CA)" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_human_resources +msgid "Human Resources" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_syscohada +msgid "" +"\n" +"This module implements the accounting chart for OHADA area.\n" +"===========================================================\n" +" \n" +"It allows any company or association to manage its financial accounting.\n" +"\n" +"Countries that use OHADA are the following:\n" +"-------------------------------------------\n" +" Benin, Burkina Faso, Cameroon, Central African Republic, Comoros, " +"Congo,\n" +" \n" +" Ivory Coast, Gabon, Guinea, Guinea Bissau, Equatorial Guinea, Mali, " +"Niger,\n" +" \n" +" Replica of Democratic Congo, Senegal, Chad, Togo.\n" +" " +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Comments" +msgstr "" + +#. module: base +#: model:res.country,name:base.et +msgid "Ethiopia" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_authentication +msgid "Authentication" +msgstr "" + +#. module: base +#: model:res.country,name:base.sj +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_wizard +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.wizard" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_kanban +msgid "Base Kanban" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: view:ir.actions.report.xml:0 +#: view:ir.actions.server:0 +msgid "Group By" +msgstr "" + +#. module: base +#: view:res.config.installer:0 +msgid "title" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:146 +#, python-format +msgid "true" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_language_install +msgid "Install Language" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_11 +msgid "Services" +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Translation" +msgstr "" + +#. module: base +#: selection:res.request,state:0 +msgid "closed" +msgstr "" + +#. module: base +#: selection:base.language.export,state:0 +msgid "get" +msgstr "" + +#. module: base +#: help:ir.model.fields,on_delete:0 +msgid "On delete property for many2one fields" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_accounting_and_finance +msgid "Accounting & Finance" +msgstr "" + +#. module: base +#: field:ir.actions.server,write_id:0 +msgid "Write Id" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_product +msgid "Products" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_values_form_defaults +#: model:ir.ui.menu,name:base.menu_values_form_defaults +#: view:ir.values:0 +msgid "User-defined Defaults" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_signup +msgid "" +"\n" +"Allow users to sign up and reset their password\n" +"===============================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_usability +#: view:res.users:0 +msgid "Usability" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,domain:0 +msgid "Domain Value" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_association +msgid "" +"\n" +"This module is to configure modules related to an association.\n" +"==============================================================\n" +"\n" +"It installs the profile for associations to manage events, registrations, " +"memberships, \n" +"membership products (schemes).\n" +" " +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_base_config +#: model:ir.ui.menu,name:base.menu_config +#: model:ir.ui.menu,name:base.menu_definitions +#: model:ir.ui.menu,name:base.menu_event_config +#: model:ir.ui.menu,name:base.menu_lunch_survey_root +#: model:ir.ui.menu,name:base.menu_marketing_config_association +#: model:ir.ui.menu,name:base.menu_marketing_config_root +#: model:ir.ui.menu,name:base.menu_reporting_config +#: view:res.company:0 +#: view:res.config:0 +msgid "Configuration" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_edi +msgid "" +"\n" +"Provides a common EDI platform that other Applications can use.\n" +"===============================================================\n" +"\n" +"OpenERP specifies a generic EDI format for exchanging business documents " +"between \n" +"different systems, and provides generic mechanisms to import and export " +"them.\n" +"\n" +"More details about OpenERP's EDI format may be found in the technical " +"OpenERP \n" +"documentation at http://doc.openerp.com.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/workflow/workflow.py:99 +#, python-format +msgid "Operation forbidden" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "SMS Configuration" +msgstr "" + +#. module: base +#: help:ir.rule,active:0 +msgid "" +"If you uncheck the active field, it will disable the record rule without " +"deleting it (if you delete a native record rule, it may be re-created when " +"you reload the module." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (BO) / Español (BO)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_board +msgid "" +"\n" +"Lets the user create a custom dashboard.\n" +"========================================\n" +"\n" +"Allows users to create custom dashboard.\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_access_act +#: model:ir.ui.menu,name:base.menu_ir_access_act +msgid "Access Controls List" +msgstr "" + +#. module: base +#: model:res.country,name:base.um +msgid "USA Minor Outlying Islands" +msgstr "" + +#. module: base +#: help:ir.cron,numbercall:0 +msgid "" +"How many times the method is called,\n" +"a negative number indicates no limit." +msgstr "" + +#. module: base +#: field:res.partner.bank.type.field,bank_type_id:0 +msgid "Bank Type" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:99 +#, python-format +msgid "The name of the group can not start with \"-\"" +msgstr "" + +#. module: base +#: model:ir.actions.client,name:base.modules_act_cl +#: view:ir.module.module:0 +#: model:ir.ui.menu,name:base.module_mi +msgid "Apps" +msgstr "" + +#. module: base +#: view:ir.ui.view_sc:0 +msgid "Shortcut" +msgstr "" + +#. module: base +#: field:ir.model.data,date_init:0 +msgid "Init Date" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Gujarati / ગુજરાતી" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:361 +#, python-format +msgid "" +"Unable to process module \"%s\" because an external dependency is not met: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll +msgid "Belgium - Payroll" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,flow_start:0 +msgid "Flow Start" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner_title +msgid "res.partner.title" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Bank Account Owner" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_uncategorized +msgid "Uncategorized" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Phone:" +msgstr "" + +#. module: base +#: field:res.partner,is_company:0 +msgid "Is a Company" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Hours" +msgstr "" + +#. module: base +#: model:res.country,name:base.gp +msgid "Guadeloupe (French)" +msgstr "" + +#. module: base +#: code:addons/base/res/res_lang.py:185 +#: code:addons/base/res/res_lang.py:187 +#: code:addons/base/res/res_lang.py:189 +#, python-format +msgid "User Error" +msgstr "" + +#. module: base +#: help:workflow.transition,signal:0 +msgid "" +"When the operation of transition comes from a button pressed in the client " +"form, signal tests the name of the pressed button. If signal is NULL, no " +"button is necessary to validate this transition." +msgstr "" + +#. module: base +#: field:ir.ui.view.custom,ref_id:0 +msgid "Original View" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_kanban +msgid "" +"\n" +"OpenERP Web kanban view.\n" +"========================\n" +"\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:182 +#, python-format +msgid "'%s' does not seem to be a number for field '%%(field)s'" +msgstr "" + +#. module: base +#: help:res.country.state,name:0 +msgid "" +"Administrative divisions of a country. E.g. Fed. State, Departement, Canton" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "My Banks" +msgstr "" + +#. module: base +#: sql_constraint:ir.filters:0 +msgid "Filter names must be unique" +msgstr "" + +#. module: base +#: help:multi_company.default,object_id:0 +msgid "Object affected by this rule" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,target:0 +msgid "Inline View" +msgstr "" + +#. module: base +#: field:ir.filters,is_default:0 +msgid "Default filter" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Directory" +msgstr "" + +#. module: base +#: field:wizard.ir.model.menu.create,name:0 +msgid "Menu Name" +msgstr "" + +#. module: base +#: field:ir.values,key2:0 +msgid "Qualifier" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_coda +msgid "" +"\n" +"Module to import CODA bank statements.\n" +"======================================\n" +"\n" +"Supported are CODA flat files in V2 format from Belgian bank accounts.\n" +"----------------------------------------------------------------------\n" +" * CODA v1 support.\n" +" * CODA v2.2 support.\n" +" * Foreign Currency support.\n" +" * Support for all data record types (0, 1, 2, 3, 4, 8, 9).\n" +" * Parsing & logging of all Transaction Codes and Structured Format \n" +" Communications.\n" +" * Automatic Financial Journal assignment via CODA configuration " +"parameters.\n" +" * Support for multiple Journals per Bank Account Number.\n" +" * Support for multiple statements from different bank accounts in a " +"single \n" +" CODA file.\n" +" * Support for 'parsing only' CODA Bank Accounts (defined as type='info' " +"in \n" +" the CODA Bank Account configuration records).\n" +" * Multi-language CODA parsing, parsing configuration data provided for " +"EN, \n" +" NL, FR.\n" +"\n" +"The machine readable CODA Files are parsed and stored in human readable " +"format in \n" +"CODA Bank Statements. Also Bank Statements are generated containing a subset " +"of \n" +"the CODA information (only those transaction lines that are required for the " +"\n" +"creation of the Financial Accounting records). The CODA Bank Statement is a " +"\n" +"'read-only' object, hence remaining a reliable representation of the " +"original\n" +"CODA file whereas the Bank Statement will get modified as required by " +"accounting \n" +"business processes.\n" +"\n" +"CODA Bank Accounts configured as type 'Info' will only generate CODA Bank " +"Statements.\n" +"\n" +"A removal of one object in the CODA processing results in the removal of the " +"\n" +"associated objects. The removal of a CODA File containing multiple Bank \n" +"Statements will also remove those associated statements.\n" +"\n" +"The following reconciliation logic has been implemented in the CODA " +"processing:\n" +"-----------------------------------------------------------------------------" +"--\n" +" 1) The Company's Bank Account Number of the CODA statement is compared " +"against \n" +" the Bank Account Number field of the Company's CODA Bank Account \n" +" configuration records (whereby bank accounts defined in type='info' \n" +" configuration records are ignored). If this is the case an 'internal " +"transfer'\n" +" transaction is generated using the 'Internal Transfer Account' field " +"of the \n" +" CODA File Import wizard.\n" +" 2) As a second step the 'Structured Communication' field of the CODA " +"transaction\n" +" line is matched against the reference field of in- and outgoing " +"invoices \n" +" (supported : Belgian Structured Communication Type).\n" +" 3) When the previous step doesn't find a match, the transaction " +"counterparty is \n" +" located via the Bank Account Number configured on the OpenERP " +"Customer and \n" +" Supplier records.\n" +" 4) In case the previous steps are not successful, the transaction is " +"generated \n" +" by using the 'Default Account for Unrecognized Movement' field of the " +"CODA \n" +" File Import wizard in order to allow further manual processing.\n" +"\n" +"In stead of a manual adjustment of the generated Bank Statements, you can " +"also \n" +"re-import the CODA after updating the OpenERP database with the information " +"that \n" +"was missing to allow automatic reconciliation.\n" +"\n" +"Remark on CODA V1 support:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"In some cases a transaction code, transaction category or structured \n" +"communication code has been given a new or clearer description in CODA " +"V2.The\n" +"description provided by the CODA configuration tables is based upon the CODA " +"\n" +"V2.2 specifications.\n" +"If required, you can manually adjust the descriptions via the CODA " +"configuration menu.\n" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Month" +msgstr "" + +#. module: base +#: model:res.country,name:base.my +msgid "Malaysia" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_sequence.py:134 +#: code:addons/base/ir/ir_sequence.py:160 +#, python-format +msgid "Increment number must not be zero." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_cancel +msgid "Cancel Journal Entries" +msgstr "" + +#. module: base +#: field:res.partner,tz_offset:0 +msgid "Timezone offset" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_marketing_campaign +msgid "" +"\n" +"This module provides leads automation through marketing campaigns (campaigns " +"can in fact be defined on any resource, not just CRM Leads).\n" +"=============================================================================" +"============================================================\n" +"\n" +"The campaigns are dynamic and multi-channels. The process is as follows:\n" +"------------------------------------------------------------------------\n" +" * Design marketing campaigns like workflows, including email templates " +"to\n" +" send, reports to print and send by email, custom actions\n" +" * Define input segments that will select the items that should enter " +"the\n" +" campaign (e.g leads from certain countries.)\n" +" * Run you campaign in simulation mode to test it real-time or " +"accelerated,\n" +" and fine-tune it\n" +" * You may also start the real campaign in manual mode, where each " +"action\n" +" requires manual validation\n" +" * Finally launch your campaign live, and watch the statistics as the\n" +" campaign does everything fully automatically.\n" +"\n" +"While the campaign runs you can of course continue to fine-tune the " +"parameters,\n" +"input segments, workflow.\n" +"\n" +"**Note:** If you need demo data, you can install the " +"marketing_campaign_crm_demo\n" +" module, but this will also install the CRM application as it depends " +"on\n" +" CRM Leads.\n" +" " +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_debug:0 +msgid "" +"If enabled, the full output of SMTP sessions will be written to the server " +"log at DEBUG level(this is very verbose and may include confidential info!)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_margin +msgid "" +"\n" +"This module adds the 'Margin' on sales order.\n" +"=============================================\n" +"\n" +"This gives the profitability by calculating the difference between the Unit\n" +"Price and Cost Price.\n" +" " +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Automatically" +msgstr "" + +#. module: base +#: help:ir.model.fields,translate:0 +msgid "" +"Whether values for this field can be translated (enables the translation " +"mechanism for that field)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Indonesian / Bahasa Indonesia" +msgstr "" + +#. module: base +#: model:res.country,name:base.cv +msgid "Cape Verde" +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_sale_salesman +msgid "the user will have access to his own data in the sales application." +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_user +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 "" + +#. module: base +#: code:addons/orm.py:2247 +#, python-format +msgid "There is no view of type '%s' defined for the structure!" +msgstr "" + +#. module: base +#: help:ir.values,key:0 +msgid "" +"- Action: an action attached to one slot of the given model\n" +"- Default: a default value for a model field" +msgstr "" + +#. module: base +#: field:base.module.update,add:0 +msgid "Number of modules added" +msgstr "" + +#. module: base +#: view:res.currency:0 +msgid "Price Accuracy" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Latvian / latviešu valoda" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "French / Français" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Created Menus" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:502 +#: view:ir.module.module:0 +#, python-format +msgid "Uninstall" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_budget +msgid "Budgets Management" +msgstr "" + +#. module: base +#: field:workflow.triggers,workitem_id:0 +msgid "Workitem" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_anonymization +msgid "Database Anonymization" +msgstr "" + +#. module: base +#: selection:ir.mail_server,smtp_encryption:0 +msgid "SSL/TLS" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_hr +msgid "" +"\n" +"Croatian localisation.\n" +"======================\n" +"\n" +"Author: Goran Kliska, Slobodni programi d.o.o., Zagreb\n" +" http://www.slobodni-programi.hr\n" +"\n" +"Contributions:\n" +" Tomislav Bošnjaković, Storm Computers: tipovi konta\n" +" Ivan Vađić, Slobodni programi: tipovi konta\n" +"\n" +"Description:\n" +"\n" +"Croatian Chart of Accounts (RRIF ver.2012)\n" +"\n" +"RRIF-ov računski plan za poduzetnike za 2012.\n" +"Vrste konta\n" +"Kontni plan prema RRIF-u, dorađen u smislu kraćenja naziva i dodavanja " +"analitika\n" +"Porezne grupe prema poreznoj prijavi\n" +"Porezi PDV obrasca\n" +"Ostali porezi \n" +"Osnovne fiskalne pozicije\n" +"\n" +"Izvori podataka:\n" +" http://www.rrif.hr/dok/preuzimanje/rrif-rp2011.rar\n" +" http://www.rrif.hr/dok/preuzimanje/rrif-rp2012.rar\n" +"\n" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: field:ir.actions.act_window.view,act_window_id:0 +#: view:ir.actions.actions:0 +#: field:ir.actions.todo,action_id:0 +#: field:ir.ui.menu,action:0 +#: selection:ir.values,key:0 +msgid "Action" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Email Configuration" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base +#: model:res.country,name:base.cw +msgid "Curaçao" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Current Year without Century: %(y)s" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_config_list_action +#: view:ir.config_parameter:0 +#: model:ir.ui.menu,name:base.ir_config_menu +msgid "System Parameters" +msgstr "" + +#. module: base +#: help:ir.actions.client,tag:0 +msgid "" +"An arbitrary string, interpreted by the client according to its own needs " +"and wishes. There is no central tag repository across clients." +msgstr "" + +#. module: base +#: sql_constraint:ir.rule:0 +msgid "Rule must have at least one checked access right !" +msgstr "" + +#. module: base +#: field:res.partner.bank.type,format_layout:0 +msgid "Format Layout" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_document_ftp +msgid "" +"\n" +"This is a support FTP Interface with document management system.\n" +"================================================================\n" +"\n" +"With this module you would not only be able to access documents through " +"OpenERP\n" +"but you would also be able to connect with them through the file system " +"using the\n" +"FTP client.\n" +msgstr "" + +#. module: base +#: field:ir.model.fields,size:0 +msgid "Size" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_audittrail +msgid "Audit Trail" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:264 +#, python-format +msgid "Value '%s' not found in selection field '%%(field)s'" +msgstr "" + +#. module: base +#: model:res.country,name:base.sd +msgid "Sudan" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_currency_rate_type_form +#: model:ir.model,name:base.model_res_currency_rate_type +#: field:res.currency.rate,currency_rate_type_id:0 +#: view:res.currency.rate.type:0 +msgid "Currency Rate Type" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_fr +msgid "" +"\n" +"This is the module to manage the accounting chart for France in OpenERP.\n" +"========================================================================\n" +"\n" +"This module applies to companies based in France mainland. It doesn't apply " +"to\n" +"companies based in the DOM-TOMs (Guadeloupe, Martinique, Guyane, Réunion, " +"Mayotte).\n" +"\n" +"This localisation module creates the VAT taxes of type 'tax included' for " +"purchases\n" +"(it is notably required when you use the module 'hr_expense'). Beware that " +"these\n" +"'tax included' VAT taxes are not managed by the fiscal positions provided by " +"this\n" +"module (because it is complex to manage both 'tax excluded' and 'tax " +"included'\n" +"scenarios in fiscal positions).\n" +"\n" +"This localisation module doesn't properly handle the scenario when a France-" +"mainland\n" +"company sells services to a company based in the DOMs. We could manage it in " +"the\n" +"fiscal positions, but it would require to differentiate between 'product' " +"VAT taxes\n" +"and 'service' VAT taxes. We consider that it is too 'heavy' to have this by " +"default\n" +"in l10n_fr; companies that sell services to DOM-based companies should " +"update the\n" +"configuration of their taxes and fiscal positions manually.\n" +"\n" +"**Credits:** Sistheo, Zeekom, CrysaLEAD, Akretion and Camptocamp.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.fm +msgid "Micronesia" +msgstr "" + +#. module: base +#: field:ir.module.module,menus_by_module:0 +#: view:res.groups:0 +msgid "Menus" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Manually Once" +msgstr "" + +#. module: base +#: view:workflow:0 +#: view:workflow.activity:0 +#: field:workflow.activity,wkf_id:0 +#: field:workflow.instance,wkf_id:0 +#: field:workflow.transition,wkf_id:0 +#: field:workflow.workitem,wkf_id:0 +msgid "Workflow" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Serbian (Latin) / srpski" +msgstr "" + +#. module: base +#: model:res.country,name:base.il +msgid "Israel" +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:475 +#, python-format +msgid "Cannot duplicate configuration!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_syscohada +msgid "OHADA - Accounting" +msgstr "" + +#. module: base +#: help:res.bank,bic:0 +msgid "Sometimes called BIC or Swift." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_in +msgid "Indian - Accounting" +msgstr "" + +#. module: base +#: field:res.lang,time_format:0 +msgid "Time Format" +msgstr "" + +#. module: base +#: field:res.company,rml_header3:0 +msgid "RML Internal Header for Landscape Reports" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_partner_manager +msgid "Contact Creation" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Defined Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_gtd +msgid "Todo Lists" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Report xml" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_module_open_categ +#: field:ir.module.category,module_ids:0 +#: view:ir.module.module:0 +#: model:ir.ui.menu,name:base.menu_management +msgid "Modules" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: selection:workflow.activity,kind:0 +#: field:workflow.activity,subflow_id:0 +#: field:workflow.workitem,subflow_id:0 +msgid "Subflow" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_bank_form +#: model:ir.ui.menu,name:base.menu_action_res_bank_form +#: view:res.bank:0 +#: field:res.partner,bank_ids:0 +msgid "Banks" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web +msgid "" +"\n" +"OpenERP Web core module.\n" +"========================\n" +"\n" +"This module provides the core of the OpenERP Web Client.\n" +" " +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Week of the Year: %(woy)s" +msgstr "" + +#. module: base +#: field:res.users,id:0 +msgid "ID" +msgstr "" + +#. module: base +#: field:ir.cron,doall:0 +msgid "Repeat Missed" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_import.py:67 +#, python-format +msgid "Can not create the module file: %s !" +msgstr "" + +#. module: base +#: field:ir.server.object.lines,server_id:0 +msgid "Object Mapping" +msgstr "" + +#. module: base +#: field:ir.module.category,xml_id:0 +#: field:ir.ui.view,xml_id:0 +msgid "External ID" +msgstr "" + +#. module: base +#: help:res.currency.rate,rate:0 +msgid "The rate of the currency to the currency of rate 1" +msgstr "" + +#. module: base +#: model:res.country,name:base.uk +msgid "United Kingdom" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pa +msgid "Panama Localization Chart Account" +msgstr "" + +#. module: base +#: help:res.partner.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Object:" +msgstr "" + +#. module: base +#: model:res.country,name:base.bw +msgid "Botswana" +msgstr "" + +#. module: base +#: view:res.partner.title:0 +msgid "Partner Titles" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:196 +#: code:addons/base/ir/ir_fields.py:227 +#, python-format +msgid "Use the format '%s'" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,auto_refresh:0 +msgid "Add an auto-refresh on the view" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_profiling +msgid "Customer Profiling" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Work Days" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_multi_company +msgid "Multi-Company" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_workitem_form +#: model:ir.ui.menu,name:base.menu_workflow_workitem +msgid "Workitems" +msgstr "" + +#. module: base +#: code:addons/base/res/res_bank.py:195 +#, python-format +msgid "Invalid Bank Account Type Name format." +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Filters visible only for one user" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base +#: code:addons/orm.py:4348 +#, python-format +msgid "" +"You cannot perform this operation. New Record Creation is not allowed for " +"this object as this object is for reporting purpose." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_import +msgid "" +"\n" +"New extensible file import for OpenERP\n" +"======================================\n" +"\n" +"Re-implement openerp's file import system:\n" +"\n" +"* Server side, the previous system forces most of the logic into the\n" +" client which duplicates the effort (between clients), makes the\n" +" import system much harder to use without a client (direct RPC or\n" +" other forms of automation) and makes knowledge about the\n" +" import/export system much harder to gather as it is spread over\n" +" 3+ different projects.\n" +"\n" +"* In a more extensible manner, so users and partners can build their\n" +" own front-end to import from other file formats (e.g. OpenDocument\n" +" files) which may be simpler to handle in their work flow or from\n" +" their data production sources.\n" +"\n" +"* In a module, so that administrators and users of OpenERP who do not\n" +" need or want an online import can avoid it being available to users.\n" +msgstr "" + +#. module: base +#: selection:res.currency,position:0 +msgid "After Amount" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Lithuanian / Lietuvių kalba" +msgstr "" + +#. module: base +#: help:ir.actions.server,record_id:0 +msgid "" +"Provide the field name where the record id is stored after the create " +"operations. If it is empty, you can not track the new record." +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_hr_user +msgid "the user will be able to approve document created by employees." +msgstr "" + +#. module: base +#: field:ir.ui.menu,needaction_enabled:0 +msgid "Target model uses the need action mechanism" +msgstr "" + +#. module: base +#: help:ir.model.fields,relation:0 +msgid "For relationship fields, the technical name of the target model" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%S - Seconds [00,61]." +msgstr "" + +#. module: base +#: help:base.language.import,overwrite:0 +msgid "" +"If you enable this option, existing translations (including custom ones) " +"will be overwritten and replaced by those in this file" +msgstr "" + +#. module: base +#: field:ir.ui.view,inherit_id:0 +msgid "Inherited View" +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Source Term" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_project_management +#: model:ir.ui.menu,name:base.menu_main_pm +#: model:ir.ui.menu,name:base.menu_project_config +#: model:ir.ui.menu,name:base.menu_project_report +msgid "Project" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon_hover_data:0 +msgid "Web Icon Image (hover)" +msgstr "" + +#. module: base +#: view:base.module.import:0 +msgid "Module file successfully imported!" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_constraint +#: view:ir.model.constraint:0 +#: model:ir.ui.menu,name:base.ir_model_constraint_menu +msgid "Model Constraints" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_transition_form +#: model:ir.ui.menu,name:base.menu_workflow_transition +#: view:workflow.activity:0 +msgid "Transitions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_timesheet +#: model:ir.module.module,shortdesc:base.module_hr_timesheet_sheet +msgid "Timesheets" +msgstr "" + +#. module: base +#: help:ir.values,company_id:0 +msgid "If set, action binding only applies for this company" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_cn +msgid "" +"\n" +"添加中文省份数据\n" +"科目类型\\会计科目表模板\\增值税\\辅助核算类别\\管理会计凭证簿\\财务会计凭证簿\n" +"============================================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lc +msgid "Saint Lucia" +msgstr "" + +#. module: base +#: help:res.users,new_password:0 +msgid "" +"Specify a value only when creating a user or if you're changing the user's " +"password, otherwise leave empty. After a change of password, the user has to " +"login again." +msgstr "" + +#. module: base +#: model:res.country,name:base.so +msgid "Somalia" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_doctor +msgid "Dr." +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_user +#: field:res.partner,employee:0 +#: model:res.partner.category,name:base.res_partner_category_3 +msgid "Employee" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_issue +msgid "" +"\n" +"Track Issues/Bugs Management for Projects\n" +"=========================================\n" +"This application allows you to manage the issues you might face in a project " +"like bugs in a system, client complaints or material breakdowns. \n" +"\n" +"It allows the manager to quickly check the issues, assign them and decide on " +"their status quickly as they evolve.\n" +" " +msgstr "" + +#. module: base +#: field:ir.model.access,perm_create:0 +msgid "Create Access" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_timesheet +msgid "" +"\n" +"This module implements a timesheet system.\n" +"==========================================\n" +"\n" +"Each employee can encode and track their time spent on the different " +"projects.\n" +"A project is an analytic account and the time spent on a project generates " +"costs on\n" +"the analytic account.\n" +"\n" +"Lots of reporting on time and employee tracking are provided.\n" +"\n" +"It is completely integrated with the cost accounting module. It allows you " +"to set\n" +"up a management by affair.\n" +" " +msgstr "" + +#. module: base +#: field:res.bank,state:0 +#: field:res.company,state_id:0 +#: field:res.partner.bank,state_id:0 +msgid "Fed. State" +msgstr "Departamento" + +#. module: base +#: field:ir.actions.server,copy_object:0 +msgid "Copy Of" +msgstr "" + +#. module: base +#: field:ir.model.data,display_name:0 +msgid "Record Name" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_client +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.client" +msgstr "" + +#. module: base +#: model:res.country,name:base.io +msgid "British Indian Ocean Territory" +msgstr "" + +#. module: base +#: model:ir.actions.server,name:base.action_server_module_immediate_install +msgid "Module Immediate Install" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Field Mapping" +msgstr "" + +#. module: base +#: field:ir.model.fields,ttype:0 +msgid "Field Type" +msgstr "" + +#. module: base +#: field:res.country.state,code:0 +msgid "State Code" +msgstr "Código Departamento" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_multilang +msgid "Multi Language Chart of Accounts" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_gt +msgid "" +"\n" +"This is the base module to manage the accounting chart for Guatemala.\n" +"=====================================================================\n" +"\n" +"Agrega una nomenclatura contable para Guatemala. También icluye impuestos y\n" +"la moneda del Quetzal. -- Adds accounting chart for Guatemala. It also " +"includes\n" +"taxes and the Quetzal currency." +msgstr "" + +#. module: base +#: selection:res.lang,direction:0 +msgid "Left-to-Right" +msgstr "" + +#. module: base +#: field:ir.model.fields,translate:0 +#: view:res.lang:0 +#: field:res.lang,translatable:0 +msgid "Translatable" +msgstr "" + +#. module: base +#: help:base.language.import,code:0 +msgid "ISO Language and Country code, e.g. en_US" +msgstr "" + +#. module: base +#: model:res.country,name:base.vn +msgid "Vietnam" +msgstr "" + +#. module: base +#: field:res.users,signature:0 +msgid "Signature" +msgstr "" + +#. module: base +#: field:res.partner.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "on" +msgstr "" + +#. module: base +#: view:ir.property:0 +msgid "Parameters that are used by all resources." +msgstr "" + +#. module: base +#: model:res.country,name:base.mz +msgid "Mozambique" +msgstr "" + +#. module: base +#: help:ir.values,action_id:0 +msgid "" +"Action bound to this entry - helper field for binding an action, will " +"automatically set the correct reference" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_project_long_term +msgid "Long Term Planning" +msgstr "" + +#. module: base +#: field:ir.actions.server,message:0 +msgid "Message" +msgstr "" + +#. module: base +#: field:ir.actions.act_window.view,multi:0 +#: field:ir.actions.report.xml,multi:0 +msgid "On Multiple Doc." +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.import:0 +#: view:base.language.install:0 +#: view:base.module.import:0 +#: view:base.module.update:0 +#: view:base.module.upgrade:0 +#: view:base.update.translations:0 +#: view:change.password.wizard:0 +#: view:ir.actions.configuration.wizard:0 +#: view:res.config:0 +#: view:res.config.installer:0 +#: view:res.users:0 +#: view:wizard.ir.model.menu.create:0 +msgid "or" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_accountant +msgid "Accounting and Finance" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Upgrade" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_action_rule +msgid "" +"\n" +"This module allows to implement action rules for any object.\n" +"============================================================\n" +"\n" +"Use automated actions to automatically trigger actions for various screens.\n" +"\n" +"**Example:** A lead created by a specific user may be automatically set to a " +"specific\n" +"sales team, or an opportunity which still has status pending after 14 days " +"might\n" +"trigger an automatic reminder email.\n" +" " +msgstr "" + +#. module: base +#: field:res.partner,function:0 +msgid "Job Position" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: field:res.partner,child_ids:0 +msgid "Contacts" +msgstr "" + +#. module: base +#: model:res.country,name:base.fo +msgid "Faroe Islands" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_encryption:0 +msgid "Connection Security" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:606 +#, python-format +msgid "Please specify an action to launch !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ec +msgid "Ecuador - Accounting" +msgstr "" + +#. module: base +#: field:res.partner.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.mp +msgid "Northern Mariana Islands" +msgstr "" + +#. module: base +#: field:change.password.user,user_login:0 +msgid "User Login" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_hn +msgid "Honduras - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_report_intrastat +msgid "Intrastat Reporting" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:131 +#, python-format +msgid "" +"Please use the change password wizard (in User Preferences or User menu) to " +"change your own password." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_long_term +msgid "" +"\n" +"Long Term Project management module that tracks planning, scheduling, " +"resources allocation.\n" +"=============================================================================" +"==============\n" +"\n" +"Features:\n" +"---------\n" +" * Manage Big project\n" +" * Define various Phases of Project\n" +" * Compute Phase Scheduling: Compute start date and end date of the " +"phases\n" +" which are in draft, open and pending state of the project given. If " +"no\n" +" project given then all the draft, open and pending state phases will " +"be taken.\n" +" * Compute Task Scheduling: This works same as the scheduler button on\n" +" project.phase. It takes the project as argument and computes all the " +"open,\n" +" draft and pending tasks.\n" +" * Schedule Tasks: All the tasks which are in draft, pending and open " +"state\n" +" are scheduled with taking the phase's start date.\n" +" " +msgstr "" + +#. module: base +#: code:addons/orm.py:2021 +#, python-format +msgid "Insufficient fields for Calendar View!" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Integer" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,report_rml:0 +msgid "" +"The path to the main report file (depending on Report Type) or NULL if the " +"content is in another data field" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_14 +msgid "Manufacturer" +msgstr "" + +#. module: base +#: help:res.users,company_id:0 +msgid "The company this user is currently working for." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_wizard_ir_model_menu_create +msgid "wizard.ir.model.menu.create" +msgstr "" + +#. module: base +#: view:workflow.transition:0 +msgid "Transition" +msgstr "" + +#. module: base +#: field:ir.cron,active:0 +#: field:ir.mail_server,active:0 +#: field:ir.model.access,active:0 +#: field:ir.rule,active:0 +#: field:ir.sequence,active:0 +#: field:res.bank,active:0 +#: field:res.currency,active:0 +#: field:res.lang,active:0 +#: field:res.partner,active:0 +#: field:res.partner.category,active:0 +#: field:res.request,active:0 +#: field:res.users,active:0 +#: view:workflow.instance:0 +#: view:workflow.workitem:0 +msgid "Active" +msgstr "" + +#. module: base +#: model:res.country,name:base.na +msgid "Namibia" +msgstr "" + +#. module: base +#: field:res.partner.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:606 +#: code:addons/base/ir/ir_actions.py:702 +#: code:addons/base/ir/ir_actions.py:705 +#: code:addons/base/ir/ir_model.py:165 +#: code:addons/base/ir/ir_model.py:276 +#: code:addons/base/ir/ir_model.py:290 +#: code:addons/base/ir/ir_model.py:320 +#: code:addons/base/ir/ir_model.py:339 +#: code:addons/base/ir/ir_model.py:344 +#: code:addons/base/ir/ir_model.py:347 +#: code:addons/base/ir/ir_translation.py:341 +#: code:addons/base/module/module.py:320 +#: code:addons/base/module/module.py:362 +#: code:addons/base/module/module.py:366 +#: code:addons/base/module/module.py:372 +#: code:addons/base/module/module.py:499 +#: code:addons/base/module/module.py:525 +#: code:addons/base/module/module.py:539 +#: code:addons/base/module/module.py:644 +#: code:addons/base/res/res_currency.py:194 +#: code:addons/base/res/res_users.py:98 +#: code:addons/custom.py:555 +#: code:addons/orm.py:787 +#: code:addons/orm.py:3961 +#, python-format +msgid "Error" +msgstr "" + +#. module: base +#: help:res.partner,tz:0 +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_analytic_default +msgid "Account Analytic Defaults" +msgstr "" + +#. module: base +#: selection:ir.ui.view,type:0 +msgid "mdx" +msgstr "" + +#. module: base +#: view:ir.cron:0 +msgid "Scheduled Action" +msgstr "" + +#. module: base +#: model:res.country,name:base.bi +msgid "Burundi" +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.install:0 +#: view:base.module.configuration:0 +#: view:base.module.update:0 +msgid "Close" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (MX) / Español (MX)" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Wizards to be Launched" +msgstr "" + +#. module: base +#: model:res.country,name:base.bt +msgid "Bhutan" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_event +msgid "" +"\n" +"This module adds event menu and features to your portal if event and portal " +"are installed.\n" +"=============================================================================" +"=============\n" +" " +msgstr "" + +#. module: base +#: help:ir.sequence,number_next:0 +msgid "Next number of this sequence" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "at" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Rule Definition (Domain Filter)" +msgstr "" + +#. module: base +#: selection:ir.actions.act_url,target:0 +msgid "This Window" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_anonymous +msgid "Anonymous portal" +msgstr "" + +#. module: base +#: field:base.language.export,format:0 +msgid "File Format" +msgstr "" + +#. module: base +#: field:res.lang,iso_code:0 +msgid "ISO code" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_association +msgid "Associations Management" +msgstr "" + +#. module: base +#: help:ir.model,modules:0 +msgid "List of modules in which the object is defined or inherited" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_localization_payroll +#: model:ir.module.module,shortdesc:base.module_hr_payroll +msgid "Payroll" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_country_state +msgid "" +"If you are working on the American market, you can manage the different " +"federal states you are working on from here. Each state is attached to one " +"country." +msgstr "" + +#. module: base +#: view:workflow.workitem:0 +msgid "Workflow Workitems" +msgstr "" + +#. module: base +#: model:res.country,name:base.vc +msgid "Saint Vincent & Grenadines" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_pass:0 +#: field:res.users,password:0 +msgid "Password" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_claim +msgid "Portal Claim" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pe +msgid "Peru Localization Chart Account" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_oauth +msgid "" +"\n" +"Allow users to login through OAuth2 Provider.\n" +"=============================================\n" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_fields +#: view:ir.model:0 +#: field:ir.model,field_id:0 +#: model:ir.model,name:base.model_ir_model_fields +#: view:ir.model.fields:0 +#: model:ir.ui.menu,name:base.ir_model_model_fields +msgid "Fields" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_employee_form +msgid "Employees" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_shortcuts +msgid "" +"\n" +"Enable shortcuts feature in the web client.\n" +"===========================================\n" +"\n" +"Add a Shortcut icon in the systray in order to access the user's shortcuts " +"(if any).\n" +"\n" +"Add a Shortcut icon besides the views title in order to add/remove a " +"shortcut.\n" +" " +msgstr "" + +#. module: base +#: field:res.company,rml_header2:0 +msgid "RML Internal Header" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,search_view_id:0 +msgid "Search View Ref." +msgstr "" + +#. module: base +#: help:res.users,partner_id:0 +msgid "Partner-related data of the user" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_todo +msgid "" +"\n" +"Todo list for CRM leads and opportunities.\n" +"==========================================\n" +" " +msgstr "" + +#. module: base +#: view:ir.mail_server:0 +msgid "Test Connection" +msgstr "" + +#. module: base +#: model:res.country,name:base.mm +msgid "Myanmar" +msgstr "" + +#. module: base +#: help:ir.model.fields,modules:0 +msgid "List of modules in which the field is defined" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Chinese (CN) / 简体中文" +msgstr "" + +#. module: base +#: field:ir.model.fields,selection:0 +msgid "Selection Options" +msgstr "" + +#. module: base +#: field:res.bank,street:0 +#: field:res.company,street:0 +#: field:res.partner,street:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank,street:0 +msgid "Street" +msgstr "" + +#. module: base +#: model:res.country,name:base.yu +msgid "Yugoslavia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_gengo +msgid "" +"\n" +"Automated Translations through Gengo API\n" +"========================================\n" +"\n" +"This module will install passive scheduler job for automated translations \n" +"using the Gengo API. To activate it, you must\n" +"1) Configure your Gengo authentication parameters under `Settings > " +"Companies > Gengo Parameters`\n" +"2) Launch the wizard under `Settings > Application Terms > Gengo: Manual " +"Request of Translation` and follow the wizard.\n" +"\n" +"This wizard will activate the CRON job and the Scheduler and will start the " +"automatic translation via Gengo Services for all the terms where you " +"requested it.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_fetchmail +msgid "" +"\n" +"Retrieve incoming email on POP/IMAP servers.\n" +"============================================\n" +"\n" +"Enter the parameters of your POP/IMAP account(s), and any incoming emails " +"on\n" +"these accounts will be automatically downloaded into your OpenERP system. " +"All\n" +"POP3/IMAP-compatible servers are supported, included those that require an\n" +"encrypted SSL/TLS connection.\n" +"\n" +"This can be used to easily create email-based workflows for many email-" +"enabled OpenERP documents, such as:\n" +"-----------------------------------------------------------------------------" +"-----------------------------\n" +" * CRM Leads/Opportunities\n" +" * CRM Claims\n" +" * Project Issues\n" +" * Project Tasks\n" +" * Human Resource Recruitments (Applicants)\n" +"\n" +"Just install the relevant application, and you can assign any of these " +"document\n" +"types (Leads, Project Issues) to your incoming email accounts. New emails " +"will\n" +"automatically spawn new documents of the chosen type, so it's a snap to " +"create a\n" +"mailbox-to-OpenERP integration. Even better: these documents directly act as " +"mini\n" +"conversations synchronized by email. You can reply from within OpenERP, and " +"the\n" +"answers will automatically be collected when they come back, and attached to " +"the\n" +"same *conversation* document.\n" +"\n" +"For more specific needs, you may also assign custom-defined actions\n" +"(technically: Server Actions) to be triggered for each incoming mail.\n" +" " +msgstr "" + +#. module: base +#: field:res.currency,rounding:0 +msgid "Rounding Factor" +msgstr "" + +#. module: base +#: model:res.country,name:base.ca +msgid "Canada" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Launchpad" +msgstr "" + +#. module: base +#: help:res.currency.rate,currency_rate_type_id:0 +msgid "" +"Allow you to define your own currency rate types, like 'Average' or 'Year to " +"Date'. Leave empty if you simply want to use the normal 'spot' rate type" +msgstr "" + +#. module: base +#: selection:ir.module.module.dependency,state:0 +msgid "Unknown" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_users_my +msgid "Change My Preferences" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:171 +#, python-format +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ro +msgid "" +"\n" +"This is the module to manage the accounting chart, VAT structure and " +"Registration Number for Romania in OpenERP.\n" +"=============================================================================" +"===================================\n" +"\n" +"Romanian accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.cm +msgid "Cameroon" +msgstr "" + +#. module: base +#: model:res.country,name:base.bf +msgid "Burkina Faso" +msgstr "" + +#. module: base +#: selection:ir.model.fields,state:0 +msgid "Custom Field" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_accountant +msgid "Financial and Analytic Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_project +msgid "Portal Project" +msgstr "" + +#. module: base +#: model:res.country,name:base.cc +msgid "Cocos (Keeling) Islands" +msgstr "" + +#. module: base +#: selection:base.language.install,state:0 +#: selection:base.module.import,state:0 +#: selection:base.module.update,state:0 +msgid "init" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: field:res.partner,user_id:0 +msgid "Salesperson" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "11. %U or %W ==> 48 (49th week)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner_bank_type_field +msgid "Bank type fields" +msgstr "" + +#. module: base +#: constraint:ir.rule:0 +msgid "Rules can not be applied on Transient models." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Dutch / Nederlands" +msgstr "" + +#. module: base +#: selection:res.company,paper_format:0 +msgid "US Letter" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_customer_form +msgid "" +"

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

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

\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.bank_account_update +msgid "Company Bank Accounts" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:473 +#, python-format +msgid "Setting empty passwords is not allowed for security reasons!" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_pass:0 +msgid "Optional password for SMTP authentication" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:727 +#, python-format +msgid "Sorry, you are not allowed to modify this document." +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:380 +#, python-format +msgid "" +"\n" +"\n" +"This addon is already installed on your system" +msgstr "" + +#. module: base +#: help:ir.cron,interval_number:0 +msgid "Repeat every x." +msgstr "" + +#. module: base +#: model:res.partner.bank.type,name:base.bank_normal +msgid "Normal Bank Account" +msgstr "" + +#. module: base +#: field:change.password.user,wizard_id:0 +#: view:ir.actions.wizard:0 +msgid "Wizard" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:303 +#, python-format +msgid "database id" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_import +msgid "Base import" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "1cm 28cm 20cm 28cm" +msgstr "" + +#. module: base +#: field:ir.module.module,maintainer:0 +msgid "Maintainer" +msgstr "" + +#. module: base +#: field:ir.sequence,suffix:0 +msgid "Suffix" +msgstr "" + +#. module: base +#: model:res.country,name:base.mo +msgid "Macau" +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.res_partner_address_report +msgid "Labels" +msgstr "" + +#. module: base +#: help:res.partner,use_parent_address:0 +msgid "" +"Select this if you want to set company's address information for this " +"contact" +msgstr "" + +#. module: base +#: field:ir.default,field_name:0 +msgid "Object Field" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (PE) / Español (PE)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "French (CH) / Français (CH)" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_13 +msgid "Distributor" +msgstr "" + +#. module: base +#: help:ir.actions.server,subject:0 +msgid "" +"Email subject, may contain expressions enclosed in double brackets based on " +"the same values as those available in the condition field, e.g. `Hello [[ " +"object.partner_id.name ]]`" +msgstr "" + +#. module: base +#: help:res.partner,image:0 +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: base +#: model:res.country,name:base.to +msgid "Tonga" +msgstr "" + +#. module: base +#: help:ir.model.fields,serialization_field_id:0 +msgid "" +"If set, this field will be stored in the sparse structure of the " +"serialization field, instead of having its own database column. This cannot " +"be changed after creation." +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Bank accounts belonging to one of your companies" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_analytic_plans +msgid "" +"\n" +"This module allows to use several analytic plans according to the general " +"journal.\n" +"=============================================================================" +"=====\n" +"\n" +"Here multiple analytic lines are created when the invoice or the entries\n" +"are confirmed.\n" +"\n" +"For example, you can define the following analytic structure:\n" +"-------------------------------------------------------------\n" +" * **Projects**\n" +" * Project 1\n" +" + SubProj 1.1\n" +" \n" +" + SubProj 1.2\n" +"\n" +" * Project 2\n" +" \n" +" * **Salesman**\n" +" * Eric\n" +" \n" +" * Fabien\n" +"\n" +"Here, we have two plans: Projects and Salesman. An invoice line must be able " +"to write analytic entries in the 2 plans: SubProj 1.1 and Fabien. The amount " +"can also be split.\n" +" \n" +"The following example is for an invoice that touches the two subprojects and " +"assigned to one salesman:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +"~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"**Plan1:**\n" +"\n" +" * SubProject 1.1 : 50%\n" +" \n" +" * SubProject 1.2 : 50%\n" +" \n" +"**Plan2:**\n" +" Eric: 100%\n" +"\n" +"So when this line of invoice will be confirmed, it will generate 3 analytic " +"lines,for one account entry.\n" +"\n" +"The analytic plan validates the minimum and maximum percentage at the time " +"of creation of distribution models.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_sequence +msgid "Entries Sequence Numbering" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "POEdit" +msgstr "" + +#. module: base +#: view:ir.values:0 +msgid "Client Actions" +msgstr "" + +#. module: base +#: field:res.partner.bank.type,field_ids:0 +msgid "Type Fields" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_recruitment +msgid "Jobs, Recruitment, Applications, Job Interviews" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:539 +#, python-format +msgid "" +"You try to upgrade a module that depends on the module: %s.\n" +"But this module is not available in your system." +msgstr "" + +#. module: base +#: field:workflow.transition,act_to:0 +msgid "Destination Activity" +msgstr "" + +#. module: base +#: help:res.currency,position:0 +msgid "" +"Determines where the currency symbol should be placed after or before the " +"amount." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_pad_project +msgid "Pad on tasks" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_update_translations +msgid "base.update.translations" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Full Access Right" +msgstr "" + +#. module: base +#: field:res.partner.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: base +#: model:res.country,name:base.fi +msgid "Finland" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_shortcuts +msgid "Web Shortcuts" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: selection:res.partner,type:0 +#: selection:res.partner.title,domain:0 +#: view:res.users:0 +msgid "Contact" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_at +msgid "Austria - Accounting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project +msgid "Project Management" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Cancel Uninstall" +msgstr "" + +#. module: base +#: view:res.bank:0 +msgid "Communication" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_analytic +msgid "Analytic Accounting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_model_constraint +msgid "ir.model.constraint" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_graph +msgid "Graph Views" +msgstr "" + +#. module: base +#: help:ir.model.relation,name:0 +msgid "PostgreSQL table name implementing a many2many relation." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base +msgid "" +"\n" +"The kernel of OpenERP, needed for all installation.\n" +"===================================================\n" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_server_object_lines +msgid "ir.server.object.lines" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be +msgid "Belgium - Accounting" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +msgid "Access Control" +msgstr "" + +#. module: base +#: model:res.country,name:base.kw +msgid "Kuwait" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_followup +msgid "Payment Follow-up Management" +msgstr "" + +#. module: base +#: field:workflow.workitem,inst_id:0 +msgid "Instance" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,attachment:0 +msgid "" +"This is the filename of the attachment used to store the printing result. " +"Keep empty to not save the printed reports. You can use a python expression " +"with the object and time variables." +msgstr "" + +#. module: base +#: sql_constraint:ir.model.data:0 +msgid "" +"You cannot have multiple records with the same external ID in the same " +"module!" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Many2One" +msgstr "" + +#. module: base +#: model:res.country,name:base.ng +msgid "Nigeria" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:339 +#, python-format +msgid "For selection fields, the Selection Options must be given!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_iban +msgid "IBAN Bank Accounts" +msgstr "" + +#. module: base +#: field:res.company,user_ids:0 +msgid "Accepted Users" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon_data:0 +msgid "Web Icon Image" +msgstr "" + +#. module: base +#: field:ir.actions.server,wkf_model_id:0 +msgid "Target Object" +msgstr "" + +#. module: base +#: selection:ir.model.fields,select_level:0 +msgid "Always Searchable" +msgstr "" + +#. module: base +#: help:res.country.state,code:0 +msgid "The state code in max. three chars." +msgstr "El código de departamento en tres caracteres como máximo." + +#. module: base +#: model:res.country,name:base.hk +msgid "Hong Kong" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_sale +msgid "Portal Sale" +msgstr "" + +#. module: base +#: field:ir.default,ref_id:0 +msgid "ID Ref." +msgstr "" + +#. module: base +#: model:res.country,name:base.ph +msgid "Philippines" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_timesheet_sheet +msgid "Timesheets, Attendances, Activities" +msgstr "" + +#. module: base +#: model:res.country,name:base.ma +msgid "Morocco" +msgstr "" + +#. module: base +#: help:ir.values,model_id:0 +msgid "" +"Model to which this entry applies - helper field for setting a model, will " +"automatically set the correct model name" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "2. %a ,%A ==> Fri, Friday" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_translation.py:341 +#, python-format +msgid "" +"Translation features are unavailable until you install an extra OpenERP " +"translation." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_nl +msgid "" +"\n" +"This is the module to manage the accounting chart for Netherlands in " +"OpenERP.\n" +"=============================================================================" +"\n" +"\n" +"Read changelog in file __openerp__.py for version information.\n" +"Dit is een basismodule om een uitgebreid grootboek- en BTW schema voor\n" +"Nederlandse bedrijven te installeren in OpenERP versie 7.0.\n" +"\n" +"De BTW rekeningen zijn waar nodig gekoppeld om de juiste rapportage te " +"genereren,\n" +"denk b.v. aan intracommunautaire verwervingen waarbij u 21% BTW moet " +"opvoeren,\n" +"maar tegelijkertijd ook 21% als voorheffing weer mag aftrekken.\n" +"\n" +"Na installatie van deze module word de configuratie wizard voor 'Accounting' " +"aangeroepen.\n" +" * U krijgt een lijst met grootboektemplates aangeboden waarin zich ook " +"het\n" +" Nederlandse grootboekschema bevind.\n" +"\n" +" * Als de configuratie wizard start, wordt u gevraagd om de naam van uw " +"bedrijf\n" +" in te voeren, welke grootboekschema te installeren, uit hoeveel " +"cijfers een\n" +" grootboekrekening mag bestaan, het rekeningnummer van uw bank en de " +"currency\n" +" om Journalen te creeren.\n" +"\n" +"Let op!! -> De template van het Nederlandse rekeningschema is opgebouwd uit " +"4\n" +"cijfers. Dit is het minimale aantal welk u moet invullen, u mag het aantal " +"verhogen.\n" +"De extra cijfers worden dan achter het rekeningnummer aangevult met " +"'nullen'.\n" +"\n" +" " +msgstr "" + +#. module: base +#: help:ir.rule,global:0 +msgid "If no group is specified the rule is global and applied to everyone" +msgstr "" + +#. module: base +#: model:res.country,name:base.td +msgid "Chad" +msgstr "" + +#. module: base +#: help:ir.cron,priority:0 +msgid "" +"The priority of the job, as an integer: 0 means higher priority, 10 means " +"lower priority." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_transition +msgid "workflow.transition" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%a - Abbreviated weekday name." +msgstr "" + +#. module: base +#: view:ir.ui.menu:0 +msgid "Submenus" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Introspection report on objects" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_analytics +msgid "Google Analytics" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_note +msgid "" +"\n" +"This module allows users to create their own notes inside OpenERP\n" +"=================================================================\n" +"\n" +"Use notes to write meeting minutes, organize ideas, organize personnal todo\n" +"lists, etc. Each user manages his own personnal Notes. Notes are available " +"to\n" +"their authors only, but they can share notes to others users so that " +"several\n" +"people can work on the same note in real time. It's very efficient to share\n" +"meeting minutes.\n" +"\n" +"Notes can be found in the 'Home' menu.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.dm +msgid "Dominica" +msgstr "" + +#. module: base +#: field:ir.translation,name:0 +msgid "Translated field" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_location +msgid "Advanced Routes" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_pad +msgid "Collaborative Pads" +msgstr "" + +#. module: base +#: model:res.country,name:base.np +msgid "Nepal" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_document_page +msgid "Document Page" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ar +msgid "Argentina Localization Chart Account" +msgstr "" + +#. module: base +#: field:ir.module.module,description_html:0 +msgid "Description HTML" +msgstr "" + +#. module: base +#: help:res.groups,implied_ids:0 +msgid "Users of this group automatically inherit those groups" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_note +msgid "Sticky notes, Collaborative, Memos" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_attendance +#: model:res.groups,name:base.group_hr_attendance +msgid "Attendances" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_warning +msgid "Warning Messages and Alerts" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_ui_view_custom +#: model:ir.ui.menu,name:base.menu_action_ui_view_custom +#: view:ir.ui.view.custom:0 +msgid "Customized Views" +msgstr "" + +#. module: base +#: view:base.module.import:0 +#: model:ir.actions.act_window,name:base.action_view_base_module_import +msgid "Module Import" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_values_form_action +#: model:ir.ui.menu,name:base.menu_values_form_action +#: view:ir.values:0 +msgid "Action Bindings" +msgstr "" + +#. module: base +#: help:res.partner,lang:0 +msgid "" +"If the selected language is loaded in the system, all documents related to " +"this contact will be printed in this language. If not, it will be English." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_evaluation +msgid "" +"\n" +"Periodical Employees evaluation and appraisals\n" +"==============================================\n" +"\n" +"By using this application you can maintain the motivational process by doing " +"periodical evaluations of your employees' performance. The regular " +"assessment of human resources can benefit your people as well your " +"organization. \n" +"\n" +"An evaluation plan can be assigned to each employee. These plans define the " +"frequency and the way you manage your periodic personal evaluations. You " +"will be able to define steps and attach interview forms to each step. \n" +"\n" +"Manages several types of evaluations: bottom-up, top-down, self-evaluations " +"and the final evaluation by the manager.\n" +"\n" +"Key Features\n" +"------------\n" +"* Ability to create employees evaluations.\n" +"* An evaluation can be created by an employee for subordinates, juniors as " +"well as his manager.\n" +"* The evaluation is done according to a plan in which various surveys can be " +"created. Each survey can be answered by a particular level in the employees " +"hierarchy. The final review and evaluation is done by the manager.\n" +"* Every evaluation filled by employees can be viewed in a PDF form.\n" +"* Interview Requests are generated automatically by OpenERP according to " +"employees evaluation plans. Each user receives automatic emails and requests " +"to perform a periodical evaluation of their colleagues.\n" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_view_base_module_update +msgid "Update Modules List" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:359 +#, python-format +msgid "" +"Unable to upgrade module \"%s\" because an external dependency is not met: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account +msgid "eInvoicing" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:171 +#, python-format +msgid "" +"Please keep in mind that documents currently displayed may not be relevant " +"after switching to another company. If you have unsaved changes, please make " +"sure to save and close all forms before switching to a different company. " +"(You can click on Cancel in the User Preferences now)" +msgstr "" + +#. module: base +#: code:addons/orm.py:2818 +#, python-format +msgid "The value \"%s\" for the field \"%s.%s\" is not in the selection" +msgstr "" + +#. module: base +#: view:ir.actions.configuration.wizard:0 +msgid "Continue" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Thai / ภาษาไทย" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_bo +msgid "" +"\n" +"Bolivian accounting chart and tax localization.\n" +"\n" +"Plan contable boliviano e impuestos de acuerdo a disposiciones vigentes\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%j - Day of the year [001,366]." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Slovenian / slovenščina" +msgstr "" + +#. module: base +#: field:res.currency,position:0 +msgid "Symbol Position" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_de +msgid "" +"\n" +"Dieses Modul beinhaltet einen deutschen Kontenrahmen basierend auf dem " +"SKR03.\n" +"=============================================================================" +"=\n" +"\n" +"German accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,attachment_use:0 +msgid "Reload from Attachment" +msgstr "" + +#. module: base +#: model:res.country,name:base.mx +msgid "Mexico" +msgstr "" + +#. module: base +#: code:addons/orm.py:3903 +#, python-format +msgid "" +"For this kind of document, you may only access records you created " +"yourself.\n" +"\n" +"(Document type: %s)" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "documentation" +msgstr "" + +#. module: base +#: help:ir.model,osv_memory:0 +msgid "" +"This field specifies whether the model is transient or not (i.e. if records " +"are automatically deleted from the database or not)" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:445 +#, python-format +msgid "Missing SMTP Server" +msgstr "" + +#. module: base +#: sql_constraint:ir.translation:0 +msgid "Language code of translation item must be among known languages" +msgstr "" + +#. module: base +#: field:base.language.export,data:0 +#: field:base.language.import,data:0 +msgid "File" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install +msgid "Module Upgrade Install" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_configuration_wizard +msgid "ir.actions.configuration.wizard" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%b - Abbreviated month name." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:729 +#, python-format +msgid "Sorry, you are not allowed to delete this document." +msgstr "" + +#. module: base +#: constraint:ir.rule:0 +msgid "Rules can not be applied on the Record Rules model." +msgstr "" + +#. module: base +#: field:res.partner,supplier:0 +#: model:res.partner.category,name:base.res_partner_category_1 +msgid "Supplier" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: selection:ir.actions.server,state:0 +msgid "Multi Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_mail +msgid "Discussions, Mailing Lists, News" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_fleet +msgid "" +"\n" +"Vehicle, leasing, insurances, cost\n" +"==================================\n" +"With this module, OpenERP helps you managing all your vehicles, the\n" +"contracts associated to those vehicle as well as services, fuel log\n" +"entries, costs and many other features necessary to the management \n" +"of your fleet of vehicle(s)\n" +"\n" +"Main Features\n" +"-------------\n" +"* Add vehicles to your fleet\n" +"* Manage contracts for vehicles\n" +"* Reminder when a contract reach its expiration date\n" +"* Add services, fuel log entry, odometer values for all vehicles\n" +"* Show all costs associated to a vehicle or to a type of service\n" +"* Analysis graph for costs\n" +msgstr "" + +#. module: base +#: field:multi_company.default,company_dest_id:0 +msgid "Default Company" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (EC) / Español (EC)" +msgstr "" + +#. module: base +#: help:ir.ui.view,xml_id:0 +msgid "ID of the view defined in xml file" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_module_import +msgid "Import Module" +msgstr "" + +#. module: base +#: model:res.country,name:base.as +msgid "American Samoa" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "My Document(s)" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,res_model:0 +msgid "Model name of the object to open in the view window" +msgstr "" + +#. module: base +#: field:ir.model.fields,selectable:0 +msgid "Selectable" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:222 +#, python-format +msgid "Everything seems properly set up!" +msgstr "" + +#. module: base +#: view:res.request.link:0 +msgid "Request Link" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: selection:ir.attachment,type:0 +#: field:ir.module.module,url:0 +msgid "URL" +msgstr "" + +#. module: base +#: help:res.country,name:0 +msgid "The full name of the country." +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +msgid "Iteration" +msgstr "" + +#. module: base +#: code:addons/orm.py:4246 +#: code:addons/orm.py:4347 +#, python-format +msgid "UserError" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_project_issue +msgid "Support, Bug Tracker, Helpdesk" +msgstr "" + +#. module: base +#: model:res.country,name:base.ae +msgid "United Arab Emirates" +msgstr "" + +#. module: base +#: help:ir.ui.menu,needaction_enabled:0 +msgid "" +"If the menu entry action is an act_window action, and if this action is " +"related to a model that uses the need_action mechanism, this field is set to " +"true. Otherwise, it is false." +msgstr "" + +#. module: base +#: code:addons/orm.py:3961 +#, python-format +msgid "" +"Unable to delete this document because it is used as a default property" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_5 +msgid "Silver" +msgstr "" + +#. module: base +#: field:res.partner.title,shortcut:0 +msgid "Abbreviation" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main +msgid "Recruitment" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_gr +msgid "" +"\n" +"This is the base module to manage the accounting chart for Greece.\n" +"==================================================================\n" +"\n" +"Greek accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: view:ir.values:0 +msgid "Action Reference" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_ldap +msgid "" +"\n" +"Adds support for authentication by LDAP server.\n" +"===============================================\n" +"This module allows users to login with their LDAP username and password, " +"and\n" +"will automatically create OpenERP users for them on the fly.\n" +"\n" +"**Note:** This module only work on servers who have Python's ``ldap`` module " +"installed.\n" +"\n" +"Configuration:\n" +"--------------\n" +"After installing this module, you need to configure the LDAP parameters in " +"the\n" +"Configuration tab of the Company details. Different companies may have " +"different\n" +"LDAP servers, as long as they have unique usernames (usernames need to be " +"unique\n" +"in OpenERP, even across multiple companies).\n" +"\n" +"Anonymous LDAP binding is also supported (for LDAP servers that allow it), " +"by\n" +"simply keeping the LDAP user and password empty in the LDAP configuration.\n" +"This does not allow anonymous authentication for users, it is only for the " +"master\n" +"LDAP account that is used to verify if a user exists before attempting to\n" +"authenticate it.\n" +"\n" +"Securing the connection with STARTTLS is available for LDAP servers " +"supporting\n" +"it, by enabling the TLS option in the LDAP configuration.\n" +"\n" +"For further options configuring the LDAP settings, refer to the ldap.conf\n" +"manpage: manpage:`ldap.conf(5)`.\n" +"\n" +"Security Considerations:\n" +"------------------------\n" +"Users' LDAP passwords are never stored in the OpenERP database, the LDAP " +"server\n" +"is queried whenever a user needs to be authenticated. No duplication of the\n" +"password occurs, and passwords are managed in one place only.\n" +"\n" +"OpenERP does not manage password changes in the LDAP, so any change of " +"password\n" +"should be conducted by other means in the LDAP directory directly (for LDAP " +"users).\n" +"\n" +"It is also possible to have local OpenERP users in the database along with\n" +"LDAP-authenticated users (the Administrator account is one obvious " +"example).\n" +"\n" +"Here is how it works:\n" +"---------------------\n" +" * The system first attempts to authenticate users against the local " +"OpenERP\n" +" database;\n" +" * if this authentication fails (for example because the user has no " +"local\n" +" password), the system then attempts to authenticate against LDAP;\n" +"\n" +"As LDAP users have blank passwords by default in the local OpenERP database\n" +"(which means no access), the first step always fails and the LDAP server is\n" +"queried to do the authentication.\n" +"\n" +"Enabling STARTTLS ensures that the authentication query to the LDAP server " +"is\n" +"encrypted.\n" +"\n" +"User Template:\n" +"--------------\n" +"In the LDAP configuration on the Company form, it is possible to select a " +"*User\n" +"Template*. If set, this user will be used as template to create the local " +"users\n" +"whenever someone authenticates for the first time via LDAP authentication. " +"This\n" +"allows pre-setting the default groups and menus of the first-time users.\n" +"\n" +"**Warning:** if you set a password for the user template, this password will " +"be\n" +" assigned as local password for each new LDAP user, effectively " +"setting\n" +" a *master password* for these users (until manually changed). You\n" +" usually do not want this. One easy way to setup a template user is " +"to\n" +" login once with a valid LDAP user, let OpenERP create a blank " +"local\n" +" user with the same login (and a blank password), then rename this " +"new\n" +" user to a username that does not exist in LDAP, and setup its " +"groups\n" +" the way you want.\n" +"\n" +"Interaction with base_crypt:\n" +"----------------------------\n" +"The base_crypt module is not compatible with this module, and will disable " +"LDAP\n" +"authentication if installed at the same time.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.re +msgid "Reunion (French)" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:422 +#, python-format +msgid "" +"New column name must still start with x_ , because it is a custom field!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_repair +msgid "Repairs Management" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_asset +msgid "Assets Management" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: view:ir.rule:0 +#: field:ir.rule,global:0 +msgid "Global" +msgstr "" + +#. module: base +#: model:res.country,name:base.cz +msgid "Czech Republic" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_claim_from_delivery +msgid "Claim on Deliveries" +msgstr "" + +#. module: base +#: model:res.country,name:base.sb +msgid "Solomon Islands" +msgstr "" + +#. module: base +#: code:addons/orm.py:4152 +#: code:addons/orm.py:4685 +#, python-format +msgid "AccessError" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_gantt +msgid "" +"\n" +"OpenERP Web Gantt chart view.\n" +"=============================\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_status +msgid "State/Stage Management" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_warehouse_management +msgid "Warehouse" +msgstr "" + +#. module: base +#: field:ir.exports,resource:0 +#: model:ir.module.module,shortdesc:base.module_resource +#: field:ir.property,res_id:0 +msgid "Resource" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_process +msgid "" +"\n" +"This module shows the basic processes involved in the selected modules and " +"in the sequence they occur.\n" +"=============================================================================" +"=========================\n" +"\n" +"**Note:** This applies to the modules containing modulename_process.xml.\n" +"\n" +"**e.g.** product/process/product_process.xml.\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "8. %I:%M:%S %p ==> 06:25:20 PM" +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Filters shared with all users" +msgstr "" + +#. module: base +#: view:ir.translation:0 +#: model:ir.ui.menu,name:base.menu_translation +msgid "Translations" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Report" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_prof +msgid "Prof." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:241 +#, python-format +msgid "" +"Your OpenERP Server does not support SMTP-over-SSL. You could use STARTTLS " +"instead.If SSL is needed, an upgrade to Python 2.6 on the server-side should " +"do the trick." +msgstr "" + +#. module: base +#: model:res.country,name:base.ua +msgid "Ukraine" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:164 +#: field:ir.module.module,website:0 +#: field:res.company,website:0 +#: field:res.partner,website:0 +#, python-format +msgid "Website" +msgstr "" + +#. module: base +#: selection:ir.mail_server,smtp_encryption:0 +msgid "None" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_holidays +msgid "Leave Management" +msgstr "" + +#. module: base +#: model:res.company,overdue_msg:base.main_company +msgid "" +"Dear Sir/Madam,\n" +"\n" +"Our records indicate that some payments on your account are still due. " +"Please find details below.\n" +"If the amount has already been paid, please disregard this notice. " +"Otherwise, please forward us the total amount stated below.\n" +"If you have any queries regarding your account, Please contact us.\n" +"\n" +"Thank you in advance for your cooperation.\n" +"Best Regards," +msgstr "" + +#. module: base +#: view:ir.module.category:0 +msgid "Module Category" +msgstr "" + +#. module: base +#: model:res.country,name:base.us +msgid "United States" +msgstr "" + +#. module: base +#: view:ir.ui.view:0 +msgid "Architecture" +msgstr "" + +#. module: base +#: model:res.country,name:base.ml +msgid "Mali" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_project_config_project +msgid "Stages" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Flemish (BE) / Vlaams (BE)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Vietnamese / Tiếng Việt" +msgstr "" + +#. module: base +#: field:ir.cron,interval_number:0 +msgid "Interval Number" +msgstr "" + +#. module: base +#: model:res.country,name:base.dz +msgid "Algeria" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_hr_employees +msgid "" +"\n" +"This module adds a list of employees to your portal's contact page if hr and " +"portal_crm (which creates the contact page) are installed.\n" +"=============================================================================" +"==========================================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.bn +msgid "Brunei Darussalam" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: field:ir.actions.act_window,view_type:0 +#: field:ir.actions.act_window.view,view_mode:0 +#: field:ir.ui.view,type:0 +msgid "View Type" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_2 +msgid "User Interface" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_byproduct +msgid "MRP Byproducts" +msgstr "" + +#. module: base +#: field:res.request,ref_partner_id:0 +msgid "Partner Ref." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_expense +msgid "Expense Management" +msgstr "" + +#. module: base +#: field:ir.attachment,create_date:0 +msgid "Date Created" +msgstr "" + +#. module: base +#: help:ir.actions.server,trigger_name:0 +msgid "The workflow signal to trigger" +msgstr "" + +#. module: base +#: selection:base.language.install,state:0 +#: selection:base.module.import,state:0 +#: selection:base.module.update,state:0 +msgid "done" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +msgid "General Settings" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_in +msgid "" +"\n" +"Indian Accounting: Chart of Account.\n" +"====================================\n" +"\n" +"Indian accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_uy +msgid "Uruguay - Chart of Accounts" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_administration_shortcut +msgid "Custom Shortcuts" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_si +msgid "Slovenian - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_cancel +msgid "" +"\n" +"Allows canceling accounting entries.\n" +"====================================\n" +"\n" +"This module adds 'Allow Canceling Entries' field on form view of account " +"journal.\n" +"If set to true it allows user to cancel entries & invoices.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_plugin +msgid "CRM Plugins" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_model +#: model:ir.model,name:base.model_ir_model +#: model:ir.ui.menu,name:base.ir_model_model_menu +msgid "Models" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:499 +#, python-format +msgid "The `base` module cannot be uninstalled" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_cron.py:262 +#, python-format +msgid "Record cannot be modified right now" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Manually" +msgstr "" + +#. module: base +#: model:res.country,name:base.be +msgid "Belgium" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_osv_memory_autovacuum +msgid "osv_memory.autovacuum" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:728 +#, python-format +msgid "Sorry, you are not allowed to create this kind of document." +msgstr "" + +#. module: base +#: field:base.language.export,lang:0 +#: field:base.language.install,lang:0 +#: field:base.update.translations,lang:0 +#: field:ir.translation,lang:0 +#: view:res.lang:0 +#: field:res.partner,lang:0 +msgid "Language" +msgstr "" + +#. module: base +#: model:res.country,name:base.gm +msgid "Gambia" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_company_form +#: model:ir.actions.act_window,name:base.company_normal_action_tree +#: model:ir.model,name:base.model_res_company +#: model:ir.ui.menu,name:base.menu_action_res_company_form +#: model:ir.ui.menu,name:base.menu_res_company_global +#: view:res.company:0 +#: view:res.partner:0 +#: field:res.users,company_ids:0 +msgid "Companies" +msgstr "" + +#. module: base +#: help:res.currency,symbol:0 +msgid "Currency sign, to be used when printing amounts." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%H - Hour (24-hour clock) [00,23]." +msgstr "" + +#. module: base +#: field:ir.model.fields,on_delete:0 +msgid "On Delete" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:347 +#, python-format +msgid "Model %s does not exist!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_jit +msgid "Just In Time Scheduling" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: field:ir.actions.server,code:0 +#: selection:ir.actions.server,state:0 +msgid "Python Code" +msgstr "" + +#. module: base +#: help:ir.actions.server,state:0 +msgid "Type of the Action that is to be executed" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_crm +msgid "" +"\n" +"This module adds a contact page (with a contact form creating a lead when " +"submitted) to your portal if crm and portal are installed.\n" +"=============================================================================" +"=======================================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_us +msgid "United States - Chart of accounts" +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.import:0 +#: view:base.language.install:0 +#: view:base.module.import:0 +#: view:base.module.update:0 +#: view:base.module.upgrade:0 +#: view:base.update.translations:0 +#: view:change.password.wizard:0 +#: view:ir.actions.configuration.wizard:0 +#: view:res.config:0 +#: view:res.users:0 +#: view:wizard.ir.model.menu.create:0 +msgid "Cancel" +msgstr "" + +#. module: base +#: code:addons/orm.py:1507 +#, python-format +msgid "Unknown database identifier '%s'" +msgstr "" + +#. module: base +#: selection:base.language.export,format:0 +msgid "PO File" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_diagram +msgid "" +"\n" +"Openerp Web Diagram view.\n" +"=========================\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ch +msgid "" +"\n" +"Swiss localization :\n" +"====================\n" +"**Multilang swiss STERCHI account chart and taxes**\n" +" **Author:** Camptocamp SA\n" +"\n" +" **Donors:** Hasa Sàrl, Open Net Sàrl and Prisme Solutions Informatique SA\n" +"\n" +" **Translators:** brain-tec AG, Agile Business Group\n" +"\n" +"**This release will introduce major changes to l10n_ch.**\n" +"\n" +"Due to important refactoring needs and the Switzerland adoption of new " +"international payment standard during 2013-2014. We have reorganised the " +"swiss localization addons this way:\n" +"\n" +"- **l10n_ch**: Multilang swiss STERCHI account chart and taxes (official " +"addon)\n" +"- **l10n_ch_base_bank**: Technical module that introduces a new and " +"simplified version of bank type management\n" +"- **l10n_ch_bank**: List of swiss banks\n" +"- **l10n_ch_zip**: List of swiss postal zip\n" +"- **l10n_ch_dta**: Support of dta payment protocol (will be deprecated end " +"2014)\n" +"- **l10n_ch_payment_slip**: Support of ESR/BVR payment slip report and " +"reconciliation. Report refactored with easy element positioning.\n" +"- **l10n_ch_sepa**: Alpha implementation of PostFinance SEPA/PAIN support " +"will be completed during 2013/2014\n" +"\n" +"The modules will be soon available on OpenERP swiss localization on " +"launchpad:\n" +"https://launchpad.net/openerp-swiss-localization\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.nt +msgid "Neutral Zone" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_sale +msgid "" +"\n" +"This module adds a Sales menu to your portal as soon as sale and portal are " +"installed.\n" +"=============================================================================" +"=========\n" +"\n" +"After installing this module, portal users will be able to access their own " +"documents\n" +"via the following menus:\n" +"\n" +" - Quotations\n" +" - Sale Orders\n" +" - Delivery Orders\n" +" - Products (public ones)\n" +" - Invoices\n" +" - Payments/Refunds\n" +"\n" +"If online payment acquirers are configured, portal users will also be given " +"the opportunity to\n" +"pay online on their Sale Orders and Invoices that are not paid yet. Paypal " +"is included\n" +"by default, you simply need to configure a Paypal account in the " +"Accounting/Invoicing settings.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:316 +#, python-format +msgid "external id" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "Custom" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_margin +msgid "Margins in Sales Orders" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase +msgid "Purchase Management" +msgstr "" + +#. module: base +#: field:ir.module.module,published_version:0 +msgid "Published Version" +msgstr "" + +#. module: base +#: model:res.country,name:base.is +msgid "Iceland" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_action_window +#: model:ir.ui.menu,name:base.menu_ir_action_window +msgid "Window Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_project_issue +msgid "" +"\n" +"This module adds issue menu and features to your portal if project_issue and " +"portal are installed.\n" +"=============================================================================" +"=====================\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%I - Hour (12-hour clock) [01,12]." +msgstr "" + +#. module: base +#: view:res.config:0 +msgid "res_config_contents" +msgstr "" + +#. module: base +#: model:res.country,name:base.de +msgid "Germany" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_oauth +msgid "OAuth2 Authentication" +msgstr "" + +#. module: base +#: view:workflow:0 +msgid "" +"When customizing a workflow, be sure you do not modify an existing node or " +"arrow, but rather add new nodes or arrows. If you absolutly need to modify a " +"node or arrow, you can only change fields that are empty or set to the " +"default value. If you don't do that, your customization will be overwrited " +"at the next update or upgrade to a future version of OpenERP." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Reports :" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_multi_company +msgid "" +"\n" +"This module is for managing a multicompany environment.\n" +"=======================================================\n" +"\n" +"This module is the base module for other multi-company modules.\n" +" " +msgstr "" + +#. module: base +#: sql_constraint:res.currency:0 +msgid "The currency code must be unique per company!" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_export_language.py:39 +#, python-format +msgid "New Language (Empty translation template)" +msgstr "" + +#. module: base +#: help:ir.actions.server,email:0 +msgid "" +"Expression that returns the email address to send to. Can be based on the " +"same values as for the condition field.\n" +"Example: object.invoice_address_id.email, or 'me@example.com'" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_issue_sheet +msgid "" +"\n" +"This module adds the Timesheet support for the Issues/Bugs Management in " +"Project.\n" +"=============================================================================" +"====\n" +"\n" +"Worklogs can be maintained to signify number of hours spent by users to " +"handle an issue.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.gy +msgid "Guyana" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_expiry +msgid "Products Expiry Date" +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:419 +#, python-format +msgid "Click 'Continue' to configure the next addon..." +msgstr "" + +#. module: base +#: field:ir.actions.server,record_id:0 +msgid "Create Id" +msgstr "" + +#. module: base +#: model:res.country,name:base.hn +msgid "Honduras" +msgstr "" + +#. module: base +#: model:res.country,name:base.eg +msgid "Egypt" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Creation" +msgstr "" + +#. module: base +#: help:ir.actions.server,model_id:0 +msgid "" +"Select the object on which the action will work (read, write, create)." +msgstr "" + +#. module: base +#: field:base.language.import,name:0 +msgid "Language Name" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Boolean" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_encryption:0 +msgid "" +"Choose the connection encryption scheme:\n" +"- None: SMTP sessions are done in cleartext.\n" +"- TLS (STARTTLS): TLS encryption is requested at start of SMTP session " +"(Recommended)\n" +"- SSL/TLS: SMTP sessions are encrypted with SSL/TLS through a dedicated port " +"(default: 465)" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "Fields Description" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_analytic_contract_hr_expense +msgid "Contracts Management: hr_expense link" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: view:ir.cron:0 +#: view:ir.filters:0 +#: view:ir.model.access:0 +#: view:ir.model.data:0 +#: view:ir.model.fields:0 +#: view:ir.module.module:0 +#: view:ir.ui.view:0 +#: view:ir.values:0 +#: view:res.partner:0 +#: view:workflow.activity:0 +msgid "Group By..." +msgstr "" + +#. module: base +#: view:base.module.update:0 +msgid "Module Update Result" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_analytic_contract_hr_expense +msgid "" +"\n" +"This module is for modifying account analytic view to show some data related " +"to the hr_expense module.\n" +"=============================================================================" +"=========================\n" +msgstr "" + +#. module: base +#: field:ir.attachment,store_fname:0 +msgid "Stored Filename" +msgstr "" + +#. module: base +#: field:res.partner,use_parent_address:0 +msgid "Use Company Address" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_holidays +msgid "Holidays, Allocation and Leave Requests" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_hello +msgid "" +"\n" +"OpenERP Web example module.\n" +"===========================\n" +"\n" +msgstr "" + +#. module: base +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "To be installed" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: model:ir.module.module,shortdesc:base.module_base +#: field:res.currency,base:0 +msgid "Base" +msgstr "" + +#. module: base +#: field:ir.model.data,model:0 +#: field:ir.values,model:0 +msgid "Model Name" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Telugu / తెలుగు" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_supplier_form +msgid "" +"

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

\n" +" OpenERP helps you easily track all activities related to\n" +" a supplier: discussions, history of purchases,\n" +" documents, etc.\n" +"

\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lr +msgid "Liberia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_tests +msgid "" +"\n" +"OpenERP Web test suite.\n" +"=======================\n" +"\n" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: model:ir.module.module,shortdesc:base.module_note +#: view:res.groups:0 +#: field:res.partner,comment:0 +msgid "Notes" +msgstr "" + +#. module: base +#: field:ir.config_parameter,value:0 +#: field:ir.property,value_binary:0 +#: field:ir.property,value_datetime:0 +#: field:ir.property,value_float:0 +#: field:ir.property,value_integer:0 +#: field:ir.property,value_reference:0 +#: field:ir.property,value_text:0 +#: selection:ir.server.object.lines,type:0 +#: field:ir.server.object.lines,value:0 +#: field:ir.values,value:0 +msgid "Value" +msgstr "" + +#. module: base +#: view:base.language.import:0 +#: field:ir.sequence,code:0 +#: field:ir.sequence.type,code:0 +#: selection:ir.translation,type:0 +#: field:res.partner.bank.type,code:0 +msgid "Code" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_config_installer +msgid "res.config.installer" +msgstr "" + +#. module: base +#: model:res.country,name:base.mc +msgid "Monaco" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Minutes" +msgstr "" + +#. module: base +#: view:res.currency:0 +msgid "Display" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_multi_company +msgid "Multi Companies" +msgstr "" + +#. module: base +#: help:res.users,menu_id:0 +msgid "" +"If specified, the action will replace the standard menu for this user." +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.preview_report +msgid "Preview Report" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase_analytic_plans +msgid "Purchase Analytic Plans" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_sequence_type +#: model:ir.ui.menu,name:base.menu_ir_sequence_type +msgid "Sequence Codes" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (CO) / Español (CO)" +msgstr "" + +#. module: base +#: view:base.module.configuration:0 +msgid "" +"All pending configuration wizards have been executed. You may restart " +"individual wizards via the list of configuration wizards." +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Current Year with Century: %(year)s" +msgstr "" + +#. module: base +#: field:ir.exports,export_fields:0 +msgid "Export ID" +msgstr "" + +#. module: base +#: model:res.country,name:base.fr +msgid "France" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,flow_stop:0 +msgid "Flow Stop" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Weeks" +msgstr "" + +#. module: base +#: model:res.country,name:base.af +msgid "Afghanistan, Islamic State of" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_import.py:58 +#: code:addons/base/module/wizard/base_module_import.py:66 +#, python-format +msgid "Error !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo +msgid "Marketing Campaign - Demo" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:360 +#, python-format +msgid "" +"Can not create Many-To-One records indirectly, import the field separately" +msgstr "" + +#. module: base +#: field:ir.cron,interval_type:0 +msgid "Interval Unit" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_stock +msgid "Portal Stock" +msgstr "" + +#. module: base +#: field:workflow.activity,kind:0 +msgid "Kind" +msgstr "" + +#. module: base +#: code:addons/orm.py:4647 +#, python-format +msgid "This method does not exist anymore" +msgstr "" + +#. module: base +#: view:base.update.translations:0 +#: model:ir.actions.act_window,name:base.action_wizard_update_translations +#: model:ir.ui.menu,name:base.menu_wizard_update_translations +msgid "Synchronize Terms" +msgstr "" + +#. module: base +#: field:res.lang,thousands_sep:0 +msgid "Thousands Separator" +msgstr "" + +#. module: base +#: field:res.request,create_date:0 +msgid "Created Date" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_cn +msgid "中国会计科目表 - Accounting" +msgstr "" + +#. module: base +#: sql_constraint:ir.model.constraint:0 +msgid "Constraints with the same name are unique per module." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_report_intrastat +msgid "" +"\n" +"A module that adds intrastat reports.\n" +"=====================================\n" +"\n" +"This module gives the details of the goods traded between the countries of\n" +"European Union." +msgstr "" + +#. module: base +#: help:ir.actions.server,loop_action:0 +msgid "" +"Select the action that will be executed. Loop action will not be avaliable " +"inside loop." +msgstr "" + +#. module: base +#: help:ir.model.data,res_id:0 +msgid "ID of the target record in the database" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_analytic_analysis +msgid "Contracts Management" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Chinese (TW) / 正體字" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_request +msgid "res.request" +msgstr "" + +#. module: base +#: field:res.partner,image_medium:0 +msgid "Medium-sized image" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "In Memory" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Todo" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_visible_discount +msgid "Prices Visible Discounts" +msgstr "" + +#. module: base +#: field:ir.attachment,datas:0 +msgid "File Content" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_relation +#: view:ir.model.relation:0 +#: model:ir.ui.menu,name:base.ir_model_relation_menu +msgid "ManyToMany Relations" +msgstr "" + +#. module: base +#: model:res.country,name:base.pa +msgid "Panama" +msgstr "" + +#. module: base +#: help:workflow.transition,group_id:0 +msgid "" +"The group that a user must have to be authorized to validate this transition." +msgstr "" + +#. module: base +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "" + +#. module: base +#: model:res.country,name:base.gi +msgid "Gibraltar" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_name:0 +msgid "Service Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.pn +msgid "Pitcairn Island" +msgstr "" + +#. module: base +#: field:res.partner,category_id:0 +msgid "Tags" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "" +"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)." +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_rule +#: view:ir.rule:0 +#: model:ir.ui.menu,name:base.menu_action_rule +msgid "Record Rules" +msgstr "" + +#. module: base +#: view:multi_company.default:0 +msgid "Multi Company" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_portal +#: model:ir.module.module,shortdesc:base.module_portal +msgid "Portal" +msgstr "" + +#. module: base +#: selection:ir.translation,state:0 +msgid "To Translate" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:294 +#, python-format +msgid "See all possible values" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_claim_from_delivery +msgid "" +"\n" +"Create a claim from a delivery order.\n" +"=====================================\n" +"\n" +"Adds a Claim link to the delivery order.\n" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: view:workflow.activity:0 +msgid "Properties" +msgstr "" + +#. module: base +#: help:ir.sequence,padding:0 +msgid "" +"OpenERP will automatically adds some '0' on the left of the 'Next Number' to " +"get the required padding size." +msgstr "" + +#. module: base +#: help:ir.model.constraint,name:0 +msgid "PostgreSQL constraint or foreign key name." +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "Click to set your company logo." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%A - Full weekday name." +msgstr "" + +#. module: base +#: help:ir.values,user_id:0 +msgid "If set, action binding only applies for this user." +msgstr "" + +#. module: base +#: model:res.country,name:base.gw +msgid "Guinea Bissau" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,header:0 +msgid "Add RML Header" +msgstr "" + +#. module: base +#: help:res.company,rml_footer:0 +msgid "Footer text displayed at the bottom of all reports." +msgstr "" + +#. module: base +#: field:ir.module.module,icon:0 +msgid "Icon URL" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_note_pad +msgid "Memos pad" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_pad +msgid "" +"\n" +"Adds enhanced support for (Ether)Pad attachments in the web client.\n" +"===================================================================\n" +"\n" +"Lets the company customize which Pad installation should be used to link to " +"new\n" +"pads (by default, http://ietherpad.com/).\n" +" " +msgstr "" + +#. module: base +#: sql_constraint:res.lang:0 +msgid "The code of the language must be unique !" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_attachment +#: view:ir.actions.report.xml:0 +#: view:ir.attachment:0 +#: model:ir.ui.menu,name:base.menu_action_attachment +msgid "Attachments" +msgstr "" + +#. module: base +#: help:res.company,bank_ids:0 +msgid "Bank accounts related to this company" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_sales_management +#: model:ir.ui.menu,name:base.menu_base_partner +#: model:ir.ui.menu,name:base.menu_sale_config +#: model:ir.ui.menu,name:base.menu_sale_config_sales +#: model:ir.ui.menu,name:base.menu_sales +#: model:ir.ui.menu,name:base.next_id_64 +msgid "Sales" +msgstr "" + +#. module: base +#: field:ir.actions.server,child_ids:0 +msgid "Other Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_coda +msgid "Belgium - Import Bank CODA Statements" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,state:0 +msgid "Done" +msgstr "" + +#. module: base +#: help:ir.cron,doall:0 +msgid "" +"Specify if missed occurrences should be executed when the server restarts." +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_miss +#: model:res.partner.title,shortcut:base.res_partner_title_miss +msgid "Miss" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: field:ir.model.access,perm_write:0 +msgid "Write Access" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%m - Month number [01,12]." +msgstr "" + +#. module: base +#: view:res.bank:0 +#: field:res.bank,city:0 +#: view:res.company:0 +#: field:res.company,city:0 +#: view:res.partner:0 +#: field:res.partner,city:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank,city:0 +#: view:res.users:0 +msgid "City" +msgstr "" + +#. module: base +#: model:res.country,name:base.qa +msgid "Qatar" +msgstr "" + +#. module: base +#: model:res.country,name:base.it +msgid "Italy" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_sale_salesman +msgid "See Own Leads" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +#: selection:ir.actions.todo,state:0 +msgid "To Do" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_hr_employees +msgid "Portal HR employees" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Estonian / Eesti keel" +msgstr "" + +#. module: base +#: help:ir.actions.server,write_id:0 +msgid "" +"Provide the field name that the record id refers to for the write operation. " +"If it is empty it will refer to the active id of the object." +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "GPL-3 or later version" +msgstr "" + +#. module: base +#: code:addons/orm.py:2033 +#, python-format +msgid "" +"Insufficient fields to generate a Calendar View for %s, missing a date_stop " +"or a date_delay" +msgstr "" + +#. module: base +#: field:workflow.activity,action:0 +msgid "Python Action" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (US)" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_title_partner +msgid "" +"Manage the partner titles you want to have available in your system. The " +"partner titles is the legal status of the company: Private Limited, SA, etc." +msgstr "" + +#. module: base +#: view:res.bank:0 +#: view:res.company:0 +#: view:res.partner:0 +#: view:res.partner.bank:0 +#: view:res.users:0 +msgid "Address" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Mongolian / монгол" +msgstr "" + +#. module: base +#: model:res.country,name:base.mr +msgid "Mauritania" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_resource +msgid "" +"\n" +"Module for resource management.\n" +"===============================\n" +"\n" +"A resource represent something that can be scheduled (a developer on a task " +"or a\n" +"work center on manufacturing orders). This module manages a resource " +"calendar\n" +"associated to every resource. It also manages the leaves of every resource.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_followup +msgid "" +"\n" +"Module to automate letters for unpaid invoices, with multi-level recalls.\n" +"=========================================================================\n" +"\n" +"You can define your multiple levels of recall through the menu:\n" +"---------------------------------------------------------------\n" +" Configuration / Follow-Up Levels\n" +" \n" +"Once it is defined, you can automatically print recalls every day through " +"simply clicking on the menu:\n" +"-----------------------------------------------------------------------------" +"-------------------------\n" +" Payment Follow-Up / Send Email and letters\n" +"\n" +"It will generate a PDF / send emails / set manual actions according to the " +"the different levels \n" +"of recall defined. You can define different policies for different " +"companies. \n" +"\n" +"Note that if you want to check the follow-up level for a given " +"partner/account entry, you can do from in the menu:\n" +"-----------------------------------------------------------------------------" +"-------------------------------------\n" +" Reporting / Accounting / **Follow-ups Analysis\n" +"\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:735 +#, python-format +msgid "" +"Please contact your system administrator if you think this is an error." +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:545 +#: view:base.module.upgrade:0 +#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade +#, python-format +msgid "Apply Schedule Upgrade" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.workitem,act_id:0 +msgid "Activity" +msgstr "" + +#. module: base +#: view:change.password.user:0 +#: field:change.password.wizard,user_ids:0 +#: model:ir.actions.act_window,name:base.action_res_users +#: field:ir.default,uid:0 +#: model:ir.model,name:base.model_res_users +#: model:ir.ui.menu,name:base.menu_action_res_users +#: model:ir.ui.menu,name:base.menu_users +#: view:res.groups:0 +#: field:res.groups,users:0 +#: field:res.partner,user_ids:0 +#: view:res.users:0 +msgid "Users" +msgstr "" + +#. module: base +#: field:res.company,parent_id:0 +msgid "Parent Company" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_openid +msgid "OpenID Authentification" +msgstr "" + +#. module: base +#: code:addons/orm.py:3872 +#, python-format +msgid "" +"One of the documents you are trying to access has been deleted, please try " +"again after refreshing." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_mail_server +msgid "ir.mail_server" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (CR) / Español (CR)" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"Global rules (non group-specific) are restrictions, and cannot be bypassed. " +"Group-local rules grant additional permissions, but are constrained within " +"the bounds of global ones. The first group rules restrict further than " +"global rules, but any additional group rule will add more permissions" +msgstr "" + +#. module: base +#: field:res.currency.rate,rate:0 +msgid "Rate" +msgstr "" + +#. module: base +#: model:res.country,name:base.cg +msgid "Congo" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "Examples" +msgstr "" + +#. module: base +#: field:ir.default,value:0 +msgid "Default Value" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_country_state +msgid "Country state" +msgstr "Departamento" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_5 +msgid "Sequences & Identifiers" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_th +msgid "" +"\n" +"Chart of Accounts for Thailand.\n" +"===============================\n" +"\n" +"Thai accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.kn +msgid "Saint Kitts & Nevis Anguilla" +msgstr "" + +#. module: base +#: code:addons/base/res/res_currency.py:194 +#, python-format +msgid "" +"No rate found \n" +"for the currency: %s \n" +"at the date: %s" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_ui_view_custom +msgid "" +"Customized views are used when users reorganize the content of their " +"dashboard views (via web client)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_stock +msgid "Sales and Warehouse Management" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_recruitment +msgid "" +"\n" +"Manage job positions and the recruitment process\n" +"================================================\n" +"\n" +"This application allows you to easily keep track of jobs, vacancies, " +"applications, interviews...\n" +"\n" +"It is integrated with the mail gateway to automatically fetch email sent to " +" in the list of applications. It's also integrated " +"with the document management system to store and search in the CV base and " +"find the candidate that you are looking for. Similarly, it is integrated " +"with the survey module to allow you to define interviews for different " +"jobs.\n" +"You can define the different phases of interviews and easily rate the " +"applicant from the kanban view.\n" +msgstr "" + +#. module: base +#: field:ir.model.fields,model:0 +msgid "Object Name" +msgstr "" + +#. module: base +#: help:ir.actions.server,srcmodel_id:0 +msgid "" +"Object in which you want to create / write the object. If it is empty then " +"refer to the Object field." +msgstr "" + +#. module: base +#: view:ir.module.module:0 +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "Not Installed" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,out_transitions:0 +msgid "Outgoing Transitions" +msgstr "" + +#. module: base +#: field:ir.module.module,icon_image:0 +#: field:ir.ui.menu,icon:0 +msgid "Icon" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_human_resources +msgid "" +"Helps you manage your human resources by encoding your employees structure, " +"generating work sheets, tracking attendance and more." +msgstr "" + +#. module: base +#: help:res.partner,ean13:0 +msgid "BarCode" +msgstr "" + +#. module: base +#: help:ir.model.fields,model_id:0 +msgid "The model this field belongs to" +msgstr "" + +#. module: base +#: field:ir.actions.server,sms:0 +#: selection:ir.actions.server,state:0 +msgid "SMS" +msgstr "" + +#. module: base +#: model:res.country,name:base.mq +msgid "Martinique (French)" +msgstr "" + +#. module: base +#: help:res.partner,is_company:0 +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: base +#: view:ir.sequence.type:0 +msgid "Sequences Type" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Mobile:" +msgstr "" + +#. module: base +#: code:addons/base/res/res_bank.py:195 +#, python-format +msgid "Formating Error" +msgstr "" + +#. module: base +#: model:res.country,name:base.ye +msgid "Yemen" +msgstr "" + +#. module: base +#: selection:workflow.activity,split_mode:0 +msgid "Or" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_br +msgid "Brazilian - Accounting" +msgstr "" + +#. module: base +#: model:res.country,name:base.pk +msgid "Pakistan" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_product_margin +msgid "" +"\n" +"Adds a reporting menu in products that computes sales, purchases, margins " +"and other interesting indicators based on invoices.\n" +"=============================================================================" +"================================================\n" +"\n" +"The wizard to launch the report has several options to help you get the data " +"you need.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.al +msgid "Albania" +msgstr "" + +#. module: base +#: model:res.country,name:base.ws +msgid "Samoa" +msgstr "" + +#. module: base +#: code:addons/base/res/res_lang.py:189 +#, python-format +msgid "" +"You cannot delete the language which is Active !\n" +"Please de-activate the language first." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:509 +#: code:addons/base/ir/ir_model.py:570 +#: code:addons/base/ir/ir_model.py:1031 +#, python-format +msgid "Permission Denied" +msgstr "" + +#. module: base +#: field:ir.ui.menu,child_id:0 +msgid "Child IDs" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:702 +#: code:addons/base/ir/ir_actions.py:705 +#, python-format +msgid "Problem in configuration `Record Id` in Server Action!" +msgstr "" + +#. module: base +#: code:addons/orm.py:2807 +#: code:addons/orm.py:2817 +#, python-format +msgid "ValidateError" +msgstr "" + +#. module: base +#: view:base.module.import:0 +#: view:base.module.update:0 +msgid "Open Modules" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_res_bank_form +msgid "Manage bank records you want to be used in the system." +msgstr "" + +#. module: base +#: view:base.module.import:0 +msgid "Import module" +msgstr "" + +#. module: base +#: field:ir.actions.server,loop_action:0 +msgid "Loop Action" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,report_file:0 +msgid "" +"The path to the main report file (depending on Report Type) or NULL if the " +"content is in another field" +msgstr "" + +#. module: base +#: model:res.country,name:base.la +msgid "Laos" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:163 +#: selection:ir.actions.server,state:0 +#: model:ir.ui.menu,name:base.menu_email +#: field:res.bank,email:0 +#: field:res.company,email:0 +#: field:res.partner,email:0 +#, python-format +msgid "Email" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_12 +msgid "Office Supplies" +msgstr "" + +#. module: base +#: field:ir.attachment,res_model:0 +msgid "Resource Model" +msgstr "" + +#. module: base +#: code:addons/custom.py:555 +#, python-format +msgid "" +"The sum of the data (2nd field) is null.\n" +"We can't draw a pie chart !" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Information About the Bank" +msgstr "" + +#. module: base +#: help:ir.actions.server,condition:0 +msgid "" +"Condition that is tested before the action is executed, and prevent " +"execution if it is not verified.\n" +"Example: object.list_price > 5000\n" +"It is a Python expression that can use the following values:\n" +" - self: ORM model of the record on which the action is triggered\n" +" - object or obj: browse_record of the record on which the action is " +"triggered\n" +" - pool: ORM model pool (i.e. self.pool)\n" +" - time: Python time module\n" +" - cr: database cursor\n" +" - uid: current user id\n" +" - context: current context" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"2. Group-specific rules are combined together with a logical OR operator" +msgstr "" + +#. module: base +#: model:res.country,name:base.bl +msgid "Saint Barthélémy" +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "Other Proprietary" +msgstr "" + +#. module: base +#: model:res.country,name:base.ec +msgid "Ecuador" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow +msgid "workflow" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Read Access Right" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_analytic_user_function +msgid "Jobs on Contracts" +msgstr "" + +#. module: base +#: code:addons/base/res/res_lang.py:187 +#, python-format +msgid "You cannot delete the language which is User's Preferred Language !" +msgstr "" + +#. module: base +#: view:ir.model.data:0 +msgid "Updatable" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "3. %x ,%X ==> 12/05/08, 18:25:20" +msgstr "" + +#. module: base +#: selection:ir.model.fields,on_delete:0 +msgid "Cascade" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_crm +msgid "Leads, Opportunities, Phone Calls" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_knowledge_management +msgid "" +"Lets you install addons geared towards sharing knowledge with and between " +"your employees." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Arabic / الْعَرَبيّة" +msgstr "" + +#. module: base +#: selection:ir.translation,state:0 +msgid "Translated" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_inventory_form +#: model:ir.ui.menu,name:base.menu_action_inventory_form +msgid "Default Company per Object" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_hello +msgid "Hello" +msgstr "" + +#. module: base +#: view:ir.actions.configuration.wizard:0 +msgid "Next Configuration Step" +msgstr "" + +#. module: base +#: field:res.groups,comment:0 +msgid "Comment" +msgstr "" + +#. module: base +#: field:ir.filters,domain:0 +#: field:ir.model.fields,domain:0 +#: field:ir.rule,domain:0 +#: field:ir.rule,domain_force:0 +#: field:res.partner.title,domain:0 +msgid "Domain" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:166 +#, python-format +msgid "Use '1' for yes and '0' for no" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_marketing_campaign +msgid "Marketing Campaigns" +msgstr "" + +#. module: base +#: field:res.country.state,name:0 +msgid "State Name" +msgstr "Nombre Departamento" + +#. module: base +#: help:ir.attachment,type:0 +msgid "Binary File or URL" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:313 +#, python-format +msgid "Invalid database id '%s' for the field '%%(field)s'" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "Update Languague Terms" +msgstr "" + +#. module: base +#: field:workflow.activity,join_mode:0 +msgid "Join Mode" +msgstr "" + +#. module: base +#: field:res.partner,tz:0 +msgid "Timezone" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_report_xml +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.report.xml" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_sequence_form +#: view:ir.sequence:0 +#: model:ir.ui.menu,name:base.menu_ir_sequence_form +msgid "Sequences" +msgstr "" + +#. module: base +#: help:res.lang,code:0 +msgid "This field is used to set/get locales for user" +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Shared" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:357 +#, python-format +msgid "" +"Unable to install module \"%s\" because an external dependency is not met: %s" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Search modules" +msgstr "" + +#. module: base +#: model:res.country,name:base.by +msgid "Belarus" +msgstr "" + +#. module: base +#: field:ir.actions.act_url,name:0 +#: field:ir.actions.act_window,name:0 +#: field:ir.actions.client,name:0 +#: field:ir.actions.server,name:0 +msgid "Action Name" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_res_users +msgid "" +"Create and manage users that will connect to the system. Users can be " +"deactivated should there be a period of time during which they will/should " +"not connect to the system. You can assign them groups in order to give them " +"specific access to the applications they need to use in the system." +msgstr "" + +#. module: base +#: selection:res.request,priority:0 +msgid "Normal" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase_double_validation +msgid "Double Validation on Purchases" +msgstr "" + +#. module: base +#: field:res.bank,street2:0 +#: field:res.company,street2:0 +#: field:res.partner,street2:0 +msgid "Street2" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_view_base_module_update +msgid "Module Update" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_upgrade.py:85 +#, python-format +msgid "Following modules are not installed or unknown: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_oauth_signup +msgid "" +"\n" +"Allow users to sign up through OAuth2 Provider.\n" +"===============================================\n" +msgstr "" + +#. module: base +#: field:change.password.user,user_id:0 +#: view:ir.cron:0 +#: field:ir.cron,user_id:0 +#: view:ir.filters:0 +#: field:ir.filters,user_id:0 +#: field:ir.ui.view.custom,user_id:0 +#: field:ir.values,user_id:0 +#: model:res.groups,name:base.group_document_user +#: model:res.groups,name:base.group_tool_user +#: view:res.users:0 +msgid "User" +msgstr "" + +#. module: base +#: model:res.country,name:base.pr +msgid "Puerto Rico" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_tests_demo +msgid "Demonstration of web/javascript tests" +msgstr "" + +#. module: base +#: field:workflow.transition,signal:0 +msgid "Signal (Button Name)" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +msgid "Open Window" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,auto_search:0 +msgid "Auto Search" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,filter:0 +msgid "Filter" +msgstr "" + +#. module: base +#: model:res.country,name:base.ch +msgid "Switzerland" +msgstr "" + +#. module: base +#: model:res.country,name:base.gd +msgid "Grenada" +msgstr "" + +#. module: base +#: help:res.partner,customer:0 +msgid "Check this box if this contact is a customer." +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Trigger Configuration" +msgstr "" + +#. module: base +#: view:base.language.install:0 +msgid "Load" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_warning +msgid "" +"\n" +"Module to trigger warnings in OpenERP objects.\n" +"==============================================\n" +"\n" +"Warning messages can be displayed for objects like sale order, purchase " +"order,\n" +"picking and invoice. The message is triggered by the form's onchange event.\n" +" " +msgstr "" + +#. module: base +#: field:res.users,partner_id:0 +msgid "Related Partner" +msgstr "" + +#. module: base +#: code:addons/osv.py:172 +#: code:addons/osv.py:174 +#, python-format +msgid "Integrity Error" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_pa +msgid "" +"\n" +"Panamenian accounting chart and tax localization.\n" +"\n" +"Plan contable panameño e impuestos de acuerdo a disposiciones vigentes\n" +"\n" +"Con la Colaboración de \n" +"- AHMNET CORP http://www.ahmnet.com\n" +"\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:296 +#, python-format +msgid "Size of the field can never be less than 1 !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_operations +msgid "Manufacturing Operations" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Here is the exported translation file:" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_rml_content:0 +#: field:ir.actions.report.xml,report_rml_content_data:0 +msgid "RML Content" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "Update Terms" +msgstr "" + +#. module: base +#: field:res.request,act_to:0 +#: field:res.request.history,act_to:0 +msgid "To" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr +msgid "Employee Directory" +msgstr "" + +#. module: base +#: field:ir.cron,args:0 +msgid "Arguments" +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "GPL Version 2" +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "GPL Version 3" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_stock_location +msgid "" +"\n" +"This module supplements the Warehouse application by effectively " +"implementing Push and Pull inventory flows.\n" +"=============================================================================" +"===============================\n" +"\n" +"Typically this could be used to:\n" +"--------------------------------\n" +" * Manage product manufacturing chains\n" +" * Manage default locations per product\n" +" * Define routes within your warehouse according to business needs, such " +"as:\n" +" - Quality Control\n" +" - After Sales Services\n" +" - Supplier Returns\n" +"\n" +" * Help rental management, by generating automated return moves for " +"rented products\n" +"\n" +"Once this module is installed, an additional tab appear on the product " +"form,\n" +"where you can add Push and Pull flow specifications. The demo data of CPU1\n" +"product for that push/pull :\n" +"\n" +"Push flows:\n" +"-----------\n" +"Push flows are useful when the arrival of certain products in a given " +"location\n" +"should always be followed by a corresponding move to another location, " +"optionally\n" +"after a certain delay. The original Warehouse application already supports " +"such\n" +"Push flow specifications on the Locations themselves, but these cannot be\n" +"refined per-product.\n" +"\n" +"A push flow specification indicates which location is chained with which " +"location,\n" +"and with what parameters. As soon as a given quantity of products is moved " +"in the\n" +"source location, a chained move is automatically foreseen according to the\n" +"parameters set on the flow specification (destination location, delay, type " +"of\n" +"move, journal). The new move can be automatically processed, or require a " +"manual\n" +"confirmation, depending on the parameters.\n" +"\n" +"Pull flows:\n" +"-----------\n" +"Pull flows are a bit different from Push flows, in the sense that they are " +"not\n" +"related to the processing of product moves, but rather to the processing of\n" +"procurement orders. What is being pulled is a need, not directly products. " +"A\n" +"classical example of Pull flow is when you have an Outlet company, with a " +"parent\n" +"Company that is responsible for the supplies of the Outlet.\n" +"\n" +" [ Customer ] <- A - [ Outlet ] <- B - [ Holding ] <~ C ~ [ Supplier ]\n" +"\n" +"When a new procurement order (A, coming from the confirmation of a Sale " +"Order\n" +"for example) arrives in the Outlet, it is converted into another " +"procurement\n" +"(B, via a Pull flow of type 'move') requested from the Holding. When " +"procurement\n" +"order B is processed by the Holding company, and if the product is out of " +"stock,\n" +"it can be converted into a Purchase Order (C) from the Supplier (Pull flow " +"of\n" +"type Purchase). The result is that the procurement order, the need, is " +"pushed\n" +"all the way between the Customer and Supplier.\n" +"\n" +"Technically, Pull flows allow to process procurement orders differently, " +"not\n" +"only depending on the product being considered, but also depending on which\n" +"location holds the 'need' for that product (i.e. the destination location " +"of\n" +"that procurement order).\n" +"\n" +"Use-Case:\n" +"---------\n" +"\n" +"You can use the demo data as follow:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +" **CPU1:** Sell some CPU1 from Chicago Shop and run the scheduler\n" +" - Warehouse: delivery order, Chicago Shop: reception\n" +" **CPU3:**\n" +" - When receiving the product, it goes to Quality Control location then\n" +" stored to shelf 2.\n" +" - When delivering the customer: Pick List -> Packing -> Delivery Order " +"from Gate A\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_decimal_precision +msgid "" +"\n" +"Configure the price accuracy you need for different kinds of usage: " +"accounting, sales, purchases.\n" +"=============================================================================" +"====================\n" +"\n" +"The decimal precision is configured per company.\n" +msgstr "" + +#. module: base +#: selection:res.company,paper_format:0 +msgid "A4" +msgstr "" + +#. module: base +#: view:res.config.installer:0 +msgid "Configuration Installer" +msgstr "" + +#. module: base +#: field:res.partner,customer:0 +msgid "Customer" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (NI) / Español (NI)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_pad_project +msgid "" +"\n" +"This module adds a PAD in all project kanban views.\n" +"===================================================\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.act_window,context:0 +#: field:ir.actions.client,context:0 +msgid "Context Value" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Hour 00->24: %(h24)s" +msgstr "" + +#. module: base +#: field:ir.cron,nextcall:0 +msgid "Next Execution Date" +msgstr "" + +#. module: base +#: field:ir.sequence,padding:0 +msgid "Number Padding" +msgstr "" + +#. module: base +#: help:multi_company.default,field_id:0 +msgid "Select field property" +msgstr "" + +#. module: base +#: field:res.request.history,date_sent:0 +msgid "Date sent" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Month: %(month)s" +msgstr "" + +#. module: base +#: field:ir.actions.act_window.view,sequence:0 +#: field:ir.actions.server,sequence:0 +#: field:ir.actions.todo,sequence:0 +#: view:ir.cron:0 +#: field:ir.module.category,sequence:0 +#: field:ir.module.module,sequence:0 +#: view:ir.sequence:0 +#: field:ir.ui.menu,sequence:0 +#: view:ir.ui.view:0 +#: field:ir.ui.view,priority:0 +#: field:ir.ui.view_sc,sequence:0 +#: field:multi_company.default,sequence:0 +#: field:res.partner.bank,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: base +#: model:res.country,name:base.tn +msgid "Tunisia" +msgstr "" + +#. module: base +#: help:ir.model.access,active:0 +msgid "" +"If you uncheck the active field, it will disable the ACL without deleting it " +"(if you delete a native ACL, it will be re-created when you reload the " +"module." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_fields_converter +msgid "ir.fields.converter" +msgstr "" + +#. module: base +#: code:addons/base/res/res_partner.py:439 +#, python-format +msgid "Couldn't create contact without email address !" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_manufacturing +#: model:ir.ui.menu,name:base.menu_mrp_config +#: model:ir.ui.menu,name:base.menu_mrp_root +msgid "Manufacturing" +msgstr "" + +#. module: base +#: model:res.country,name:base.km +msgid "Comoros" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Cancel Install" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_model_relation +msgid "ir.model.relation" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_check_writing +msgid "Check Writing" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_plugin_outlook +msgid "" +"\n" +"This module provides the Outlook Plug-in.\n" +"=========================================\n" +"\n" +"Outlook plug-in allows you to select an object that you would like to add " +"to\n" +"your email and its attachments from MS Outlook. You can select a partner, a " +"task,\n" +"a project, an analytical account, or any other object and archive selected " +"mail\n" +"into mail.message with attachments.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_bo +msgid "Bolivia Localization Chart Account" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_plugin_thunderbird +msgid "" +"\n" +"This module is required for the Thuderbird Plug-in to work properly.\n" +"====================================================================\n" +"\n" +"The plugin allows you archive email and its attachments to the selected\n" +"OpenERP objects. You can select a partner, a task, a project, an analytical\n" +"account, or any other object and attach the selected mail as a .eml file in\n" +"the attachment of a selected record. You can create documents for CRM Lead,\n" +"HR Applicant and Project Issue from selected mails.\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "Legends for Date and Time Formats" +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +msgid "Copy Object" +msgstr "" + +#. module: base +#: field:ir.actions.server,trigger_name:0 +msgid "Trigger Signal" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_country_state +#: model:ir.ui.menu,name:base.menu_country_state_partner +msgid "Fed. States" +msgstr "Departamentos" + +#. module: base +#: view:ir.model:0 +#: view:res.groups:0 +msgid "Access Rules" +msgstr "" + +#. module: base +#: field:res.groups,trans_implied_ids:0 +msgid "Transitively inherits" +msgstr "" + +#. module: base +#: field:ir.default,ref_table:0 +msgid "Table Ref." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_journal +msgid "" +"\n" +"The sales journal modules allows you to categorise your sales and deliveries " +"(picking lists) between different journals.\n" +"=============================================================================" +"===========================================\n" +"\n" +"This module is very helpful for bigger companies that works by departments.\n" +"\n" +"You can use journal for different purposes, some examples:\n" +"----------------------------------------------------------\n" +" * isolate sales of different departments\n" +" * journals for deliveries by truck or by UPS\n" +"\n" +"Journals have a responsible and evolves between different status:\n" +"-----------------------------------------------------------------\n" +" * draft, open, cancel, done.\n" +"\n" +"Batch operations can be processed on the different journals to confirm all " +"sales\n" +"at once, to validate or invoice packing.\n" +"\n" +"It also supports batch invoicing methods that can be configured by partners " +"and sales orders, examples:\n" +"-----------------------------------------------------------------------------" +"--------------------------\n" +" * daily invoicing\n" +" * monthly invoicing\n" +"\n" +"Some statistics by journals are provided.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:474 +#, python-format +msgid "Mail delivery failed" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: field:ir.actions.report.xml,model:0 +#: field:ir.actions.server,model_id:0 +#: field:ir.actions.wizard,model:0 +#: field:ir.cron,model:0 +#: field:ir.default,field_tbl:0 +#: view:ir.model.access:0 +#: field:ir.model.access,model_id:0 +#: view:ir.model.data:0 +#: view:ir.model.fields:0 +#: field:ir.rule,model_id:0 +#: selection:ir.translation,type:0 +#: view:ir.ui.view:0 +#: field:ir.ui.view,model:0 +#: field:multi_company.default,object_id:0 +#: field:res.request.link,object:0 +#: field:workflow.triggers,model:0 +msgid "Object" +msgstr "" + +#. module: base +#: code:addons/osv.py:169 +#, python-format +msgid "" +"\n" +"\n" +"[object with reference: %s - %s]" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_analytic_plans +msgid "Multiple Analytic Plans" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_default +msgid "ir.default" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Minute: %(min)s" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_ir_cron +msgid "Scheduler" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_event_moodle +msgid "" +"\n" +"Configure your moodle server.\n" +"============================= \n" +"\n" +"With this module you are able to connect your OpenERP with a moodle " +"platform.\n" +"This module will create courses and students automatically in your moodle " +"platform \n" +"to avoid wasting time.\n" +"Now you have a simple way to create training or courses with OpenERP and " +"moodle.\n" +"\n" +"STEPS TO CONFIGURE:\n" +"-------------------\n" +"\n" +"1. Activate web service in moodle.\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +">site administration >plugins >web services >manage protocols activate the " +"xmlrpc web service \n" +"\n" +"\n" +">site administration >plugins >web services >manage tokens create a token \n" +"\n" +"\n" +">site administration >plugins >web services >overview activate webservice\n" +"\n" +"\n" +"2. Create confirmation email with login and password.\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"We strongly suggest you to add those following lines at the bottom of your " +"event\n" +"confirmation email to communicate the login/password of moodle to your " +"subscribers.\n" +"\n" +"\n" +"........your configuration text.......\n" +"\n" +"**URL:** your moodle link for exemple: http://openerp.moodle.com\n" +"\n" +"**LOGIN:** ${object.moodle_username}\n" +"\n" +"**PASSWORD:** ${object.moodle_user_password}\n" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_uk +msgid "UK - Accounting" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_madam +msgid "Mrs." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:432 +#, python-format +msgid "" +"Changing the type of a column is not yet supported. Please drop it and " +"create it again!" +msgstr "" + +#. module: base +#: field:ir.ui.view_sc,user_id:0 +msgid "User Ref." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:226 +#, python-format +msgid "'%s' does not seem to be a valid datetime for field '%%(field)s'" +msgstr "" + +#. module: base +#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic +msgid "bank_bic" +msgstr "" + +#. module: base +#: field:ir.actions.server,expression:0 +msgid "Loop Expression" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_16 +msgid "Retailer" +msgstr "" + +#. module: base +#: view:ir.model.fields:0 +#: field:ir.model.fields,readonly:0 +#: field:res.partner.bank.type.field,readonly:0 +msgid "Readonly" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_gt +msgid "Guatemala - Accounting" +msgstr "" + +#. module: base +#: help:ir.cron,args:0 +msgid "Arguments to be passed to the method, e.g. (uid,)." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Reference Guide" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner +#: field:res.company,partner_id:0 +#: model:res.partner.category,name:base.res_partner_category_0 +#: selection:res.partner.title,domain:0 +#: model:res.request.link,name:base.req_link_partner +msgid "Partner" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:482 +#, python-format +msgid "" +"Your server does not seem to support SSL, you may want to try STARTTLS " +"instead" +msgstr "" + +#. module: base +#: code:addons/base/ir/workflow/workflow.py:100 +#, python-format +msgid "" +"Please make sure no workitems refer to an activity before deleting it!" +msgstr "" + +#. module: base +#: model:res.country,name:base.tr +msgid "Turkey" +msgstr "" + +#. module: base +#: model:res.country,name:base.fk +msgid "Falkland Islands" +msgstr "" + +#. module: base +#: model:res.country,name:base.lb +msgid "Lebanon" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +#: field:ir.actions.report.xml,report_type:0 +msgid "Report Type" +msgstr "" + +#. module: base +#: view:res.bank:0 +#: view:res.company:0 +#: view:res.country.state:0 +#: view:res.partner:0 +#: field:res.partner,state_id:0 +#: view:res.partner.bank:0 +#: view:res.users:0 +msgid "State" +msgstr "Departamento" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Galician / Galego" +msgstr "" + +#. module: base +#: model:res.country,name:base.no +msgid "Norway" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "4. %b, %B ==> Dec, December" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_cl +msgid "Chile Localization Chart Account" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Sinhalese / සිංහල" +msgstr "" + +#. module: base +#: selection:res.request,state:0 +msgid "waiting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_triggers +msgid "workflow.triggers" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "XSL" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:85 +#, python-format +msgid "Invalid search criterions" +msgstr "" + +#. module: base +#: view:ir.mail_server:0 +msgid "Connection Information" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_prof +msgid "Professor" +msgstr "" + +#. module: base +#: model:res.country,name:base.hm +msgid "Heard and McDonald Islands" +msgstr "" + +#. module: base +#: help:ir.model.data,name:0 +msgid "" +"External Key/Identifier that can be used for data integration with third-" +"party systems" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,view_id:0 +msgid "View Ref." +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_sales_management +msgid "Helps you handle your quotations, sale orders and invoicing." +msgstr "" + +#. module: base +#: field:res.users,login_date:0 +msgid "Latest connection" +msgstr "" + +#. module: base +#: field:res.groups,implied_ids:0 +msgid "Inherits" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "Selection" +msgstr "" + +#. module: base +#: view:change.password.wizard:0 +#: model:ir.actions.act_window,name:base.change_password_wizard_action +#: view:res.users:0 +msgid "Change Password" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_es +msgid "" +"\n" +"Spanish Charts of Accounts (PGCE 2008).\n" +"=======================================\n" +"\n" +" * Defines the following chart of account templates:\n" +" * Spanish General Chart of Accounts 2008\n" +" * Spanish General Chart of Accounts 2008 for small and medium " +"companies\n" +" * Defines templates for sale and purchase VAT\n" +" * Defines tax code templates\n" +"\n" +"**Note:** You should install the l10n_ES_account_balance_report module for " +"yearly\n" +" account reporting (balance, profit & losses).\n" +msgstr "" + +#. module: base +#: field:ir.actions.act_url,type:0 +#: field:ir.actions.act_window,type:0 +#: field:ir.actions.act_window_close,type:0 +#: field:ir.actions.actions,type:0 +#: field:ir.actions.client,type:0 +#: field:ir.actions.report.xml,type:0 +#: view:ir.actions.server:0 +#: field:ir.actions.server,state:0 +#: field:ir.actions.server,type:0 +#: field:ir.actions.wizard,type:0 +msgid "Action Type" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:372 +#, python-format +msgid "" +"You try to install module '%s' that depends on module '%s'.\n" +"But the latter module is not available in your system." +msgstr "" + +#. module: base +#: view:base.language.import:0 +#: model:ir.actions.act_window,name:base.action_view_base_import_language +#: model:ir.ui.menu,name:base.menu_view_base_import_language +msgid "Import Translation" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +#: field:ir.module.module,category_id:0 +msgid "Category" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: selection:ir.attachment,type:0 +#: selection:ir.property,type:0 +msgid "Binary" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_doctor +msgid "Doctor" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mrp_repair +msgid "" +"\n" +"The aim is to have a complete module to manage all products repairs.\n" +"====================================================================\n" +"\n" +"The following topics should be covered by this module:\n" +"------------------------------------------------------\n" +" * Add/remove products in the reparation\n" +" * Impact for stocks\n" +" * Invoicing (products and/or services)\n" +" * Warranty concept\n" +" * Repair quotation report\n" +" * Notes for the technician and for the final customer\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.cd +msgid "Congo, Democratic Republic of the" +msgstr "" + +#. module: base +#: model:res.country,name:base.cr +msgid "Costa Rica" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_ldap +msgid "Authentication via LDAP" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +msgid "Conditions" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_other_form +msgid "Other Partners" +msgstr "" + +#. module: base +#: field:base.language.install,state:0 +#: field:base.module.import,state:0 +#: field:base.module.update,state:0 +#: field:ir.actions.todo,state:0 +#: field:ir.module.module,state:0 +#: field:ir.module.module.dependency,state:0 +#: field:ir.translation,state:0 +#: field:res.request,state:0 +#: field:workflow.instance,state:0 +#: view:workflow.workitem:0 +#: field:workflow.workitem,state:0 +msgid "Status" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_currency_form +#: model:ir.ui.menu,name:base.menu_action_currency_form +#: view:res.currency:0 +msgid "Currencies" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_8 +msgid "Consultancy Services" +msgstr "" + +#. module: base +#: help:ir.values,value:0 +msgid "Default value (pickled) or reference to an action" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,auto:0 +msgid "Custom Python Parser" +msgstr "" + +#. module: base +#: sql_constraint:res.groups:0 +msgid "The name of the group must be unique !" +msgstr "" + +#. module: base +#: help:ir.translation,module:0 +msgid "Module this term belongs to" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_view_editor +msgid "" +"\n" +"OpenERP Web to edit views.\n" +"==========================\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Hour 00->12: %(h12)s" +msgstr "" + +#. module: base +#: model:res.country,name:base.dk +msgid "Denmark" +msgstr "" + +#. module: base +#: field:res.country,code:0 +msgid "Country Code" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_instance +msgid "workflow.instance" +msgstr "" + +#. module: base +#: code:addons/orm.py:479 +#, python-format +msgid "Unknown attribute %s in %s " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "10. %S ==> 20" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ar +msgid "" +"\n" +"Argentinian accounting chart and tax localization.\n" +"==================================================\n" +"\n" +"Plan contable argentino e impuestos de acuerdo a disposiciones vigentes\n" +"\n" +" " +msgstr "" + +#. module: base +#: code:addons/fields.py:130 +#, python-format +msgid "undefined get method !" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Norwegian Bokmål / Norsk bokmål" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_madam +msgid "Madam" +msgstr "" + +#. module: base +#: model:res.country,name:base.ee +msgid "Estonia" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_board +#: model:ir.ui.menu,name:base.menu_reporting_dashboard +msgid "Dashboards" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_procurement +msgid "Procurements" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_6 +msgid "Bronze" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_payroll_account +msgid "Payroll Accounting" +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Change password" +msgstr "" + +#. module: base +#: model:res.country,name:base.sr +msgid "Suriname" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_order_dates +msgid "Dates on Sales Order" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Creation Month" +msgstr "" + +#. module: base +#: field:ir.module.module,demo:0 +msgid "Demo Data" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_mister +msgid "Mr." +msgstr "" + +#. module: base +#: model:res.country,name:base.mv +msgid "Maldives" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_crm +msgid "Portal CRM" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_4 +msgid "Low Level Objects" +msgstr "" + +#. module: base +#: help:ir.values,model:0 +msgid "Model to which this entry applies" +msgstr "" + +#. module: base +#: field:res.country,address_format:0 +msgid "Address Format" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_change_password_user +msgid "Change Password Wizard User" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_no_one +msgid "Technical Features" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ve +msgid "" +"\n" +"Chart of Account for Venezuela.\n" +"===============================\n" +"\n" +"Venezuela doesn't have any chart of account by law, but the default\n" +"proposed in OpenERP should comply with some Accepted best practices in " +"Venezuela, \n" +"this plan comply with this practices.\n" +"\n" +"This module has been tested as base for more of 1000 companies, because \n" +"it is based in a mixtures of most common softwares in the Venezuelan \n" +"market what will allow for sure to accountants feel them first steps with \n" +"OpenERP more confortable.\n" +"\n" +"This module doesn't pretend be the total localization for Venezuela, \n" +"but it will help you to start really quickly with OpenERP in this country.\n" +"\n" +"This module give you.\n" +"---------------------\n" +"\n" +"- Basic taxes for Venezuela.\n" +"- Have basic data to run tests with community localization.\n" +"- Start a company from 0 if your needs are basic from an accounting PoV.\n" +"\n" +"We recomend install account_anglo_saxon if you want valued your \n" +"stocks as Venezuela does with out invoices.\n" +"\n" +"If you install this module, and select Custom chart a basic chart will be " +"proposed, \n" +"but you will need set manually account defaults for taxes.\n" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Occitan (FR, post 1500) / Occitan" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:215 +#, python-format +msgid "" +"Here is what we got instead:\n" +" %s" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_data +#: view:ir.model.data:0 +#: model:ir.ui.menu,name:base.ir_model_data_menu +msgid "External Identifiers" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Malayalam / മലയാളം" +msgstr "" + +#. module: base +#: field:res.request,body:0 +#: field:res.request.history,req_id:0 +msgid "Request" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.act_ir_actions_todo_form +msgid "" +"The configuration wizards are used to help you configure a new instance of " +"OpenERP. They are launched during the installation of new modules, but you " +"can choose to restart some wizards manually from this menu." +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_sxw:0 +msgid "SXW Path" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_asset +msgid "" +"\n" +"Financial and accounting asset management.\n" +"==========================================\n" +"\n" +"This Module manages the assets owned by a company or an individual. It will " +"keep \n" +"track of depreciation's occurred on those assets. And it allows to create " +"Move's \n" +"of the depreciation lines.\n" +"\n" +" " +msgstr "" + +#. module: base +#: field:ir.cron,numbercall:0 +msgid "Number of Calls" +msgstr "" + +#. module: base +#: code:addons/base/res/res_bank.py:192 +#, python-format +msgid "BANK" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_point_of_sale +#: model:ir.module.module,shortdesc:base.module_point_of_sale +msgid "Point of Sale" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mail +msgid "" +"\n" +"Business oriented Social Networking\n" +"===================================\n" +"The Social Networking module provides a unified social network abstraction " +"layer allowing applications to display a complete\n" +"communication history on documents with a fully-integrated email and message " +"management system.\n" +"\n" +"It enables the users to read and send messages as well as emails. It also " +"provides a feeds page combined to a subscription mechanism that allows to " +"follow documents and to be constantly updated about recent news.\n" +"\n" +"Main Features\n" +"-------------\n" +"* Clean and renewed communication history for any OpenERP document that can " +"act as a discussion topic\n" +"* Subscription mechanism to be updated about new messages on interesting " +"documents\n" +"* Unified feeds page to see recent messages and activity on followed " +"documents\n" +"* User communication through the feeds page\n" +"* Threaded discussion design on documents\n" +"* Relies on the global outgoing mail server - an integrated email management " +"system - allowing to send emails with a configurable scheduler-based " +"processing engine\n" +"* Includes an extensible generic email composition assistant, that can turn " +"into a mass-mailing assistant and is capable of interpreting simple " +"*placeholder expressions* that will be replaced with dynamic data when each " +"email is actually sent.\n" +" " +msgstr "" + +#. module: base +#: help:ir.actions.server,sequence:0 +msgid "" +"Important when you deal with multiple actions, the execution order will be " +"decided based on this, low number is higher priority." +msgstr "" + +#. module: base +#: model:res.country,name:base.gr +msgid "Greece" +msgstr "" + +#. module: base +#: view:res.config:0 +msgid "Apply" +msgstr "" + +#. module: base +#: field:res.request,trigger_date:0 +msgid "Trigger Date" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Croatian / hrvatski jezik" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_uy +msgid "" +"\n" +"General Chart of Accounts.\n" +"==========================\n" +"\n" +"Provide Templates for Chart of Accounts, Taxes for Uruguay.\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_gr +msgid "Greece - Accounting" +msgstr "" + +#. module: base +#: sql_constraint:res.country:0 +msgid "The code of the country must be unique !" +msgstr "" + +#. module: base +#: selection:ir.module.module.dependency,state:0 +msgid "Uninstallable" +msgstr "" + +#. module: base +#: view:res.partner.category:0 +msgid "Partner Category" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: selection:ir.actions.server,state:0 +msgid "Trigger" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_warehouse_management +msgid "" +"Helps you manage your inventory and main stock operations: delivery orders, " +"receptions, etc." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_module_update +msgid "Update Module" +msgstr "" + +#. module: base +#: view:ir.model.fields:0 +msgid "Translate" +msgstr "" + +#. module: base +#: field:res.request.history,body:0 +msgid "Body" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:221 +#, python-format +msgid "Connection test succeeded!" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_gtd +msgid "" +"\n" +"Implement concepts of the \"Getting Things Done\" methodology \n" +"===========================================================\n" +"\n" +"This module implements a simple personal to-do list based on tasks. It adds " +"an editable list of tasks simplified to the minimum required fields in the " +"project application.\n" +"\n" +"The to-do list is based on the GTD methodology. This world-wide used " +"methodology is used for personal time management improvement.\n" +"\n" +"Getting Things Done (commonly abbreviated as GTD) is an action management " +"method created by David Allen, and described in a book of the same name.\n" +"\n" +"GTD rests on the principle that a person needs to move tasks out of the mind " +"by recording them externally. That way, the mind is freed from the job of " +"remembering everything that needs to be done, and can concentrate on " +"actually performing those tasks.\n" +" " +msgstr "" + +#. module: base +#: field:res.users,menu_id:0 +msgid "Menu Action" +msgstr "" + +#. module: base +#: help:ir.model.fields,selection:0 +msgid "" +"List of options for a selection field, specified as a Python expression " +"defining a list of (key, label) pairs. For example: " +"[('blue','Blue'),('yellow','Yellow')]" +msgstr "" + +#. module: base +#: selection:base.language.export,state:0 +msgid "choose" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:446 +#, python-format +msgid "" +"Please define at least one SMTP server, or provide the SMTP parameters " +"explicitly." +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Filter on my documents" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_project_gtd +msgid "Personal Tasks, Contexts, Timeboxes" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_cr +msgid "" +"\n" +"Chart of accounts for Costa Rica.\n" +"=================================\n" +"\n" +"Includes:\n" +"---------\n" +" * account.type\n" +" * account.account.template\n" +" * account.tax.template\n" +" * account.tax.code.template\n" +" * account.chart.template\n" +"\n" +"Everything is in English with Spanish translation. Further translations are " +"welcome,\n" +"please go to http://translations.launchpad.net/openerp-costa-rica.\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_supplier_form +#: model:ir.ui.menu,name:base.menu_procurement_management_supplier_name +#: view:res.partner:0 +msgid "Suppliers" +msgstr "" + +#. module: base +#: field:res.request,ref_doc2:0 +msgid "Document Ref 2" +msgstr "" + +#. module: base +#: field:res.request,ref_doc1:0 +msgid "Document Ref 1" +msgstr "" + +#. module: base +#: model:res.country,name:base.ga +msgid "Gabon" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_stock +msgid "Inventory, Logistic, Storage" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: selection:ir.translation,type:0 +msgid "Help" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: view:ir.rule:0 +#: view:res.groups:0 +#: model:res.groups,name:base.group_erp_manager +#: view:res.users:0 +msgid "Access Rights" +msgstr "" + +#. module: base +#: model:res.country,name:base.gl +msgid "Greenland" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +#: field:res.partner.bank,acc_number:0 +msgid "Account Number" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"Example: GLOBAL_RULE_1 AND GLOBAL_RULE_2 AND ( (GROUP_A_RULE_1 OR " +"GROUP_A_RULE_2) OR (GROUP_B_RULE_1 OR GROUP_B_RULE_2) )" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_th +msgid "Thailand - Accounting" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "1. %c ==> Fri Dec 5 18:25:20 2008" +msgstr "" + +#. module: base +#: model:res.country,name:base.nc +msgid "New Caledonia (French)" +msgstr "" + +#. module: base +#: field:ir.model,osv_memory:0 +msgid "Transient Model" +msgstr "" + +#. module: base +#: model:res.country,name:base.cy +msgid "Cyprus" +msgstr "" + +#. module: base +#: field:res.users,new_password:0 +msgid "Set Password" +msgstr "" + +#. module: base +#: field:ir.actions.server,subject:0 +#: field:res.request,name:0 +#: view:res.request.link:0 +msgid "Subject" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_membership +msgid "" +"\n" +"This module allows you to manage all operations for managing memberships.\n" +"=========================================================================\n" +"\n" +"It supports different kind of members:\n" +"--------------------------------------\n" +" * Free member\n" +" * Associated member (e.g.: a group subscribes to a membership for all " +"subsidiaries)\n" +" * Paid members\n" +" * Special member prices\n" +"\n" +"It is integrated with sales and accounting to allow you to automatically\n" +"invoice and send propositions for membership renewal.\n" +" " +msgstr "" + +#. module: base +#: selection:res.currency,position:0 +msgid "Before Amount" +msgstr "" + +#. module: base +#: field:res.request,act_from:0 +#: field:res.request.history,act_from:0 +msgid "From" +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Preferences" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_9 +msgid "Components Buyer" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_tests_demo +msgid "" +"\n" +"OpenERP Web demo of a test suite\n" +"================================\n" +"\n" +"Test suite example, same code as that used in the testing documentation.\n" +" " +msgstr "" + +#. module: base +#: help:ir.cron,function:0 +msgid "Name of the method to be called when this job is processed." +msgstr "" + +#. module: base +#: field:ir.actions.client,tag:0 +msgid "Client action tag" +msgstr "" + +#. module: base +#: field:ir.values,model_id:0 +msgid "Model (change only)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_marketing_campaign_crm_demo +msgid "" +"\n" +"Demo data for the module marketing_campaign.\n" +"============================================\n" +"\n" +"Creates demo data like leads, campaigns and segments for the module " +"marketing_campaign.\n" +" " +msgstr "" + +#. module: base +#: selection:ir.actions.act_window.view,view_mode:0 +#: view:ir.ui.view:0 +#: selection:ir.ui.view,type:0 +msgid "Kanban" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:291 +#, python-format +msgid "" +"The Selection Options expression is must be in the [('key','Label'), ...] " +"format!" +msgstr "" + +#. module: base +#: field:res.company,company_registry:0 +msgid "Company Registry" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +#: view:res.currency:0 +msgid "Miscellaneous" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_ir_mail_server_list +#: view:ir.mail_server:0 +#: model:ir.ui.menu,name:base.menu_mail_servers +msgid "Outgoing Mail Servers" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_custom +msgid "Technical" +msgstr "" + +#. module: base +#: model:res.country,name:base.cn +msgid "China" +msgstr "" + +#. module: base +#: help:ir.actions.server,wkf_model_id:0 +msgid "" +"The object that should receive the workflow signal (must have an associated " +"workflow)" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_account_voucher +msgid "" +"Allows you to create your invoices and track the payments. It is an easier " +"version of the accounting module for managers who are not accountants." +msgstr "" + +#. module: base +#: model:res.country,name:base.eh +msgid "Western Sahara" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_account_voucher +msgid "Invoicing & Payments" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_res_company_form +msgid "" +"Create and manage the companies that will be managed by OpenERP from here. " +"Shops or subsidiaries can be created and maintained from here." +msgstr "" + +#. module: base +#: model:res.country,name:base.id +msgid "Indonesia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_stock_no_autopicking +msgid "" +"\n" +"This module allows an intermediate picking process to provide raw materials " +"to production orders.\n" +"=============================================================================" +"====================\n" +"\n" +"One example of usage of this module is to manage production made by your\n" +"suppliers (sub-contracting). To achieve this, set the assembled product " +"which is\n" +"sub-contracted to 'No Auto-Picking' and put the location of the supplier in " +"the\n" +"routing of the assembly operation.\n" +" " +msgstr "" + +#. module: base +#: help:multi_company.default,expression:0 +msgid "" +"Expression, must be True to match\n" +"use context.get or user (browse)" +msgstr "" + +#. module: base +#: model:res.country,name:base.bg +msgid "Bulgaria" +msgstr "" + +#. module: base +#: model:res.country,name:base.ao +msgid "Angola" +msgstr "" + +#. module: base +#: model:res.country,name:base.tf +msgid "French Southern Territories" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_currency +#: field:res.company,currency_id:0 +#: field:res.company,currency_ids:0 +#: field:res.country,currency_id:0 +#: view:res.currency:0 +#: field:res.currency,name:0 +#: field:res.currency.rate,currency_id:0 +msgid "Currency" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "5. %y, %Y ==> 08, 2008" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_ltd +msgid "ltd" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_claim +msgid "" +"\n" +"\n" +"Manage Customer Claims.\n" +"=======================\n" +"This application allows you to track your customers/suppliers claims and " +"grievances.\n" +"\n" +"It is fully integrated with the email gateway so that you can create\n" +"automatically new claims based on incoming emails.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_test +msgid "Accounting Consistency Tests" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_purchase_double_validation +msgid "" +"\n" +"Double-validation for purchases exceeding minimum amount.\n" +"=========================================================\n" +"\n" +"This module modifies the purchase workflow in order to validate purchases " +"that\n" +"exceeds minimum amount set by configuration wizard.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_administration +msgid "Administration" +msgstr "" + +#. module: base +#: view:base.module.update:0 +msgid "Click on Update below to start the process..." +msgstr "" + +#. module: base +#: model:res.country,name:base.ir +msgid "Iran" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Slovak / Slovenský jazyk" +msgstr "" + +#. module: base +#: field:base.language.export,state:0 +#: field:ir.ui.menu,icon_pict:0 +#: field:res.partner,has_image:0 +#: field:res.users,user_email:0 +msgid "unknown" +msgstr "" + +#. module: base +#: field:res.currency,symbol:0 +msgid "Symbol" +msgstr "" + +#. module: base +#: help:res.partner,image_medium:0 +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: base +#: view:base.update.translations:0 +msgid "Synchronize Translation" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +#: field:res.partner.bank,bank_name:0 +msgid "Bank Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.ki +msgid "Kiribati" +msgstr "" + +#. module: base +#: model:res.country,name:base.iq +msgid "Iraq" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_association +#: model:ir.ui.menu,name:base.menu_association +#: model:ir.ui.menu,name:base.menu_report_association +msgid "Association" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Action to Launch" +msgstr "" + +#. module: base +#: field:ir.model,modules:0 +#: field:ir.model.fields,modules:0 +msgid "In Modules" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_contacts +#: model:ir.ui.menu,name:base.menu_config_address_book +msgid "Address Book" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_sequence_type +msgid "ir.sequence.type" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll_account +msgid "Belgium - Payroll with Accounting" +msgstr "" + +#. module: base +#: selection:base.language.export,format:0 +msgid "CSV File" +msgstr "" + +#. module: base +#: field:res.company,account_no:0 +msgid "Account No." +msgstr "" + +#. module: base +#: code:addons/base/res/res_lang.py:185 +#, python-format +msgid "Base Language 'en_US' can not be deleted !" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_uk +msgid "" +"\n" +"This is the latest UK OpenERP localisation necessary to run OpenERP " +"accounting for UK SME's with:\n" +"=============================================================================" +"====================\n" +" - a CT600-ready chart of accounts\n" +" - VAT100-ready tax structure\n" +" - InfoLogic UK counties listing\n" +" - a few other adaptations" +msgstr "" + +#. module: base +#: selection:ir.model,state:0 +msgid "Base Object" +msgstr "" + +#. module: base +#: field:ir.cron,priority:0 +#: field:ir.mail_server,sequence:0 +#: field:res.request,priority:0 +#: field:res.request.link,priority:0 +msgid "Priority" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Dependencies :" +msgstr "" + +#. module: base +#: field:res.company,vat:0 +msgid "Tax ID" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions +msgid "Bank Statement Extensions to Support e-banking" +msgstr "" + +#. module: base +#: field:ir.model.fields,field_description:0 +msgid "Field Label" +msgstr "" + +#. module: base +#: model:res.country,name:base.dj +msgid "Djibouti" +msgstr "" + +#. module: base +#: field:ir.translation,value:0 +msgid "Translation Value" +msgstr "" + +#. module: base +#: model:res.country,name:base.ag +msgid "Antigua and Barbuda" +msgstr "" + +#. module: base +#: model:res.country,name:base.zr +msgid "Zaire" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_project +msgid "Projects, Tasks" +msgstr "" + +#. module: base +#: field:ir.attachment,res_id:0 +#: field:workflow.instance,res_id:0 +#: field:workflow.triggers,res_id:0 +msgid "Resource ID" +msgstr "" + +#. module: base +#: view:ir.cron:0 +#: field:ir.model,info:0 +msgid "Information" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:146 +#, python-format +msgid "false" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_analytic_analysis +msgid "" +"\n" +"This module is for modifying account analytic view to show important data to " +"project manager of services companies.\n" +"=============================================================================" +"======================================\n" +"\n" +"Adds menu to show relevant information to each manager.You can also view the " +"report of account analytic summary user-wise as well as month-wise.\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_payroll_account +msgid "" +"\n" +"Generic Payroll system Integrated with Accounting.\n" +"==================================================\n" +"\n" +" * Expense Encoding\n" +" * Payment Encoding\n" +" * Company Contribution Management\n" +" " +msgstr "" + +#. module: base +#: field:res.partner.category,parent_right:0 +msgid "Right parent" +msgstr "" + +#. module: base +#: view:base.module.update:0 +msgid "Update Module List" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:685 +#: code:addons/base/res/res_users.py:825 +#: selection:res.partner,type:0 +#: view:res.users:0 +#, python-format +msgid "Other" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Turkish / Türkçe" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_activity_form +#: model:ir.ui.menu,name:base.menu_workflow_activity +#: field:workflow,activities:0 +msgid "Activities" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product +msgid "Products & Pricelists" +msgstr "" + +#. module: base +#: help:ir.filters,user_id:0 +msgid "" +"The user this filter is private to. When left empty the filter is public and " +"available to all users." +msgstr "" + +#. module: base +#: field:ir.actions.act_window,auto_refresh:0 +msgid "Auto-Refresh" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_product_expiry +msgid "" +"\n" +"Track different dates on products and production lots.\n" +"======================================================\n" +"\n" +"Following dates can be tracked:\n" +"-------------------------------\n" +" - end of life\n" +" - best before date\n" +" - removal date\n" +" - alert date\n" +"\n" +"Used, for example, in food industries." +msgstr "" + +#. module: base +#: help:ir.translation,state:0 +msgid "" +"Automatically set to let administators find new terms that might need to be " +"translated" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:85 +#, python-format +msgid "The osv_memory field can only be compared with = and != operator." +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Fax:" +msgstr "" + +#. module: base +#: selection:ir.ui.view,type:0 +msgid "Diagram" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_es +msgid "Spanish - Accounting (PGCE 2008)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_no_autopicking +msgid "Picking Before Manufacturing" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_note_pad +msgid "Sticky memos, Collaborative" +msgstr "" + +#. module: base +#: model:res.country,name:base.wf +msgid "Wallis and Futuna Islands" +msgstr "" + +#. module: base +#: help:multi_company.default,name:0 +msgid "Name it to easily find a record" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr +msgid "" +"\n" +"Human Resources Management\n" +"==========================\n" +"\n" +"This application enables you to manage important aspects of your company's " +"staff and other details such as their skills, contacts, working time...\n" +"\n" +"\n" +"You can manage:\n" +"---------------\n" +"* Employees and hierarchies : You can define your employee with User and " +"display hierarchies\n" +"* HR Departments\n" +"* HR Jobs\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_contract +msgid "" +"\n" +"Add all information on the employee form to manage contracts.\n" +"=============================================================\n" +"\n" +" * Contract\n" +" * Place of Birth,\n" +" * Medical Examination Date\n" +" * Company Vehicle\n" +"\n" +"You can assign several contracts per employee.\n" +" " +msgstr "" + +#. module: base +#: view:ir.model.data:0 +#: field:ir.model.data,name:0 +msgid "External Identifier" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_audittrail +msgid "" +"\n" +"This module lets administrator track every user operation on all the objects " +"of the system.\n" +"=============================================================================" +"==============\n" +"\n" +"The administrator can subscribe to rules for read, write and delete on " +"objects \n" +"and can check logs.\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.grant_menu_access +#: model:ir.ui.menu,name:base.menu_grant_menu_access +msgid "Menu Items" +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_sale_salesman_all_leads +msgid "" +"the user will have access to all records of everyone in the sales " +"application." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_event +msgid "Events Organisation" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_sequence_actions +#: model:ir.ui.menu,name:base.menu_ir_sequence_actions +#: model:ir.ui.menu,name:base.next_id_6 +#: view:workflow.activity:0 +msgid "Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery +msgid "Delivery Costs" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_cron.py:263 +#, python-format +msgid "" +"This cron task is currently being executed and may not be modified, please " +"try again in a few minutes" +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: field:ir.exports.line,export_id:0 +msgid "Export" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ma +msgid "Maroc - Accounting" +msgstr "" + +#. module: base +#: field:res.bank,bic:0 +#: field:res.partner.bank,bank_bic:0 +msgid "Bank Identifier Code" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "" +"CSV format: you may edit it directly with your favorite spreadsheet " +"software,\n" +" the rightmost column (value) contains the " +"translations" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_chart +msgid "" +"\n" +"Remove minimal account chart.\n" +"=============================\n" +"\n" +"Deactivates minimal chart of accounts.\n" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Record rules" +msgstr "" + +#. module: base +#: help:workflow.transition,act_to:0 +msgid "The destination activity." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_issue +msgid "Issue Tracker" +msgstr "" + +#. module: base +#: view:base.module.update:0 +#: view:base.module.upgrade:0 +#: view:base.update.translations:0 +msgid "Update" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_plugin +msgid "" +"\n" +"The common interface for plug-in.\n" +"=================================\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_crm +msgid "" +"\n" +"This module adds a shortcut on one or several opportunity cases in the CRM.\n" +"===========================================================================\n" +"\n" +"This shortcut allows you to generate a sales order based on the selected " +"case.\n" +"If different cases are open (a list), it generates one sale order by case.\n" +"The case is then closed and linked to the generated sales order.\n" +"\n" +"We suggest you to install this module, if you installed both the sale and " +"the crm\n" +"modules.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.bq +msgid "Bonaire, Sint Eustatius and Saba" +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.ir_module_reference_print +msgid "Technical guide" +msgstr "" + +#. module: base +#: model:res.country,name:base.tz +msgid "Tanzania" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Danish / Dansk" +msgstr "" + +#. module: base +#: selection:ir.model.fields,select_level:0 +msgid "Advanced Search (deprecated)" +msgstr "" + +#. module: base +#: model:res.country,name:base.cx +msgid "Christmas Island" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_contacts +msgid "" +"\n" +"This module gives you a quick view of your address book, accessible from " +"your home page.\n" +"You can track your suppliers, customers and other contacts.\n" +msgstr "" + +#. module: base +#: help:res.company,custom_footer:0 +msgid "" +"Check this to define the report footer manually. Otherwise it will be " +"filled in automatically." +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Supplier Partners" +msgstr "" + +#. module: base +#: view:res.config.installer:0 +msgid "Install Modules" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_import_crm +msgid "Import & Synchronize" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Customer Partners" +msgstr "" + +#. module: base +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_request_history +msgid "res.request.history" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_multi_company_default +msgid "Default multi company" +msgstr "" + +#. module: base +#: field:ir.translation,src:0 +msgid "Source" +msgstr "" + +#. module: base +#: field:ir.model.constraint,date_init:0 +#: field:ir.model.relation,date_init:0 +msgid "Initialization Date" +msgstr "" + +#. module: base +#: model:res.country,name:base.vu +msgid "Vanuatu" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_product_visible_discount +msgid "" +"\n" +"This module lets you calculate discounts on Sale Order lines and Invoice " +"lines base on the partner's pricelist.\n" +"=============================================================================" +"==================================\n" +"\n" +"To this end, a new check box named 'Visible Discount' is added to the " +"pricelist form.\n" +"\n" +"**Example:**\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, and " +"the price\n" +" calculated using Asustek's pricelist is 225. If the check box is " +"checked, we\n" +" will have on the sale order line: Unit price=450, Discount=50,00, Net " +"price=225.\n" +" If the check box is unchecked, we will have on Sale Order and Invoice " +"lines:\n" +" Unit price=225, Discount=0,00, Net price=225.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm +msgid "CRM" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_report_designer +msgid "" +"\n" +"This module is used along with OpenERP OpenOffice Plugin.\n" +"=========================================================\n" +"\n" +"This module adds wizards to Import/Export .sxw report that you can modify in " +"OpenOffice. \n" +"Once you have modified it you can upload the report using the same wizard.\n" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "Start configuration" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Catalan / Català" +msgstr "" + +#. module: base +#: model:res.country,name:base.do +msgid "Dominican Republic" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Serbian (Cyrillic) / српски" +msgstr "" + +#. module: base +#: code:addons/orm.py:2650 +#, python-format +msgid "" +"Invalid group_by specification: \"%s\".\n" +"A group_by specification must be a list of valid fields." +msgstr "" + +#. module: base +#: selection:ir.mail_server,smtp_encryption:0 +msgid "TLS (STARTTLS)" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,usage:0 +msgid "Used to filter menu and home actions from the user form." +msgstr "" + +#. module: base +#: model:res.country,name:base.sa +msgid "Saudi Arabia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_mrp +msgid "" +"\n" +"This module provides facility to the user to install mrp and sales modulesat " +"a time.\n" +"=============================================================================" +"=======\n" +"\n" +"It is basically used when we want to keep track of production orders " +"generated\n" +"from sales order. It adds sales name and sales Reference on production " +"order.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_stock +msgid "" +"\n" +"This module adds access rules to your portal if stock and portal are " +"installed.\n" +"=============================================================================" +"=============\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.server,trigger_obj_id:0 +#: field:ir.model.fields,relation_field:0 +msgid "Relation Field" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_project +msgid "" +"\n" +"This module adds project menu and features (tasks) to your portal if project " +"and portal are installed.\n" +"=============================================================================" +"=========================\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_configuration.py:38 +#, python-format +msgid "System Configuration done" +msgstr "" + +#. module: base +#: field:ir.attachment,db_datas:0 +msgid "Database Data" +msgstr "" + +#. module: base +#: model:res.country,name:base.tc +msgid "Turks and Caicos Islands" +msgstr "" + +#. module: base +#: field:workflow.triggers,instance_id:0 +msgid "Destination Instance" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,multi:0 +#: field:ir.actions.wizard,multi:0 +msgid "Action on Multiple Doc." +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_title_partner +#: model:ir.ui.menu,name:base.menu_partner_title_partner +msgid "Titles" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_anonymization +msgid "" +"\n" +"This module allows you to anonymize a database.\n" +"===============================================\n" +"\n" +"This module allows you to keep your data confidential for a given database.\n" +"This process is useful, if you want to use the migration process and " +"protect\n" +"your own or your customer’s confidential data. The principle is that you " +"run\n" +"an anonymization tool which will hide your confidential data(they are " +"replaced\n" +"by ‘XXX’ characters). Then you can send the anonymized database to the " +"migration\n" +"team. Once you get back your migrated database, you restore it and reverse " +"the\n" +"anonymization process to recover your previous data.\n" +" " +msgstr "" + +#. module: base +#: help:ir.sequence,implementation:0 +msgid "" +"Two sequence object implementations are offered: Standard and 'No gap'. The " +"later is slower than the former but forbids any gap in the sequence (while " +"they are possible in the former)." +msgstr "" + +#. module: base +#: model:res.country,name:base.gn +msgid "Guinea" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_diagram +msgid "OpenERP Web Diagram" +msgstr "" + +#. module: base +#: model:res.country,name:base.lu +msgid "Luxembourg" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_base_calendar +msgid "Personal & Shared Calendar" +msgstr "" + +#. module: base +#: selection:res.request,priority:0 +msgid "Low" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_ui_menu.py:379 +#, python-format +msgid "Error ! You can not create recursive Menu." +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Web-only translations" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"3. If user belongs to several groups, the results from step 2 are combined " +"with logical OR operator" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be +msgid "" +"\n" +"This is the base module to manage the accounting chart for Belgium in " +"OpenERP.\n" +"=============================================================================" +"=\n" +"\n" +"After installing this module, the Configuration wizard for accounting is " +"launched.\n" +" * We have the account templates which can be helpful to generate Charts " +"of Accounts.\n" +" * On that particular wizard, you will be asked to pass the name of the " +"company,\n" +" the chart template to follow, the no. of digits to generate, the code " +"for your\n" +" account and bank account, currency to create journals.\n" +"\n" +"Thus, the pure copy of Chart Template is generated.\n" +"\n" +"Wizards provided by this module:\n" +"--------------------------------\n" +" * Partner VAT Intra: Enlist the partners with their related VAT and " +"invoiced\n" +" amounts. Prepares an XML file format.\n" +" \n" +" **Path to access :** Invoicing/Reporting/Legal Reports/Belgium " +"Statements/Partner VAT Intra\n" +" * Periodical VAT Declaration: Prepares an XML file for Vat Declaration " +"of\n" +" the Main company of the User currently Logged in.\n" +" \n" +" **Path to access :** Invoicing/Reporting/Legal Reports/Belgium " +"Statements/Periodical VAT Declaration\n" +" * Annual Listing Of VAT-Subjected Customers: Prepares an XML file for " +"Vat\n" +" Declaration of the Main company of the User currently Logged in Based " +"on\n" +" Fiscal year.\n" +" \n" +" **Path to access :** Invoicing/Reporting/Legal Reports/Belgium " +"Statements/Annual Listing Of VAT-Subjected Customers\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_gengo +msgid "Automated Translations through Gengo API" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_payment +msgid "Suppliers Payment Management" +msgstr "" + +#. module: base +#: model:res.country,name:base.sv +msgid "El Salvador" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:161 +#: field:res.bank,phone:0 +#: field:res.company,phone:0 +#: field:res.partner,phone:0 +#, python-format +msgid "Phone" +msgstr "" + +#. module: base +#: field:res.groups,menu_access:0 +msgid "Access Menu" +msgstr "" + +#. module: base +#: model:res.country,name:base.th +msgid "Thailand" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_change_password_wizard +msgid "Change Password Wizard" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_voucher +msgid "Send Invoices and Track Payments" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_crm_config_lead +msgid "Leads & Opportunities" +msgstr "" + +#. module: base +#: model:res.country,name:base.gg +msgid "Guernsey" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Romanian / română" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_mx +msgid "" +"\n" +"Minimal accounting configuration for Mexico.\n" +"============================================\n" +"\n" +"This Chart of account is a minimal proposal to be able to use OoB the \n" +"accounting feature of Openerp.\n" +"\n" +"This doesn't pretend be all the localization for MX it is just the minimal \n" +"data required to start from 0 in mexican localization.\n" +"\n" +"This modules and its content is updated frequently by openerp-mexico team.\n" +"\n" +"With this module you will have:\n" +"\n" +" - Minimal chart of account tested in production eviroments.\n" +" - Minimal chart of taxes, to comply with SAT_ requirements.\n" +"\n" +".. SAT: http://www.sat.gob.mx/\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_tr +msgid "" +"\n" +"Türkiye için Tek düzen hesap planı şablonu OpenERP Modülü.\n" +"==========================================================\n" +"\n" +"Bu modül kurulduktan sonra, Muhasebe yapılandırma sihirbazı çalışır\n" +" * Sihirbaz sizden hesap planı şablonu, planın kurulacağı şirket, banka " +"hesap\n" +" bilgileriniz, ilgili para birimi gibi bilgiler isteyecek.\n" +" " +msgstr "" + +#. module: base +#: selection:workflow.activity,join_mode:0 +#: selection:workflow.activity,split_mode:0 +msgid "And" +msgstr "" + +#. module: base +#: help:ir.values,res_id:0 +msgid "" +"Database identifier of the record to which this applies. 0 = for all records" +msgstr "" + +#. module: base +#: field:ir.model.fields,relation:0 +msgid "Object Relation" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_voucher +msgid "eInvoicing & Payments" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "General" +msgstr "" + +#. module: base +#: model:res.country,name:base.uz +msgid "Uzbekistan" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_act_window +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.act_window" +msgstr "" + +#. module: base +#: model:res.country,name:base.vi +msgid "Virgin Islands (USA)" +msgstr "" + +#. module: base +#: model:res.country,name:base.tw +msgid "Taiwan" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +#: field:base.module.upgrade,module_info:0 +msgid "Modules to Update" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_custom_multicompany +msgid "Multi-Companies" +msgstr "" + +#. module: base +#: field:workflow,osv:0 +#: view:workflow.instance:0 +#: field:workflow.instance,res_type:0 +msgid "Resource Object" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_helpdesk +msgid "Helpdesk" +msgstr "" + +#. module: base +#: field:ir.rule,perm_write:0 +msgid "Apply for Write" +msgstr "" + +#. module: base +#: field:ir.ui.menu,parent_left:0 +msgid "Parent Left" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_document_page +msgid "" +"\n" +"Pages\n" +"=====\n" +"Web pages\n" +" " +msgstr "" + +#. module: base +#: help:ir.actions.server,code:0 +msgid "" +"Python code to be executed if condition is met.\n" +"It is a Python block that can use the same values as for the condition field" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.grant_menu_access +msgid "" +"Manage and customize the items available and displayed in your OpenERP " +"system menu. You can delete an item by clicking on the box at the beginning " +"of each line and then delete it through the button that appeared. Items can " +"be assigned to specific groups in order to make them accessible to some " +"users within the system." +msgstr "" + +#. module: base +#: field:ir.ui.view,field_parent:0 +msgid "Child Field" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Detailed algorithm:" +msgstr "" + +#. module: base +#: field:ir.actions.act_url,usage:0 +#: field:ir.actions.act_window,usage:0 +#: field:ir.actions.act_window_close,usage:0 +#: field:ir.actions.actions,usage:0 +#: field:ir.actions.client,usage:0 +#: field:ir.actions.report.xml,usage:0 +#: field:ir.actions.server,usage:0 +#: field:ir.actions.wizard,usage:0 +msgid "Action Usage" +msgstr "" + +#. module: base +#: field:ir.module.module,name:0 +msgid "Technical Name" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_workitem +msgid "workflow.workitem" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_tools +msgid "" +"Lets you install various interesting but non-essential tools like Survey, " +"Lunch and Ideas box." +msgstr "" + +#. module: base +#: selection:ir.module.module,state:0 +msgid "Not Installable" +msgstr "" + +#. module: base +#: help:res.lang,iso_code:0 +msgid "This ISO code is the name of po files to use for translations" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "View :" +msgstr "" + +#. module: base +#: field:ir.model.fields,view_load:0 +msgid "View Auto-Load" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_et +msgid "" +"\n" +"Base Module for Ethiopian Localization\n" +"======================================\n" +"\n" +"This is the latest Ethiopian OpenERP localization and consists of:\n" +" - Chart of Accounts\n" +" - VAT tax structure\n" +" - Withholding tax structure\n" +" - Regional State listings\n" +" " +msgstr "" + +#. module: base +#: view:res.users:0 +msgid "Allowed Companies" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_de +msgid "Deutschland - Accounting" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Day of the Year: %(doy)s" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon:0 +msgid "Web Icon File" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_view_base_module_upgrade +msgid "Apply Scheduled Upgrades" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_journal +msgid "Invoicing Journals" +msgstr "" + +#. module: base +#: help:ir.ui.view,groups_id:0 +msgid "" +"If this field is empty, the view applies to all users. Otherwise, the view " +"applies to the users of those groups only." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Persian / فارس" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Export Settings" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,src_model:0 +msgid "Source Model" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Day of the Week (0:Monday): %(weekday)s" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_upgrade.py:84 +#, python-format +msgid "Unmet dependency !" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:509 +#: code:addons/base/ir/ir_model.py:570 +#: code:addons/base/ir/ir_model.py:1031 +#, python-format +msgid "Administrator access is required to uninstall a module" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_module_configuration +msgid "base.module.configuration" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_point_of_sale +msgid "" +"\n" +"Quick and Easy sale process\n" +"===========================\n" +"\n" +"This module allows you to manage your shop sales very easily with a fully " +"web based touchscreen interface.\n" +"It is compatible with all PC tablets and the iPad, offering multiple payment " +"methods. \n" +"\n" +"Product selection can be done in several ways: \n" +"\n" +"* Using a barcode reader\n" +"* Browsing through categories of products or via a text search.\n" +"\n" +"Main Features\n" +"-------------\n" +"* Fast encoding of the sale\n" +"* Choose one payment method (the quick way) or split the payment between " +"several payment methods\n" +"* Computation of the amount of money to return\n" +"* Create and confirm the picking list automatically\n" +"* Allows the user to create an invoice automatically\n" +"* Refund previous sales\n" +" " +msgstr "" + +#. module: base +#: code:addons/orm.py:3568 +#: code:addons/orm.py:3861 +#, python-format +msgid "" +"The requested operation cannot be completed due to security restrictions. " +"Please contact your system administrator.\n" +"\n" +"(Document type: %s, Operation: %s)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_idea +msgid "" +"\n" +"This module allows user to easily and efficiently participate in enterprise " +"innovation.\n" +"=============================================================================" +"==========\n" +"\n" +"It allows everybody to express ideas about different subjects.\n" +"Then, other users can comment on these ideas and vote for particular ideas.\n" +"Each idea has a score based on the different votes.\n" +"The managers can obtain an easy view of best ideas from all the users.\n" +"Once installed, check the menu 'Ideas' in the 'Tools' main menu." +msgstr "" + +#. module: base +#: code:addons/orm.py:5322 +#: code:addons/orm.py:5337 +#, python-format +msgid "" +"%s This might be '%s' in the current model, or a field of the same name in " +"an o2m." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_payment +msgid "" +"\n" +"Module to manage the payment of your supplier invoices.\n" +"=======================================================\n" +"\n" +"This module allows you to create and manage your payment orders, with " +"purposes to\n" +"-----------------------------------------------------------------------------" +"---- \n" +" * serve as base for an easy plug-in of various automated payment " +"mechanisms.\n" +" * provide a more efficient way to manage invoice payment.\n" +"\n" +"Warning:\n" +"~~~~~~~~\n" +"The confirmation of a payment order does _not_ create accounting entries, it " +"just \n" +"records the fact that you gave your payment order to your bank. The booking " +"of \n" +"your order must be encoded as usual through a bank statement. Indeed, it's " +"only \n" +"when you get the confirmation from your bank that your order has been " +"accepted \n" +"that you can book it in your accounting. To help you with that operation, " +"you \n" +"have a new option to import payment orders as bank statement lines.\n" +" " +msgstr "" + +#. module: base +#: field:ir.model,access_ids:0 +#: view:ir.model.access:0 +msgid "Access" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:165 +#: field:res.partner,vat:0 +#, python-format +msgid "TIN" +msgstr "" + +#. module: base +#: model:res.country,name:base.aw +msgid "Aruba" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_import.py:58 +#, python-format +msgid "File is not a zip file!" +msgstr "" + +#. module: base +#: model:res.country,name:base.ar +msgid "Argentina" +msgstr "" + +#. module: base +#: field:res.groups,full_name:0 +msgid "Group Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.bh +msgid "Bahrain" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:162 +#: field:res.bank,fax:0 +#: field:res.company,fax:0 +#: field:res.partner,fax:0 +#, python-format +msgid "Fax" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: field:ir.attachment,company_id:0 +#: field:ir.default,company_id:0 +#: field:ir.property,company_id:0 +#: field:ir.sequence,company_id:0 +#: field:ir.values,company_id:0 +#: view:res.company:0 +#: field:res.currency,company_id:0 +#: view:res.partner:0 +#: field:res.partner,company_id:0 +#: field:res.partner.bank,company_id:0 +#: view:res.users:0 +#: field:res.users,company_id:0 +msgid "Company" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_report_designer +msgid "Advanced Reporting" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_purchase +msgid "Purchase Orders, Receptions, Supplier Invoices" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_payroll +msgid "" +"\n" +"Generic Payroll system.\n" +"=======================\n" +"\n" +" * Employee Details\n" +" * Employee Contracts\n" +" * Passport based Contract\n" +" * Allowances/Deductions\n" +" * Allow to configure Basic/Gross/Net Salary\n" +" * Employee Payslip\n" +" * Monthly Payroll Register\n" +" * Integrated with Holiday Management\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_model_data +msgid "ir.model.data" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Bulgarian / български език" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_aftersale +msgid "After-Sale Services" +msgstr "" + +#. module: base +#: field:base.language.import,code:0 +msgid "ISO Code" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_fr +msgid "France - Accounting" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Launch" +msgstr "" + +#. module: base +#: selection:res.partner,type:0 +msgid "Shipping" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_mrp +msgid "" +"\n" +"Automatically creates project tasks from procurement lines.\n" +"===========================================================\n" +"\n" +"This module will automatically create a new task for each procurement order " +"line\n" +"(e.g. for sale order lines), if the corresponding product meets the " +"following\n" +"characteristics:\n" +"\n" +" * Product Type = Service\n" +" * Procurement Method (Order fulfillment) = MTO (Make to Order)\n" +" * Supply/Procurement Method = Manufacture\n" +"\n" +"If on top of that a projet is specified on the product form (in the " +"Procurement\n" +"tab), then the new task will be created in that specific project. Otherwise, " +"the\n" +"new task will not belong to any project, and may be added to a project " +"manually\n" +"later.\n" +"\n" +"When the project task is completed or cancelled, the workflow of the " +"corresponding\n" +"procurement line is updated accordingly. For example, if this procurement " +"corresponds\n" +"to a sale order line, the sale order line will be considered delivered when " +"the\n" +"task is completed.\n" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,limit:0 +msgid "Limit" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_hr_user +msgid "Officer" +msgstr "" + +#. module: base +#: code:addons/orm.py:787 +#, python-format +msgid "Serialization field `%s` not found for sparse field `%s`!" +msgstr "" + +#. module: base +#: model:res.country,name:base.jm +msgid "Jamaica" +msgstr "" + +#. module: base +#: field:res.partner,color:0 +msgid "Color Index" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_category_form +msgid "" +"Manage the partner categories in order to better classify them for tracking " +"and analysis purposes. A partner may belong to several categories and " +"categories have a hierarchy structure: a partner belonging to a category " +"also belong to his parent category." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_survey +msgid "" +"\n" +"This module is used for surveying.\n" +"==================================\n" +"\n" +"It depends on the answers or reviews of some questions by different users. " +"A\n" +"survey may have multiple pages. Each page may contain multiple questions and " +"each\n" +"question may have multiple answers. Different users may give different " +"answers of\n" +"question and according to that survey is done. Partners are also sent mails " +"with\n" +"user name and password for the invitation of the survey.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:165 +#, python-format +msgid "Model '%s' contains module data and cannot be removed!" +msgstr "" + +#. module: base +#: model:res.country,name:base.az +msgid "Azerbaijan" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:481 +#: code:addons/base/ir/ir_sequence.py:259 +#: code:addons/base/res/res_partner.py:360 +#: code:addons/base/res/res_partner.py:566 +#, python-format +msgid "Warning" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_edi +msgid "Electronic Data Interchange (EDI)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon +msgid "Anglo-Saxon Accounting" +msgstr "" + +#. module: base +#: model:res.country,name:base.vg +msgid "Virgin Islands (British)" +msgstr "" + +#. module: base +#: view:ir.property:0 +#: model:ir.ui.menu,name:base.menu_ir_property +msgid "Parameters" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Czech / Čeština" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_generic_modules +msgid "Generic Modules" +msgstr "" + +#. module: base +#: model:res.country,name:base.mk +msgid "Macedonia, the former Yugoslav Republic of" +msgstr "" + +#. module: base +#: model:res.country,name:base.rw +msgid "Rwanda" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_openid +msgid "" +"\n" +"Allow users to login through OpenID.\n" +"====================================\n" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_port:0 +msgid "SMTP Port. Usually 465 for SSL, and 25 or 587 for other cases." +msgstr "" + +#. module: base +#: model:res.country,name:base.ck +msgid "Cook Islands" +msgstr "" + +#. module: base +#: field:ir.model.data,noupdate:0 +msgid "Non Updatable" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Klingon" +msgstr "" + +#. module: base +#: model:res.country,name:base.sg +msgid "Singapore" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,target:0 +msgid "Current Window" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_hidden +#: view:res.users:0 +msgid "Technical Settings" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_accounting_and_finance +msgid "" +"Helps you handle your accounting needs, if you are not an accountant, we " +"suggest you to install only the Invoicing." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_plugin_thunderbird +msgid "Thunderbird Plug-In" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_event +msgid "Trainings, Conferences, Meetings, Exhibitions, Registrations" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_country +#: view:res.bank:0 +#: field:res.bank,country:0 +#: view:res.company:0 +#: field:res.company,country_id:0 +#: view:res.country:0 +#: field:res.country.state,country_id:0 +#: view:res.partner:0 +#: field:res.partner,country:0 +#: field:res.partner,country_id:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank,country_id:0 +#: view:res.users:0 +msgid "Country" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_15 +msgid "Wholesaler" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_vat +msgid "VAT Number Validation" +msgstr "" + +#. module: base +#: field:ir.model.fields,complete_name:0 +msgid "Complete Name" +msgstr "" + +#. module: base +#: help:ir.actions.wizard,multi:0 +msgid "" +"If set to true, the wizard will not be displayed on the right toolbar of a " +"form view." +msgstr "" + +#. module: base +#: view:ir.values:0 +msgid "Action Bindings/Defaults" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "" +"file encoding, please be sure to view and edit\n" +" using the same encoding." +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"1. Global rules are combined together with a logical AND operator, and with " +"the result of the following steps" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_nl +msgid "Netherlands - Accounting" +msgstr "" + +#. module: base +#: model:res.country,name:base.gs +msgid "South Georgia and the South Sandwich Islands" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%X - Appropriate time representation." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (SV) / Español (SV)" +msgstr "" + +#. module: base +#: help:res.lang,grouping:0 +msgid "" +"The Separator Format should be like [,n] where 0 < n :starting from Unit " +"digit.-1 will end the separation. e.g. [3,2,-1] will represent 106500 to be " +"1,06,500;[1,2,-1] will represent it to be 106,50,0;[3] will represent it as " +"106,500. Provided ',' as the thousand separator in each case." +msgstr "" + +#. module: base +#: field:ir.module.module,auto_install:0 +msgid "Automatic Installation" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_hn +msgid "" +"\n" +"This is the base module to manage the accounting chart for Honduras.\n" +"====================================================================\n" +" \n" +"Agrega una nomenclatura contable para Honduras. También incluye impuestos y " +"la\n" +"moneda Lempira. -- Adds accounting chart for Honduras. It also includes " +"taxes\n" +"and the Lempira currency." +msgstr "" + +#. module: base +#: model:res.country,name:base.jp +msgid "Japan" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:418 +#, python-format +msgid "Can only rename one column at a time!" +msgstr "" + +#. module: base +#: selection:ir.translation,type:0 +msgid "Report/Template" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_budget +msgid "" +"\n" +"This module allows accountants to manage analytic and crossovered budgets.\n" +"==========================================================================\n" +"\n" +"Once the Budgets are defined (in Invoicing/Budgets/Budgets), the Project " +"Managers \n" +"can set the planned amount on each Analytic Account.\n" +"\n" +"The accountant has the possibility to see the total of amount planned for " +"each\n" +"Budget in order to ensure the total planned is not greater/lower than what " +"he \n" +"planned for this Budget. Each list of record can also be switched to a " +"graphical \n" +"view of it.\n" +"\n" +"Three reports are available:\n" +"----------------------------\n" +" 1. The first is available from a list of Budgets. It gives the " +"spreading, for \n" +" these Budgets, of the Analytic Accounts.\n" +"\n" +" 2. The second is a summary of the previous one, it only gives the " +"spreading, \n" +" for the selected Budgets, of the Analytic Accounts.\n" +"\n" +" 3. The last one is available from the Analytic Chart of Accounts. It " +"gives \n" +" the spreading, for the selected Analytic Accounts of Budgets.\n" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window.view,view_mode:0 +#: selection:ir.ui.view,type:0 +msgid "Graph" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_server +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.server" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ca +msgid "Canada - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_co +msgid "Colombian - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_voucher +msgid "" +"\n" +"Invoicing & Payments by Accounting Voucher & Receipts\n" +"=====================================================\n" +"The specific and easy-to-use Invoicing system in OpenERP allows you to keep " +"track of your accounting, even when you are not an accountant. It provides " +"an easy way to follow up on your suppliers and customers. \n" +"\n" +"You could use this simplified accounting in case you work with an (external) " +"account to keep your books, and you still want to keep track of payments. \n" +"\n" +"The Invoicing system includes receipts and vouchers (an easy way to keep " +"track of sales and purchases). It also offers you an easy method of " +"registering payments, without having to encode complete abstracts of " +"account.\n" +"\n" +"This module manages:\n" +"\n" +"* Voucher Entry\n" +"* Voucher Receipt [Sales & Purchase]\n" +"* Voucher Payment [Customer & Supplier]\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_ir_actions_todo_form +#: model:ir.model,name:base.model_ir_actions_todo +#: model:ir.ui.menu,name:base.menu_ir_actions_todo +#: model:ir.ui.menu,name:base.menu_ir_actions_todo_form +msgid "Configuration Wizards" +msgstr "" + +#. module: base +#: field:res.lang,code:0 +msgid "Locale Code" +msgstr "" + +#. module: base +#: field:workflow.activity,split_mode:0 +msgid "Split Mode" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "Note that this operation might take a few minutes." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:363 +#, python-format +msgid "" +"Ambiguous specification for field '%(field)s', only provide one of name, " +"external id or database id" +msgstr "" + +#. module: base +#: field:ir.sequence,implementation:0 +msgid "Implementation" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ve +msgid "Venezuela - Accounting" +msgstr "" + +#. module: base +#: model:res.country,name:base.cl +msgid "Chile" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_view_editor +msgid "View Editor" +msgstr "" + +#. module: base +#: view:ir.cron:0 +msgid "Execution" +msgstr "" + +#. module: base +#: field:ir.actions.server,condition:0 +#: view:ir.values:0 +#: field:workflow.transition,condition:0 +msgid "Condition" +msgstr "" + +#. module: base +#: model:ir.actions.client,name:base.modules_updates_act_cl +#: model:ir.ui.menu,name:base.menu_module_updates +msgid "Updates" +msgstr "" + +#. module: base +#: help:res.currency,rate:0 +msgid "The rate of the currency to the currency of rate 1." +msgstr "" + +#. module: base +#: field:ir.ui.view,name:0 +msgid "View Name" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Italian / Italiano" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "" +"Only one client action will be executed, last client action will be " +"considered in case of multiple client actions." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_mrp_jit +msgid "" +"\n" +"This module allows Just In Time computation of procurement orders.\n" +"==================================================================\n" +"\n" +"If you install this module, you will not have to run the regular " +"procurement\n" +"scheduler anymore (but you still need to run the minimum order point rule\n" +"scheduler, or for example let it run daily).\n" +"All procurement orders will be processed immediately, which could in some\n" +"cases entail a small performance impact.\n" +"\n" +"It may also increase your stock size because products are reserved as soon\n" +"as possible and the scheduler time range is not taken into account anymore.\n" +"In that case, you can not use priorities any more on the different picking.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.hr +msgid "Croatia" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "" +"Do you confirm the uninstallation of this module? This will permanently " +"erase all data currently stored by the module!" +msgstr "" + +#. module: base +#: field:ir.actions.server,mobile:0 +msgid "Mobile No" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_by_category +#: model:ir.actions.act_window,name:base.action_partner_category_form +#: model:ir.model,name:base.model_res_partner_category +#: view:res.partner.category:0 +msgid "Partner Categories" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "System Update" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_sxw_content:0 +#: field:ir.actions.report.xml,report_sxw_content_data:0 +msgid "SXW Content" +msgstr "" + +#. module: base +#: field:ir.attachment,file_size:0 +msgid "File Size" +msgstr "" + +#. module: base +#: help:ir.sequence,prefix:0 +msgid "Prefix value of the record for the sequence" +msgstr "" + +#. module: base +#: model:res.country,name:base.sc +msgid "Seychelles" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_4 +msgid "Gold" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:173 +#: model:ir.actions.act_window,name:base.action_res_partner_bank_account_form +#: model:ir.model,name:base.model_res_partner_bank +#: model:ir.ui.menu,name:base.menu_action_res_partner_bank_form +#: view:res.company:0 +#: field:res.company,bank_ids:0 +#: view:res.partner.bank:0 +#, python-format +msgid "Bank Accounts" +msgstr "" + +#. module: base +#: model:res.country,name:base.sl +msgid "Sierra Leone" +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "General Information" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pt +msgid "Portugal - Chart of Accounts" +msgstr "" + +#. module: base +#: field:ir.model.data,complete_name:0 +msgid "Complete ID" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_stock +msgid "" +"\n" +"Manage multi-warehouses, multi- and structured stock locations\n" +"==============================================================\n" +"\n" +"The warehouse and inventory management is based on a hierarchical location " +"structure, from warehouses to storage bins. \n" +"The double entry inventory system allows you to manage customers, suppliers " +"as well as manufacturing inventories. \n" +"\n" +"OpenERP has the capacity to manage lots and serial numbers ensuring " +"compliance with the traceability requirements imposed by the majority of " +"industries.\n" +"\n" +"Key Features\n" +"------------\n" +"* Moves history and planning,\n" +"* Stock valuation (standard or average price, ...)\n" +"* Robustness faced with Inventory differences\n" +"* Automatic reordering rules\n" +"* Support for barcodes\n" +"* Rapid detection of mistakes through double entry system\n" +"* Traceability (Upstream / Downstream, Serial numbers, ...)\n" +"\n" +"Dashboard / Reports for Warehouse Management will include:\n" +"----------------------------------------------------------\n" +"* Incoming Products (Graph)\n" +"* Outgoing Products (Graph)\n" +"* Procurement in Exception\n" +"* Inventory Analysis\n" +"* Last Product Inventories\n" +"* Moves Analysis\n" +" " +msgstr "" + +#. module: base +#: help:res.partner,vat:0 +msgid "" +"Tax Identification Number. Check the box if this contact is subjected to " +"taxes. Used by the some of the legal statements." +msgstr "" +"Número de identificación Tributaria. Marque la casilla si el contacto está " +"sujeto a impuestos. Usado por algunos documentos legales." + +#. module: base +#: field:res.partner.bank,partner_id:0 +msgid "Account Owner" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_procurement +msgid "" +"\n" +"This is the module for computing Procurements.\n" +"==============================================\n" +"\n" +"In the MRP process, procurements orders are created to launch manufacturing\n" +"orders, purchase orders, stock allocations. Procurement orders are\n" +"generated automatically by the system and unless there is a problem, the\n" +"user will not be notified. In case of problems, the system will raise some\n" +"procurement exceptions to inform the user about blocking problems that need\n" +"to be resolved manually (like, missing BoM structure or missing supplier).\n" +"\n" +"The procurement order will schedule a proposal for automatic procurement\n" +"for the product which needs replenishment. This procurement will start a\n" +"task, either a purchase order form for the supplier, or a production order\n" +"depending on the product's configuration.\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.open_module_tree +#: model:ir.ui.menu,name:base.menu_module_tree +msgid "Installed Modules" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:170 +#, python-format +msgid "Company Switch Warning" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_manufacturing +msgid "" +"Helps you manage your manufacturing processes and generate reports on those " +"processes." +msgstr "" + +#. module: base +#: help:ir.sequence,number_increment:0 +msgid "The next number of the sequence will be incremented by this number" +msgstr "" + +#. module: base +#: selection:workflow.activity,kind:0 +msgid "Function" +msgstr "" + +#. module: base +#: field:ir.ui.menu,parent_right:0 +msgid "Parent Right" +msgstr "" + +#. module: base +#: model:ir.module.category,description:base.module_category_customer_relationship_management +msgid "" +"Manage relations with prospects and customers using leads, opportunities, " +"requests or issues." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project +msgid "" +"\n" +"Track multi-level projects, tasks, work done on tasks\n" +"=====================================================\n" +"\n" +"This application allows an operational project management system to organize " +"your activities into tasks and plan the work you need to get the tasks " +"completed.\n" +"\n" +"Gantt diagrams will give you a graphical representation of your project " +"plans, as well as resources availability and workload.\n" +"\n" +"Dashboard / Reports for Project Management will include:\n" +"--------------------------------------------------------\n" +"* My Tasks\n" +"* Open Tasks\n" +"* Tasks Analysis\n" +"* Cumulative Flow\n" +" " +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Internal Notes" +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_pvt_ltd +#: model:res.partner.title,shortcut:base.res_partner_title_pvt_ltd +msgid "Corp." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase_requisition +msgid "Purchase Requisitions" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,target:0 +msgid "Inline Edit" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Months" +msgstr "" + +#. module: base +#: view:workflow.instance:0 +msgid "Workflow Instances" +msgstr "" + +#. module: base +#: code:addons/base/res/res_partner.py:684 +#, python-format +msgid "Partners: " +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Is a Company?" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:173 +#: field:res.partner.bank,name:0 +#, python-format +msgid "Bank Account" +msgstr "" + +#. module: base +#: model:res.country,name:base.kp +msgid "North Korea" +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +msgid "Create Object" +msgstr "" + +#. module: base +#: model:res.country,name:base.ss +msgid "South Sudan" +msgstr "" + +#. module: base +#: field:ir.filters,context:0 +msgid "Context" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_mrp +msgid "Sales and MRP Management" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_form +msgid "" +"

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

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

\n" +" " +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_2 +msgid "Prospect" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_invoice_directly +msgid "Invoice Picking Directly" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Polish / Język polski" +msgstr "" + +#. module: base +#: field:ir.exports,name:0 +msgid "Export Name" +msgstr "" + +#. module: base +#: help:res.partner,type:0 +msgid "" +"Used to select automatically the right address according to the context in " +"sales and purchases documents." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_purchase_analytic_plans +msgid "" +"\n" +"The base module to manage analytic distribution and purchase orders.\n" +"====================================================================\n" +"\n" +"Allows the user to maintain several analysis plans. These let you split a " +"line\n" +"on a supplier purchase order into several accounts and analytic plans.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lk +msgid "Sri Lanka" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,search_view:0 +msgid "Search View" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Russian / русский язык" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_signup +msgid "Signup" +msgstr "" From 0d7ea5d74e27da850221e778c23fd4a097a681cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 13 Sep 2013 09:59:15 +0200 Subject: [PATCH 16/20] [REF] crm, sale_crm: updated modules due to move of gauge and sparkline modules into web modules bzr revid: tde@openerp.com-20130913075915-bagnbdw6qsexcul0 --- addons/crm/__openerp__.py | 4 +- addons/crm/crm_case_section_view.xml | 4 +- .../static/lib/sparkline/jquery.sparkline.js | 3047 ----------------- addons/crm/static/src/js/crm_case_section.js | 22 - addons/sale_crm/__openerp__.py | 3 +- addons/sale_crm/sale_crm_view.xml | 4 +- addons/sale_crm/static/lib/justgage.js | 883 ----- addons/sale_crm/static/src/js/sale_crm.js | 108 - 8 files changed, 7 insertions(+), 4068 deletions(-) delete mode 100644 addons/crm/static/lib/sparkline/jquery.sparkline.js delete mode 100644 addons/sale_crm/static/lib/justgage.js delete mode 100644 addons/sale_crm/static/src/js/sale_crm.js diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index b677e7ee10f..e3443d5200f 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -57,7 +57,8 @@ Dashboard for CRM will include: 'base_calendar', 'resource', 'board', - 'fetchmail' + 'fetchmail', + 'web_kanban_sparkline', ], 'data': [ 'crm_data.xml', @@ -122,7 +123,6 @@ Dashboard for CRM will include: 'static/src/css/crm.css' ], 'js': [ - 'static/lib/sparkline/jquery.sparkline.js', 'static/src/js/crm_case_section.js', ], 'installable': True, diff --git a/addons/crm/crm_case_section_view.xml b/addons/crm/crm_case_section_view.xml index 24862a39e89..99b3296c3c1 100644 --- a/addons/crm/crm_case_section_view.xml +++ b/addons/crm/crm_case_section_view.xml @@ -99,11 +99,11 @@
diff --git a/addons/crm/static/lib/sparkline/jquery.sparkline.js b/addons/crm/static/lib/sparkline/jquery.sparkline.js deleted file mode 100644 index c003923e03b..00000000000 --- a/addons/crm/static/lib/sparkline/jquery.sparkline.js +++ /dev/null @@ -1,3047 +0,0 @@ -/** -* -* jquery.sparkline.js -* -* v2.1.1 -* (c) Splunk, Inc -* Contact: Gareth Watts (gareth@splunk.com) -* http://omnipotent.net/jquery.sparkline/ -* -* Generates inline sparkline charts from data supplied either to the method -* or inline in HTML -* -* Compatible with Internet Explorer 6.0+ and modern browsers equipped with the canvas tag -* (Firefox 2.0+, Safari, Opera, etc) -* -* License: New BSD License -* -* Copyright (c) 2012, Splunk Inc. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without modification, -* are permitted provided that the following conditions are met: -* -* * Redistributions of source code must retain the above copyright notice, -* this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright notice, -* this list of conditions and the following disclaimer in the documentation -* and/or other materials provided with the distribution. -* * Neither the name of Splunk Inc nor the names of its contributors may -* be used to endorse or promote products derived from this software without -* specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -* SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* -* Usage: -* $(selector).sparkline(values, options) -* -* If values is undefined or set to 'html' then the data values are read from the specified tag: -*

Sparkline: 1,4,6,6,8,5,3,5

-* $('.sparkline').sparkline(); -* There must be no spaces in the enclosed data set -* -* Otherwise values must be an array of numbers or null values -*

Sparkline: This text replaced if the browser is compatible

-* $('#sparkline1').sparkline([1,4,6,6,8,5,3,5]) -* $('#sparkline2').sparkline([1,4,6,null,null,5,3,5]) -* -* Values can also be specified in an HTML comment, or as a values attribute: -*

Sparkline:

-*

Sparkline:

-* $('.sparkline').sparkline(); -* -* For line charts, x values can also be specified: -*

Sparkline: 1:1,2.7:4,3.4:6,5:6,6:8,8.7:5,9:3,10:5

-* $('#sparkline1').sparkline([ [1,1], [2.7,4], [3.4,6], [5,6], [6,8], [8.7,5], [9,3], [10,5] ]) -* -* By default, options should be passed in as teh second argument to the sparkline function: -* $('.sparkline').sparkline([1,2,3,4], {type: 'bar'}) -* -* Options can also be set by passing them on the tag itself. This feature is disabled by default though -* as there's a slight performance overhead: -* $('.sparkline').sparkline([1,2,3,4], {enableTagOptions: true}) -*

Sparkline: loading

-* Prefix all options supplied as tag attribute with "spark" (configurable by setting tagOptionPrefix) -* -* Supported options: -* lineColor - Color of the line used for the chart -* fillColor - Color used to fill in the chart - Set to '' or false for a transparent chart -* width - Width of the chart - Defaults to 3 times the number of values in pixels -* height - Height of the chart - Defaults to the height of the containing element -* chartRangeMin - Specify the minimum value to use for the Y range of the chart - Defaults to the minimum value supplied -* chartRangeMax - Specify the maximum value to use for the Y range of the chart - Defaults to the maximum value supplied -* chartRangeClip - Clip out of range values to the max/min specified by chartRangeMin and chartRangeMax -* chartRangeMinX - Specify the minimum value to use for the X range of the chart - Defaults to the minimum value supplied -* chartRangeMaxX - Specify the maximum value to use for the X range of the chart - Defaults to the maximum value supplied -* composite - If true then don't erase any existing chart attached to the tag, but draw -* another chart over the top - Note that width and height are ignored if an -* existing chart is detected. -* tagValuesAttribute - Name of tag attribute to check for data values - Defaults to 'values' -* enableTagOptions - Whether to check tags for sparkline options -* tagOptionPrefix - Prefix used for options supplied as tag attributes - Defaults to 'spark' -* disableHiddenCheck - If set to true, then the plugin will assume that charts will never be drawn into a -* hidden dom element, avoding a browser reflow -* disableInteraction - If set to true then all mouseover/click interaction behaviour will be disabled, -* making the plugin perform much like it did in 1.x -* disableTooltips - If set to true then tooltips will be disabled - Defaults to false (tooltips enabled) -* disableHighlight - If set to true then highlighting of selected chart elements on mouseover will be disabled -* defaults to false (highlights enabled) -* highlightLighten - Factor to lighten/darken highlighted chart values by - Defaults to 1.4 for a 40% increase -* tooltipContainer - Specify which DOM element the tooltip should be rendered into - defaults to document.body -* tooltipClassname - Optional CSS classname to apply to tooltips - If not specified then a default style will be applied -* tooltipOffsetX - How many pixels away from the mouse pointer to render the tooltip on the X axis -* tooltipOffsetY - How many pixels away from the mouse pointer to render the tooltip on the r axis -* tooltipFormatter - Optional callback that allows you to override the HTML displayed in the tooltip -* callback is given arguments of (sparkline, options, fields) -* tooltipChartTitle - If specified then the tooltip uses the string specified by this setting as a title -* tooltipFormat - A format string or SPFormat object (or an array thereof for multiple entries) -* to control the format of the tooltip -* tooltipPrefix - A string to prepend to each field displayed in a tooltip -* tooltipSuffix - A string to append to each field displayed in a tooltip -* tooltipSkipNull - If true then null values will not have a tooltip displayed (defaults to true) -* tooltipValueLookups - An object or range map to map field values to tooltip strings -* (eg. to map -1 to "Lost", 0 to "Draw", and 1 to "Win") -* numberFormatter - Optional callback for formatting numbers in tooltips -* numberDigitGroupSep - Character to use for group separator in numbers "1,234" - Defaults to "," -* numberDecimalMark - Character to use for the decimal point when formatting numbers - Defaults to "." -* numberDigitGroupCount - Number of digits between group separator - Defaults to 3 -* -* There are 7 types of sparkline, selected by supplying a "type" option of 'line' (default), -* 'bar', 'tristate', 'bullet', 'discrete', 'pie' or 'box' -* line - Line chart. Options: -* spotColor - Set to '' to not end each line in a circular spot -* minSpotColor - If set, color of spot at minimum value -* maxSpotColor - If set, color of spot at maximum value -* spotRadius - Radius in pixels -* lineWidth - Width of line in pixels -* normalRangeMin -* normalRangeMax - If set draws a filled horizontal bar between these two values marking the "normal" -* or expected range of values -* normalRangeColor - Color to use for the above bar -* drawNormalOnTop - Draw the normal range above the chart fill color if true -* defaultPixelsPerValue - Defaults to 3 pixels of width for each value in the chart -* highlightSpotColor - The color to use for drawing a highlight spot on mouseover - Set to null to disable -* highlightLineColor - The color to use for drawing a highlight line on mouseover - Set to null to disable -* valueSpots - Specify which points to draw spots on, and in which color. Accepts a range map -* -* bar - Bar chart. Options: -* barColor - Color of bars for postive values -* negBarColor - Color of bars for negative values -* zeroColor - Color of bars with zero values -* nullColor - Color of bars with null values - Defaults to omitting the bar entirely -* barWidth - Width of bars in pixels -* colorMap - Optional mappnig of values to colors to override the *BarColor values above -* can be an Array of values to control the color of individual bars or a range map -* to specify colors for individual ranges of values -* barSpacing - Gap between bars in pixels -* zeroAxis - Centers the y-axis around zero if true -* -* tristate - Charts values of win (>0), lose (<0) or draw (=0) -* posBarColor - Color of win values -* negBarColor - Color of lose values -* zeroBarColor - Color of draw values -* barWidth - Width of bars in pixels -* barSpacing - Gap between bars in pixels -* colorMap - Optional mappnig of values to colors to override the *BarColor values above -* can be an Array of values to control the color of individual bars or a range map -* to specify colors for individual ranges of values -* -* discrete - Options: -* lineHeight - Height of each line in pixels - Defaults to 30% of the graph height -* thesholdValue - Values less than this value will be drawn using thresholdColor instead of lineColor -* thresholdColor -* -* bullet - Values for bullet graphs msut be in the order: target, performance, range1, range2, range3, ... -* options: -* targetColor - The color of the vertical target marker -* targetWidth - The width of the target marker in pixels -* performanceColor - The color of the performance measure horizontal bar -* rangeColors - Colors to use for each qualitative range background color -* -* pie - Pie chart. Options: -* sliceColors - An array of colors to use for pie slices -* offset - Angle in degrees to offset the first slice - Try -90 or +90 -* borderWidth - Width of border to draw around the pie chart, in pixels - Defaults to 0 (no border) -* borderColor - Color to use for the pie chart border - Defaults to #000 -* -* box - Box plot. Options: -* raw - Set to true to supply pre-computed plot points as values -* values should be: low_outlier, low_whisker, q1, median, q3, high_whisker, high_outlier -* When set to false you can supply any number of values and the box plot will -* be computed for you. Default is false. -* showOutliers - Set to true (default) to display outliers as circles -* outlierIQR - Interquartile range used to determine outliers. Default 1.5 -* boxLineColor - Outline color of the box -* boxFillColor - Fill color for the box -* whiskerColor - Line color used for whiskers -* outlierLineColor - Outline color of outlier circles -* outlierFillColor - Fill color of the outlier circles -* spotRadius - Radius of outlier circles -* medianColor - Line color of the median line -* target - Draw a target cross hair at the supplied value (default undefined) -* -* -* -* Examples: -* $('#sparkline1').sparkline(myvalues, { lineColor: '#f00', fillColor: false }); -* $('.barsparks').sparkline('html', { type:'bar', height:'40px', barWidth:5 }); -* $('#tristate').sparkline([1,1,-1,1,0,0,-1], { type:'tristate' }): -* $('#discrete').sparkline([1,3,4,5,5,3,4,5], { type:'discrete' }); -* $('#bullet').sparkline([10,12,12,9,7], { type:'bullet' }); -* $('#pie').sparkline([1,1,2], { type:'pie' }); -*/ - -/*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */ - -(function(factory) { - if(typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } - else { - factory(jQuery); - } -} -(function($) { - 'use strict'; - - var UNSET_OPTION = {}, - getDefaults, createClass, SPFormat, clipval, quartile, normalizeValue, normalizeValues, - remove, isNumber, all, sum, addCSS, ensureArray, formatNumber, RangeMap, - MouseHandler, Tooltip, barHighlightMixin, - line, bar, tristate, discrete, bullet, pie, box, defaultStyles, initStyles, - VShape, VCanvas_base, VCanvas_canvas, VCanvas_vml, pending, shapeCount = 0; - - /** - * Default configuration settings - */ - getDefaults = function () { - return { - // Settings common to most/all chart types - common: { - type: 'line', - lineColor: '#00f', - fillColor: '#cdf', - defaultPixelsPerValue: 3, - width: 'auto', - height: 'auto', - composite: false, - tagValuesAttribute: 'values', - tagOptionsPrefix: 'spark', - enableTagOptions: false, - enableHighlight: true, - highlightLighten: 1.4, - tooltipSkipNull: true, - tooltipPrefix: '', - tooltipSuffix: '', - disableHiddenCheck: false, - numberFormatter: false, - numberDigitGroupCount: 3, - numberDigitGroupSep: ',', - numberDecimalMark: '.', - disableTooltips: false, - disableInteraction: false - }, - // Defaults for line charts - line: { - spotColor: '#f80', - highlightSpotColor: '#5f5', - highlightLineColor: '#f22', - spotRadius: 1.5, - minSpotColor: '#f80', - maxSpotColor: '#f80', - lineWidth: 1, - normalRangeMin: undefined, - normalRangeMax: undefined, - normalRangeColor: '#ccc', - drawNormalOnTop: false, - chartRangeMin: undefined, - chartRangeMax: undefined, - chartRangeMinX: undefined, - chartRangeMaxX: undefined, - tooltipFormat: new SPFormat(' {{prefix}}{{y}}{{suffix}}') - }, - // Defaults for bar charts - bar: { - barColor: '#3366cc', - negBarColor: '#f44', - stackedBarColor: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', - '#dd4477', '#0099c6', '#990099'], - zeroColor: undefined, - nullColor: undefined, - zeroAxis: true, - barWidth: 4, - barSpacing: 1, - chartRangeMax: undefined, - chartRangeMin: undefined, - chartRangeClip: false, - colorMap: undefined, - tooltipFormat: new SPFormat(' {{prefix}}{{value}}{{suffix}}') - }, - // Defaults for tristate charts - tristate: { - barWidth: 4, - barSpacing: 1, - posBarColor: '#6f6', - negBarColor: '#f44', - zeroBarColor: '#999', - colorMap: {}, - tooltipFormat: new SPFormat(' {{value:map}}'), - tooltipValueLookups: { map: { '-1': 'Loss', '0': 'Draw', '1': 'Win' } } - }, - // Defaults for discrete charts - discrete: { - lineHeight: 'auto', - thresholdColor: undefined, - thresholdValue: 0, - chartRangeMax: undefined, - chartRangeMin: undefined, - chartRangeClip: false, - tooltipFormat: new SPFormat('{{prefix}}{{value}}{{suffix}}') - }, - // Defaults for bullet charts - bullet: { - targetColor: '#f33', - targetWidth: 3, // width of the target bar in pixels - performanceColor: '#33f', - rangeColors: ['#d3dafe', '#a8b6ff', '#7f94ff'], - base: undefined, // set this to a number to change the base start number - tooltipFormat: new SPFormat('{{fieldkey:fields}} - {{value}}'), - tooltipValueLookups: { fields: {r: 'Range', p: 'Performance', t: 'Target'} } - }, - // Defaults for pie charts - pie: { - offset: 0, - sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', - '#dd4477', '#0099c6', '#990099'], - borderWidth: 0, - borderColor: '#000', - tooltipFormat: new SPFormat(' {{value}} ({{percent.1}}%)') - }, - // Defaults for box plots - box: { - raw: false, - boxLineColor: '#000', - boxFillColor: '#cdf', - whiskerColor: '#000', - outlierLineColor: '#333', - outlierFillColor: '#fff', - medianColor: '#f00', - showOutliers: true, - outlierIQR: 1.5, - spotRadius: 1.5, - target: undefined, - targetColor: '#4a2', - chartRangeMax: undefined, - chartRangeMin: undefined, - tooltipFormat: new SPFormat('{{field:fields}}: {{value}}'), - tooltipFormatFieldlistKey: 'field', - tooltipValueLookups: { fields: { lq: 'Lower Quartile', med: 'Median', - uq: 'Upper Quartile', lo: 'Left Outlier', ro: 'Right Outlier', - lw: 'Left Whisker', rw: 'Right Whisker'} } - } - }; - }; - - // You can have tooltips use a css class other than jqstooltip by specifying tooltipClassname - defaultStyles = '.jqstooltip { ' + - 'position: absolute;' + - 'left: 0px;' + - 'top: 0px;' + - 'visibility: hidden;' + - 'background: rgb(0, 0, 0) transparent;' + - 'background-color: rgba(0,0,0,0.6);' + - 'filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);' + - '-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";' + - 'color: white;' + - 'font: 10px arial, san serif;' + - 'text-align: left;' + - 'white-space: nowrap;' + - 'padding: 5px;' + - 'border: 1px solid white;' + - 'z-index: 10000;' + - '}' + - '.jqsfield { ' + - 'color: white;' + - 'font: 10px arial, san serif;' + - 'text-align: left;' + - '}'; - - /** - * Utilities - */ - - createClass = function (/* [baseclass, [mixin, ...]], definition */) { - var Class, args; - Class = function () { - this.init.apply(this, arguments); - }; - if (arguments.length > 1) { - if (arguments[0]) { - Class.prototype = $.extend(new arguments[0](), arguments[arguments.length - 1]); - Class._super = arguments[0].prototype; - } else { - Class.prototype = arguments[arguments.length - 1]; - } - if (arguments.length > 2) { - args = Array.prototype.slice.call(arguments, 1, -1); - args.unshift(Class.prototype); - $.extend.apply($, args); - } - } else { - Class.prototype = arguments[0]; - } - Class.prototype.cls = Class; - return Class; - }; - - /** - * Wraps a format string for tooltips - * {{x}} - * {{x.2} - * {{x:months}} - */ - $.SPFormatClass = SPFormat = createClass({ - fre: /\{\{([\w.]+?)(:(.+?))?\}\}/g, - precre: /(\w+)\.(\d+)/, - - init: function (format, fclass) { - this.format = format; - this.fclass = fclass; - }, - - render: function (fieldset, lookups, options) { - var self = this, - fields = fieldset, - match, token, lookupkey, fieldvalue, prec; - return this.format.replace(this.fre, function () { - var lookup; - token = arguments[1]; - lookupkey = arguments[3]; - match = self.precre.exec(token); - if (match) { - prec = match[2]; - token = match[1]; - } else { - prec = false; - } - fieldvalue = fields[token]; - if (fieldvalue === undefined) { - return ''; - } - if (lookupkey && lookups && lookups[lookupkey]) { - lookup = lookups[lookupkey]; - if (lookup.get) { // RangeMap - return lookups[lookupkey].get(fieldvalue) || fieldvalue; - } else { - return lookups[lookupkey][fieldvalue] || fieldvalue; - } - } - if (isNumber(fieldvalue)) { - if (options.get('numberFormatter')) { - fieldvalue = options.get('numberFormatter')(fieldvalue); - } else { - fieldvalue = formatNumber(fieldvalue, prec, - options.get('numberDigitGroupCount'), - options.get('numberDigitGroupSep'), - options.get('numberDecimalMark')); - } - } - return fieldvalue; - }); - } - }); - - // convience method to avoid needing the new operator - $.spformat = function(format, fclass) { - return new SPFormat(format, fclass); - }; - - clipval = function (val, min, max) { - if (val < min) { - return min; - } - if (val > max) { - return max; - } - return val; - }; - - quartile = function (values, q) { - var vl; - if (q === 2) { - vl = Math.floor(values.length / 2); - return values.length % 2 ? values[vl] : (values[vl-1] + values[vl]) / 2; - } else { - if (values.length % 2 ) { // odd - vl = (values.length * q + q) / 4; - return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; - } else { //even - vl = (values.length * q + 2) / 4; - return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; - - } - } - }; - - normalizeValue = function (val) { - var nf; - switch (val) { - case 'undefined': - val = undefined; - break; - case 'null': - val = null; - break; - case 'true': - val = true; - break; - case 'false': - val = false; - break; - default: - nf = parseFloat(val); - if (val == nf) { - val = nf; - } - } - return val; - }; - - normalizeValues = function (vals) { - var i, result = []; - for (i = vals.length; i--;) { - result[i] = normalizeValue(vals[i]); - } - return result; - }; - - remove = function (vals, filter) { - var i, vl, result = []; - for (i = 0, vl = vals.length; i < vl; i++) { - if (vals[i] !== filter) { - result.push(vals[i]); - } - } - return result; - }; - - isNumber = function (num) { - return !isNaN(parseFloat(num)) && isFinite(num); - }; - - formatNumber = function (num, prec, groupsize, groupsep, decsep) { - var p, i; - num = (prec === false ? parseFloat(num).toString() : num.toFixed(prec)).split(''); - p = (p = $.inArray('.', num)) < 0 ? num.length : p; - if (p < num.length) { - num[p] = decsep; - } - for (i = p - groupsize; i > 0; i -= groupsize) { - num.splice(i, 0, groupsep); - } - return num.join(''); - }; - - // determine if all values of an array match a value - // returns true if the array is empty - all = function (val, arr, ignoreNull) { - var i; - for (i = arr.length; i--; ) { - if (ignoreNull && arr[i] === null) continue; - if (arr[i] !== val) { - return false; - } - } - return true; - }; - - // sums the numeric values in an array, ignoring other values - sum = function (vals) { - var total = 0, i; - for (i = vals.length; i--;) { - total += typeof vals[i] === 'number' ? vals[i] : 0; - } - return total; - }; - - ensureArray = function (val) { - return $.isArray(val) ? val : [val]; - }; - - // http://paulirish.com/2008/bookmarklet-inject-new-css-rules/ - addCSS = function(css) { - var tag; - //if ('\v' == 'v') /* ie only */ { - if (document.createStyleSheet) { - document.createStyleSheet().cssText = css; - } else { - tag = document.createElement('style'); - tag.type = 'text/css'; - document.getElementsByTagName('head')[0].appendChild(tag); - tag[(typeof document.body.style.WebkitAppearance == 'string') /* webkit only */ ? 'innerText' : 'innerHTML'] = css; - } - }; - - // Provide a cross-browser interface to a few simple drawing primitives - $.fn.simpledraw = function (width, height, useExisting, interact) { - var target, mhandler; - if (useExisting && (target = this.data('_jqs_vcanvas'))) { - return target; - } - if (width === undefined) { - width = $(this).innerWidth(); - } - if (height === undefined) { - height = $(this).innerHeight(); - } - if ($.fn.sparkline.hasCanvas) { - target = new VCanvas_canvas(width, height, this, interact); - } else if ($.fn.sparkline.hasVML) { - target = new VCanvas_vml(width, height, this); - } else { - return false; - } - mhandler = $(this).data('_jqs_mhandler'); - if (mhandler) { - mhandler.registerCanvas(target); - } - return target; - }; - - $.fn.cleardraw = function () { - var target = this.data('_jqs_vcanvas'); - if (target) { - target.reset(); - } - }; - - $.RangeMapClass = RangeMap = createClass({ - init: function (map) { - var key, range, rangelist = []; - for (key in map) { - if (map.hasOwnProperty(key) && typeof key === 'string' && key.indexOf(':') > -1) { - range = key.split(':'); - range[0] = range[0].length === 0 ? -Infinity : parseFloat(range[0]); - range[1] = range[1].length === 0 ? Infinity : parseFloat(range[1]); - range[2] = map[key]; - rangelist.push(range); - } - } - this.map = map; - this.rangelist = rangelist || false; - }, - - get: function (value) { - var rangelist = this.rangelist, - i, range, result; - if ((result = this.map[value]) !== undefined) { - return result; - } - if (rangelist) { - for (i = rangelist.length; i--;) { - range = rangelist[i]; - if (range[0] <= value && range[1] >= value) { - return range[2]; - } - } - } - return undefined; - } - }); - - // Convenience function - $.range_map = function(map) { - return new RangeMap(map); - }; - - MouseHandler = createClass({ - init: function (el, options) { - var $el = $(el); - this.$el = $el; - this.options = options; - this.currentPageX = 0; - this.currentPageY = 0; - this.el = el; - this.splist = []; - this.tooltip = null; - this.over = false; - this.displayTooltips = !options.get('disableTooltips'); - this.highlightEnabled = !options.get('disableHighlight'); - }, - - registerSparkline: function (sp) { - this.splist.push(sp); - if (this.over) { - this.updateDisplay(); - } - }, - - registerCanvas: function (canvas) { - var $canvas = $(canvas.canvas); - this.canvas = canvas; - this.$canvas = $canvas; - $canvas.mouseenter($.proxy(this.mouseenter, this)); - $canvas.mouseleave($.proxy(this.mouseleave, this)); - $canvas.click($.proxy(this.mouseclick, this)); - }, - - reset: function (removeTooltip) { - this.splist = []; - if (this.tooltip && removeTooltip) { - this.tooltip.remove(); - this.tooltip = undefined; - } - }, - - mouseclick: function (e) { - var clickEvent = $.Event('sparklineClick'); - clickEvent.originalEvent = e; - clickEvent.sparklines = this.splist; - this.$el.trigger(clickEvent); - }, - - mouseenter: function (e) { - $(document.body).unbind('mousemove.jqs'); - $(document.body).bind('mousemove.jqs', $.proxy(this.mousemove, this)); - this.over = true; - this.currentPageX = e.pageX; - this.currentPageY = e.pageY; - this.currentEl = e.target; - if (!this.tooltip && this.displayTooltips) { - this.tooltip = new Tooltip(this.options); - this.tooltip.updatePosition(e.pageX, e.pageY); - } - this.updateDisplay(); - }, - - mouseleave: function () { - $(document.body).unbind('mousemove.jqs'); - var splist = this.splist, - spcount = splist.length, - needsRefresh = false, - sp, i; - this.over = false; - this.currentEl = null; - - if (this.tooltip) { - this.tooltip.remove(); - this.tooltip = null; - } - - for (i = 0; i < spcount; i++) { - sp = splist[i]; - if (sp.clearRegionHighlight()) { - needsRefresh = true; - } - } - - if (needsRefresh) { - this.canvas.render(); - } - }, - - mousemove: function (e) { - this.currentPageX = e.pageX; - this.currentPageY = e.pageY; - this.currentEl = e.target; - if (this.tooltip) { - this.tooltip.updatePosition(e.pageX, e.pageY); - } - this.updateDisplay(); - }, - - updateDisplay: function () { - var splist = this.splist, - spcount = splist.length, - needsRefresh = false, - offset = this.$canvas.offset(), - localX = this.currentPageX - offset.left, - localY = this.currentPageY - offset.top, - tooltiphtml, sp, i, result, changeEvent; - if (!this.over) { - return; - } - for (i = 0; i < spcount; i++) { - sp = splist[i]; - result = sp.setRegionHighlight(this.currentEl, localX, localY); - if (result) { - needsRefresh = true; - } - } - if (needsRefresh) { - changeEvent = $.Event('sparklineRegionChange'); - changeEvent.sparklines = this.splist; - this.$el.trigger(changeEvent); - if (this.tooltip) { - tooltiphtml = ''; - for (i = 0; i < spcount; i++) { - sp = splist[i]; - tooltiphtml += sp.getCurrentRegionTooltip(); - } - this.tooltip.setContent(tooltiphtml); - } - if (!this.disableHighlight) { - this.canvas.render(); - } - } - if (result === null) { - this.mouseleave(); - } - } - }); - - - Tooltip = createClass({ - sizeStyle: 'position: static !important;' + - 'display: block !important;' + - 'visibility: hidden !important;' + - 'float: left !important;', - - init: function (options) { - var tooltipClassname = options.get('tooltipClassname', 'jqstooltip'), - sizetipStyle = this.sizeStyle, - offset; - this.container = options.get('tooltipContainer') || document.body; - this.tooltipOffsetX = options.get('tooltipOffsetX', 10); - this.tooltipOffsetY = options.get('tooltipOffsetY', 12); - // remove any previous lingering tooltip - $('#jqssizetip').remove(); - $('#jqstooltip').remove(); - this.sizetip = $('
', { - id: 'jqssizetip', - style: sizetipStyle, - 'class': tooltipClassname - }); - this.tooltip = $('
', { - id: 'jqstooltip', - 'class': tooltipClassname - }).appendTo(this.container); - // account for the container's location - offset = this.tooltip.offset(); - this.offsetLeft = offset.left; - this.offsetTop = offset.top; - this.hidden = true; - $(window).unbind('resize.jqs scroll.jqs'); - $(window).bind('resize.jqs scroll.jqs', $.proxy(this.updateWindowDims, this)); - this.updateWindowDims(); - }, - - updateWindowDims: function () { - this.scrollTop = $(window).scrollTop(); - this.scrollLeft = $(window).scrollLeft(); - this.scrollRight = this.scrollLeft + $(window).width(); - this.updatePosition(); - }, - - getSize: function (content) { - this.sizetip.html(content).appendTo(this.container); - this.width = this.sizetip.width() + 1; - this.height = this.sizetip.height(); - this.sizetip.remove(); - }, - - setContent: function (content) { - if (!content) { - this.tooltip.css('visibility', 'hidden'); - this.hidden = true; - return; - } - this.getSize(content); - this.tooltip.html(content) - .css({ - 'width': this.width, - 'height': this.height, - 'visibility': 'visible' - }); - if (this.hidden) { - this.hidden = false; - this.updatePosition(); - } - }, - - updatePosition: function (x, y) { - if (x === undefined) { - if (this.mousex === undefined) { - return; - } - x = this.mousex - this.offsetLeft; - y = this.mousey - this.offsetTop; - - } else { - this.mousex = x = x - this.offsetLeft; - this.mousey = y = y - this.offsetTop; - } - if (!this.height || !this.width || this.hidden) { - return; - } - - y -= this.height + this.tooltipOffsetY; - x += this.tooltipOffsetX; - - if (y < this.scrollTop) { - y = this.scrollTop; - } - if (x < this.scrollLeft) { - x = this.scrollLeft; - } else if (x + this.width > this.scrollRight) { - x = this.scrollRight - this.width; - } - - this.tooltip.css({ - 'left': x, - 'top': y - }); - }, - - remove: function () { - this.tooltip.remove(); - this.sizetip.remove(); - this.sizetip = this.tooltip = undefined; - $(window).unbind('resize.jqs scroll.jqs'); - } - }); - - initStyles = function() { - addCSS(defaultStyles); - }; - - $(initStyles); - - pending = []; - $.fn.sparkline = function (userValues, userOptions) { - return this.each(function () { - var options = new $.fn.sparkline.options(this, userOptions), - $this = $(this), - render, i; - render = function () { - var values, width, height, tmp, mhandler, sp, vals; - if (userValues === 'html' || userValues === undefined) { - vals = this.getAttribute(options.get('tagValuesAttribute')); - if (vals === undefined || vals === null) { - vals = $this.html(); - } - values = vals.replace(/(^\s*\s*$)|\s+/g, '').split(','); - } else { - values = userValues; - } - - width = options.get('width') === 'auto' ? values.length * options.get('defaultPixelsPerValue') : options.get('width'); - if (options.get('height') === 'auto') { - if (!options.get('composite') || !$.data(this, '_jqs_vcanvas')) { - // must be a better way to get the line height - tmp = document.createElement('span'); - tmp.innerHTML = 'a'; - $this.html(tmp); - height = $(tmp).innerHeight() || $(tmp).height(); - $(tmp).remove(); - tmp = null; - } - } else { - height = options.get('height'); - } - - if (!options.get('disableInteraction')) { - mhandler = $.data(this, '_jqs_mhandler'); - if (!mhandler) { - mhandler = new MouseHandler(this, options); - $.data(this, '_jqs_mhandler', mhandler); - } else if (!options.get('composite')) { - mhandler.reset(); - } - } else { - mhandler = false; - } - - if (options.get('composite') && !$.data(this, '_jqs_vcanvas')) { - if (!$.data(this, '_jqs_errnotify')) { - alert('Attempted to attach a composite sparkline to an element with no existing sparkline'); - $.data(this, '_jqs_errnotify', true); - } - return; - } - - sp = new $.fn.sparkline[options.get('type')](this, values, options, width, height); - - sp.render(); - - if (mhandler) { - mhandler.registerSparkline(sp); - } - }; - // jQuery 1.3.0 completely changed the meaning of :hidden :-/ - if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || ($.fn.jquery < '1.3.0' && $(this).parents().is(':hidden')) || !$(this).parents('body').length) { - if (!options.get('composite') && $.data(this, '_jqs_pending')) { - // remove any existing references to the element - for (i = pending.length; i; i--) { - if (pending[i - 1][0] == this) { - pending.splice(i - 1, 1); - } - } - } - pending.push([this, render]); - $.data(this, '_jqs_pending', true); - } else { - render.call(this); - } - }); - }; - - $.fn.sparkline.defaults = getDefaults(); - - - $.sparkline_display_visible = function () { - var el, i, pl; - var done = []; - for (i = 0, pl = pending.length; i < pl; i++) { - el = pending[i][0]; - if ($(el).is(':visible') && !$(el).parents().is(':hidden')) { - pending[i][1].call(el); - $.data(pending[i][0], '_jqs_pending', false); - done.push(i); - } else if (!$(el).closest('html').length && !$.data(el, '_jqs_pending')) { - // element has been inserted and removed from the DOM - // If it was not yet inserted into the dom then the .data request - // will return true. - // removing from the dom causes the data to be removed. - $.data(pending[i][0], '_jqs_pending', false); - done.push(i); - } - } - for (i = done.length; i; i--) { - pending.splice(done[i - 1], 1); - } - }; - - - /** - * User option handler - */ - $.fn.sparkline.options = createClass({ - init: function (tag, userOptions) { - var extendedOptions, defaults, base, tagOptionType; - this.userOptions = userOptions = userOptions || {}; - this.tag = tag; - this.tagValCache = {}; - defaults = $.fn.sparkline.defaults; - base = defaults.common; - this.tagOptionsPrefix = userOptions.enableTagOptions && (userOptions.tagOptionsPrefix || base.tagOptionsPrefix); - - tagOptionType = this.getTagSetting('type'); - if (tagOptionType === UNSET_OPTION) { - extendedOptions = defaults[userOptions.type || base.type]; - } else { - extendedOptions = defaults[tagOptionType]; - } - this.mergedOptions = $.extend({}, base, extendedOptions, userOptions); - }, - - - getTagSetting: function (key) { - var prefix = this.tagOptionsPrefix, - val, i, pairs, keyval; - if (prefix === false || prefix === undefined) { - return UNSET_OPTION; - } - if (this.tagValCache.hasOwnProperty(key)) { - val = this.tagValCache.key; - } else { - val = this.tag.getAttribute(prefix + key); - if (val === undefined || val === null) { - val = UNSET_OPTION; - } else if (val.substr(0, 1) === '[') { - val = val.substr(1, val.length - 2).split(','); - for (i = val.length; i--;) { - val[i] = normalizeValue(val[i].replace(/(^\s*)|(\s*$)/g, '')); - } - } else if (val.substr(0, 1) === '{') { - pairs = val.substr(1, val.length - 2).split(','); - val = {}; - for (i = pairs.length; i--;) { - keyval = pairs[i].split(':', 2); - val[keyval[0].replace(/(^\s*)|(\s*$)/g, '')] = normalizeValue(keyval[1].replace(/(^\s*)|(\s*$)/g, '')); - } - } else { - val = normalizeValue(val); - } - this.tagValCache.key = val; - } - return val; - }, - - get: function (key, defaultval) { - var tagOption = this.getTagSetting(key), - result; - if (tagOption !== UNSET_OPTION) { - return tagOption; - } - return (result = this.mergedOptions[key]) === undefined ? defaultval : result; - } - }); - - - $.fn.sparkline._base = createClass({ - disabled: false, - - init: function (el, values, options, width, height) { - this.el = el; - this.$el = $(el); - this.values = values; - this.options = options; - this.width = width; - this.height = height; - this.currentRegion = undefined; - }, - - /** - * Setup the canvas - */ - initTarget: function () { - var interactive = !this.options.get('disableInteraction'); - if (!(this.target = this.$el.simpledraw(this.width, this.height, this.options.get('composite'), interactive))) { - this.disabled = true; - } else { - this.canvasWidth = this.target.pixelWidth; - this.canvasHeight = this.target.pixelHeight; - } - }, - - /** - * Actually render the chart to the canvas - */ - render: function () { - if (this.disabled) { - this.el.innerHTML = ''; - return false; - } - return true; - }, - - /** - * Return a region id for a given x/y co-ordinate - */ - getRegion: function (x, y) { - }, - - /** - * Highlight an item based on the moused-over x,y co-ordinate - */ - setRegionHighlight: function (el, x, y) { - var currentRegion = this.currentRegion, - highlightEnabled = !this.options.get('disableHighlight'), - newRegion; - if (x > this.canvasWidth || y > this.canvasHeight || x < 0 || y < 0) { - return null; - } - newRegion = this.getRegion(el, x, y); - if (currentRegion !== newRegion) { - if (currentRegion !== undefined && highlightEnabled) { - this.removeHighlight(); - } - this.currentRegion = newRegion; - if (newRegion !== undefined && highlightEnabled) { - this.renderHighlight(); - } - return true; - } - return false; - }, - - /** - * Reset any currently highlighted item - */ - clearRegionHighlight: function () { - if (this.currentRegion !== undefined) { - this.removeHighlight(); - this.currentRegion = undefined; - return true; - } - return false; - }, - - renderHighlight: function () { - this.changeHighlight(true); - }, - - removeHighlight: function () { - this.changeHighlight(false); - }, - - changeHighlight: function (highlight) {}, - - /** - * Fetch the HTML to display as a tooltip - */ - getCurrentRegionTooltip: function () { - var options = this.options, - header = '', - entries = [], - fields, formats, formatlen, fclass, text, i, - showFields, showFieldsKey, newFields, fv, - formatter, format, fieldlen, j; - if (this.currentRegion === undefined) { - return ''; - } - fields = this.getCurrentRegionFields(); - formatter = options.get('tooltipFormatter'); - if (formatter) { - return formatter(this, options, fields); - } - if (options.get('tooltipChartTitle')) { - header += '
' + options.get('tooltipChartTitle') + '
\n'; - } - formats = this.options.get('tooltipFormat'); - if (!formats) { - return ''; - } - if (!$.isArray(formats)) { - formats = [formats]; - } - if (!$.isArray(fields)) { - fields = [fields]; - } - showFields = this.options.get('tooltipFormatFieldlist'); - showFieldsKey = this.options.get('tooltipFormatFieldlistKey'); - if (showFields && showFieldsKey) { - // user-selected ordering of fields - newFields = []; - for (i = fields.length; i--;) { - fv = fields[i][showFieldsKey]; - if ((j = $.inArray(fv, showFields)) != -1) { - newFields[j] = fields[i]; - } - } - fields = newFields; - } - formatlen = formats.length; - fieldlen = fields.length; - for (i = 0; i < formatlen; i++) { - format = formats[i]; - if (typeof format === 'string') { - format = new SPFormat(format); - } - fclass = format.fclass || 'jqsfield'; - for (j = 0; j < fieldlen; j++) { - if (!fields[j].isNull || !options.get('tooltipSkipNull')) { - $.extend(fields[j], { - prefix: options.get('tooltipPrefix'), - suffix: options.get('tooltipSuffix') - }); - text = format.render(fields[j], options.get('tooltipValueLookups'), options); - entries.push('
' + text + '
'); - } - } - } - if (entries.length) { - return header + entries.join('\n'); - } - return ''; - }, - - getCurrentRegionFields: function () {}, - - calcHighlightColor: function (color, options) { - var highlightColor = options.get('highlightColor'), - lighten = options.get('highlightLighten'), - parse, mult, rgbnew, i; - if (highlightColor) { - return highlightColor; - } - if (lighten) { - // extract RGB values - parse = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(color) || /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(color); - if (parse) { - rgbnew = []; - mult = color.length === 4 ? 16 : 1; - for (i = 0; i < 3; i++) { - rgbnew[i] = clipval(Math.round(parseInt(parse[i + 1], 16) * mult * lighten), 0, 255); - } - return 'rgb(' + rgbnew.join(',') + ')'; - } - - } - return color; - } - - }); - - barHighlightMixin = { - changeHighlight: function (highlight) { - var currentRegion = this.currentRegion, - target = this.target, - shapeids = this.regionShapes[currentRegion], - newShapes; - // will be null if the region value was null - if (shapeids) { - newShapes = this.renderRegion(currentRegion, highlight); - if ($.isArray(newShapes) || $.isArray(shapeids)) { - target.replaceWithShapes(shapeids, newShapes); - this.regionShapes[currentRegion] = $.map(newShapes, function (newShape) { - return newShape.id; - }); - } else { - target.replaceWithShape(shapeids, newShapes); - this.regionShapes[currentRegion] = newShapes.id; - } - } - }, - - render: function () { - var values = this.values, - target = this.target, - regionShapes = this.regionShapes, - shapes, ids, i, j; - - if (!this.cls._super.render.call(this)) { - return; - } - for (i = values.length; i--;) { - shapes = this.renderRegion(i); - if (shapes) { - if ($.isArray(shapes)) { - ids = []; - for (j = shapes.length; j--;) { - shapes[j].append(); - ids.push(shapes[j].id); - } - regionShapes[i] = ids; - } else { - shapes.append(); - regionShapes[i] = shapes.id; // store just the shapeid - } - } else { - // null value - regionShapes[i] = null; - } - } - target.render(); - } - }; - - /** - * Line charts - */ - $.fn.sparkline.line = line = createClass($.fn.sparkline._base, { - type: 'line', - - init: function (el, values, options, width, height) { - line._super.init.call(this, el, values, options, width, height); - this.vertices = []; - this.regionMap = []; - this.xvalues = []; - this.yvalues = []; - this.yminmax = []; - this.hightlightSpotId = null; - this.lastShapeId = null; - this.initTarget(); - }, - - getRegion: function (el, x, y) { - var i, - regionMap = this.regionMap; // maps regions to value positions - for (i = regionMap.length; i--;) { - if (regionMap[i] !== null && x >= regionMap[i][0] && x <= regionMap[i][1]) { - return regionMap[i][2]; - } - } - return undefined; - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion; - return { - isNull: this.yvalues[currentRegion] === null, - x: this.xvalues[currentRegion], - y: this.yvalues[currentRegion], - color: this.options.get('lineColor'), - fillColor: this.options.get('fillColor'), - offset: currentRegion - }; - }, - - renderHighlight: function () { - var currentRegion = this.currentRegion, - target = this.target, - vertex = this.vertices[currentRegion], - options = this.options, - spotRadius = options.get('spotRadius'), - highlightSpotColor = options.get('highlightSpotColor'), - highlightLineColor = options.get('highlightLineColor'), - highlightSpot, highlightLine; - - if (!vertex) { - return; - } - if (spotRadius && highlightSpotColor) { - highlightSpot = target.drawCircle(vertex[0], vertex[1], - spotRadius, undefined, highlightSpotColor); - this.highlightSpotId = highlightSpot.id; - target.insertAfterShape(this.lastShapeId, highlightSpot); - } - if (highlightLineColor) { - highlightLine = target.drawLine(vertex[0], this.canvasTop, vertex[0], - this.canvasTop + this.canvasHeight, highlightLineColor); - this.highlightLineId = highlightLine.id; - target.insertAfterShape(this.lastShapeId, highlightLine); - } - }, - - removeHighlight: function () { - var target = this.target; - if (this.highlightSpotId) { - target.removeShapeId(this.highlightSpotId); - this.highlightSpotId = null; - } - if (this.highlightLineId) { - target.removeShapeId(this.highlightLineId); - this.highlightLineId = null; - } - }, - - scanValues: function () { - var values = this.values, - valcount = values.length, - xvalues = this.xvalues, - yvalues = this.yvalues, - yminmax = this.yminmax, - i, val, isStr, isArray, sp; - for (i = 0; i < valcount; i++) { - val = values[i]; - isStr = typeof(values[i]) === 'string'; - isArray = typeof(values[i]) === 'object' && values[i] instanceof Array; - sp = isStr && values[i].split(':'); - if (isStr && sp.length === 2) { // x:y - xvalues.push(Number(sp[0])); - yvalues.push(Number(sp[1])); - yminmax.push(Number(sp[1])); - } else if (isArray) { - xvalues.push(val[0]); - yvalues.push(val[1]); - yminmax.push(val[1]); - } else { - xvalues.push(i); - if (values[i] === null || values[i] === 'null') { - yvalues.push(null); - } else { - yvalues.push(Number(val)); - yminmax.push(Number(val)); - } - } - } - if (this.options.get('xvalues')) { - xvalues = this.options.get('xvalues'); - } - - this.maxy = this.maxyorg = Math.max.apply(Math, yminmax); - this.miny = this.minyorg = Math.min.apply(Math, yminmax); - - this.maxx = Math.max.apply(Math, xvalues); - this.minx = Math.min.apply(Math, xvalues); - - this.xvalues = xvalues; - this.yvalues = yvalues; - this.yminmax = yminmax; - - }, - - processRangeOptions: function () { - var options = this.options, - normalRangeMin = options.get('normalRangeMin'), - normalRangeMax = options.get('normalRangeMax'); - - if (normalRangeMin !== undefined) { - if (normalRangeMin < this.miny) { - this.miny = normalRangeMin; - } - if (normalRangeMax > this.maxy) { - this.maxy = normalRangeMax; - } - } - if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.miny)) { - this.miny = options.get('chartRangeMin'); - } - if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.maxy)) { - this.maxy = options.get('chartRangeMax'); - } - if (options.get('chartRangeMinX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMinX') < this.minx)) { - this.minx = options.get('chartRangeMinX'); - } - if (options.get('chartRangeMaxX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMaxX') > this.maxx)) { - this.maxx = options.get('chartRangeMaxX'); - } - - }, - - drawNormalRange: function (canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey) { - var normalRangeMin = this.options.get('normalRangeMin'), - normalRangeMax = this.options.get('normalRangeMax'), - ytop = canvasTop + Math.round(canvasHeight - (canvasHeight * ((normalRangeMax - this.miny) / rangey))), - height = Math.round((canvasHeight * (normalRangeMax - normalRangeMin)) / rangey); - this.target.drawRect(canvasLeft, ytop, canvasWidth, height, undefined, this.options.get('normalRangeColor')).append(); - }, - - render: function () { - var options = this.options, - target = this.target, - canvasWidth = this.canvasWidth, - canvasHeight = this.canvasHeight, - vertices = this.vertices, - spotRadius = options.get('spotRadius'), - regionMap = this.regionMap, - rangex, rangey, yvallast, - canvasTop, canvasLeft, - vertex, path, paths, x, y, xnext, xpos, xposnext, - last, next, yvalcount, lineShapes, fillShapes, plen, - valueSpots, hlSpotsEnabled, color, xvalues, yvalues, i; - - if (!line._super.render.call(this)) { - return; - } - - this.scanValues(); - this.processRangeOptions(); - - xvalues = this.xvalues; - yvalues = this.yvalues; - - if (!this.yminmax.length || this.yvalues.length < 2) { - // empty or all null valuess - return; - } - - canvasTop = canvasLeft = 0; - - rangex = this.maxx - this.minx === 0 ? 1 : this.maxx - this.minx; - rangey = this.maxy - this.miny === 0 ? 1 : this.maxy - this.miny; - yvallast = this.yvalues.length - 1; - - if (spotRadius && (canvasWidth < (spotRadius * 4) || canvasHeight < (spotRadius * 4))) { - spotRadius = 0; - } - if (spotRadius) { - // adjust the canvas size as required so that spots will fit - hlSpotsEnabled = options.get('highlightSpotColor') && !options.get('disableInteraction'); - if (hlSpotsEnabled || options.get('minSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.miny)) { - canvasHeight -= Math.ceil(spotRadius); - } - if (hlSpotsEnabled || options.get('maxSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.maxy)) { - canvasHeight -= Math.ceil(spotRadius); - canvasTop += Math.ceil(spotRadius); - } - if (hlSpotsEnabled || - ((options.get('minSpotColor') || options.get('maxSpotColor')) && (yvalues[0] === this.miny || yvalues[0] === this.maxy))) { - canvasLeft += Math.ceil(spotRadius); - canvasWidth -= Math.ceil(spotRadius); - } - if (hlSpotsEnabled || options.get('spotColor') || - (options.get('minSpotColor') || options.get('maxSpotColor') && - (yvalues[yvallast] === this.miny || yvalues[yvallast] === this.maxy))) { - canvasWidth -= Math.ceil(spotRadius); - } - } - - - canvasHeight--; - - if (options.get('normalRangeMin') !== undefined && !options.get('drawNormalOnTop')) { - this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); - } - - path = []; - paths = [path]; - last = next = null; - yvalcount = yvalues.length; - for (i = 0; i < yvalcount; i++) { - x = xvalues[i]; - xnext = xvalues[i + 1]; - y = yvalues[i]; - xpos = canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)); - xposnext = i < yvalcount - 1 ? canvasLeft + Math.round((xnext - this.minx) * (canvasWidth / rangex)) : canvasWidth; - next = xpos + ((xposnext - xpos) / 2); - regionMap[i] = [last || 0, next, i]; - last = next; - if (y === null) { - if (i) { - if (yvalues[i - 1] !== null) { - path = []; - paths.push(path); - } - vertices.push(null); - } - } else { - if (y < this.miny) { - y = this.miny; - } - if (y > this.maxy) { - y = this.maxy; - } - if (!path.length) { - // previous value was null - path.push([xpos, canvasTop + canvasHeight]); - } - vertex = [xpos, canvasTop + Math.round(canvasHeight - (canvasHeight * ((y - this.miny) / rangey)))]; - path.push(vertex); - vertices.push(vertex); - } - } - - lineShapes = []; - fillShapes = []; - plen = paths.length; - for (i = 0; i < plen; i++) { - path = paths[i]; - if (path.length) { - if (options.get('fillColor')) { - path.push([path[path.length - 1][0], (canvasTop + canvasHeight)]); - fillShapes.push(path.slice(0)); - path.pop(); - } - // if there's only a single point in this path, then we want to display it - // as a vertical line which means we keep path[0] as is - if (path.length > 2) { - // else we want the first value - path[0] = [path[0][0], path[1][1]]; - } - lineShapes.push(path); - } - } - - // draw the fill first, then optionally the normal range, then the line on top of that - plen = fillShapes.length; - for (i = 0; i < plen; i++) { - target.drawShape(fillShapes[i], - options.get('fillColor'), options.get('fillColor')).append(); - } - - if (options.get('normalRangeMin') !== undefined && options.get('drawNormalOnTop')) { - this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); - } - - plen = lineShapes.length; - for (i = 0; i < plen; i++) { - target.drawShape(lineShapes[i], options.get('lineColor'), undefined, - options.get('lineWidth')).append(); - } - - if (spotRadius && options.get('valueSpots')) { - valueSpots = options.get('valueSpots'); - if (valueSpots.get === undefined) { - valueSpots = new RangeMap(valueSpots); - } - for (i = 0; i < yvalcount; i++) { - color = valueSpots.get(yvalues[i]); - if (color) { - target.drawCircle(canvasLeft + Math.round((xvalues[i] - this.minx) * (canvasWidth / rangex)), - canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[i] - this.miny) / rangey))), - spotRadius, undefined, - color).append(); - } - } - - } - if (spotRadius && options.get('spotColor') && yvalues[yvallast] !== null) { - target.drawCircle(canvasLeft + Math.round((xvalues[xvalues.length - 1] - this.minx) * (canvasWidth / rangex)), - canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[yvallast] - this.miny) / rangey))), - spotRadius, undefined, - options.get('spotColor')).append(); - } - if (this.maxy !== this.minyorg) { - if (spotRadius && options.get('minSpotColor')) { - x = xvalues[$.inArray(this.minyorg, yvalues)]; - target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), - canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.minyorg - this.miny) / rangey))), - spotRadius, undefined, - options.get('minSpotColor')).append(); - } - if (spotRadius && options.get('maxSpotColor')) { - x = xvalues[$.inArray(this.maxyorg, yvalues)]; - target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), - canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.maxyorg - this.miny) / rangey))), - spotRadius, undefined, - options.get('maxSpotColor')).append(); - } - } - - this.lastShapeId = target.getLastShapeId(); - this.canvasTop = canvasTop; - target.render(); - } - }); - - /** - * Bar charts - */ - $.fn.sparkline.bar = bar = createClass($.fn.sparkline._base, barHighlightMixin, { - type: 'bar', - - init: function (el, values, options, width, height) { - var barWidth = parseInt(options.get('barWidth'), 10), - barSpacing = parseInt(options.get('barSpacing'), 10), - chartRangeMin = options.get('chartRangeMin'), - chartRangeMax = options.get('chartRangeMax'), - chartRangeClip = options.get('chartRangeClip'), - stackMin = Infinity, - stackMax = -Infinity, - isStackString, groupMin, groupMax, stackRanges, - numValues, i, vlen, range, zeroAxis, xaxisOffset, min, max, clipMin, clipMax, - stacked, vlist, j, slen, svals, val, yoffset, yMaxCalc, canvasHeightEf; - bar._super.init.call(this, el, values, options, width, height); - - // scan values to determine whether to stack bars - for (i = 0, vlen = values.length; i < vlen; i++) { - val = values[i]; - isStackString = typeof(val) === 'string' && val.indexOf(':') > -1; - if (isStackString || $.isArray(val)) { - stacked = true; - if (isStackString) { - val = values[i] = normalizeValues(val.split(':')); - } - val = remove(val, null); // min/max will treat null as zero - groupMin = Math.min.apply(Math, val); - groupMax = Math.max.apply(Math, val); - if (groupMin < stackMin) { - stackMin = groupMin; - } - if (groupMax > stackMax) { - stackMax = groupMax; - } - } - } - - this.stacked = stacked; - this.regionShapes = {}; - this.barWidth = barWidth; - this.barSpacing = barSpacing; - this.totalBarWidth = barWidth + barSpacing; - this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing); - - this.initTarget(); - - if (chartRangeClip) { - clipMin = chartRangeMin === undefined ? -Infinity : chartRangeMin; - clipMax = chartRangeMax === undefined ? Infinity : chartRangeMax; - } - - numValues = []; - stackRanges = stacked ? [] : numValues; - var stackTotals = []; - var stackRangesNeg = []; - for (i = 0, vlen = values.length; i < vlen; i++) { - if (stacked) { - vlist = values[i]; - values[i] = svals = []; - stackTotals[i] = 0; - stackRanges[i] = stackRangesNeg[i] = 0; - for (j = 0, slen = vlist.length; j < slen; j++) { - val = svals[j] = chartRangeClip ? clipval(vlist[j], clipMin, clipMax) : vlist[j]; - if (val !== null) { - if (val > 0) { - stackTotals[i] += val; - } - if (stackMin < 0 && stackMax > 0) { - if (val < 0) { - stackRangesNeg[i] += Math.abs(val); - } else { - stackRanges[i] += val; - } - } else { - stackRanges[i] += Math.abs(val - (val < 0 ? stackMax : stackMin)); - } - numValues.push(val); - } - } - } else { - val = chartRangeClip ? clipval(values[i], clipMin, clipMax) : values[i]; - val = values[i] = normalizeValue(val); - if (val !== null) { - numValues.push(val); - } - } - } - this.max = max = Math.max.apply(Math, numValues); - this.min = min = Math.min.apply(Math, numValues); - this.stackMax = stackMax = stacked ? Math.max.apply(Math, stackTotals) : max; - this.stackMin = stackMin = stacked ? Math.min.apply(Math, numValues) : min; - - if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < min)) { - min = options.get('chartRangeMin'); - } - if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > max)) { - max = options.get('chartRangeMax'); - } - - this.zeroAxis = zeroAxis = options.get('zeroAxis', true); - if (min <= 0 && max >= 0 && zeroAxis) { - xaxisOffset = 0; - } else if (zeroAxis == false) { - xaxisOffset = min; - } else if (min > 0) { - xaxisOffset = min; - } else { - xaxisOffset = max; - } - this.xaxisOffset = xaxisOffset; - - range = stacked ? (Math.max.apply(Math, stackRanges) + Math.max.apply(Math, stackRangesNeg)) : max - min; - - // as we plot zero/min values a single pixel line, we add a pixel to all other - // values - Reduce the effective canvas size to suit - this.canvasHeightEf = (zeroAxis && min < 0) ? this.canvasHeight - 2 : this.canvasHeight - 1; - - if (min < xaxisOffset) { - yMaxCalc = (stacked && max >= 0) ? stackMax : max; - yoffset = (yMaxCalc - xaxisOffset) / range * this.canvasHeight; - if (yoffset !== Math.ceil(yoffset)) { - this.canvasHeightEf -= 2; - yoffset = Math.ceil(yoffset); - } - } else { - yoffset = this.canvasHeight; - } - this.yoffset = yoffset; - - if ($.isArray(options.get('colorMap'))) { - this.colorMapByIndex = options.get('colorMap'); - this.colorMapByValue = null; - } else { - this.colorMapByIndex = null; - this.colorMapByValue = options.get('colorMap'); - if (this.colorMapByValue && this.colorMapByValue.get === undefined) { - this.colorMapByValue = new RangeMap(this.colorMapByValue); - } - } - - this.range = range; - }, - - getRegion: function (el, x, y) { - var result = Math.floor(x / this.totalBarWidth); - return (result < 0 || result >= this.values.length) ? undefined : result; - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion, - values = ensureArray(this.values[currentRegion]), - result = [], - value, i; - for (i = values.length; i--;) { - value = values[i]; - result.push({ - isNull: value === null, - value: value, - color: this.calcColor(i, value, currentRegion), - offset: currentRegion - }); - } - return result; - }, - - calcColor: function (stacknum, value, valuenum) { - var colorMapByIndex = this.colorMapByIndex, - colorMapByValue = this.colorMapByValue, - options = this.options, - color, newColor; - if (this.stacked) { - color = options.get('stackedBarColor'); - } else { - color = (value < 0) ? options.get('negBarColor') : options.get('barColor'); - } - if (value === 0 && options.get('zeroColor') !== undefined) { - color = options.get('zeroColor'); - } - if (colorMapByValue && (newColor = colorMapByValue.get(value))) { - color = newColor; - } else if (colorMapByIndex && colorMapByIndex.length > valuenum) { - color = colorMapByIndex[valuenum]; - } - return $.isArray(color) ? color[stacknum % color.length] : color; - }, - - /** - * Render bar(s) for a region - */ - renderRegion: function (valuenum, highlight) { - var vals = this.values[valuenum], - options = this.options, - xaxisOffset = this.xaxisOffset, - result = [], - range = this.range, - stacked = this.stacked, - target = this.target, - x = valuenum * this.totalBarWidth, - canvasHeightEf = this.canvasHeightEf, - yoffset = this.yoffset, - y, height, color, isNull, yoffsetNeg, i, valcount, val, minPlotted, allMin; - - vals = $.isArray(vals) ? vals : [vals]; - valcount = vals.length; - val = vals[0]; - isNull = all(null, vals); - allMin = all(xaxisOffset, vals, true); - - if (isNull) { - if (options.get('nullColor')) { - color = highlight ? options.get('nullColor') : this.calcHighlightColor(options.get('nullColor'), options); - y = (yoffset > 0) ? yoffset - 1 : yoffset; - return target.drawRect(x, y, this.barWidth - 1, 0, color, color); - } else { - return undefined; - } - } - yoffsetNeg = yoffset; - for (i = 0; i < valcount; i++) { - val = vals[i]; - - if (stacked && val === xaxisOffset) { - if (!allMin || minPlotted) { - continue; - } - minPlotted = true; - } - - if (range > 0) { - height = Math.floor(canvasHeightEf * ((Math.abs(val - xaxisOffset) / range))) + 1; - } else { - height = 1; - } - if (val < xaxisOffset || (val === xaxisOffset && yoffset === 0)) { - y = yoffsetNeg; - yoffsetNeg += height; - } else { - y = yoffset - height; - yoffset -= height; - } - color = this.calcColor(i, val, valuenum); - if (highlight) { - color = this.calcHighlightColor(color, options); - } - result.push(target.drawRect(x, y, this.barWidth - 1, height - 1, color, color)); - } - if (result.length === 1) { - return result[0]; - } - return result; - } - }); - - /** - * Tristate charts - */ - $.fn.sparkline.tristate = tristate = createClass($.fn.sparkline._base, barHighlightMixin, { - type: 'tristate', - - init: function (el, values, options, width, height) { - var barWidth = parseInt(options.get('barWidth'), 10), - barSpacing = parseInt(options.get('barSpacing'), 10); - tristate._super.init.call(this, el, values, options, width, height); - - this.regionShapes = {}; - this.barWidth = barWidth; - this.barSpacing = barSpacing; - this.totalBarWidth = barWidth + barSpacing; - this.values = $.map(values, Number); - this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing); - - if ($.isArray(options.get('colorMap'))) { - this.colorMapByIndex = options.get('colorMap'); - this.colorMapByValue = null; - } else { - this.colorMapByIndex = null; - this.colorMapByValue = options.get('colorMap'); - if (this.colorMapByValue && this.colorMapByValue.get === undefined) { - this.colorMapByValue = new RangeMap(this.colorMapByValue); - } - } - this.initTarget(); - }, - - getRegion: function (el, x, y) { - return Math.floor(x / this.totalBarWidth); - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion; - return { - isNull: this.values[currentRegion] === undefined, - value: this.values[currentRegion], - color: this.calcColor(this.values[currentRegion], currentRegion), - offset: currentRegion - }; - }, - - calcColor: function (value, valuenum) { - var values = this.values, - options = this.options, - colorMapByIndex = this.colorMapByIndex, - colorMapByValue = this.colorMapByValue, - color, newColor; - - if (colorMapByValue && (newColor = colorMapByValue.get(value))) { - color = newColor; - } else if (colorMapByIndex && colorMapByIndex.length > valuenum) { - color = colorMapByIndex[valuenum]; - } else if (values[valuenum] < 0) { - color = options.get('negBarColor'); - } else if (values[valuenum] > 0) { - color = options.get('posBarColor'); - } else { - color = options.get('zeroBarColor'); - } - return color; - }, - - renderRegion: function (valuenum, highlight) { - var values = this.values, - options = this.options, - target = this.target, - canvasHeight, height, halfHeight, - x, y, color; - - canvasHeight = target.pixelHeight; - halfHeight = Math.round(canvasHeight / 2); - - x = valuenum * this.totalBarWidth; - if (values[valuenum] < 0) { - y = halfHeight; - height = halfHeight - 1; - } else if (values[valuenum] > 0) { - y = 0; - height = halfHeight - 1; - } else { - y = halfHeight - 1; - height = 2; - } - color = this.calcColor(values[valuenum], valuenum); - if (color === null) { - return; - } - if (highlight) { - color = this.calcHighlightColor(color, options); - } - return target.drawRect(x, y, this.barWidth - 1, height - 1, color, color); - } - }); - - /** - * Discrete charts - */ - $.fn.sparkline.discrete = discrete = createClass($.fn.sparkline._base, barHighlightMixin, { - type: 'discrete', - - init: function (el, values, options, width, height) { - discrete._super.init.call(this, el, values, options, width, height); - - this.regionShapes = {}; - this.values = values = $.map(values, Number); - this.min = Math.min.apply(Math, values); - this.max = Math.max.apply(Math, values); - this.range = this.max - this.min; - this.width = width = options.get('width') === 'auto' ? values.length * 2 : this.width; - this.interval = Math.floor(width / values.length); - this.itemWidth = width / values.length; - if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.min)) { - this.min = options.get('chartRangeMin'); - } - if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.max)) { - this.max = options.get('chartRangeMax'); - } - this.initTarget(); - if (this.target) { - this.lineHeight = options.get('lineHeight') === 'auto' ? Math.round(this.canvasHeight * 0.3) : options.get('lineHeight'); - } - }, - - getRegion: function (el, x, y) { - return Math.floor(x / this.itemWidth); - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion; - return { - isNull: this.values[currentRegion] === undefined, - value: this.values[currentRegion], - offset: currentRegion - }; - }, - - renderRegion: function (valuenum, highlight) { - var values = this.values, - options = this.options, - min = this.min, - max = this.max, - range = this.range, - interval = this.interval, - target = this.target, - canvasHeight = this.canvasHeight, - lineHeight = this.lineHeight, - pheight = canvasHeight - lineHeight, - ytop, val, color, x; - - val = clipval(values[valuenum], min, max); - x = valuenum * interval; - ytop = Math.round(pheight - pheight * ((val - min) / range)); - color = (options.get('thresholdColor') && val < options.get('thresholdValue')) ? options.get('thresholdColor') : options.get('lineColor'); - if (highlight) { - color = this.calcHighlightColor(color, options); - } - return target.drawLine(x, ytop, x, ytop + lineHeight, color); - } - }); - - /** - * Bullet charts - */ - $.fn.sparkline.bullet = bullet = createClass($.fn.sparkline._base, { - type: 'bullet', - - init: function (el, values, options, width, height) { - var min, max, vals; - bullet._super.init.call(this, el, values, options, width, height); - - // values: target, performance, range1, range2, range3 - this.values = values = normalizeValues(values); - // target or performance could be null - vals = values.slice(); - vals[0] = vals[0] === null ? vals[2] : vals[0]; - vals[1] = values[1] === null ? vals[2] : vals[1]; - min = Math.min.apply(Math, values); - max = Math.max.apply(Math, values); - if (options.get('base') === undefined) { - min = min < 0 ? min : 0; - } else { - min = options.get('base'); - } - this.min = min; - this.max = max; - this.range = max - min; - this.shapes = {}; - this.valueShapes = {}; - this.regiondata = {}; - this.width = width = options.get('width') === 'auto' ? '4.0em' : width; - this.target = this.$el.simpledraw(width, height, options.get('composite')); - if (!values.length) { - this.disabled = true; - } - this.initTarget(); - }, - - getRegion: function (el, x, y) { - var shapeid = this.target.getShapeAt(el, x, y); - return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion; - return { - fieldkey: currentRegion.substr(0, 1), - value: this.values[currentRegion.substr(1)], - region: currentRegion - }; - }, - - changeHighlight: function (highlight) { - var currentRegion = this.currentRegion, - shapeid = this.valueShapes[currentRegion], - shape; - delete this.shapes[shapeid]; - switch (currentRegion.substr(0, 1)) { - case 'r': - shape = this.renderRange(currentRegion.substr(1), highlight); - break; - case 'p': - shape = this.renderPerformance(highlight); - break; - case 't': - shape = this.renderTarget(highlight); - break; - } - this.valueShapes[currentRegion] = shape.id; - this.shapes[shape.id] = currentRegion; - this.target.replaceWithShape(shapeid, shape); - }, - - renderRange: function (rn, highlight) { - var rangeval = this.values[rn], - rangewidth = Math.round(this.canvasWidth * ((rangeval - this.min) / this.range)), - color = this.options.get('rangeColors')[rn - 2]; - if (highlight) { - color = this.calcHighlightColor(color, this.options); - } - return this.target.drawRect(0, 0, rangewidth - 1, this.canvasHeight - 1, color, color); - }, - - renderPerformance: function (highlight) { - var perfval = this.values[1], - perfwidth = Math.round(this.canvasWidth * ((perfval - this.min) / this.range)), - color = this.options.get('performanceColor'); - if (highlight) { - color = this.calcHighlightColor(color, this.options); - } - return this.target.drawRect(0, Math.round(this.canvasHeight * 0.3), perfwidth - 1, - Math.round(this.canvasHeight * 0.4) - 1, color, color); - }, - - renderTarget: function (highlight) { - var targetval = this.values[0], - x = Math.round(this.canvasWidth * ((targetval - this.min) / this.range) - (this.options.get('targetWidth') / 2)), - targettop = Math.round(this.canvasHeight * 0.10), - targetheight = this.canvasHeight - (targettop * 2), - color = this.options.get('targetColor'); - if (highlight) { - color = this.calcHighlightColor(color, this.options); - } - return this.target.drawRect(x, targettop, this.options.get('targetWidth') - 1, targetheight - 1, color, color); - }, - - render: function () { - var vlen = this.values.length, - target = this.target, - i, shape; - if (!bullet._super.render.call(this)) { - return; - } - for (i = 2; i < vlen; i++) { - shape = this.renderRange(i).append(); - this.shapes[shape.id] = 'r' + i; - this.valueShapes['r' + i] = shape.id; - } - if (this.values[1] !== null) { - shape = this.renderPerformance().append(); - this.shapes[shape.id] = 'p1'; - this.valueShapes.p1 = shape.id; - } - if (this.values[0] !== null) { - shape = this.renderTarget().append(); - this.shapes[shape.id] = 't0'; - this.valueShapes.t0 = shape.id; - } - target.render(); - } - }); - - /** - * Pie charts - */ - $.fn.sparkline.pie = pie = createClass($.fn.sparkline._base, { - type: 'pie', - - init: function (el, values, options, width, height) { - var total = 0, i; - - pie._super.init.call(this, el, values, options, width, height); - - this.shapes = {}; // map shape ids to value offsets - this.valueShapes = {}; // maps value offsets to shape ids - this.values = values = $.map(values, Number); - - if (options.get('width') === 'auto') { - this.width = this.height; - } - - if (values.length > 0) { - for (i = values.length; i--;) { - total += values[i]; - } - } - this.total = total; - this.initTarget(); - this.radius = Math.floor(Math.min(this.canvasWidth, this.canvasHeight) / 2); - }, - - getRegion: function (el, x, y) { - var shapeid = this.target.getShapeAt(el, x, y); - return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; - }, - - getCurrentRegionFields: function () { - var currentRegion = this.currentRegion; - return { - isNull: this.values[currentRegion] === undefined, - value: this.values[currentRegion], - percent: this.values[currentRegion] / this.total * 100, - color: this.options.get('sliceColors')[currentRegion % this.options.get('sliceColors').length], - offset: currentRegion - }; - }, - - changeHighlight: function (highlight) { - var currentRegion = this.currentRegion, - newslice = this.renderSlice(currentRegion, highlight), - shapeid = this.valueShapes[currentRegion]; - delete this.shapes[shapeid]; - this.target.replaceWithShape(shapeid, newslice); - this.valueShapes[currentRegion] = newslice.id; - this.shapes[newslice.id] = currentRegion; - }, - - renderSlice: function (valuenum, highlight) { - var target = this.target, - options = this.options, - radius = this.radius, - borderWidth = options.get('borderWidth'), - offset = options.get('offset'), - circle = 2 * Math.PI, - values = this.values, - total = this.total, - next = offset ? (2*Math.PI)*(offset/360) : 0, - start, end, i, vlen, color; - - vlen = values.length; - for (i = 0; i < vlen; i++) { - start = next; - end = next; - if (total > 0) { // avoid divide by zero - end = next + (circle * (values[i] / total)); - } - if (valuenum === i) { - color = options.get('sliceColors')[i % options.get('sliceColors').length]; - if (highlight) { - color = this.calcHighlightColor(color, options); - } - - return target.drawPieSlice(radius, radius, radius - borderWidth, start, end, undefined, color); - } - next = end; - } - }, - - render: function () { - var target = this.target, - values = this.values, - options = this.options, - radius = this.radius, - borderWidth = options.get('borderWidth'), - shape, i; - - if (!pie._super.render.call(this)) { - return; - } - if (borderWidth) { - target.drawCircle(radius, radius, Math.floor(radius - (borderWidth / 2)), - options.get('borderColor'), undefined, borderWidth).append(); - } - for (i = values.length; i--;) { - if (values[i]) { // don't render zero values - shape = this.renderSlice(i).append(); - this.valueShapes[i] = shape.id; // store just the shapeid - this.shapes[shape.id] = i; - } - } - target.render(); - } - }); - - /** - * Box plots - */ - $.fn.sparkline.box = box = createClass($.fn.sparkline._base, { - type: 'box', - - init: function (el, values, options, width, height) { - box._super.init.call(this, el, values, options, width, height); - this.values = $.map(values, Number); - this.width = options.get('width') === 'auto' ? '4.0em' : width; - this.initTarget(); - if (!this.values.length) { - this.disabled = 1; - } - }, - - /** - * Simulate a single region - */ - getRegion: function () { - return 1; - }, - - getCurrentRegionFields: function () { - var result = [ - { field: 'lq', value: this.quartiles[0] }, - { field: 'med', value: this.quartiles[1] }, - { field: 'uq', value: this.quartiles[2] } - ]; - if (this.loutlier !== undefined) { - result.push({ field: 'lo', value: this.loutlier}); - } - if (this.routlier !== undefined) { - result.push({ field: 'ro', value: this.routlier}); - } - if (this.lwhisker !== undefined) { - result.push({ field: 'lw', value: this.lwhisker}); - } - if (this.rwhisker !== undefined) { - result.push({ field: 'rw', value: this.rwhisker}); - } - return result; - }, - - render: function () { - var target = this.target, - values = this.values, - vlen = values.length, - options = this.options, - canvasWidth = this.canvasWidth, - canvasHeight = this.canvasHeight, - minValue = options.get('chartRangeMin') === undefined ? Math.min.apply(Math, values) : options.get('chartRangeMin'), - maxValue = options.get('chartRangeMax') === undefined ? Math.max.apply(Math, values) : options.get('chartRangeMax'), - canvasLeft = 0, - lwhisker, loutlier, iqr, q1, q2, q3, rwhisker, routlier, i, - size, unitSize; - - if (!box._super.render.call(this)) { - return; - } - - if (options.get('raw')) { - if (options.get('showOutliers') && values.length > 5) { - loutlier = values[0]; - lwhisker = values[1]; - q1 = values[2]; - q2 = values[3]; - q3 = values[4]; - rwhisker = values[5]; - routlier = values[6]; - } else { - lwhisker = values[0]; - q1 = values[1]; - q2 = values[2]; - q3 = values[3]; - rwhisker = values[4]; - } - } else { - values.sort(function (a, b) { return a - b; }); - q1 = quartile(values, 1); - q2 = quartile(values, 2); - q3 = quartile(values, 3); - iqr = q3 - q1; - if (options.get('showOutliers')) { - lwhisker = rwhisker = undefined; - for (i = 0; i < vlen; i++) { - if (lwhisker === undefined && values[i] > q1 - (iqr * options.get('outlierIQR'))) { - lwhisker = values[i]; - } - if (values[i] < q3 + (iqr * options.get('outlierIQR'))) { - rwhisker = values[i]; - } - } - loutlier = values[0]; - routlier = values[vlen - 1]; - } else { - lwhisker = values[0]; - rwhisker = values[vlen - 1]; - } - } - this.quartiles = [q1, q2, q3]; - this.lwhisker = lwhisker; - this.rwhisker = rwhisker; - this.loutlier = loutlier; - this.routlier = routlier; - - unitSize = canvasWidth / (maxValue - minValue + 1); - if (options.get('showOutliers')) { - canvasLeft = Math.ceil(options.get('spotRadius')); - canvasWidth -= 2 * Math.ceil(options.get('spotRadius')); - unitSize = canvasWidth / (maxValue - minValue + 1); - if (loutlier < lwhisker) { - target.drawCircle((loutlier - minValue) * unitSize + canvasLeft, - canvasHeight / 2, - options.get('spotRadius'), - options.get('outlierLineColor'), - options.get('outlierFillColor')).append(); - } - if (routlier > rwhisker) { - target.drawCircle((routlier - minValue) * unitSize + canvasLeft, - canvasHeight / 2, - options.get('spotRadius'), - options.get('outlierLineColor'), - options.get('outlierFillColor')).append(); - } - } - - // box - target.drawRect( - Math.round((q1 - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight * 0.1), - Math.round((q3 - q1) * unitSize), - Math.round(canvasHeight * 0.8), - options.get('boxLineColor'), - options.get('boxFillColor')).append(); - // left whisker - target.drawLine( - Math.round((lwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 2), - Math.round((q1 - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 2), - options.get('lineColor')).append(); - target.drawLine( - Math.round((lwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 4), - Math.round((lwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight - canvasHeight / 4), - options.get('whiskerColor')).append(); - // right whisker - target.drawLine(Math.round((rwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 2), - Math.round((q3 - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 2), - options.get('lineColor')).append(); - target.drawLine( - Math.round((rwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight / 4), - Math.round((rwhisker - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight - canvasHeight / 4), - options.get('whiskerColor')).append(); - // median line - target.drawLine( - Math.round((q2 - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight * 0.1), - Math.round((q2 - minValue) * unitSize + canvasLeft), - Math.round(canvasHeight * 0.9), - options.get('medianColor')).append(); - if (options.get('target')) { - size = Math.ceil(options.get('spotRadius')); - target.drawLine( - Math.round((options.get('target') - minValue) * unitSize + canvasLeft), - Math.round((canvasHeight / 2) - size), - Math.round((options.get('target') - minValue) * unitSize + canvasLeft), - Math.round((canvasHeight / 2) + size), - options.get('targetColor')).append(); - target.drawLine( - Math.round((options.get('target') - minValue) * unitSize + canvasLeft - size), - Math.round(canvasHeight / 2), - Math.round((options.get('target') - minValue) * unitSize + canvasLeft + size), - Math.round(canvasHeight / 2), - options.get('targetColor')).append(); - } - target.render(); - } - }); - - // Setup a very simple "virtual canvas" to make drawing the few shapes we need easier - // This is accessible as $(foo).simpledraw() - - // Detect browser renderer support - (function() { - if (document.namespaces && !document.namespaces.v) { - $.fn.sparkline.hasVML = true; - document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML'); - } else { - $.fn.sparkline.hasVML = false; - } - - var el = document.createElement('canvas'); - $.fn.sparkline.hasCanvas = !!(el.getContext && el.getContext('2d')); - - })() - - VShape = createClass({ - init: function (target, id, type, args) { - this.target = target; - this.id = id; - this.type = type; - this.args = args; - }, - append: function () { - this.target.appendShape(this); - return this; - } - }); - - VCanvas_base = createClass({ - _pxregex: /(\d+)(px)?\s*$/i, - - init: function (width, height, target) { - if (!width) { - return; - } - this.width = width; - this.height = height; - this.target = target; - this.lastShapeId = null; - if (target[0]) { - target = target[0]; - } - $.data(target, '_jqs_vcanvas', this); - }, - - drawLine: function (x1, y1, x2, y2, lineColor, lineWidth) { - return this.drawShape([[x1, y1], [x2, y2]], lineColor, lineWidth); - }, - - drawShape: function (path, lineColor, fillColor, lineWidth) { - return this._genShape('Shape', [path, lineColor, fillColor, lineWidth]); - }, - - drawCircle: function (x, y, radius, lineColor, fillColor, lineWidth) { - return this._genShape('Circle', [x, y, radius, lineColor, fillColor, lineWidth]); - }, - - drawPieSlice: function (x, y, radius, startAngle, endAngle, lineColor, fillColor) { - return this._genShape('PieSlice', [x, y, radius, startAngle, endAngle, lineColor, fillColor]); - }, - - drawRect: function (x, y, width, height, lineColor, fillColor) { - return this._genShape('Rect', [x, y, width, height, lineColor, fillColor]); - }, - - getElement: function () { - return this.canvas; - }, - - /** - * Return the most recently inserted shape id - */ - getLastShapeId: function () { - return this.lastShapeId; - }, - - /** - * Clear and reset the canvas - */ - reset: function () { - alert('reset not implemented'); - }, - - _insert: function (el, target) { - $(target).html(el); - }, - - /** - * Calculate the pixel dimensions of the canvas - */ - _calculatePixelDims: function (width, height, canvas) { - // XXX This should probably be a configurable option - var match; - match = this._pxregex.exec(height); - if (match) { - this.pixelHeight = match[1]; - } else { - this.pixelHeight = $(canvas).height(); - } - match = this._pxregex.exec(width); - if (match) { - this.pixelWidth = match[1]; - } else { - this.pixelWidth = $(canvas).width(); - } - }, - - /** - * Generate a shape object and id for later rendering - */ - _genShape: function (shapetype, shapeargs) { - var id = shapeCount++; - shapeargs.unshift(id); - return new VShape(this, id, shapetype, shapeargs); - }, - - /** - * Add a shape to the end of the render queue - */ - appendShape: function (shape) { - alert('appendShape not implemented'); - }, - - /** - * Replace one shape with another - */ - replaceWithShape: function (shapeid, shape) { - alert('replaceWithShape not implemented'); - }, - - /** - * Insert one shape after another in the render queue - */ - insertAfterShape: function (shapeid, shape) { - alert('insertAfterShape not implemented'); - }, - - /** - * Remove a shape from the queue - */ - removeShapeId: function (shapeid) { - alert('removeShapeId not implemented'); - }, - - /** - * Find a shape at the specified x/y co-ordinates - */ - getShapeAt: function (el, x, y) { - alert('getShapeAt not implemented'); - }, - - /** - * Render all queued shapes onto the canvas - */ - render: function () { - alert('render not implemented'); - } - }); - - VCanvas_canvas = createClass(VCanvas_base, { - init: function (width, height, target, interact) { - VCanvas_canvas._super.init.call(this, width, height, target); - this.canvas = document.createElement('canvas'); - if (target[0]) { - target = target[0]; - } - $.data(target, '_jqs_vcanvas', this); - $(this.canvas).css({ display: 'inline-block', width: width, height: height, verticalAlign: 'top' }); - this._insert(this.canvas, target); - this._calculatePixelDims(width, height, this.canvas); - this.canvas.width = this.pixelWidth; - this.canvas.height = this.pixelHeight; - this.interact = interact; - this.shapes = {}; - this.shapeseq = []; - this.currentTargetShapeId = undefined; - $(this.canvas).css({width: this.pixelWidth, height: this.pixelHeight}); - }, - - _getContext: function (lineColor, fillColor, lineWidth) { - var context = this.canvas.getContext('2d'); - if (lineColor !== undefined) { - context.strokeStyle = lineColor; - } - context.lineWidth = lineWidth === undefined ? 1 : lineWidth; - if (fillColor !== undefined) { - context.fillStyle = fillColor; - } - return context; - }, - - reset: function () { - var context = this._getContext(); - context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); - this.shapes = {}; - this.shapeseq = []; - this.currentTargetShapeId = undefined; - }, - - _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) { - var context = this._getContext(lineColor, fillColor, lineWidth), - i, plen; - context.beginPath(); - context.moveTo(path[0][0] + 0.5, path[0][1] + 0.5); - for (i = 1, plen = path.length; i < plen; i++) { - context.lineTo(path[i][0] + 0.5, path[i][1] + 0.5); // the 0.5 offset gives us crisp pixel-width lines - } - if (lineColor !== undefined) { - context.stroke(); - } - if (fillColor !== undefined) { - context.fill(); - } - if (this.targetX !== undefined && this.targetY !== undefined && - context.isPointInPath(this.targetX, this.targetY)) { - this.currentTargetShapeId = shapeid; - } - }, - - _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { - var context = this._getContext(lineColor, fillColor, lineWidth); - context.beginPath(); - context.arc(x, y, radius, 0, 2 * Math.PI, false); - if (this.targetX !== undefined && this.targetY !== undefined && - context.isPointInPath(this.targetX, this.targetY)) { - this.currentTargetShapeId = shapeid; - } - if (lineColor !== undefined) { - context.stroke(); - } - if (fillColor !== undefined) { - context.fill(); - } - }, - - _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { - var context = this._getContext(lineColor, fillColor); - context.beginPath(); - context.moveTo(x, y); - context.arc(x, y, radius, startAngle, endAngle, false); - context.lineTo(x, y); - context.closePath(); - if (lineColor !== undefined) { - context.stroke(); - } - if (fillColor) { - context.fill(); - } - if (this.targetX !== undefined && this.targetY !== undefined && - context.isPointInPath(this.targetX, this.targetY)) { - this.currentTargetShapeId = shapeid; - } - }, - - _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) { - return this._drawShape(shapeid, [[x, y], [x + width, y], [x + width, y + height], [x, y + height], [x, y]], lineColor, fillColor); - }, - - appendShape: function (shape) { - this.shapes[shape.id] = shape; - this.shapeseq.push(shape.id); - this.lastShapeId = shape.id; - return shape.id; - }, - - replaceWithShape: function (shapeid, shape) { - var shapeseq = this.shapeseq, - i; - this.shapes[shape.id] = shape; - for (i = shapeseq.length; i--;) { - if (shapeseq[i] == shapeid) { - shapeseq[i] = shape.id; - } - } - delete this.shapes[shapeid]; - }, - - replaceWithShapes: function (shapeids, shapes) { - var shapeseq = this.shapeseq, - shapemap = {}, - sid, i, first; - - for (i = shapeids.length; i--;) { - shapemap[shapeids[i]] = true; - } - for (i = shapeseq.length; i--;) { - sid = shapeseq[i]; - if (shapemap[sid]) { - shapeseq.splice(i, 1); - delete this.shapes[sid]; - first = i; - } - } - for (i = shapes.length; i--;) { - shapeseq.splice(first, 0, shapes[i].id); - this.shapes[shapes[i].id] = shapes[i]; - } - - }, - - insertAfterShape: function (shapeid, shape) { - var shapeseq = this.shapeseq, - i; - for (i = shapeseq.length; i--;) { - if (shapeseq[i] === shapeid) { - shapeseq.splice(i + 1, 0, shape.id); - this.shapes[shape.id] = shape; - return; - } - } - }, - - removeShapeId: function (shapeid) { - var shapeseq = this.shapeseq, - i; - for (i = shapeseq.length; i--;) { - if (shapeseq[i] === shapeid) { - shapeseq.splice(i, 1); - break; - } - } - delete this.shapes[shapeid]; - }, - - getShapeAt: function (el, x, y) { - this.targetX = x; - this.targetY = y; - this.render(); - return this.currentTargetShapeId; - }, - - render: function () { - var shapeseq = this.shapeseq, - shapes = this.shapes, - shapeCount = shapeseq.length, - context = this._getContext(), - shapeid, shape, i; - context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); - for (i = 0; i < shapeCount; i++) { - shapeid = shapeseq[i]; - shape = shapes[shapeid]; - this['_draw' + shape.type].apply(this, shape.args); - } - if (!this.interact) { - // not interactive so no need to keep the shapes array - this.shapes = {}; - this.shapeseq = []; - } - } - - }); - - VCanvas_vml = createClass(VCanvas_base, { - init: function (width, height, target) { - var groupel; - VCanvas_vml._super.init.call(this, width, height, target); - if (target[0]) { - target = target[0]; - } - $.data(target, '_jqs_vcanvas', this); - this.canvas = document.createElement('span'); - $(this.canvas).css({ display: 'inline-block', position: 'relative', overflow: 'hidden', width: width, height: height, margin: '0px', padding: '0px', verticalAlign: 'top'}); - this._insert(this.canvas, target); - this._calculatePixelDims(width, height, this.canvas); - this.canvas.width = this.pixelWidth; - this.canvas.height = this.pixelHeight; - groupel = ''; - this.canvas.insertAdjacentHTML('beforeEnd', groupel); - this.group = $(this.canvas).children()[0]; - this.rendered = false; - this.prerender = ''; - }, - - _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) { - var vpath = [], - initial, stroke, fill, closed, vel, plen, i; - for (i = 0, plen = path.length; i < plen; i++) { - vpath[i] = '' + (path[i][0]) + ',' + (path[i][1]); - } - initial = vpath.splice(0, 1); - lineWidth = lineWidth === undefined ? 1 : lineWidth; - stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; - fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; - closed = vpath[0] === vpath[vpath.length - 1] ? 'x ' : ''; - vel = '' + - ' '; - return vel; - }, - - _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { - var stroke, fill, vel; - x -= radius; - y -= radius; - stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; - fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; - vel = ''; - return vel; - - }, - - _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { - var vpath, startx, starty, endx, endy, stroke, fill, vel; - if (startAngle === endAngle) { - return ''; // VML seems to have problem when start angle equals end angle. - } - if ((endAngle - startAngle) === (2 * Math.PI)) { - startAngle = 0.0; // VML seems to have a problem when drawing a full circle that doesn't start 0 - endAngle = (2 * Math.PI); - } - - startx = x + Math.round(Math.cos(startAngle) * radius); - starty = y + Math.round(Math.sin(startAngle) * radius); - endx = x + Math.round(Math.cos(endAngle) * radius); - endy = y + Math.round(Math.sin(endAngle) * radius); - - if (startx === endx && starty === endy) { - if ((endAngle - startAngle) < Math.PI) { - // Prevent very small slices from being mistaken as a whole pie - return ''; - } - // essentially going to be the entire circle, so ignore startAngle - startx = endx = x + radius; - starty = endy = y; - } - - if (startx === endx && starty === endy && (endAngle - startAngle) < Math.PI) { - return ''; - } - - vpath = [x - radius, y - radius, x + radius, y + radius, startx, starty, endx, endy]; - stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="1px" strokeColor="' + lineColor + '" '; - fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; - vel = '' + - ' '; - return vel; - }, - - _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) { - return this._drawShape(shapeid, [[x, y], [x, y + height], [x + width, y + height], [x + width, y], [x, y]], lineColor, fillColor); - }, - - reset: function () { - this.group.innerHTML = ''; - }, - - appendShape: function (shape) { - var vel = this['_draw' + shape.type].apply(this, shape.args); - if (this.rendered) { - this.group.insertAdjacentHTML('beforeEnd', vel); - } else { - this.prerender += vel; - } - this.lastShapeId = shape.id; - return shape.id; - }, - - replaceWithShape: function (shapeid, shape) { - var existing = $('#jqsshape' + shapeid), - vel = this['_draw' + shape.type].apply(this, shape.args); - existing[0].outerHTML = vel; - }, - - replaceWithShapes: function (shapeids, shapes) { - // replace the first shapeid with all the new shapes then toast the remaining old shapes - var existing = $('#jqsshape' + shapeids[0]), - replace = '', - slen = shapes.length, - i; - for (i = 0; i < slen; i++) { - replace += this['_draw' + shapes[i].type].apply(this, shapes[i].args); - } - existing[0].outerHTML = replace; - for (i = 1; i < shapeids.length; i++) { - $('#jqsshape' + shapeids[i]).remove(); - } - }, - - insertAfterShape: function (shapeid, shape) { - var existing = $('#jqsshape' + shapeid), - vel = this['_draw' + shape.type].apply(this, shape.args); - existing[0].insertAdjacentHTML('afterEnd', vel); - }, - - removeShapeId: function (shapeid) { - var existing = $('#jqsshape' + shapeid); - this.group.removeChild(existing[0]); - }, - - getShapeAt: function (el, x, y) { - var shapeid = el.id.substr(8); - return shapeid; - }, - - render: function () { - if (!this.rendered) { - // batch the intial render into a single repaint - this.group.innerHTML = this.prerender; - this.rendered = true; - } - } - }); - -})); diff --git a/addons/crm/static/src/js/crm_case_section.js b/addons/crm/static/src/js/crm_case_section.js index 2b4ca741d75..deb21d38de2 100644 --- a/addons/crm/static/src/js/crm_case_section.js +++ b/addons/crm/static/src/js/crm_case_section.js @@ -9,26 +9,4 @@ openerp.crm = function(openerp) { }, }); - openerp.crm.SparklineBarWidget = openerp.web_kanban.AbstractField.extend({ - className: "oe_sparkline_bar", - start: function() { - var self = this; - var title = this.$node.html(); - setTimeout(function () { - var value = _.pluck(self.field.value, 'value'); - var tooltips = _.pluck(self.field.value, 'tooltip'); - self.$el.sparkline(value, { - type: 'bar', - barWidth: 5, - tooltipFormat: '{{offset:offset}} {{value}}', - tooltipValueLookups: { - 'offset': tooltips - }, - }); - self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'}); - }, 0); - }, - }); - openerp.web_kanban.fields_registry.add("sparkline_bar", "openerp.crm.SparklineBarWidget"); - }; diff --git a/addons/sale_crm/__openerp__.py b/addons/sale_crm/__openerp__.py index 7db1aa1eff0..7a57484eab8 100644 --- a/addons/sale_crm/__openerp__.py +++ b/addons/sale_crm/__openerp__.py @@ -37,7 +37,7 @@ modules. 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images': ['images/crm_statistics_dashboard.jpeg', 'images/opportunity_to_quote.jpeg'], - 'depends': ['sale', 'crm'], + 'depends': ['sale', 'crm', 'web_kanban_gauge'], 'data': [ 'wizard/crm_make_sale_view.xml', 'sale_crm_view.xml', @@ -48,7 +48,6 @@ modules. 'report/sale_crm_account_invoice_report_view.xml', ], 'js': [ - 'static/lib/justgage.js', 'static/src/js/sale_crm.js', ], 'demo': ['sale_crm_demo.xml'], diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml index 7812b8d2687..a1e201d9b7f 100644 --- a/addons/sale_crm/sale_crm_view.xml +++ b/addons/sale_crm/sale_crm_view.xml @@ -268,8 +268,8 @@
- Invoiced - Forecast + Invoiced + Forecast

Define an invoicing target in the sales team settings to see the period's achievement and forecast at a glance. diff --git a/addons/sale_crm/static/lib/justgage.js b/addons/sale_crm/static/lib/justgage.js deleted file mode 100644 index 52b5c6ea0c3..00000000000 --- a/addons/sale_crm/static/lib/justgage.js +++ /dev/null @@ -1,883 +0,0 @@ -/** - * JustGage - this is work-in-progress, unreleased, unofficial code, so it might not work top-notch :) - * Check http://www.justgage.com for official releases - * Licensed under MIT. - * @author Bojan Djuricic (@Toorshia) - * - * LATEST UPDATES - - * ----------------------------- - * April 01, 2013. - * ----------------------------- - * fix - https://github.com/toorshia/justgage/issues/46 - - * ----------------------------- - * March 26, 2013. - * ----------------------------- - * customSectors - define specific color for value range (0-10 : red, 10-30 : blue etc.) - - * ----------------------------- - * March 23, 2013. - * ----------------------------- - * counter - option to animate value in counting fashion - * fix - https://github.com/toorshia/justgage/issues/45 - - * ----------------------------- - * March 13, 2013. - * ----------------------------- - * refresh method - added optional 'max' parameter to use when you need to update max value - - * ----------------------------- - * February 26, 2013. - * ----------------------------- - * decimals - option to define/limit number of decimals when not using humanFriendly or customRenderer to display value - * fixed a missing parameters bug when calling generateShadow() for IE < 9 - - * ----------------------------- - * December 31, 2012. - * ----------------------------- - * fixed text y-position for hidden divs - workaround for Raphael 'dy' bug - https://github.com/DmitryBaranovskiy/raphael/issues/491 - * 'show' parameters, like showMinMax are now 'hide' because I am lame developer - please update these in your setups - * Min and Max labels are now auto-off when in donut mode - * Start angle in donut mode is now 90 - * donutStartAngle - option to define start angle for donut - - * ----------------------------- - * November 25, 2012. - * ----------------------------- - * Option to define custom rendering function for displayed value - - * ----------------------------- - * November 19, 2012. - * ----------------------------- - * Config.value is now updated after gauge refresh - - * ----------------------------- - * November 13, 2012. - * ----------------------------- - * Donut display mode added - * Option to hide value label - * Option to enable responsive gauge size - * Removed default title attribute - * Option to accept min and max defined as string values - * Option to configure value symbol - * Fixed bad aspect ratio calculations - * Option to configure minimum font size for all texts - * Option to show shorthand big numbers (human friendly) - */ - - JustGage = function(config) { - - if (!config.id) {alert("Missing id parameter for gauge!"); return false;} - if (!config.node) { - if (!document.getElementById(config.id)) {alert("No element with id: \""+config.id+"\" found!"); return false;} - config.node = document.getElementById(config.id); - } - - var obj = this; - - // configurable parameters - obj.config = - { - // id : string - // this is container element id - id : config.id, - - // node : string - // the node to use instead of DOM - node : config.node, - - // title : string - // gauge title - title : (config.title) ? config.title : "", - - // titleFontColor : string - // color of gauge title - titleFontColor : (config.titleFontColor) ? config.titleFontColor : "#999999", - - // value : int - // value gauge is showing - value : (config.value) ? config.value : 0, - - - // valueFontColor : string - // color of label showing current value - valueFontColor : (config.valueFontColor) ? config.valueFontColor : "#010101", - - // symbol : string - // special symbol to show next to value - symbol : (config.symbol) ? config.symbol : "", - - // min : int - // min value - min : (config.min) ? parseFloat(config.min) : 0, - - // max : int - // max value - max : (config.max) ? parseFloat(config.max) : 100, - - // humanFriendlyDecimal : int - // number of decimal places for our human friendly number to contain - humanFriendlyDecimal : (config.humanFriendlyDecimal) ? config.humanFriendlyDecimal : 0, - - // textRenderer: func - // function applied before rendering text - textRenderer : (config.textRenderer) ? config.textRenderer : null, - - // gaugeWidthScale : float - // width of the gauge element - gaugeWidthScale : (config.gaugeWidthScale) ? config.gaugeWidthScale : 1.0, - - // gaugeColor : string - // background color of gauge element - gaugeColor : (config.gaugeColor) ? config.gaugeColor : "#edebeb", - - // label : string - // text to show below value - label : (config.label) ? config.label : "", - - // labelFontColor : string - // color of label showing label under value - labelFontColor : (config.labelFontColor) ? config.labelFontColor : "#b3b3b3", - - // shadowOpacity : int - // 0 ~ 1 - shadowOpacity : (config.shadowOpacity) ? config.shadowOpacity : 0.2, - - // shadowSize: int - // inner shadow size - shadowSize : (config.shadowSize) ? config.shadowSize : 5, - - // shadowVerticalOffset : int - // how much shadow is offset from top - shadowVerticalOffset : (config.shadowVerticalOffset) ? config.shadowVerticalOffset : 3, - - // levelColors : string[] - // colors of indicator, from lower to upper, in RGB format - levelColors : (config.levelColors) ? config.levelColors : [ - "#a9d70b", - "#f9c802", - "#ff0000" - ], - - // startAnimationTime : int - // length of initial animation - startAnimationTime : (config.startAnimationTime) ? config.startAnimationTime : 700, - - // startAnimationType : string - // type of initial animation (linear, >, <, <>, bounce) - startAnimationType : (config.startAnimationType) ? config.startAnimationType : ">", - - // refreshAnimationTime : int - // length of refresh animation - refreshAnimationTime : (config.refreshAnimationTime) ? config.refreshAnimationTime : 700, - - // refreshAnimationType : string - // type of refresh animation (linear, >, <, <>, bounce) - refreshAnimationType : (config.refreshAnimationType) ? config.refreshAnimationType : ">", - - // donutStartAngle : int - // angle to start from when in donut mode - donutStartAngle : (config.donutStartAngle) ? config.donutStartAngle : 90, - - // valueMinFontSize : int - // absolute minimum font size for the value - valueMinFontSize : config.valueMinFontSize || 16, - - // titleMinFontSize - // absolute minimum font size for the title - titleMinFontSize : config.titleMinFontSize || 10, - - // labelMinFontSize - // absolute minimum font size for the label - labelMinFontSize : config.labelMinFontSize || 10, - - // minLabelMinFontSize - // absolute minimum font size for the minimum label - minLabelMinFontSize : config.minLabelMinFontSize || 10, - - // maxLabelMinFontSize - // absolute minimum font size for the maximum label - maxLabelMinFontSize : config.maxLabelMinFontSize || 10, - - // hideValue : bool - // hide value text - hideValue : (config.hideValue) ? config.hideValue : false, - - // hideMinMax : bool - // hide min and max values - hideMinMax : (config.hideMinMax) ? config.hideMinMax : false, - - // hideInnerShadow : bool - // hide inner shadow - hideInnerShadow : (config.hideInnerShadow) ? config.hideInnerShadow : false, - - // humanFriendly : bool - // convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M) - humanFriendly : (config.humanFriendly) ? config.humanFriendly : false, - - // noGradient : bool - // whether to use gradual color change for value, or sector-based - noGradient : (config.noGradient) ? config.noGradient : false, - - // donut : bool - // show full donut gauge - donut : (config.donut) ? config.donut : false, - - // relativeGaugeSize : bool - // whether gauge size should follow changes in container element size - relativeGaugeSize : (config.relativeGaugeSize) ? config.relativeGaugeSize : false, - - // counter : bool - // animate level number change - counter : (config.counter) ? config.counter : false, - - // decimals : int - // number of digits after floating point - decimals : (config.decimals) ? config.decimals : 0, - - // customSectors : [] of objects - // number of digits after floating point - customSectors : (config.customSectors) ? config.customSectors : [] - }; - - // variables - var - canvasW, - canvasH, - widgetW, - widgetH, - aspect, - dx, - dy, - titleFontSize, - titleX, - titleY, - valueFontSize, - valueX, - valueY, - labelFontSize, - labelX, - labelY, - minFontSize, - minX, - minY, - maxFontSize, - maxX, - maxY; - - // overflow values - if (this.config.value > this.config.max) this.config.value = this.config.max; - if (this.config.value < this.config.min) this.config.value = this.config.min; - this.originalValue = config.value; - - // canvas - this.canvas = Raphael(this.config.node, "100%", "100%"); - if (this.config.relativeGaugeSize === true) { - this.canvas.setViewBox(0, 0, 200, 150, true); - } - - // canvas dimensions - if (this.config.relativeGaugeSize === true) { - canvasW = 200; - canvasH = 150; - } else { - canvasW = getStyle(this.config.node, "width").slice(0, -2) * 1; - canvasH = getStyle(this.config.node, "height").slice(0, -2) * 1; - } - - // widget dimensions - if (this.config.donut === true) { - - // DONUT ******************************* - - // width more than height - if(canvasW > canvasH) { - widgetH = canvasH; - widgetW = widgetH; - // width less than height - } else if (canvasW < canvasH) { - widgetW = canvasW; - widgetH = widgetW; - // if height don't fit, rescale both - if(widgetH > canvasH) { - aspect = widgetH / canvasH; - widgetH = widgetH / aspect; - widgetW = widgetH / aspect; - } - // equal - } else { - widgetW = canvasW; - widgetH = widgetW; - } - - // delta - dx = (canvasW - widgetW)/2; - dy = (canvasH - widgetH)/2; - - // title - titleFontSize = ((widgetH / 8) > 10) ? (widgetH / 10) : 10; - titleX = dx + widgetW / 2; - titleY = dy + widgetH / 11; - - // value - valueFontSize = ((widgetH / 6.4) > 16) ? (widgetH / 5.4) : 18; - valueX = dx + widgetW / 2; - if(this.config.label !== '') { - valueY = dy + widgetH / 1.85; - } else { - valueY = dy + widgetH / 1.7; - } - - // label - labelFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; - labelX = dx + widgetW / 2; - labelY = valueY + labelFontSize; - - // min - minFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; - minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * this.config.gaugeWidthScale) / 2 ; - minY = labelY; - - // max - maxFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; - maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * this.config.gaugeWidthScale) / 2 ; - maxY = labelY; - - } else { - // HALF ******************************* - - // width more than height - if(canvasW > canvasH) { - widgetH = canvasH; - widgetW = widgetH * 1.25; - //if width doesn't fit, rescale both - if(widgetW > canvasW) { - aspect = widgetW / canvasW; - widgetW = widgetW / aspect; - widgetH = widgetH / aspect; - } - // width less than height - } else if (canvasW < canvasH) { - widgetW = canvasW; - widgetH = widgetW / 1.25; - // if height don't fit, rescale both - if(widgetH > canvasH) { - aspect = widgetH / canvasH; - widgetH = widgetH / aspect; - widgetW = widgetH / aspect; - } - // equal - } else { - widgetW = canvasW; - widgetH = widgetW * 0.75; - } - - // delta - dx = (canvasW - widgetW)/2; - dy = (canvasH - widgetH)/2; - - // title - titleFontSize = ((widgetH / 8) > this.config.titleMinFontSize) ? (widgetH / 10) : this.config.titleMinFontSize; - titleX = dx + widgetW / 2; - titleY = dy + widgetH / 6.4; - - // value - valueFontSize = ((widgetH / 6.5) > this.config.valueMinFontSize) ? (widgetH / 6.5) : this.config.valueMinFontSize; - valueX = dx + widgetW / 2; - valueY = dy + widgetH / 1.275; - - // label - labelFontSize = ((widgetH / 16) > this.config.labelMinFontSize) ? (widgetH / 16) : this.config.labelMinFontSize; - labelX = dx + widgetW / 2; - labelY = valueY + valueFontSize / 2 + 5; - - // min - minFontSize = ((widgetH / 16) > this.config.minLabelMinFontSize) ? (widgetH / 16) : this.config.minLabelMinFontSize; - minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * this.config.gaugeWidthScale) / 2 ; - minY = labelY; - - // max - maxFontSize = ((widgetH / 16) > this.config.maxLabelMinFontSize) ? (widgetH / 16) : this.config.maxLabelMinFontSize; - maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * this.config.gaugeWidthScale) / 2 ; - maxY = labelY; - } - - // parameters - this.params = { - canvasW : canvasW, - canvasH : canvasH, - widgetW : widgetW, - widgetH : widgetH, - dx : dx, - dy : dy, - titleFontSize : titleFontSize, - titleX : titleX, - titleY : titleY, - valueFontSize : valueFontSize, - valueX : valueX, - valueY : valueY, - labelFontSize : labelFontSize, - labelX : labelX, - labelY : labelY, - minFontSize : minFontSize, - minX : minX, - minY : minY, - maxFontSize : maxFontSize, - maxX : maxX, - maxY : maxY - }; - - // var clear - canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, titleFontSize, titleX, titleY, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null - - // pki - custom attribute for generating gauge paths - this.canvas.customAttributes.pki = function (value, min, max, w, h, dx, dy, gws, donut) { - - var alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path; - - if (donut) { - alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; - Ro = w / 2 - w / 7; - Ri = Ro - w / 6.666666666666667 * gws; - - Cx = w / 2 + dx; - Cy = h / 1.95 + dy; - - Xo = w / 2 + dx + Ro * Math.cos(alpha); - Yo = h - (h - Cy) + 0 - Ro * Math.sin(alpha); - Xi = w / 2 + dx + Ri * Math.cos(alpha); - Yi = h - (h - Cy) + 0 - Ri * Math.sin(alpha); - - path += "M" + (Cx - Ri) + "," + Cy + " "; - path += "L" + (Cx - Ro) + "," + Cy + " "; - if (value > ((max - min) / 2)) { - path += "A" + Ro + "," + Ro + " 0 0 1 " + (Cx + Ro) + "," + Cy + " "; - } - path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; - path += "L" + Xi + "," + Yi + " "; - if (value > ((max - min) / 2)) { - path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx + Ri) + "," + Cy + " "; - } - path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; - path += "Z "; - - return { path: path }; - - } else { - alpha = (1 - (value - min) / (max - min)) * Math.PI; - Ro = w / 2 - w / 10; - Ri = Ro - w / 6.666666666666667 * gws; - - Cx = w / 2 + dx; - Cy = h / 1.25 + dy; - - Xo = w / 2 + dx + Ro * Math.cos(alpha); - Yo = h - (h - Cy) + 0 - Ro * Math.sin(alpha); - Xi = w / 2 + dx + Ri * Math.cos(alpha); - Yi = h - (h - Cy) + 0 - Ri * Math.sin(alpha); - - path += "M" + (Cx - Ri) + "," + Cy + " "; - path += "L" + (Cx - Ro) + "," + Cy + " "; - path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; - path += "L" + Xi + "," + Yi + " "; - path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; - path += "Z "; - - return { path: path }; - } - - // var clear - alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path = null; - }; - - // gauge - this.gauge = this.canvas.path().attr({ - "stroke": "none", - "fill": this.config.gaugeColor, - pki: [this.config.max, this.config.min, this.config.max, this.params.widgetW, this.params.widgetH, this.params.dx, this.params.dy, this.config.gaugeWidthScale, this.config.donut] - }); - this.gauge.id = this.config.id+"-gauge"; - - // level - this.level = this.canvas.path().attr({ - "stroke": "none", - "fill": getColor(this.config.value, (this.config.value - this.config.min) / (this.config.max - this.config.min), this.config.levelColors, this.config.noGradient, this.config.customSectors), - pki: [this.config.min, this.config.min, this.config.max, this.params.widgetW, this.params.widgetH, this.params.dx, this.params.dy, this.config.gaugeWidthScale, this.config.donut] - }); - if(this.config.donut) { - this.level.transform("r" + this.config.donutStartAngle + ", " + (this.params.widgetW/2 + this.params.dx) + ", " + (this.params.widgetH/1.95 + this.params.dy)); - } - this.level.id = this.config.id+"-level"; - - // title - this.txtTitle = this.canvas.text(this.params.titleX, this.params.titleY, this.config.title); - this.txtTitle.attr({ - "font-size":this.params.titleFontSize, - "font-weight":"bold", - "font-family":"Arial", - "fill":this.config.titleFontColor, - "fill-opacity":"1" - }); - setDy(this.txtTitle, this.params.titleFontSize, this.params.titleY); - this.txtTitle.id = this.config.id+"-txttitle"; - - // value - this.txtValue = this.canvas.text(this.params.valueX, this.params.valueY, 0); - this.txtValue.attr({ - "font-size":this.params.valueFontSize, - "font-weight":"bold", - "font-family":"Arial", - "fill":this.config.valueFontColor, - "fill-opacity":"0" - }); - setDy(this.txtValue, this.params.valueFontSize, this.params.valueY); - this.txtValue.id = this.config.id+"-txtvalue"; - - // label - this.txtLabel = this.canvas.text(this.params.labelX, this.params.labelY, this.config.label); - this.txtLabel.attr({ - "font-size":this.params.labelFontSize, - "font-weight":"normal", - "font-family":"Arial", - "fill":this.config.labelFontColor, - "fill-opacity":"0" - }); - setDy(this.txtLabel, this.params.labelFontSize, this.params.labelY); - this.txtLabel.id = this.config.id+"-txtlabel"; - - // min - this.txtMinimum = this.config.min; - if( this.config.humanFriendly ) this.txtMinimum = humanFriendlyNumber( this.config.min, this.config.humanFriendlyDecimal ); - this.txtMin = this.canvas.text(this.params.minX, this.params.minY, this.txtMinimum); - this.txtMin.attr({ - "font-size":this.params.minFontSize, - "font-weight":"normal", - "font-family":"Arial", - "fill":this.config.labelFontColor, - "fill-opacity": (this.config.hideMinMax || this.config.donut)? "0" : "1" - }); - setDy(this.txtMin, this.params.minFontSize, this.params.minY); - this.txtMin.id = this.config.id+"-txtmin"; - - // max - this.txtMaximum = this.config.max; - if( this.config.humanFriendly ) this.txtMaximum = humanFriendlyNumber( this.config.max, this.config.humanFriendlyDecimal ); - this.txtMax = this.canvas.text(this.params.maxX, this.params.maxY, this.txtMaximum); - this.txtMax.attr({ - "font-size":this.params.maxFontSize, - "font-weight":"normal", - "font-family":"Arial", - "fill":this.config.labelFontColor, - "fill-opacity": (this.config.hideMinMax || this.config.donut)? "0" : "1" - }); - setDy(this.txtMax, this.params.maxFontSize, this.params.maxY); - this.txtMax.id = this.config.id+"-txtmax"; - - var defs = this.canvas.canvas.childNodes[1]; - var svg = "http://www.w3.org/2000/svg"; - - if (ie < 9) { - onCreateElementNsReady(function() { - this.generateShadow(svg, defs); - }); - } else { - this.generateShadow(svg, defs); - } - - // var clear - defs, svg = null; - - // execute on each animation frame - function onAnimate() { - if (obj.config.counter) { - var currentValue = obj.level.attr("pki"); - - if(obj.config.textRenderer) { - // this.originalValue = this.config.textRenderer(this.originalValue); - obj.txtValue.attr("text", obj.config.textRenderer(Math.floor(currentValue[0]))); - } else if(obj.config.humanFriendly) { - // this.originalValue = humanFriendlyNumber( this.originalValue, this.config.humanFriendlyDecimal ) + this.config.symbol; - obj.txtValue.attr("text", humanFriendlyNumber( Math.floor(currentValue[0]), obj.config.humanFriendlyDecimal ) + obj.config.symbol); - } else { - // this.originalValue += this.config.symbol; - obj.txtValue.attr("text", (currentValue[0] * 1).toFixed(obj.config.decimals) + obj.config.symbol); - } - - setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); - currentValue = null; - } - } - - if(!obj.config.counter) { - if(obj.config.textRenderer) { - obj.originalValue = obj.config.textRenderer(obj.originalValue); - } else if(obj.config.humanFriendly) { - obj.originalValue = humanFriendlyNumber( obj.originalValue, obj.config.humanFriendlyDecimal ) + obj.config.symbol; - } else { - obj.originalValue = (obj.originalValue * 1).toFixed(obj.config.decimals) + obj.config.symbol; - } - - obj.txtValue.attr("text", obj.originalValue); - setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); - } - - //event fired on each animation frame - eve.on("raphael.anim.frame.*", onAnimate); - - // animate gauge level - this.level.animate({pki: [this.config.value, this.config.min, this.config.max, this.params.widgetW, this.params.widgetH, this.params.dx, this.params.dy, this.config.gaugeWidthScale, this.config.donut]}, this.config.startAnimationTime, this.config.startAnimationType); - - // animate value - this.txtValue.animate({"fill-opacity":"1"}, this.config.startAnimationTime, this.config.startAnimationType); - - // animate label - this.txtLabel.animate({"fill-opacity":"1"}, this.config.startAnimationTime, this.config.startAnimationType); -}; - -/** Refresh gauge level */ -JustGage.prototype.refresh = function(val, max) { - - var originalVal, displayVal, color, max = max || null; - - // set new max - if(max !== null) { - this.config.max = max; - - this.txtMaximum = this.config.max; - if( this.config.humanFriendly ) this.txtMaximum = humanFriendlyNumber( this.config.max, this.config.humanFriendlyDecimal ); - this.txtMax.attr({"text" : this.config.max}); - setDy(this.txtMax, this.params.maxFontSize, this.params.maxY); - } - - // overflow values - originalVal = val; - displayVal = val; - if ((val * 1) > (this.config.max * 1)) {val = (this.config.max * 1);} - if ((val * 1) < (this.config.min * 1)) {val = (this.config.min * 1);} - - color = getColor(val, (val - this.config.min) / (this.config.max - this.config.min), this.config.levelColors, this.config.noGradient, this.config.customSectors); - - if(this.config.textRenderer) { - displayVal = this.config.textRenderer(displayVal); - } else if( this.config.humanFriendly ) { - displayVal = humanFriendlyNumber( displayVal, this.config.humanFriendlyDecimal ) + this.config.symbol; - } else { - displayVal = (displayVal * 1).toFixed(this.config.decimals) + this.config.symbol; - } - - if(!this.config.counter) { - this.canvas.getById(this.config.id+"-txtvalue").attr({"text":displayVal}); - setDy(this.canvas.getById(this.config.id+"-txtvalue"), this.params.valueFontSize, this.params.valueY); - } - - this.canvas.getById(this.config.id+"-level").animate({pki: [val, this.config.min, this.config.max, this.params.widgetW, this.params.widgetH, this.params.dx, this.params.dy, this.config.gaugeWidthScale, this.config.donut], "fill":color}, this.config.refreshAnimationTime, this.config.refreshAnimationType); - this.config.value = val * 1; - - // var clear - originalVal, displayVal, color, max = null; -}; - -/** Generate shadow */ -JustGage.prototype.generateShadow = function(svg, defs) { - - var gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3; - - // FILTER - gaussFilter=document.createElementNS(svg,"filter"); - gaussFilter.setAttribute("id", this.config.id + "-inner-shadow"); - defs.appendChild(gaussFilter); - - // offset - feOffset = document.createElementNS(svg,"feOffset"); - feOffset.setAttribute("dx", 0); - feOffset.setAttribute("dy", this.config.shadowVerticalOffset); - gaussFilter.appendChild(feOffset); - - // blur - feGaussianBlur = document.createElementNS(svg,"feGaussianBlur"); - feGaussianBlur.setAttribute("result","offset-blur"); - feGaussianBlur.setAttribute("stdDeviation", this.config.shadowSize); - gaussFilter.appendChild(feGaussianBlur); - - // composite 1 - feComposite1 = document.createElementNS(svg,"feComposite"); - feComposite1.setAttribute("operator","out"); - feComposite1.setAttribute("in", "SourceGraphic"); - feComposite1.setAttribute("in2","offset-blur"); - feComposite1.setAttribute("result","inverse"); - gaussFilter.appendChild(feComposite1); - - // flood - feFlood = document.createElementNS(svg,"feFlood"); - feFlood.setAttribute("flood-color","black"); - feFlood.setAttribute("flood-opacity", this.config.shadowOpacity); - feFlood.setAttribute("result","color"); - gaussFilter.appendChild(feFlood); - - // composite 2 - feComposite2 = document.createElementNS(svg,"feComposite"); - feComposite2.setAttribute("operator","in"); - feComposite2.setAttribute("in", "color"); - feComposite2.setAttribute("in2","inverse"); - feComposite2.setAttribute("result","shadow"); - gaussFilter.appendChild(feComposite2); - - // composite 3 - feComposite3 = document.createElementNS(svg,"feComposite"); - feComposite3.setAttribute("operator","over"); - feComposite3.setAttribute("in", "shadow"); - feComposite3.setAttribute("in2","SourceGraphic"); - gaussFilter.appendChild(feComposite3); - - // set shadow - if (!this.config.hideInnerShadow) { - this.canvas.canvas.childNodes[2].setAttribute("filter", "url(#" + this.config.id + "-inner-shadow)"); - this.canvas.canvas.childNodes[3].setAttribute("filter", "url(#" + this.config.id + "-inner-shadow)"); - } - - // var clear - gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3 = null; - -}; - -/** Get color for value */ -function getColor(val, pct, col, noGradient, custSec) { - - var no, inc, colors, percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color; - var noGradient = noGradient || custSec.length > 0; - - if(custSec.length > 0) { - for(var i = 0; i < custSec.length; i++) { - if(val > custSec[i].lo && val <= custSec[i].hi) { - return custSec[i].color; - } - } - } - - no = col.length; - if (no === 1) return col[0]; - inc = (noGradient) ? (1 / no) : (1 / (no - 1)); - colors = []; - for (var i = 0; i < col.length; i++) { - percentage = (noGradient) ? (inc * (i + 1)) : (inc * i); - rval = parseInt((cutHex(col[i])).substring(0,2),16); - gval = parseInt((cutHex(col[i])).substring(2,4),16); - bval = parseInt((cutHex(col[i])).substring(4,6),16); - colors[i] = { pct: percentage, color: { r: rval, g: gval, b: bval } }; - } - - if(pct === 0) { - return 'rgb(' + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(',') + ')'; - } - - for (var j = 0; j < colors.length; j++) { - if (pct <= colors[j].pct) { - if (noGradient) { - return 'rgb(' + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(',') + ')'; - } else { - lower = colors[j - 1]; - upper = colors[j]; - range = upper.pct - lower.pct; - rangePct = (pct - lower.pct) / range; - pctLower = 1 - rangePct; - pctUpper = rangePct; - color = { - r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), - g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), - b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) - }; - return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; - } - } - } - -} - -/** Fix Raphael display:none tspan dy attribute bug */ -function setDy(elem, fontSize, txtYpos) { - if ((!ie || ie > 9) && (elem.node.firstChild.attributes.dy)) { - elem.node.firstChild.attributes.dy.value = 0; - } -} - -/** Random integer */ -function getRandomInt (min, max) { - return Math.floor(Math.random() * (max - min + 1)) + min; -} - -/** Cut hex */ -function cutHex(str) { - return (str.charAt(0)=="#") ? str.substring(1,7):str; -} - -/** Human friendly number suffix - From: http://stackoverflow.com/questions/2692323/code-golf-friendly-number-abbreviator */ -function humanFriendlyNumber( n, d ) { - var p, d2, i, s; - - p = Math.pow; - d2 = p(10, d); - i = 7; - while( i ) { - s = p(10,i--*3); - if( s <= n ) { - n = Math.round(n*d2/s)/d2+"KMGTPE"[i]; - } - } - return n; -} - -/** Get style */ -function getStyle(oElm, strCssRule){ - var strValue = ""; - if(document.defaultView && document.defaultView.getComputedStyle){ - strValue = document.defaultView.getComputedStyle(oElm).getPropertyValue(strCssRule); - } - else if(oElm.currentStyle){ - strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ - return p1.toUpperCase(); - }); - strValue = oElm.currentStyle[strCssRule]; - } - return strValue; -} - -/** Create Element NS Ready */ -function onCreateElementNsReady(func) { - if (document.createElementNS !== undefined) { - func(); - } else { - setTimeout(function() { onCreateElementNsReady(func); }, 100); - } -} - -/** Get IE version */ -// ---------------------------------------------------------- -// A short snippet for detecting versions of IE in JavaScript -// without resorting to user-agent sniffing -// ---------------------------------------------------------- -// If you're not in IE (or IE version is less than 5) then: -// ie === undefined -// If you're in IE (>=5) then you can determine which version: -// ie === 7; // IE7 -// Thus, to detect IE: -// if (ie) {} -// And to detect the version: -// ie === 6 // IE6 -// ie > 7 // IE8, IE9 ... -// ie < 9 // Anything less than IE9 -// ---------------------------------------------------------- -// UPDATE: Now using Live NodeList idea from @jdalton -var ie = (function(){ - - var undef, - v = 3, - div = document.createElement('div'), - all = div.getElementsByTagName('i'); - - while ( - div.innerHTML = '', - all[0] - ); - return v > 4 ? v : undef; -}()); \ No newline at end of file diff --git a/addons/sale_crm/static/src/js/sale_crm.js b/addons/sale_crm/static/src/js/sale_crm.js deleted file mode 100644 index 207ac959af3..00000000000 --- a/addons/sale_crm/static/src/js/sale_crm.js +++ /dev/null @@ -1,108 +0,0 @@ -openerp.sale_crm = function(openerp) { -var _t = openerp.web._t; - -openerp.sale_crm.GaugeWidget = openerp.web_kanban.AbstractField.extend({ - className: "oe_gage", - start: function() { - var self = this; - - var parent = this.getParent(); - var max = this.options.max_field ? parent.record[this.options.max_field].raw_value : 100; - var label = this.options.label_field ? parent.record[this.options.label_field].raw_value : ""; - var title = this.$node.html(); - var val = this.field.value; - var value = _.isArray(val) && val.length ? val[val.length-1]['value'] : val; - var unique_id = _.uniqueId("JustGage"); - - this.$el.empty() - .attr('style', this.$node.attr('style') + ';position:relative; display:inline-block;') - .attr('id', unique_id); - this.gage = new JustGage({ - id: unique_id, - node: this.$el[0], - title: title, - value: value, - min: 0, - max: max, - relativeGaugeSize: true, - humanFriendly: true, - titleFontColor: '#333333', - valueFontColor: '#333333', - labelFontColor: '#000', - label: label, - levelColors: [ - "#ff0000", - "#f9c802", - "#a9d70b" - ], - }); - - var flag_open = false; - if (self.options.action_change) { - var $svg = self.$el.find('svg'); - var css = { - 'text-align': 'center', - 'position': 'absolute', - 'width': self.$el.outerWidth() + 'px', - 'top': (self.$el.outerHeight()/2-5) + 'px' - }; - - self.$el.click(function (event) { - event.stopPropagation(); - flag_open = false; - if (!parent.view.is_action_enabled('edit')) { - return; - } - if (!self.$el.find(".oe_justgage_edit").size()) { - $div = $('
'); - $div.css(css); - $input = $('').val(value); - $input.css({ - 'text-align': 'center', - 'margin': 'auto', - 'width': ($svg.outerWidth()-40) + 'px' - }); - $div.append($input); - self.$el.prepend($div) - $input.focus() - .keydown(function (event) { - event.stopPropagation(); - if (event.keyCode == 13 || event.keyCode == 9) { - if ($input.val() != value) { - parent.view.dataset.call(self.options.action_change, [parent.id, $input.val()]).then(function () { - parent.do_reload(); - }); - } else { - $div.remove(); - } - } - }) - .click(function (event) { - event.stopPropagation(); - flag_open = false; - }) - .blur(function (event) { - if(!flag_open) { - self.$el.find(".oe_justgage_edit").remove(); - } else { - flag_open = false; - setTimeout(function () {$input.focus();}, 0); - } - }); - } - }).mousedown(function () { - flag_open = true; - }); - - if (!+value) { - $svg.fadeTo(0, 0.3); - $div = $('
').text(_t("Click to change value")); - $div.css(css); - self.$el.append($div); - } - } - }, -}); -openerp.web_kanban.fields_registry.add("gage", "openerp.sale_crm.GaugeWidget"); - -}; From 53b7baf1ce8a3143648e9d987899b03e0b36dfea Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 12:24:44 +0200 Subject: [PATCH 17/20] [FIX] fixed some problems related to magic guess of db, now only tries to perform the magic guess when the --dbfilter argument is specified bzr revid: nicolas.vanhoren@openerp.com-20130913102444-u30boym4nklatnf1 --- addons/web/controllers/main.py | 34 +++++++++++++++++++++------------- addons/web/http.py | 11 ++++------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 29cbd8960bb..651e5c42a97 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -528,27 +528,35 @@ class Home(http.Controller): @http.route('/', type='http', auth="none") def index(self, s_action=None, db=None, debug=False, **kw): debug = debug != False - if db is not None: - lst = http.db_list(True) - if db in lst and db != request.session.db: - request.session.logout() - request.session.db = db - if db != request.session.db: + lst = http.db_list(True) + if db not in lst: + db = None + guessed_db = http.db_monodb(request.httprequest) + if guessed_db is None and len(lst) > 0: + guessed_db = lst[0] + + def redirect(db): query = dict(urlparse.parse_qsl(request.httprequest.query_string, keep_blank_values=True)) - query.update({'db': request.session.db}) + query.update({'db': db}) redirect = request.httprequest.path + '?' + urllib.urlencode(query) return redirect_with_hash(redirect) - - db = request.session.db - js = "\n ".join('' % i for i in manifest_list('js', db=db, debug=debug)) - css = "\n ".join('' % i for i in manifest_list('css', db=db, debug=debug)) + if db is None and guessed_db is not None: + return redirect(guessed_db) + + if db is not None and db != guessed_db: + request.session.logout() + request.session.db = db + guessed_db = db + + js = "\n ".join('' % i for i in manifest_list('js', db=guessed_db, debug=debug)) + css = "\n ".join('' % i for i in manifest_list('css', db=guessed_db, debug=debug)) r = html_template % { 'js': js, 'css': css, - 'modules': simplejson.dumps(module_boot(db=db)), + 'modules': simplejson.dumps(module_boot(db=guessed_db)), 'init': 'var wc = new s.web.WebClient();wc.appendTo($(document.body));' } return request.make_response(r, {'Cache-Control': 'no-cache', 'Content-Type': 'text/html; charset=utf-8'}) @@ -729,7 +737,7 @@ class Database(http.Controller): def get_list(self): # TODO change js to avoid calling this method if in monodb mode try: - return db_list() + return http.db_list() except openerp.exceptions.AccessDenied: monodb = db_monodb() if monodb: diff --git a/addons/web/http.py b/addons/web/http.py index ccd1125fa22..c8fabafd594 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -1084,17 +1084,14 @@ def db_monodb(httprequest=None): dbs = db_list(True, httprequest) - # 1 try the db already in the session + # try the db already in the session db_session = httprequest.session.db if db_session in dbs: return db_session - # 2 if there is only one db in the db filters, take it - if len(dbs) == 1: - return dbs[0] - - # 3 if there are multiple dbs, take the first one only if we can list them - if len(dbs) > 1 and config['list_db']: + # if dbfilters was specified when launching the server and there is + # only one possible db, we take that one + if openerp.tools.config['dbfilter'] != ".*" and len(dbs) == 1: return dbs[0] return None From 56382a450a4c5572a17dca3054bf23654013910a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 12:40:26 +0200 Subject: [PATCH 18/20] [FIX] problem with page reload after installing a module lp bug: https://launchpad.net/bugs/1214814 fixed bzr revid: nicolas.vanhoren@openerp.com-20130913104026-rxtl7h1u7vuixyvm --- addons/web/static/src/js/chrome.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 55ab5ec073d..793dbd43d76 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -808,7 +808,7 @@ instance.web.redirect = function(url, wait) { if (old === url) { window.location.reload(); } else { - window.location = url; + window.location.href = url; } }; From 6d411f706509316795ecb3eb362f0b42b2740ae6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 14:40:26 +0200 Subject: [PATCH 19/20] [FIX] really solve reload problem lp bug: https://launchpad.net/bugs/1214814 fixed bzr revid: nicolas.vanhoren@openerp.com-20130913124026-yhchgik5yznkme19 --- addons/web/static/src/js/chrome.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 793dbd43d76..11a2e58ae5b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -805,10 +805,11 @@ instance.web.redirect = function(url, wait) { var load = function() { var old = "" + window.location; - if (old === url) { - window.location.reload(); - } else { - window.location.href = url; + var old_no_hash = old.split("#")[0]; + var url_no_hash = url.split("#")[0]; + location.assign(url); + if (old_no_hash === url_no_hash) { + location.reload(true); } }; From bc0d066505a054389525cdf7601b35751ea3efbb Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 17 Sep 2013 04:37:59 +0000 Subject: [PATCH 20/20] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130914054213-dq0kt273ooy6fozn bzr revid: launchpad_translations_on_behalf_of_openerp-20130915055539-hzmy1ws1il6z8fji bzr revid: launchpad_translations_on_behalf_of_openerp-20130915054954-zisp7huxai3ew84l bzr revid: launchpad_translations_on_behalf_of_openerp-20130916054225-m0j262vooofcavqz bzr revid: launchpad_translations_on_behalf_of_openerp-20130917043759-tke0eln0ca01hsm7 --- addons/auth_crypt/i18n/da.po | 23 +- addons/auth_oauth_signup/i18n/da.po | 23 + addons/contacts/i18n/da.po | 45 ++ addons/email_template/i18n/en_GB.po | 490 +++++++++++++++++++++ addons/portal_anonymous/i18n/da.po | 25 ++ addons/portal_sale/i18n/ru.po | 554 ++++++++++++++++++++++++ addons/purchase_requisition/i18n/ko.po | 473 ++++++++++++++++++++ addons/web/i18n/ar.po | 4 +- addons/web/i18n/bg.po | 4 +- addons/web/i18n/bn.po | 4 +- addons/web/i18n/bs.po | 577 +++++++++++++------------ addons/web/i18n/ca.po | 4 +- addons/web/i18n/cs.po | 4 +- addons/web/i18n/da.po | 4 +- addons/web/i18n/de.po | 4 +- addons/web/i18n/en_AU.po | 4 +- addons/web/i18n/en_GB.po | 4 +- addons/web/i18n/es.po | 4 +- addons/web/i18n/es_CL.po | 4 +- addons/web/i18n/es_CR.po | 4 +- addons/web/i18n/es_DO.po | 4 +- addons/web/i18n/es_EC.po | 4 +- addons/web/i18n/es_MX.po | 4 +- addons/web/i18n/et.po | 4 +- addons/web/i18n/eu.po | 4 +- addons/web/i18n/fa.po | 4 +- addons/web/i18n/fi.po | 4 +- addons/web/i18n/fr.po | 4 +- addons/web/i18n/fr_CA.po | 4 +- addons/web/i18n/gl.po | 4 +- addons/web/i18n/gu.po | 4 +- addons/web/i18n/hi.po | 4 +- addons/web/i18n/hr.po | 4 +- addons/web/i18n/hu.po | 4 +- addons/web/i18n/id.po | 4 +- addons/web/i18n/it.po | 4 +- addons/web/i18n/ja.po | 4 +- addons/web/i18n/ka.po | 4 +- addons/web/i18n/ko.po | 4 +- addons/web/i18n/lo.po | 4 +- addons/web/i18n/lt.po | 4 +- addons/web/i18n/lv.po | 4 +- addons/web/i18n/mk.po | 4 +- addons/web/i18n/mn.po | 4 +- addons/web/i18n/nb.po | 4 +- addons/web/i18n/nl.po | 6 +- addons/web/i18n/nl_BE.po | 4 +- addons/web/i18n/pl.po | 4 +- addons/web/i18n/pt.po | 4 +- addons/web/i18n/pt_BR.po | 4 +- addons/web/i18n/ro.po | 4 +- addons/web/i18n/ru.po | 4 +- addons/web/i18n/sk.po | 4 +- addons/web/i18n/sl.po | 4 +- addons/web/i18n/sq.po | 4 +- addons/web/i18n/sr@latin.po | 4 +- addons/web/i18n/sv.po | 4 +- addons/web/i18n/th.po | 12 +- addons/web/i18n/tr.po | 4 +- addons/web/i18n/uk.po | 4 +- addons/web/i18n/vi.po | 4 +- addons/web/i18n/zh_CN.po | 6 +- addons/web/i18n/zh_TW.po | 4 +- addons/web_calendar/i18n/ar.po | 4 +- addons/web_calendar/i18n/bg.po | 4 +- addons/web_calendar/i18n/bn.po | 4 +- addons/web_calendar/i18n/bs.po | 52 +-- addons/web_calendar/i18n/ca.po | 4 +- addons/web_calendar/i18n/cs.po | 4 +- addons/web_calendar/i18n/da.po | 4 +- addons/web_calendar/i18n/de.po | 4 +- addons/web_calendar/i18n/en_AU.po | 4 +- addons/web_calendar/i18n/en_GB.po | 4 +- addons/web_calendar/i18n/es.po | 4 +- addons/web_calendar/i18n/es_CL.po | 4 +- addons/web_calendar/i18n/es_CR.po | 4 +- addons/web_calendar/i18n/es_DO.po | 4 +- addons/web_calendar/i18n/es_EC.po | 4 +- addons/web_calendar/i18n/es_MX.po | 4 +- addons/web_calendar/i18n/et.po | 4 +- addons/web_calendar/i18n/eu.po | 4 +- addons/web_calendar/i18n/fa.po | 4 +- addons/web_calendar/i18n/fi.po | 4 +- addons/web_calendar/i18n/fr.po | 4 +- addons/web_calendar/i18n/fr_CA.po | 4 +- addons/web_calendar/i18n/gl.po | 4 +- addons/web_calendar/i18n/gu.po | 4 +- addons/web_calendar/i18n/hr.po | 4 +- addons/web_calendar/i18n/hu.po | 4 +- addons/web_calendar/i18n/id.po | 4 +- addons/web_calendar/i18n/it.po | 4 +- addons/web_calendar/i18n/ja.po | 4 +- addons/web_calendar/i18n/ka.po | 4 +- addons/web_calendar/i18n/ko.po | 4 +- addons/web_calendar/i18n/lt.po | 4 +- addons/web_calendar/i18n/mk.po | 4 +- addons/web_calendar/i18n/mn.po | 4 +- addons/web_calendar/i18n/nb.po | 4 +- addons/web_calendar/i18n/nl.po | 6 +- addons/web_calendar/i18n/nl_BE.po | 4 +- addons/web_calendar/i18n/pl.po | 4 +- addons/web_calendar/i18n/pt.po | 4 +- addons/web_calendar/i18n/pt_BR.po | 4 +- addons/web_calendar/i18n/ro.po | 4 +- addons/web_calendar/i18n/ru.po | 4 +- addons/web_calendar/i18n/sk.po | 4 +- addons/web_calendar/i18n/sl.po | 4 +- addons/web_calendar/i18n/sq.po | 4 +- addons/web_calendar/i18n/sr@latin.po | 4 +- addons/web_calendar/i18n/sv.po | 4 +- addons/web_calendar/i18n/th.po | 4 +- addons/web_calendar/i18n/tr.po | 4 +- addons/web_calendar/i18n/uk.po | 4 +- addons/web_calendar/i18n/zh_CN.po | 6 +- addons/web_diagram/i18n/ar.po | 4 +- addons/web_diagram/i18n/bg.po | 4 +- addons/web_diagram/i18n/bn.po | 4 +- addons/web_diagram/i18n/bs.po | 19 +- addons/web_diagram/i18n/ca.po | 4 +- addons/web_diagram/i18n/cs.po | 4 +- addons/web_diagram/i18n/da.po | 4 +- addons/web_diagram/i18n/de.po | 4 +- addons/web_diagram/i18n/en_AU.po | 4 +- addons/web_diagram/i18n/en_GB.po | 4 +- addons/web_diagram/i18n/es.po | 4 +- addons/web_diagram/i18n/es_CL.po | 4 +- addons/web_diagram/i18n/es_CR.po | 4 +- addons/web_diagram/i18n/es_DO.po | 4 +- addons/web_diagram/i18n/es_EC.po | 4 +- addons/web_diagram/i18n/es_MX.po | 4 +- addons/web_diagram/i18n/et.po | 4 +- addons/web_diagram/i18n/fa.po | 4 +- addons/web_diagram/i18n/fi.po | 4 +- addons/web_diagram/i18n/fr.po | 4 +- addons/web_diagram/i18n/gl.po | 4 +- addons/web_diagram/i18n/gu.po | 4 +- addons/web_diagram/i18n/hr.po | 4 +- addons/web_diagram/i18n/hu.po | 4 +- addons/web_diagram/i18n/id.po | 4 +- addons/web_diagram/i18n/it.po | 4 +- addons/web_diagram/i18n/ja.po | 4 +- addons/web_diagram/i18n/ka.po | 4 +- addons/web_diagram/i18n/ko.po | 4 +- addons/web_diagram/i18n/lt.po | 4 +- addons/web_diagram/i18n/mk.po | 4 +- addons/web_diagram/i18n/mn.po | 4 +- addons/web_diagram/i18n/nb.po | 4 +- addons/web_diagram/i18n/nl.po | 6 +- addons/web_diagram/i18n/nl_BE.po | 4 +- addons/web_diagram/i18n/pl.po | 4 +- addons/web_diagram/i18n/pt.po | 4 +- addons/web_diagram/i18n/pt_BR.po | 4 +- addons/web_diagram/i18n/ro.po | 4 +- addons/web_diagram/i18n/ru.po | 4 +- addons/web_diagram/i18n/sl.po | 4 +- addons/web_diagram/i18n/sq.po | 4 +- addons/web_diagram/i18n/sr@latin.po | 4 +- addons/web_diagram/i18n/sv.po | 4 +- addons/web_diagram/i18n/th.po | 4 +- addons/web_diagram/i18n/tr.po | 4 +- addons/web_diagram/i18n/zh_CN.po | 6 +- addons/web_diagram/i18n/zh_TW.po | 4 +- addons/web_gantt/i18n/ar.po | 4 +- addons/web_gantt/i18n/bg.po | 4 +- addons/web_gantt/i18n/bn.po | 4 +- addons/web_gantt/i18n/bs.po | 4 +- addons/web_gantt/i18n/ca.po | 4 +- addons/web_gantt/i18n/cs.po | 4 +- addons/web_gantt/i18n/da.po | 4 +- addons/web_gantt/i18n/de.po | 4 +- addons/web_gantt/i18n/en_AU.po | 4 +- addons/web_gantt/i18n/en_GB.po | 4 +- addons/web_gantt/i18n/es.po | 4 +- addons/web_gantt/i18n/es_CL.po | 4 +- addons/web_gantt/i18n/es_CR.po | 4 +- addons/web_gantt/i18n/es_DO.po | 4 +- addons/web_gantt/i18n/es_EC.po | 4 +- addons/web_gantt/i18n/es_MX.po | 4 +- addons/web_gantt/i18n/et.po | 4 +- addons/web_gantt/i18n/fa.po | 4 +- addons/web_gantt/i18n/fi.po | 4 +- addons/web_gantt/i18n/fr.po | 4 +- addons/web_gantt/i18n/gl.po | 4 +- addons/web_gantt/i18n/gu.po | 4 +- addons/web_gantt/i18n/hr.po | 4 +- addons/web_gantt/i18n/hu.po | 4 +- addons/web_gantt/i18n/it.po | 4 +- addons/web_gantt/i18n/ja.po | 4 +- addons/web_gantt/i18n/ka.po | 4 +- addons/web_gantt/i18n/ko.po | 4 +- addons/web_gantt/i18n/lo.po | 4 +- addons/web_gantt/i18n/lt.po | 4 +- addons/web_gantt/i18n/mk.po | 4 +- addons/web_gantt/i18n/mn.po | 4 +- addons/web_gantt/i18n/nb.po | 4 +- addons/web_gantt/i18n/nl.po | 6 +- addons/web_gantt/i18n/nl_BE.po | 4 +- addons/web_gantt/i18n/pl.po | 4 +- addons/web_gantt/i18n/pt.po | 4 +- addons/web_gantt/i18n/pt_BR.po | 4 +- addons/web_gantt/i18n/ro.po | 4 +- addons/web_gantt/i18n/ru.po | 4 +- addons/web_gantt/i18n/sl.po | 4 +- addons/web_gantt/i18n/sq.po | 4 +- addons/web_gantt/i18n/sr@latin.po | 4 +- addons/web_gantt/i18n/sv.po | 4 +- addons/web_gantt/i18n/th.po | 4 +- addons/web_gantt/i18n/tr.po | 4 +- addons/web_gantt/i18n/zh_CN.po | 4 +- addons/web_graph/i18n/ar.po | 4 +- addons/web_graph/i18n/bg.po | 4 +- addons/web_graph/i18n/bn.po | 4 +- addons/web_graph/i18n/bs.po | 36 +- addons/web_graph/i18n/ca.po | 4 +- addons/web_graph/i18n/cs.po | 4 +- addons/web_graph/i18n/da.po | 4 +- addons/web_graph/i18n/de.po | 4 +- addons/web_graph/i18n/en_AU.po | 4 +- addons/web_graph/i18n/en_GB.po | 4 +- addons/web_graph/i18n/es.po | 4 +- addons/web_graph/i18n/es_CL.po | 4 +- addons/web_graph/i18n/es_CR.po | 4 +- addons/web_graph/i18n/es_DO.po | 4 +- addons/web_graph/i18n/es_EC.po | 4 +- addons/web_graph/i18n/es_MX.po | 4 +- addons/web_graph/i18n/et.po | 4 +- addons/web_graph/i18n/fa.po | 4 +- addons/web_graph/i18n/fi.po | 4 +- addons/web_graph/i18n/fr.po | 4 +- addons/web_graph/i18n/fr_CA.po | 4 +- addons/web_graph/i18n/gl.po | 4 +- addons/web_graph/i18n/gu.po | 4 +- addons/web_graph/i18n/hr.po | 4 +- addons/web_graph/i18n/hu.po | 4 +- addons/web_graph/i18n/it.po | 4 +- addons/web_graph/i18n/ja.po | 4 +- addons/web_graph/i18n/ka.po | 4 +- addons/web_graph/i18n/ko.po | 4 +- addons/web_graph/i18n/lt.po | 4 +- addons/web_graph/i18n/mk.po | 4 +- addons/web_graph/i18n/mn.po | 4 +- addons/web_graph/i18n/nb.po | 4 +- addons/web_graph/i18n/nl.po | 6 +- addons/web_graph/i18n/nl_BE.po | 4 +- addons/web_graph/i18n/pl.po | 4 +- addons/web_graph/i18n/pt.po | 4 +- addons/web_graph/i18n/pt_BR.po | 4 +- addons/web_graph/i18n/ro.po | 4 +- addons/web_graph/i18n/ru.po | 4 +- addons/web_graph/i18n/sl.po | 4 +- addons/web_graph/i18n/sq.po | 4 +- addons/web_graph/i18n/sr@latin.po | 4 +- addons/web_graph/i18n/sv.po | 4 +- addons/web_graph/i18n/th.po | 4 +- addons/web_graph/i18n/tr.po | 4 +- addons/web_graph/i18n/zh_CN.po | 4 +- addons/web_kanban/i18n/ar.po | 4 +- addons/web_kanban/i18n/bg.po | 4 +- addons/web_kanban/i18n/bn.po | 4 +- addons/web_kanban/i18n/bs.po | 34 +- addons/web_kanban/i18n/ca.po | 4 +- addons/web_kanban/i18n/cs.po | 4 +- addons/web_kanban/i18n/da.po | 4 +- addons/web_kanban/i18n/de.po | 4 +- addons/web_kanban/i18n/en_AU.po | 4 +- addons/web_kanban/i18n/en_GB.po | 4 +- addons/web_kanban/i18n/es.po | 4 +- addons/web_kanban/i18n/es_CL.po | 4 +- addons/web_kanban/i18n/es_CR.po | 4 +- addons/web_kanban/i18n/es_DO.po | 4 +- addons/web_kanban/i18n/es_EC.po | 4 +- addons/web_kanban/i18n/es_MX.po | 4 +- addons/web_kanban/i18n/et.po | 4 +- addons/web_kanban/i18n/fa.po | 4 +- addons/web_kanban/i18n/fi.po | 4 +- addons/web_kanban/i18n/fr.po | 4 +- addons/web_kanban/i18n/fr_CA.po | 4 +- addons/web_kanban/i18n/gl.po | 4 +- addons/web_kanban/i18n/gu.po | 4 +- addons/web_kanban/i18n/hr.po | 4 +- addons/web_kanban/i18n/hu.po | 4 +- addons/web_kanban/i18n/it.po | 4 +- addons/web_kanban/i18n/ja.po | 4 +- addons/web_kanban/i18n/ka.po | 4 +- addons/web_kanban/i18n/ko.po | 4 +- addons/web_kanban/i18n/lt.po | 4 +- addons/web_kanban/i18n/mk.po | 4 +- addons/web_kanban/i18n/mn.po | 4 +- addons/web_kanban/i18n/nb.po | 4 +- addons/web_kanban/i18n/nl.po | 6 +- addons/web_kanban/i18n/nl_BE.po | 4 +- addons/web_kanban/i18n/pl.po | 4 +- addons/web_kanban/i18n/pt.po | 4 +- addons/web_kanban/i18n/pt_BR.po | 4 +- addons/web_kanban/i18n/ro.po | 4 +- addons/web_kanban/i18n/ru.po | 4 +- addons/web_kanban/i18n/sl.po | 4 +- addons/web_kanban/i18n/sr@latin.po | 4 +- addons/web_kanban/i18n/sv.po | 4 +- addons/web_kanban/i18n/th.po | 4 +- addons/web_kanban/i18n/tr.po | 4 +- addons/web_kanban/i18n/zh_CN.po | 6 +- addons/web_kanban/i18n/zh_TW.po | 4 +- addons/web_shortcuts/i18n/da.po | 25 ++ addons/web_view_editor/i18n/ar.po | 4 +- addons/web_view_editor/i18n/bs.po | 4 +- addons/web_view_editor/i18n/cs.po | 4 +- addons/web_view_editor/i18n/da.po | 4 +- addons/web_view_editor/i18n/de.po | 4 +- addons/web_view_editor/i18n/en_AU.po | 4 +- addons/web_view_editor/i18n/en_GB.po | 184 ++++++++ addons/web_view_editor/i18n/es.po | 4 +- addons/web_view_editor/i18n/es_DO.po | 4 +- addons/web_view_editor/i18n/es_EC.po | 4 +- addons/web_view_editor/i18n/es_MX.po | 4 +- addons/web_view_editor/i18n/et.po | 4 +- addons/web_view_editor/i18n/fa.po | 4 +- addons/web_view_editor/i18n/fi.po | 4 +- addons/web_view_editor/i18n/fr.po | 4 +- addons/web_view_editor/i18n/hr.po | 4 +- addons/web_view_editor/i18n/hu.po | 4 +- addons/web_view_editor/i18n/it.po | 4 +- addons/web_view_editor/i18n/ko.po | 4 +- addons/web_view_editor/i18n/lt.po | 4 +- addons/web_view_editor/i18n/lv.po | 4 +- addons/web_view_editor/i18n/mk.po | 4 +- addons/web_view_editor/i18n/mn.po | 4 +- addons/web_view_editor/i18n/nb.po | 4 +- addons/web_view_editor/i18n/nl.po | 6 +- addons/web_view_editor/i18n/nl_BE.po | 4 +- addons/web_view_editor/i18n/pl.po | 4 +- addons/web_view_editor/i18n/pt.po | 4 +- addons/web_view_editor/i18n/pt_BR.po | 4 +- addons/web_view_editor/i18n/ro.po | 4 +- addons/web_view_editor/i18n/ru.po | 4 +- addons/web_view_editor/i18n/sl.po | 4 +- addons/web_view_editor/i18n/th.po | 4 +- addons/web_view_editor/i18n/tr.po | 4 +- addons/web_view_editor/i18n/zh_CN.po | 6 +- 339 files changed, 2875 insertions(+), 1017 deletions(-) create mode 100644 addons/auth_oauth_signup/i18n/da.po create mode 100644 addons/contacts/i18n/da.po create mode 100644 addons/email_template/i18n/en_GB.po create mode 100644 addons/portal_anonymous/i18n/da.po create mode 100644 addons/portal_sale/i18n/ru.po create mode 100644 addons/purchase_requisition/i18n/ko.po create mode 100644 addons/web_shortcuts/i18n/da.po create mode 100644 addons/web_view_editor/i18n/en_GB.po diff --git a/addons/auth_crypt/i18n/da.po b/addons/auth_crypt/i18n/da.po index 4710a5ffaa5..d1e0d789d87 100644 --- a/addons/auth_crypt/i18n/da.po +++ b/addons/auth_crypt/i18n/da.po @@ -1,23 +1,28 @@ # Danish translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2012. +# FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-03 16:03+0000\n" -"PO-Revision-Date: 2012-01-27 08:38+0000\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-09-15 20:07+0000\n" "Last-Translator: FULL NAME \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: 2012-12-04 05:53+0000\n" -"X-Generator: Launchpad (build 16335)\n" +"X-Launchpad-Export-Date: 2013-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" -#. module: base_crypt -#: model:ir.model,name:base_crypt.model_res_users +#. module: auth_crypt +#: field:res.users,password_crypt:0 +msgid "Encrypted Password" +msgstr "Krypteret kodeord" + +#. module: auth_crypt +#: model:ir.model,name:auth_crypt.model_res_users msgid "Users" -msgstr "" +msgstr "Brugere" diff --git a/addons/auth_oauth_signup/i18n/da.po b/addons/auth_oauth_signup/i18n/da.po new file mode 100644 index 00000000000..b6a7a5605b6 --- /dev/null +++ b/addons/auth_oauth_signup/i18n/da.po @@ -0,0 +1,23 @@ +# Danish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-09-15 20:08+0000\n" +"Last-Translator: FULL NAME \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-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: auth_oauth_signup +#: model:ir.model,name:auth_oauth_signup.model_res_users +msgid "Users" +msgstr "Bruger" diff --git a/addons/contacts/i18n/da.po b/addons/contacts/i18n/da.po new file mode 100644 index 00000000000..3a04b0556ad --- /dev/null +++ b/addons/contacts/i18n/da.po @@ -0,0 +1,45 @@ +# Danish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-09-15 20:14+0000\n" +"Last-Translator: FULL NAME \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-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

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

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

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

\n" +" Klik for at tilføje kontakt i din adressebog.\n" +"

\n" +" OpenERP hjælper med at spore alle aktiviteter i forbindelse med\n" +" kunde korrespondance, historik på forretnings muligheder,\n" +" dokumenter, o.s.v.\n" +"

\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Adressebog" diff --git a/addons/email_template/i18n/en_GB.po b/addons/email_template/i18n/en_GB.po new file mode 100644 index 00000000000..5734ecbd334 --- /dev/null +++ b/addons/email_template/i18n/en_GB.po @@ -0,0 +1,490 @@ +# English (United Kingdom) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-09-14 06:46+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (United Kingdom) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-09-15 05:49+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: email_template +#: field:email.template,email_from:0 +#: field:email_template.preview,email_from:0 +msgid "From" +msgstr "From" + +#. module: email_template +#: field:mail.compose.message,template_id:0 +msgid "Template" +msgstr "" + +#. module: email_template +#: help:email.template,ref_ir_value:0 +#: help:email_template.preview,ref_ir_value:0 +msgid "Sidebar button to open the sidebar action" +msgstr "Sidebar button to open the sidebar action" + +#. module: email_template +#: field:res.partner,opt_out:0 +msgid "Opt-Out" +msgstr "Opt-Out" + +#. module: email_template +#: field:email.template,email_to:0 +#: field:email_template.preview,email_to:0 +msgid "To (Emails)" +msgstr "To (E-mails)" + +#. module: email_template +#: field:email.template,mail_server_id:0 +#: field:email_template.preview,mail_server_id:0 +msgid "Outgoing Mail Server" +msgstr "Outgoing Mail Server" + +#. module: email_template +#: help:email.template,ref_ir_act_window:0 +#: help:email_template.preview,ref_ir_act_window:0 +msgid "" +"Sidebar action to make this template available on records of the related " +"document model" +msgstr "" +"Sidebar action to make this template available on records of the related " +"document model" + +#. module: email_template +#: field:email.template,model_object_field:0 +#: field:email_template.preview,model_object_field:0 +msgid "Field" +msgstr "Field" + +#. module: email_template +#: help:email.template,email_from:0 +#: help:email_template.preview,email_from:0 +msgid "Sender address (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Remove context action" +msgstr "Remove context action" + +#. module: email_template +#: help:email.template,mail_server_id:0 +#: help:email_template.preview,mail_server_id:0 +msgid "" +"Optional preferred server for outgoing mails. If not set, the highest " +"priority one will be used." +msgstr "" + +#. module: email_template +#: field:email.template,report_name:0 +#: field:email_template.preview,report_name:0 +msgid "Report Filename" +msgstr "Report Filename" + +#. module: email_template +#: view:email.template:0 +msgid "Preview" +msgstr "" + +#. module: email_template +#: field:email.template,reply_to:0 +#: field:email_template.preview,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Use template" +msgstr "" + +#. module: email_template +#: field:email.template,body_html:0 +#: field:email_template.preview,body_html:0 +msgid "Body" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:247 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: email_template +#: help:email.template,user_signature:0 +#: help:email_template.preview,user_signature:0 +msgid "" +"If checked, the user's signature will be appended to the text version of the " +"message" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "SMTP Server" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Save as new template" +msgstr "" + +#. module: email_template +#: help:email.template,sub_object:0 +#: help:email_template.preview,sub_object:0 +msgid "" +"When a relationship field is selected as first field, this field shows the " +"document model the relationship goes to." +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_email_template +msgid "Email Templates" +msgstr "" + +#. module: email_template +#: help:email.template,report_name:0 +#: help:email_template.preview,report_name:0 +msgid "" +"Name to use for the generated report file (may contain placeholders)\n" +"The extension can be omitted and will then come from the report type." +msgstr "" + +#. module: email_template +#: field:email.template,ref_ir_act_window:0 +#: field:email_template.preview,ref_ir_act_window:0 +msgid "Sidebar action" +msgstr "" + +#. module: email_template +#: help:email.template,lang:0 +#: help:email_template.preview,lang:0 +msgid "" +"Optional translation language (ISO code) to select when sending out an " +"email. If not set, the english version will be used. This should usually be " +"a placeholder expression that provides the appropriate language code, e.g. " +"${object.partner_id.lang.code}." +msgstr "" + +#. module: email_template +#: field:email_template.preview,res_id:0 +msgid "Sample Document" +msgstr "" + +#. module: email_template +#: help:email.template,model_object_field:0 +#: help:email_template.preview,model_object_field:0 +msgid "" +"Select target field from the related document model.\n" +"If it is a relationship field you will be able to select a target field at " +"the destination of the relationship." +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Dynamic Value Builder" +msgstr "" + +#. module: email_template +#: model:ir.actions.act_window,name:email_template.wizard_email_template_preview +msgid "Template Preview" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Save as a new template" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "" +"Display an option on related documents to open a composition wizard with " +"this template" +msgstr "" + +#. module: email_template +#: help:email.template,email_cc:0 +#: help:email_template.preview,email_cc:0 +msgid "Carbon copy recipients (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: help:email.template,email_to:0 +#: help:email_template.preview,email_to:0 +msgid "Comma-separated recipient addresses (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Advanced" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Preview of" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Using sample document" +msgstr "" + +#. module: email_template +#: view:email.template:0 +#: model:ir.actions.act_window,name:email_template.action_email_template_tree_all +#: model:ir.ui.menu,name:email_template.menu_email_templates +msgid "Templates" +msgstr "" + +#. module: email_template +#: field:email.template,name:0 +#: field:email_template.preview,name:0 +msgid "Name" +msgstr "" + +#. module: email_template +#: field:email.template,lang:0 +#: field:email_template.preview,lang:0 +msgid "Language" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_email_template_preview +msgid "Email Template Preview" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Email Preview" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "" +"Remove the contextual action to use this template on related documents" +msgstr "" + +#. module: email_template +#: field:email.template,copyvalue:0 +#: field:email_template.preview,copyvalue:0 +msgid "Placeholder Expression" +msgstr "" + +#. module: email_template +#: field:email.template,sub_object:0 +#: field:email_template.preview,sub_object:0 +msgid "Sub-model" +msgstr "" + +#. module: email_template +#: help:email.template,subject:0 +#: help:email_template.preview,subject:0 +msgid "Subject (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: help:email.template,reply_to:0 +#: help:email_template.preview,reply_to:0 +msgid "Preferred response address (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: field:email.template,ref_ir_value:0 +#: field:email_template.preview,ref_ir_value:0 +msgid "Sidebar Button" +msgstr "" + +#. module: email_template +#: field:email.template,report_template:0 +#: field:email_template.preview,report_template:0 +msgid "Optional report to print and attach" +msgstr "" + +#. module: email_template +#: help:email.template,null_value:0 +#: help:email_template.preview,null_value:0 +msgid "Optional value to use if the target field is empty" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Model" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Add context action" +msgstr "" + +#. module: email_template +#: help:email.template,model_id:0 +#: help:email_template.preview,model_id:0 +msgid "The kind of document with with this template can be used" +msgstr "" + +#. module: email_template +#: field:email.template,email_recipients:0 +#: field:email_template.preview,email_recipients:0 +msgid "To (Partners)" +msgstr "" + +#. module: email_template +#: field:email.template,auto_delete:0 +#: field:email_template.preview,auto_delete:0 +msgid "Auto Delete" +msgstr "" + +#. module: email_template +#: help:email.template,copyvalue:0 +#: help:email_template.preview,copyvalue:0 +msgid "" +"Final placeholder expression, to be copy-pasted in the desired template " +"field." +msgstr "" + +#. module: email_template +#: field:email.template,model:0 +#: field:email_template.preview,model:0 +msgid "Related Document Model" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Addressing" +msgstr "" + +#. module: email_template +#: help:email.template,email_recipients:0 +#: help:email_template.preview,email_recipients:0 +msgid "" +"Comma-separated ids of recipient partners (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: field:email.template,attachment_ids:0 +#: field:email_template.preview,attachment_ids:0 +msgid "Attachments" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:234 +#, python-format +msgid "Deletion of the action record failed." +msgstr "" + +#. module: email_template +#: field:email.template,email_cc:0 +#: field:email_template.preview,email_cc:0 +msgid "Cc" +msgstr "" + +#. module: email_template +#: field:email.template,model_id:0 +#: field:email_template.preview,model_id:0 +msgid "Applies to" +msgstr "" + +#. module: email_template +#: field:email.template,sub_model_object_field:0 +#: field:email_template.preview,sub_model_object_field:0 +msgid "Sub-field" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Email Details" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:199 +#, python-format +msgid "Send Mail (%s)" +msgstr "" + +#. module: email_template +#: help:res.partner,opt_out:0 +msgid "" +"If checked, this partner will not receive any automated email notifications, " +"such as the availability of invoices." +msgstr "" + +#. module: email_template +#: help:email.template,auto_delete:0 +#: help:email_template.preview,auto_delete:0 +msgid "Permanently delete this email after sending it, to save space" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Group by..." +msgstr "" + +#. module: email_template +#: help:email.template,sub_model_object_field:0 +#: help:email_template.preview,sub_model_object_field:0 +msgid "" +"When a relationship field is selected as first field, this field lets you " +"select the target field within the destination document model (sub-model)." +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:234 +#, python-format +msgid "Warning" +msgstr "" + +#. module: email_template +#: field:email.template,user_signature:0 +#: field:email_template.preview,user_signature:0 +msgid "Add Signature" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_res_partner +msgid "Partner" +msgstr "" + +#. module: email_template +#: field:email.template,null_value:0 +#: field:email_template.preview,null_value:0 +msgid "Default Value" +msgstr "" + +#. module: email_template +#: help:email.template,attachment_ids:0 +#: help:email_template.preview,attachment_ids:0 +msgid "" +"You may attach files to this template, to be added to all emails created " +"from this template" +msgstr "" + +#. module: email_template +#: help:email.template,body_html:0 +#: help:email_template.preview,body_html:0 +msgid "Rich-text/HTML version of the message (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Contents" +msgstr "" + +#. module: email_template +#: field:email.template,subject:0 +#: field:email_template.preview,subject:0 +msgid "Subject" +msgstr "" diff --git a/addons/portal_anonymous/i18n/da.po b/addons/portal_anonymous/i18n/da.po new file mode 100644 index 00000000000..e12356263b9 --- /dev/null +++ b/addons/portal_anonymous/i18n/da.po @@ -0,0 +1,25 @@ +# Danish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-09-15 20:32+0000\n" +"Last-Translator: FULL NAME \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-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: portal_anonymous +#. openerp-web +#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8 +#, python-format +msgid "Login" +msgstr "Login" diff --git a/addons/portal_sale/i18n/ru.po b/addons/portal_sale/i18n/ru.po new file mode 100644 index 00000000000..da12b485f4f --- /dev/null +++ b/addons/portal_sale/i18n/ru.po @@ -0,0 +1,554 @@ +# Russian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-09-16 07:59+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-09-17 04:37+0000\n" +"X-Generator: Launchpad (build 16765)\n" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_config_settings +msgid "account.config.settings" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices +msgid "We haven't sent you any invoice." +msgstr "У Вас нет никаких счетов." + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_sale +msgid "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" +msgstr "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'проект' or ''}" + +#. module: portal_sale +#: model:res.groups,name:portal_sale.group_payment_options +msgid "View Online Payment Options" +msgstr "Посмотреть варианты оплаты онлайн" + +#. module: portal_sale +#: field:account.config.settings,group_payment_options:0 +msgid "Show payment buttons to employees too" +msgstr "Показывать кнопки оплаты сотрудникам" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_sale +msgid "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" +msgstr "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Предложение' or 'Заказ'} № ${object.name or 'б/н' }" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal +msgid "We haven't sent you any quotation." +msgstr "У Вас нет никаких предложений цен" + +#. module: portal_sale +#: model:ir.ui.menu,name:portal_sale.portal_sales_orders +msgid "Sales Orders" +msgstr "Заказы продаж" + +#. module: portal_sale +#: model:res.groups,comment:portal_sale.group_payment_options +msgid "" +"Members of this group see the online payment options\n" +"on Sale Orders and Customer Invoices. These options are meant for customers " +"who are accessing\n" +"their documents through the portal." +msgstr "" +"Члены этой группы видят варианты оплаты счетов онлайн\n" +"по заказам продаж и счетам заказчиков. Эти варианты предназначены для " +"заказчиков, имеющих доступ\n" +"к своим документам через портал." + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_sale +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +" \n" +"

Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Order number: ${object.name}
\n" +"   Order total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
\n" +"   Order date: ${object.date_order}
\n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
\n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Your reference: ${object.client_order_ref}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" You can access this document and pay online via our Customer Portal:\n" +"

\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
\n" +"

It is also possible to directly pay with Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

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

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

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

Здравствуйте, ${object.partner_id.name}!

\n" +" \n" +"

Направляем Вам ${object.state in ('draft', 'sent') and 'предложение' " +"or 'подтверждение заказа'} от ${object.company_id.name}:

\n" +"\n" +"

\n" +"   СВОДКА
\n" +"   Заказ: ${object.name}
\n" +"   Итог: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
\n" +"   Дата: ${object.date_order}
\n" +" % if object.origin:\n" +"   Основание заказа: ${object.origin}
\n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Ваша ссылка: ${object.client_order_ref}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Ваш контакт: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" Вы можете ознакомиться с этим документом онлайн и узнать о вариантах " +"оплаты через наш Портал:\n" +"

\n" +" Посмотреть ${object.state in ('draft', " +"'sent') and 'Предложение' or 'Заказ'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
\n" +"

Также возможно произвести оплату непосредственно через Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
\n" +"

Если у Вас есть вопросы - пожалуйста, свяжитесь с нами.

\n" +"

Спасибо, что выбрали ${object.company_id.name or 'нас'}!

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

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Сайт : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_invoice +msgid "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" +msgstr "" +"Счёт_${(object.number or '').replace('/','_')}_${object.state == 'draft' and " +"'проект' or ''}" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_invoice +msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })" +msgstr "${object.company_id.name} Счёт № ${object.number or 'n/a' }" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_mail_mail +msgid "Outgoing Mails" +msgstr "Исходящая почта" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal +#: model:ir.ui.menu,name:portal_sale.portal_quotations +msgid "Quotations" +msgstr "Предложения цен" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_sale_order +msgid "Sales Order" +msgstr "Заказ продаж" + +#. module: portal_sale +#: field:account.invoice,portal_payment_options:0 +#: field:sale.order,portal_payment_options:0 +msgid "Portal Payment Options" +msgstr "Варианты оплаты через портал" + +#. module: portal_sale +#: help:account.config.settings,group_payment_options:0 +msgid "" +"Show online payment options on Sale Orders and Customer Invoices to " +"employees. If not checked, these options are only visible to portal users." +msgstr "" +"Показывать варианты оплаты по заказам продаж и счетам заказчиков " +"сотрудникам. Если не отмечено, то эти варианты видны только пользователям " +"портала." + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices +#: model:ir.ui.menu,name:portal_sale.portal_invoices +msgid "Invoices" +msgstr "Счета" + +#. module: portal_sale +#: view:account.config.settings:0 +msgid "Configure payment acquiring methods" +msgstr "Настроить методы получения платежей" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_invoice +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

A new invoice is available for you:

\n" +" \n" +"

\n" +"   REFERENCES
\n" +"   Invoice number: ${object.number}
\n" +"   Invoice total: ${object.amount_total} " +"${object.currency_id.name}
\n" +"   Invoice date: ${object.date_invoice}
\n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"

\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
\n" +"

It is also possible to directly pay with Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

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

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

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

Здравствуйте, ${object.partner_id.name},

\n" +"\n" +"

Вам выставлен счёт:

\n" +" \n" +"

\n" +"   СВОДКА
\n" +"   Счёт: ${object.number}
\n" +"   Итог: ${object.amount_total} " +"${object.currency_id.name}
\n" +"   Дата: ${object.date_invoice}
\n" +" % if object.origin:\n" +"   Основание: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Ваш контакт: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" Вы можете ознакомиться с документом онлайн и узнать о вариантах оплаты " +"через наш Портал:\n" +"

\n" +" Посмотреть счёт\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
\n" +"

Также возможно произвести оплату через Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
\n" +"

Если у Вас есть вопросы - пожалуйста, свяжитесь с нами.

\n" +"

Спасибо, что выбрали ${object.company_id.name or 'нас'}!

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

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Сайт: ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_orders_portal +msgid "We haven't sent you any sales order." +msgstr "У Вас нет никаких заказов." + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_invoice +msgid "Invoice" +msgstr "Счёт" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_orders_portal +msgid "Sale Orders" +msgstr "Заказы продаж" diff --git a/addons/purchase_requisition/i18n/ko.po b/addons/purchase_requisition/i18n/ko.po new file mode 100644 index 00000000000..445ea25c3c0 --- /dev/null +++ b/addons/purchase_requisition/i18n/ko.po @@ -0,0 +1,473 @@ +# Korean translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-09-15 08:58+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Request a Quotation" +msgstr "견적 요청" + +#. module: purchase_requisition +#: selection:purchase.requisition,exclusive:0 +msgid "Multiple Requisitions" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition.line,product_uom_id:0 +msgid "Product Unit of Measure" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition +msgid "" +"

\n" +" Click to start a new purchase requisition process. \n" +"

\n" +" A purchase requisition is the step before a request for " +"quotation.\n" +" In a purchase requisition (or purchase tender), you can record " +"the\n" +" products you need to buy and trigger the creation of RfQs to\n" +" suppliers. After the negotiation, once you have reviewed all " +"the\n" +" supplier's offers, you can validate some and cancel others.\n" +"

\n" +" " +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: field:purchase.requisition,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: field:purchase.requisition,state:0 +msgid "Status" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Send to Suppliers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Group By..." +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "Purchase Done" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Purchase Requisition in negociation" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition.partner,partner_id:0 +msgid "Supplier" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "New" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Product Detail" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Qty" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Type" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition_partner +#: model:ir.actions.report.xml,name:purchase_requisition.report_purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition +#: model:ir.module.category,name:purchase_requisition.module_category_purchase_requisition +#: field:product.product,purchase_requisition:0 +#: field:purchase.order,requisition_id:0 +#: view:purchase.requisition:0 +#: field:purchase.requisition.line,requisition_id:0 +#: view:purchase.requisition.partner:0 +msgid "Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition_line +msgid "Purchase Requisition Line" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.order:0 +msgid "Purchase Orders with requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_product_product +#: field:purchase.requisition.line,product_id:0 +msgid "Product" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Quotations" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,description:0 +msgid "Description" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,company_id:0 +#: field:purchase.requisition.line,company_id:0 +msgid "Company" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "Create Quotation" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Approved by Supplier" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "or" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Reset to Draft" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Current Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:res.groups,name:purchase_requisition.group_purchase_requisition_user +msgid "User" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Order Reference" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition.line,product_qty:0 +msgid "Quantity" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Unassigned Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition +#: model:ir.ui.menu,name:purchase_requisition.menu_purchase_requisition_pro_mgt +msgid "Purchase Requisitions" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Quotation Detail" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/purchase_requisition.py:134 +#, python-format +msgid "" +"You have already one %s purchase order for this partner, you must cancel " +"this purchase order to create a new quotation." +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "End Date" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,name:0 +msgid "Requisition Reference" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,line_ids:0 +msgid "Products to Purchase" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "Sent to Suppliers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Search Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 +#, python-format +msgid "No Product in Tender." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Date Ordered" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,exclusive:0 +msgid "" +"Purchase Requisition (exclusive): On the confirmation of a purchase order, " +"it cancels the remaining purchase order.\n" +"Purchase Requisition(Multiple): It allows to have multiple purchase " +"orders.On confirmation of a purchase order it does not cancel the remaining " +"orders" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Cancel Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_order +#: view:purchase.requisition:0 +msgid "Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,origin:0 +msgid "Source Document" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 +#, python-format +msgid "Error!" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,exclusive:0 +msgid "Requisition Type" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "New Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Products" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Order Date" +msgstr "" + +#. module: purchase_requisition +#: selection:purchase.requisition,state:0 +msgid "Cancelled" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition_partner +msgid "Purchase Requisition Partner" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Purchase for Requisitions" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.act_res_partner_2_purchase_order +msgid "Purchase orders" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,date_end:0 +msgid "Requisition Deadline" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Reference" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_procurement_order +msgid "Procurement" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: view:purchase.requisition:0 +msgid "Source" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,warehouse_id:0 +msgid "Warehouse" +msgstr "" + +#. module: purchase_requisition +#: field:procurement.order,requisition_id:0 +msgid "Latest Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:res.groups,name:purchase_requisition.group_purchase_requisition_manager +msgid "Manager" +msgstr "" + +#. module: purchase_requisition +#: selection:purchase.requisition,exclusive:0 +msgid "Purchase Requisition (exclusive)" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Product UoM" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/purchase_requisition.py:134 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Confirm Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "Cancel" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,date_start:0 +msgid "Requisition Date" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Start Date" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Unassigned" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.order:0 +msgid "Requisition" +msgstr "" + +#. module: purchase_requisition +#: help:product.product,purchase_requisition:0 +msgid "" +"Check this box to generates purchase requisition instead of generating " +"requests for quotation from procurement." +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,purchase_ids:0 +msgid "Purchase Orders" +msgstr "" diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po index eb9041c585e..65bbcd33781 100644 --- a/addons/web/i18n/ar.po +++ b/addons/web/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po index 988b4e3a659..f291d6adfe4 100644 --- a/addons/web/i18n/bg.po +++ b/addons/web/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po index bcfc65395af..00d840da9f5 100644 --- a/addons/web/i18n/bn.po +++ b/addons/web/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po index 8576e8affac..649a3838e96 100644 --- a/addons/web/i18n/bs.po +++ b/addons/web/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web @@ -36,14 +36,14 @@ msgstr "prije %d minuta" #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...
Please be patient." -msgstr "Još se učitava..." +msgstr "Još se učitava...
Molimo budite strpljivi." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1999 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "manje ili jednako od" #: code:addons/web/static/src/js/chrome.js:410 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Molimo Vas da unesete prijašnju šifru" #. module: web #. openerp-web @@ -148,7 +148,7 @@ msgstr "Ovo je pregled fajla koji nismo mogli importovati:" #: code:addons/web/static/src/js/coresetup.js:591 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "prije oko minut" #. module: web #. openerp-web @@ -161,14 +161,14 @@ msgstr "" #: code:addons/web/controllers/main.py:869 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Ne možete ostaviti šifru praznu." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:732 #, python-format msgid "Invalid username or password" -msgstr "" +msgstr "Ne pravilno korisničko ime ili šifra" #. module: web #. openerp-web @@ -177,7 +177,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:278 #, python-format msgid "Master Password:" -msgstr "" +msgstr "Glavna šifra:" #. module: web #. openerp-web @@ -185,7 +185,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1402 #, python-format msgid "Select" -msgstr "" +msgstr "Odaberi" #. module: web #. openerp-web @@ -199,14 +199,14 @@ msgstr "Baza podataka uspješno obnovljena" #: code:addons/web/static/src/xml/base.xml:437 #, python-format msgid "Version" -msgstr "" +msgstr "Verzija" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:592 #, python-format msgid "Latest Modification Date:" -msgstr "" +msgstr "Zadnji datum modifikacije:" #. module: web #. openerp-web @@ -214,20 +214,22 @@ msgstr "" #, python-format msgid "M2O search fields do not currently handle multiple default values" msgstr "" +"M2O polja pretraživanja trenutno ne mogu upravljati sa više zadanih " +"vrijednosti" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1241 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Widget tipa '%s' nije implementiran" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1626 #, python-format msgid "Share with all users" -msgstr "" +msgstr "Djeli sa svim korisnicima" #. module: web #. openerp-web @@ -235,21 +237,21 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:320 #, python-format msgid "Form" -msgstr "" +msgstr "Forma" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1352 #, python-format msgid "(no string)" -msgstr "" +msgstr "(nema stringa)" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:286 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' je ne pravilno vrijeme" #. module: web #. openerp-web @@ -263,77 +265,77 @@ msgstr "Ne važeći broj" #: code:addons/web/static/src/xml/base.xml:343 #, python-format msgid "New Password:" -msgstr "" +msgstr "Nova šifra:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:632 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Zakačka:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1712 #, python-format msgid "Fields to export" -msgstr "" +msgstr "Polja za izvoz" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1350 #, python-format msgid "Undefined" -msgstr "" +msgstr "Nedefinisano" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "File Upload" -msgstr "" +msgstr "Učitavanje fajla" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:597 #, python-format msgid "about a month ago" -msgstr "" +msgstr "prije mjesec dana" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1618 #, python-format msgid "Custom Filters" -msgstr "" +msgstr "Prilagođeni filteri" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1364 #, python-format msgid "Button Type:" -msgstr "" +msgstr "Tip dugmeta:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "OpenERP SA Company" -msgstr "" +msgstr "OpenERP SA Kompanija" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1663 #, python-format msgid "Custom Filter" -msgstr "" +msgstr "Prilagođeni filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:177 #, python-format msgid "Duplicate Database" -msgstr "" +msgstr "Dupliciraj bazu" #. module: web #. openerp-web @@ -355,7 +357,7 @@ msgstr "Promijeni šifru" #: code:addons/web/static/src/js/view_form.js:3528 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "Tip pogleda '%s' nije podržan u One2Many." #. module: web #. openerp-web @@ -370,48 +372,48 @@ msgstr "Preuzimanje" #: code:addons/web/static/src/js/formats.js:270 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' nije pravilno datum-vrijeme" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:432 #, python-format msgid "Group" -msgstr "" +msgstr "Grupa" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:949 #, python-format msgid "Unhandled widget" -msgstr "" +msgstr "Ne upravljan widget" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1004 #, python-format msgid "Selection:" -msgstr "" +msgstr "Izbor:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:881 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "Sljedeća polja nisu pravilna:" #. module: web #: code:addons/web/controllers/main.py:890 #, python-format msgid "Languages" -msgstr "" +msgstr "Jezici" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1298 #, python-format msgid "...Upload in progress..." -msgstr "" +msgstr "...Učitavanje u toku..." #. module: web #. openerp-web @@ -425,21 +427,21 @@ msgstr "Uvezi" #: code:addons/web/static/src/js/chrome.js:565 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "Ne može se vratiti baza podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4982 #, python-format msgid "File upload" -msgstr "" +msgstr "Učitavanje fajla" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3925 #, python-format msgid "Action Button" -msgstr "" +msgstr "Dugme akcije" #. module: web #. openerp-web @@ -447,7 +449,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1493 #, python-format msgid "Manage Filters" -msgstr "" +msgstr "Uredi filtere" #. module: web #. openerp-web @@ -461,14 +463,14 @@ msgstr "sadrži" #: code:addons/web/static/src/js/coresetup.js:623 #, python-format msgid "Take a minute to get a coffee,
because it's loading..." -msgstr "" +msgstr "Uzmite minutu da odete po kafu,
jer se učitava..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:435 #, python-format msgid "Activate the developer mode" -msgstr "" +msgstr "Aktiviraj razvojni mod" #. module: web #. openerp-web @@ -482,63 +484,63 @@ msgstr "Punim (%d)" #: code:addons/web/static/src/js/search.js:1216 #, python-format msgid "GroupBy" -msgstr "" +msgstr "Grupiši po" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:699 #, python-format msgid "You must select at least one record." -msgstr "" +msgstr "Morate izabrati makar jedan zapis." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:557 #, python-format msgid "View Log (perm_read)" -msgstr "" +msgstr "Pregledaj Log (perm_read)" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1071 #, python-format msgid "Set Default" -msgstr "" +msgstr "Postavi zadano" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1000 #, python-format msgid "Relation:" -msgstr "" +msgstr "Relacija:" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:590 #, python-format msgid "less than a minute ago" -msgstr "" +msgstr "manje od minutu prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:873 #, python-format msgid "Condition:" -msgstr "" +msgstr "Uslov:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1709 #, python-format msgid "Unsupported operator %s in domain %s" -msgstr "" +msgstr "Ne podržana operacija %s u domenu %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:246 #, python-format msgid "'%s' is not a correct float" -msgstr "" +msgstr "'%s' nije pravilan decimalni broj" #. module: web #. openerp-web @@ -552,21 +554,21 @@ msgstr "Obnovljeno" #: code:addons/web/static/src/js/view_list.js:409 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d-%d od %d" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2955 #, python-format msgid "Create and Edit..." -msgstr "" +msgstr "Kreiraj i Uredi..." #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:736 #, python-format msgid "Unknown nonliteral type " -msgstr "" +msgstr "Ne poznat ne literalni tip " #. module: web #. openerp-web @@ -587,63 +589,63 @@ msgstr "nije" #: code:addons/web/static/src/xml/base.xml:572 #, python-format msgid "Print Workflow" -msgstr "" +msgstr "Štampaj radni tok" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:413 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "Molimo potvrdite novu šifru" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1825 #, python-format msgid "UTF-8" -msgstr "" +msgstr "UTF‑8" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:443 #, python-format msgid "For more information visit" -msgstr "" +msgstr "Za više informacija posjetite" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1880 #, python-format msgid "Add All Info..." -msgstr "" +msgstr "Dodaj sve podatke..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1701 #, python-format msgid "Export Formats" -msgstr "" +msgstr "Formati izvoza" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:996 #, python-format msgid "On change:" -msgstr "" +msgstr "Prilikom promjene:" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:939 #, python-format msgid "Model %s fields" -msgstr "" +msgstr "Polja %s modela" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:906 #, python-format msgid "Setting 'id' attribute on existing record %s" -msgstr "" +msgstr "Postavljanje 'id' atributa na postojećem zapisu %s" #. module: web #. openerp-web @@ -667,21 +669,21 @@ msgstr "veće od" #: code:addons/web/static/src/xml/base.xml:568 #, python-format msgid "View" -msgstr "" +msgstr "Pogled" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1492 #, python-format msgid "Save Filter" -msgstr "" +msgstr "Sačuvaj filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1372 #, python-format msgid "Action ID:" -msgstr "" +msgstr "ID Akcije:" #. module: web #. openerp-web @@ -689,55 +691,57 @@ msgstr "" #, python-format msgid "Your user's preference timezone does not match your browser timezone:" msgstr "" +"Vaša vremenska zona korisnika se ne slaže sa vremenskom zonom internet " +"pretraživača:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1237 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Polje '%s' specifirano u pogledu nije moglo biti pronađeno." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1777 #, python-format msgid "Saved exports:" -msgstr "" +msgstr "Sačuvani izvozi:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:338 #, python-format msgid "Old Password:" -msgstr "" +msgstr "Stara šifra:" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:113 #, python-format msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" -msgstr "" +msgstr "Bajtovi,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:503 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "Baza podataka je bila duplicirana." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1643 #, python-format msgid "Apply" -msgstr "" +msgstr "Primjeni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1414 #, python-format msgid "Save & New" -msgstr "" +msgstr "Sačuvaj i Novi" #. module: web #. openerp-web @@ -745,14 +749,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1253 #, python-format msgid "Save As" -msgstr "" +msgstr "Sačuvaj kao" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -766,21 +770,21 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:595 #, python-format msgid "a day ago" -msgstr "" +msgstr "dan prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1810 #, python-format msgid "Does your file have titles?" -msgstr "" +msgstr "Da li Vaš fajl sadrži naslove?" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:327 #, python-format msgid "Unlimited" -msgstr "" +msgstr "Neograničeno" #. module: web #. openerp-web @@ -791,13 +795,16 @@ msgid "" "\n" "Are you sure you want to leave this page ?" msgstr "" +"Upozorenje, zapis je bio izmjenjen, Vaše promjene će biti odbačene.\n" +"\n" +"Da li ste sigurni da želite napustiti ovu stranicu?" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2991 #, python-format msgid "Search: " -msgstr "" +msgstr "Pretraži: " #. module: web #. openerp-web @@ -811,28 +818,28 @@ msgstr "Tehnički prevod" #: code:addons/web/static/src/xml/base.xml:1818 #, python-format msgid "Delimiter:" -msgstr "" +msgstr "Razdvajač:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:484 #, python-format msgid "Browser's timezone" -msgstr "" +msgstr "Vremenska zona internet pretraživača" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1623 #, python-format msgid "Filter name" -msgstr "" +msgstr "Ime filtera" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1490 #, python-format msgid "-- Actions --" -msgstr "" +msgstr "-- Akcije --" #. module: web #. openerp-web @@ -842,49 +849,49 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1726 #, python-format msgid "Add" -msgstr "" +msgstr "Dodaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:558 #, python-format msgid "Toggle Form Layout Outline" -msgstr "" +msgstr "Uključi/Isključi raspored linija forme" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:443 #, python-format msgid "OpenERP.com" -msgstr "" +msgstr "OpenERP.com" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2349 #, python-format msgid "Can't send email to invalid e-mail address" -msgstr "" +msgstr "Ne može se poslati email na ne pravilnu email adresu" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:658 #, python-format msgid "Add..." -msgstr "" +msgstr "Dodaj..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:424 #, python-format msgid "Preferences" -msgstr "" +msgstr "Postavke" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:435 #, python-format msgid "Wrong on change format: %s" -msgstr "" +msgstr "Pogrešan format pri izmjeni: %s" #. module: web #. openerp-web @@ -892,28 +899,28 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:203 #, python-format msgid "Drop Database" -msgstr "" +msgstr "Odbaci bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:488 #, python-format msgid "Click here to change your user's timezone." -msgstr "" +msgstr "Kliknite ovdje da izmjenite postavke korisničke vremenske zone." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:988 #, python-format msgid "Modifiers:" -msgstr "" +msgstr "Modifikatori:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:649 #, python-format msgid "Delete this attachment" -msgstr "" +msgstr "Obriši ovu zakačku" #. module: web #. openerp-web @@ -931,49 +938,49 @@ msgstr "Sačuvaj" #: code:addons/web/static/src/xml/base.xml:370 #, python-format msgid "More" -msgstr "" +msgstr "Više" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:73 #, python-format msgid "Username" -msgstr "" +msgstr "Korisničko ime" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:503 #, python-format msgid "Duplicating database" -msgstr "" +msgstr "Baza se duplicira" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:585 #, python-format msgid "Password has been changed successfully" -msgstr "" +msgstr "Šifra je bila uspješno promjenjena" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list_editable.js:793 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "Podatci forme ne mogu biti odbačeni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:555 #, python-format msgid "Debug View#" -msgstr "" +msgstr "Debug pogled#" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:77 #, python-format msgid "Log in" -msgstr "" +msgstr "Prijavi se" #. module: web #. openerp-web @@ -982,7 +989,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1785 #, python-format msgid "Delete" -msgstr "" +msgstr "Obriši" #. module: web #. openerp-web @@ -994,6 +1001,10 @@ msgid "" "\n" "%s" msgstr "" +"Greška lokalne procjene\n" +"%s\n" +"\n" +"%s" #. module: web #. openerp-web @@ -1007,14 +1018,14 @@ msgstr "Nevažeće ime baze podataka" #: code:addons/web/static/src/xml/base.xml:1714 #, python-format msgid "Save fields list" -msgstr "" +msgstr "Sačuvaj listu polja" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Počni" #. module: web #. openerp-web @@ -1028,21 +1039,21 @@ msgstr "Pogledaj Log (%s)" #: code:addons/web/static/src/xml/base.xml:586 #, python-format msgid "Creation Date:" -msgstr "" +msgstr "Datum kreiranja:" #. module: web #: code:addons/web/controllers/main.py:833 #: code:addons/web/controllers/main.py:878 #, python-format msgid "Error, password not changed !" -msgstr "" +msgstr "Greška, šifra nije promjenjena !" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4981 #, python-format msgid "The selected file exceed the maximum file size of %s." -msgstr "" +msgstr "Odabrani fajl je prešao maksimalnu veličinu od %s." #. module: web #. openerp-web @@ -1056,14 +1067,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:585 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Šifra je promijenjena" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1457 #, python-format msgid "Search" -msgstr "" +msgstr "Pretraži" #. module: web #. openerp-web @@ -1082,7 +1093,7 @@ msgstr "Otvori: " #: code:addons/web/static/src/xml/base.xml:327 #, python-format msgid "Backup" -msgstr "" +msgstr "Napravi rezervnu kopiju" #. module: web #. openerp-web @@ -1090,35 +1101,35 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:80 #, python-format msgid "'%s' is not a valid time" -msgstr "" +msgstr "'%s' nije pravilno vrijeme" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:278 #, python-format msgid "'%s' is not a correct date" -msgstr "" +msgstr "'%s' nije pravilan datum" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:955 #, python-format msgid "(nolabel)" -msgstr "" +msgstr "(nema naziva)" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:596 #, python-format msgid "%d days ago" -msgstr "" +msgstr "%d dan(a) prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1500 #, python-format msgid "(Any existing filter with the same name will be replaced)" -msgstr "" +msgstr "(Svaki postojeći filter sa istim imenom će biti zamjenjen)" #. module: web #. openerp-web @@ -1128,7 +1139,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1881 #, python-format msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: web #. openerp-web @@ -1144,14 +1155,14 @@ msgstr "Učitavam..." #: code:addons/web/static/src/xml/base.xml:589 #, python-format msgid "Latest Modification by:" -msgstr "" +msgstr "Zadnji modificirao:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:492 #, python-format msgid "Timezone mismatch" -msgstr "" +msgstr "Ne slaganje vremenske zone" #. module: web #. openerp-web @@ -1165,21 +1176,21 @@ msgstr "Nepoznat operator %s na domeni %s" #: code:addons/web/static/src/js/view_form.js:427 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1803 #, python-format msgid "2. Check your file format" -msgstr "" +msgstr "Provjerite format fajla" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1739 #, python-format msgid "Name" -msgstr "" +msgstr "Ime" #. module: web #. openerp-web @@ -1189,13 +1200,15 @@ msgid "" "Select a .CSV file to import. If you need a sample of file to import,\n" " you should use the export tool with the \"Import Compatible\" option." msgstr "" +"Odaberite .CSV fajl za uvoz. Ako trebate prijedlog fajla za uvoz,\n" +" možete koristiti alat za izvoz sa opcijom \"Kompatibilno sa uvozom\"." #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:598 #, python-format msgid "%d months ago" -msgstr "" +msgstr "%d mjeseci prije" #. module: web #. openerp-web @@ -1203,20 +1216,20 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:326 #, python-format msgid "Drop" -msgstr "" +msgstr "Odbaci" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1491 #, python-format msgid "Add Advanced Filter" -msgstr "" +msgstr "Dodaj napredni filter" #. module: web #: code:addons/web/controllers/main.py:871 #, python-format msgid "The new password and its confirmation must be identical." -msgstr "" +msgstr "Nova šifra i njena potvrda moraju biti identične." #. module: web #. openerp-web @@ -1224,21 +1237,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:266 #, python-format msgid "Restore Database" -msgstr "" +msgstr "Vrati bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:702 #, python-format msgid "Login" -msgstr "" +msgstr "Prijava" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:442 #, python-format msgid "Licenced under the terms of" -msgstr "" +msgstr "Licencirano pod uslovima" #. module: web #. openerp-web @@ -1253,28 +1266,28 @@ msgstr "Vrati" #: code:addons/web/static/src/xml/base.xml:1695 #, python-format msgid "Export Type:" -msgstr "" +msgstr "Tip izvoza:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:428 #, python-format msgid "Log out" -msgstr "" +msgstr "Odjavi se" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1192 #, python-format msgid "Group by: %s" -msgstr "" +msgstr "Grupiši po: %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:154 #, python-format msgid "No data provided." -msgstr "" +msgstr "Nisu dati podatci." #. module: web #. openerp-web @@ -1303,70 +1316,70 @@ msgstr "Morate izabrati barem jedan zapis" #: code:addons/web/static/src/js/coresetup.js:621 #, python-format msgid "Don't leave yet,
it's still loading..." -msgstr "" +msgstr "Ne odlazite još,
učitava se..." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:841 #, python-format msgid "Invalid Search" -msgstr "" +msgstr "Pogrešna pretraga" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:990 #, python-format msgid "Could not find id in dataset" -msgstr "" +msgstr "Nije moglo biti pronađeno u dataset-u" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1728 #, python-format msgid "Remove All" -msgstr "" +msgstr "Ukloni sve" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1368 #, python-format msgid "Method:" -msgstr "" +msgstr "Metoda:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1449 #, python-format msgid "%(page)d/%(page_count)d" -msgstr "" +msgstr "%(page)d/%(page_count)d" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:414 #, python-format msgid "The confirmation does not match the password" -msgstr "" +msgstr "Potvrda ne odgovara šifri" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:463 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Uredi podatke kompanije" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5017 #, python-format msgid "Save As..." -msgstr "" +msgstr "Sačuvaj kao..." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5138 #, python-format msgid "Could not display the selected image." -msgstr "" +msgstr "Nije se mogla prikazati izabrana slika." #. module: web #. openerp-web @@ -1383,48 +1396,50 @@ msgid "" "For use if CSV files have titles on multiple lines, skips more than a single " "line during import" msgstr "" +"Za korištenje kada CSV fajl ima naslove na više linija, preskače se više od " +"jedne linije prilikom uvoza" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:414 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1795 #, python-format msgid "1. Import a .CSV file" -msgstr "" +msgstr "Uvezi .CSV fajl" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:702 #, python-format msgid "No database selected !" -msgstr "" +msgstr "Nije odabrana baza podataka !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:184 #, python-format msgid "(%d records)" -msgstr "" +msgstr "(%d zapis(a))" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:992 #, python-format msgid "Change default:" -msgstr "" +msgstr "Promjeni zadano:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:189 #, python-format msgid "Original database name:" -msgstr "" +msgstr "Originalno ime baze" #. module: web #. openerp-web @@ -1441,14 +1456,14 @@ msgstr "je jednako" #: code:addons/web/static/src/js/views.js:1581 #, python-format msgid "Could not serialize XML" -msgstr "" +msgstr "Nije se mogao serijalizovati XML" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1637 #, python-format msgid "Advanced Search" -msgstr "" +msgstr "Napredna pretraga" #. module: web #. openerp-web @@ -1463,6 +1478,8 @@ msgstr "Potvrdi glavni password" #, python-format msgid "Maybe you should consider reloading the application by pressing F5..." msgstr "" +"Možda bi ste trebali razmotriti da ponovno učitate aplikaciju pritiskom na " +"F5..." #. module: web #. openerp-web @@ -1473,7 +1490,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1404 #, python-format msgid "Create" -msgstr "" +msgstr "Kreiraj" #. module: web #. openerp-web @@ -1487,14 +1504,14 @@ msgstr "Ne sarži" #: code:addons/web/static/src/xml/base.xml:1806 #, python-format msgid "Import Options" -msgstr "" +msgstr "Opcije uvoza" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3023 #, python-format msgid "Add %s" -msgstr "" +msgstr "Dodaj %s" #. module: web #. openerp-web @@ -1518,21 +1535,21 @@ msgstr "Zatvori" #, python-format msgid "" "You may not believe it,
but the application is actually loading..." -msgstr "" +msgstr "Možda nećete vjerovati,
ali aplikacija se zapravo učitava..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1800 #, python-format msgid "CSV File:" -msgstr "" +msgstr "CSV Fajl:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1879 #, python-format msgid "Advanced" -msgstr "" +msgstr "Napredno" #. module: web #. openerp-web @@ -1545,49 +1562,49 @@ msgstr "Stablo" #: code:addons/web/controllers/main.py:793 #, python-format msgid "Could not drop database !" -msgstr "" +msgstr "Baza nije mogla biti odbačena !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:231 #, python-format msgid "'%s' is not a correct integer" -msgstr "" +msgstr "'%s' nije pravilan cijeli broj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:899 #, python-format msgid "All users" -msgstr "" +msgstr "Svi korisnici" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1671 #, python-format msgid "Unknown field %s in domain %s" -msgstr "" +msgstr "Ne poznato polje %s u domenu %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1546 #, python-format msgid "Node [%s] is not a JSONified XML node" -msgstr "" +msgstr "Čvor [%s] nije JSONificiran XML čvor" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1454 #, python-format msgid "Advanced Search..." -msgstr "" +msgstr "Napredna pretraga..." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:521 #, python-format msgid "Dropping database" -msgstr "" +msgstr "Baza se odbacuje" #. module: web #. openerp-web @@ -1595,7 +1612,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:467 #, python-format msgid "Powered by" -msgstr "" +msgstr "Podržano od strane" #. module: web #. openerp-web @@ -1603,56 +1620,56 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:992 #, python-format msgid "Yes" -msgstr "" +msgstr "Da" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "There was a problem while uploading your file" -msgstr "" +msgstr "Pojavio se problem prilikom učitavanja vašeg fajla" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:580 #, python-format msgid "XML ID:" -msgstr "" +msgstr "XML ID:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:976 #, python-format msgid "Size:" -msgstr "" +msgstr "Veličina:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1845 #, python-format msgid "--- Don't Import ---" -msgstr "" +msgstr "--- Ne uvozi ---" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1697 #, python-format msgid "Import-Compatible Export" -msgstr "" +msgstr "Izvoz kompatibilan sa uvozom" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:600 #, python-format msgid "%d years ago" -msgstr "" +msgstr "%d godina prije" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1050 #, python-format msgid "Unknown m2m command %s" -msgstr "" +msgstr "Ne poznata m2m komanda %s" #. module: web #. openerp-web @@ -1674,77 +1691,77 @@ msgstr "Naziv nove baze podataka:" #: code:addons/web/static/src/js/chrome.js:411 #, python-format msgid "Please enter your new password" -msgstr "" +msgstr "Molimo Vas da unesete vašu novu lozinku" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5017 #, python-format msgid "The field is empty, there's nothing to save !" -msgstr "" +msgstr "Polje je prazno, nema se šta sačuvati !" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:567 #, python-format msgid "Manage Views" -msgstr "" +msgstr "Upravljaj pogledima" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1822 #, python-format msgid "Encoding:" -msgstr "" +msgstr "Šifriranje:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1829 #, python-format msgid "Lines to skip" -msgstr "" +msgstr "Stavke za preskočiti" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2945 #, python-format msgid "Create \"%s\"" -msgstr "" +msgstr "Kreiraj \"%s\"" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:362 #, python-format msgid "Please select fields to save export list..." -msgstr "" +msgstr "Molimo da odaberete polja za čuvanje liste izvoza..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:440 #, python-format msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." -msgstr "" +msgstr "Autorsko pravo © 2004-TODAY OpenERP SA. Sva prava zadržana." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2379 #, python-format msgid "This resource is empty" -msgstr "" +msgstr "Ovaj resurs je prazan" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1710 #, python-format msgid "Available fields" -msgstr "" +msgstr "Dostupna polja" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1856 #, python-format msgid "The import failed due to:" -msgstr "" +msgstr "Uvoz nije uspio zbog:" #. module: web #. openerp-web @@ -1752,21 +1769,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:561 #, python-format msgid "JS Tests" -msgstr "" +msgstr "JS Testovi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1771 #, python-format msgid "Save as:" -msgstr "" +msgstr "Sačuvaj kao:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1024 #, python-format msgid "Filter on: %s" -msgstr "" +msgstr "Filtriraj po: %s" #. module: web #. openerp-web @@ -1774,35 +1791,35 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:3878 #, python-format msgid "Create: " -msgstr "" +msgstr "Kreiraj: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:562 #, python-format msgid "View Fields" -msgstr "" +msgstr "Pogledaj polja" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:348 #, python-format msgid "Confirm New Password:" -msgstr "" +msgstr "Potvrdite novu šifru:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:587 #, python-format msgid "Do you really want to remove these records?" -msgstr "" +msgstr "Da li stvarno želite ukloniti ove zapise?" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:980 #, python-format msgid "Context:" -msgstr "" +msgstr "Kontekst:" #. module: web #. openerp-web @@ -1810,28 +1827,28 @@ msgstr "" #: code:addons/web/static/src/js/search.js:2143 #, python-format msgid "is" -msgstr "" +msgstr "je" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:6 #, python-format msgid "Export Data" -msgstr "" +msgstr "Izvezi podatke" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:984 #, python-format msgid "Domain:" -msgstr "" +msgstr "Domen:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:856 #, python-format msgid "Default:" -msgstr "" +msgstr "Zadano:" #. module: web #. openerp-web @@ -1846,7 +1863,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Zaustavi" #. module: web #. openerp-web @@ -1863,14 +1880,14 @@ msgstr "Baza podataka:" #: code:addons/web/static/src/xml/base.xml:1268 #, python-format msgid "Uploading ..." -msgstr "" +msgstr "Učitavanje ..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1874 #, python-format msgid "Name:" -msgstr "" +msgstr "Ime:" #. module: web #. openerp-web @@ -1884,14 +1901,14 @@ msgstr "O programu" #: code:addons/web/static/src/xml/base.xml:1457 #, python-format msgid "Search Again" -msgstr "" +msgstr "Pretraži ponovno" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1481 #, python-format msgid "-- Filters --" -msgstr "" +msgstr "-- Filteri --" #. module: web #. openerp-web @@ -1900,14 +1917,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1260 #, python-format msgid "Clear" -msgstr "" +msgstr "Očisti" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1698 #, python-format msgid "Export all Data" -msgstr "" +msgstr "Izvezi sve podatke" #. module: web #. openerp-web @@ -1917,13 +1934,15 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" +"Grupiranje po polju '%s' nije moguće jer se to polje ne pojavljuje na " +"pogledu liste." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:559 #, python-format msgid "Set Defaults" -msgstr "" +msgstr "Postavi zadane vrijednosti" #. module: web #. openerp-web @@ -1935,41 +1954,45 @@ msgid "" " You can export all data or only the fields that can be " "reimported after modification." msgstr "" +"Ovaj čarobnjak će izvesti podatke koji odgovaraju trenutnim uslovima " +"pretrage u CSV fajl.\n" +" Možete izvesti sve podatke ili samo ona polja koja mogu biti " +"ponovno uvezena nakon modifikacije." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:320 #, python-format msgid "The record could not be found in the database." -msgstr "" +msgstr "Zapis nije mogao biti pronađen u bazi podataka." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1498 #, python-format msgid "Filter Name:" -msgstr "" +msgstr "Ime filtera:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:968 #, python-format msgid "Type:" -msgstr "" +msgstr "Tip:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:560 #, python-format msgid "Incorrect super-administrator password" -msgstr "" +msgstr "Ne pravilna šifra super-administratora" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:964 #, python-format msgid "Object:" -msgstr "" +msgstr "Objekt:" #. module: web #. openerp-web @@ -1977,14 +2000,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:343 #, python-format msgid "Loading" -msgstr "" +msgstr "Učitavanje" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:599 #, python-format msgid "about a year ago" -msgstr "" +msgstr "prije oko godinu dana" #. module: web #. openerp-web @@ -1994,7 +2017,7 @@ msgstr "" #: code:addons/web/static/src/js/search.js:2120 #, python-format msgid "is not equal to" -msgstr "" +msgstr "nije jednako" #. module: web #. openerp-web @@ -2004,13 +2027,15 @@ msgid "" "The type of the field '%s' must be a many2many field with a relation to " "'ir.attachment' model." msgstr "" +"Tip polja '%s' mora biti many2many polje sa relacijom na 'ir.attachment' " +"model." #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:594 #, python-format msgid "%d hours ago" -msgstr "" +msgstr "%d sati prije" #. module: web #. openerp-web @@ -2018,21 +2043,21 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:4464 #, python-format msgid "Add: " -msgstr "" +msgstr "Dodaj: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1879 #, python-format msgid "Quick Add" -msgstr "" +msgstr "Brzo dodaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1826 #, python-format msgid "Latin 1" -msgstr "" +msgstr "Latin 1" #. module: web #. openerp-web @@ -2052,7 +2077,7 @@ msgstr "Uredu" #: code:addons/web/static/src/js/views.js:1237 #, python-format msgid "Uploading..." -msgstr "" +msgstr "Učitavanje..." #. module: web #. openerp-web @@ -2066,7 +2091,7 @@ msgstr "Učitavam Demonstrativne podatke" #: code:addons/web/static/src/xml/base.xml:637 #, python-format msgid "Created by :" -msgstr "" +msgstr "Kreirao:" #. module: web #. openerp-web @@ -2074,7 +2099,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:26 #, python-format msgid "'%s' is not a valid datetime" -msgstr "" +msgstr "'%s' nije pravilno datum-vrijeme" #. module: web #. openerp-web @@ -2090,7 +2115,7 @@ msgstr "Datoteka:" #: code:addons/web/static/src/js/search.js:2122 #, python-format msgid "less than" -msgstr "" +msgstr "manje od" #. module: web #. openerp-web @@ -2105,7 +2130,7 @@ msgstr "Upozorenje" #: code:addons/web/static/src/xml/base.xml:569 #, python-format msgid "Edit SearchView" -msgstr "" +msgstr "Uredi pogled pretrage" #. module: web #. openerp-web @@ -2119,14 +2144,14 @@ msgstr "je istinito" #: code:addons/web/static/src/js/view_form.js:4030 #, python-format msgid "Add an item" -msgstr "" +msgstr "Dodaj stavku" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1621 #, python-format msgid "Save current filter" -msgstr "" +msgstr "Sačuvaj trenutni filter" #. module: web #. openerp-web @@ -2140,7 +2165,7 @@ msgstr "Portvrdi" #: code:addons/web/static/src/js/data_export.js:127 #, python-format msgid "Please enter save field list name" -msgstr "" +msgstr "Molimo unesite ime čuvanja liste polja" #. module: web #. openerp-web @@ -2154,14 +2179,14 @@ msgstr "Preuzimanje \"%s\"" #: code:addons/web/static/src/js/view_form.js:325 #, python-format msgid "New" -msgstr "" +msgstr "Novi" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1777 #, python-format msgid "Can't convert value %s to context" -msgstr "" +msgstr "Ne može se konvertovati vrijednost %s u kontekst" #. module: web #. openerp-web @@ -2169,7 +2194,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:563 #, python-format msgid "Fields View Get" -msgstr "" +msgstr "Dohvati polja pogleda" #. module: web #. openerp-web @@ -2185,21 +2210,21 @@ msgstr "Potvrdi password:" #: code:addons/web/static/src/js/search.js:2123 #, python-format msgid "greater or equal than" -msgstr "" +msgstr "veće ili jednako od" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1349 #, python-format msgid "Button" -msgstr "" +msgstr "Dugme" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:440 #, python-format msgid "OpenERP is a trademark of the" -msgstr "" +msgstr "OpenERP je prodajna marka" #. module: web #. openerp-web @@ -2227,48 +2252,48 @@ msgstr "je pogrešno" #: code:addons/web/static/src/xml/base.xml:426 #, python-format msgid "About OpenERP" -msgstr "" +msgstr "O OpenERP-u" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:301 #, python-format msgid "'%s' is not a correct date, datetime nor time" -msgstr "" +msgstr "'%s' nije pravilan datum, datum-vrijeme ili vrijeme" #. module: web #: code:addons/web/controllers/main.py:1307 #, python-format msgid "No content found for field '%s' on '%s:%s'" -msgstr "" +msgstr "Nije pronađen sadržaj polja '%s' na '%s:%s'" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:322 #, python-format msgid "Database Management" -msgstr "" +msgstr "Upravljanje bazama podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5138 #, python-format msgid "Image" -msgstr "" +msgstr "Slika" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:81 #, python-format msgid "Manage Databases" -msgstr "" +msgstr "Upravljaj bazama" #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:770 #, python-format msgid "Evaluation Error" -msgstr "" +msgstr "Greška procjene" #. module: web #. openerp-web @@ -2287,21 +2312,21 @@ msgstr "ne važeći integer" #: code:addons/web/static/src/xml/base.xml:1648 #, python-format msgid "or" -msgstr "" +msgstr "ili" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1485 #, python-format msgid "No" -msgstr "" +msgstr "Ne" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:313 #, python-format msgid "'%s' is not convertible to date, datetime nor time" -msgstr "" +msgstr "'%s' nije konvertibilno u datum, datum-vrijeme ili vrijeme" #. module: web #. openerp-web @@ -2310,7 +2335,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:325 #, python-format msgid "Duplicate" -msgstr "" +msgstr "Dupliciraj" #. module: web #. openerp-web @@ -2319,21 +2344,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1419 #, python-format msgid "Discard" -msgstr "" +msgstr "Odbaci" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1642 #, python-format msgid "Add a condition" -msgstr "" +msgstr "Dodaj uslov" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:619 #, python-format msgid "Still loading..." -msgstr "" +msgstr "Još se učitava..." #. module: web #. openerp-web @@ -2341,13 +2366,14 @@ msgstr "" #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" +"Ne pravilna vrijednost za polje %(fieldname)s: [%(value)s] je %(message)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3926 #, python-format msgid "The o2m record must be saved before an action can be used" -msgstr "" +msgstr "o2m zapis mora biti sačuvan prije upotrebe neke akcije" #. module: web #. openerp-web @@ -2361,105 +2387,105 @@ msgstr "Spašeno" #: code:addons/web/static/src/xml/base.xml:1628 #, python-format msgid "Use by default" -msgstr "" +msgstr "Koristi kao zadano" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1358 #, python-format msgid "%s (%d)" -msgstr "" +msgstr "%s (%d)" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:841 #, python-format msgid "triggered from search view" -msgstr "" +msgstr "aktivirano iz pogleda pretrage" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1079 #, python-format msgid "Filter" -msgstr "" +msgstr "Filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:972 #, python-format msgid "Widget:" -msgstr "" +msgstr "Widget:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:570 #, python-format msgid "Edit Action" -msgstr "" +msgstr "Uredi akciju" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:577 #, python-format msgid "ID:" -msgstr "" +msgstr "ID:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:892 #, python-format msgid "Only you" -msgstr "" +msgstr "Samo vi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:571 #, python-format msgid "Edit Workflow" -msgstr "" +msgstr "Uredi radni tok" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1246 #, python-format msgid "Do you really want to delete this attachment ?" -msgstr "" +msgstr "Da li stvarno želite obrisati ovu zakačku ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:914 #, python-format msgid "Technical Translation" -msgstr "" +msgstr "Tehnički prevod" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:960 #, python-format msgid "Field:" -msgstr "" +msgstr "Polje:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:642 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Modificirao:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:521 #, python-format msgid "The database %s has been dropped" -msgstr "" +msgstr "Baza podataka %s je bila odbačena" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:482 #, python-format msgid "User's timezone" -msgstr "" +msgstr "Vremenska zona korisnika" #. module: web #. openerp-web @@ -2467,21 +2493,21 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:1276 #, python-format msgid "Client Error" -msgstr "" +msgstr "Greška klijenta" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1073 #, python-format msgid "Print" -msgstr "" +msgstr "Štampaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1359 #, python-format msgid "Special:" -msgstr "" +msgstr "Specijalno:" #. module: web #: code:addons/web/controllers/main.py:877 @@ -2489,13 +2515,14 @@ msgstr "" msgid "" "The old password you provided is incorrect, your password was not changed." msgstr "" +"Stara šifra koju ste dali nije tačna, Vaša šifra neće biti promjenjena." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:583 #, python-format msgid "Creation User:" -msgstr "" +msgstr "Korisnik kreiranja:" #. module: web #. openerp-web @@ -2509,14 +2536,14 @@ msgstr "Jeste li sigurni da želite izbrisati ovaj zapis?" #: code:addons/web/static/src/xml/base.xml:1413 #, python-format msgid "Save & Close" -msgstr "" +msgstr "Sačuvaj i Zatvori" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2932 #, python-format msgid "Search More..." -msgstr "" +msgstr "Pretraži više..." #. module: web #. openerp-web @@ -2524,7 +2551,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:329 #, python-format msgid "Password" -msgstr "" +msgstr "Šifra" #. module: web #. openerp-web @@ -2540,14 +2567,14 @@ msgstr "Uređivanje" #: code:addons/web/static/src/xml/base.xml:1727 #, python-format msgid "Remove" -msgstr "" +msgstr "Ukloni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1090 #, python-format msgid "Select date" -msgstr "" +msgstr "Odaberi datum" #. module: web #. openerp-web @@ -2555,42 +2582,42 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1369 #, python-format msgid "Search %(field)s for: %(value)s" -msgstr "" +msgstr "Pretraži %(field)s za: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1305 #, python-format msgid "Delete this file" -msgstr "" +msgstr "Obriši ovaj fajl" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:168 #, python-format msgid "Create Database" -msgstr "" +msgstr "Kreiraj bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:442 #, python-format msgid "GNU Affero General Public License" -msgstr "" +msgstr "GNU Affero General Public License" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1816 #, python-format msgid "Separator:" -msgstr "" +msgstr "Separator:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:318 #, python-format msgid "Back to Login" -msgstr "" +msgstr "Vrati se na prijavu" #. module: web #. openerp-web @@ -2598,7 +2625,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1480 #, python-format msgid "Filters" -msgstr "" +msgstr "Filteri" #~ msgid "Send OpenERP Enterprise Report" #~ msgstr "Pošalji OpenERP Enterprise Izvještaj" diff --git a/addons/web/i18n/ca.po b/addons/web/i18n/ca.po index 5f01d27dc72..e8e7d947372 100644 --- a/addons/web/i18n/ca.po +++ b/addons/web/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po index d7c1dc997e2..734ffdabcd7 100644 --- a/addons/web/i18n/cs.po +++ b/addons/web/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po index 3efc108c60c..53bbeca1ac5 100644 --- a/addons/web/i18n/da.po +++ b/addons/web/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po index a2281ab4b1a..80849a062f5 100644 --- a/addons/web/i18n/de.po +++ b/addons/web/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po index 1e3a37162db..228c6ddce90 100644 --- a/addons/web/i18n/en_AU.po +++ b/addons/web/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po index 7dfa6515d4e..e927fddba18 100644 --- a/addons/web/i18n/en_GB.po +++ b/addons/web/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po index 34f60912f93..aa9a5efc7cd 100644 --- a/addons/web/i18n/es.po +++ b/addons/web/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CL.po b/addons/web/i18n/es_CL.po index fc481f3d3f3..5feb88437f9 100644 --- a/addons/web/i18n/es_CL.po +++ b/addons/web/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CR.po b/addons/web/i18n/es_CR.po index fef6986e35d..2fb37c8fd6b 100644 --- a/addons/web/i18n/es_CR.po +++ b/addons/web/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "Language: es\n" #. module: web diff --git a/addons/web/i18n/es_DO.po b/addons/web/i18n/es_DO.po index 86bb3862f19..f6b97acb10d 100644 --- a/addons/web/i18n/es_DO.po +++ b/addons/web/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po index 2689e3b0572..d14d816b4c6 100644 --- a/addons/web/i18n/es_EC.po +++ b/addons/web/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_MX.po b/addons/web/i18n/es_MX.po index 211d645ac6b..66a41b0bbf2 100644 --- a/addons/web/i18n/es_MX.po +++ b/addons/web/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po index c8ada6f9e52..614f8a89760 100644 --- a/addons/web/i18n/et.po +++ b/addons/web/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/eu.po b/addons/web/i18n/eu.po index ad981b78047..faf89c4f547 100644 --- a/addons/web/i18n/eu.po +++ b/addons/web/i18n/eu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fa.po b/addons/web/i18n/fa.po index e2f8024867f..98c0a3ebda1 100644 --- a/addons/web/i18n/fa.po +++ b/addons/web/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po index ef20351be73..b840446b5f1 100644 --- a/addons/web/i18n/fi.po +++ b/addons/web/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po index 661ac102fe3..575f142faf1 100644 --- a/addons/web/i18n/fr.po +++ b/addons/web/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr_CA.po b/addons/web/i18n/fr_CA.po index 086b1885aec..81a3636fa0f 100644 --- a/addons/web/i18n/fr_CA.po +++ b/addons/web/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gl.po b/addons/web/i18n/gl.po index 3a8b37f7db7..aa4c8da7b4f 100644 --- a/addons/web/i18n/gl.po +++ b/addons/web/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gu.po b/addons/web/i18n/gu.po index 7fab254c9d5..5eab79d4048 100644 --- a/addons/web/i18n/gu.po +++ b/addons/web/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hi.po b/addons/web/i18n/hi.po index d10150e471b..21ac7d61967 100644 --- a/addons/web/i18n/hi.po +++ b/addons/web/i18n/hi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hr.po b/addons/web/i18n/hr.po index 08710210cde..cfc545c15bb 100644 --- a/addons/web/i18n/hr.po +++ b/addons/web/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po index 4a1fd98dac1..1218445a11f 100644 --- a/addons/web/i18n/hu.po +++ b/addons/web/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/id.po b/addons/web/i18n/id.po index 49e8cc77468..354b41f8d6c 100644 --- a/addons/web/i18n/id.po +++ b/addons/web/i18n/id.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index eb04e78d915..dd8a9d6b7ab 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index 8b0f350a322..2110c81e7b6 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ka.po b/addons/web/i18n/ka.po index 65084778ade..83f877b3dec 100644 --- a/addons/web/i18n/ka.po +++ b/addons/web/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ko.po b/addons/web/i18n/ko.po index 8fefc62c832..c9f4bfc90c2 100644 --- a/addons/web/i18n/ko.po +++ b/addons/web/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lo.po b/addons/web/i18n/lo.po index cfb3098e4cd..f5e5076c49c 100644 --- a/addons/web/i18n/lo.po +++ b/addons/web/i18n/lo.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lt.po b/addons/web/i18n/lt.po index 20e4e0f1e8e..0bb44ab1311 100644 --- a/addons/web/i18n/lt.po +++ b/addons/web/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lv.po b/addons/web/i18n/lv.po index 038e54572ad..19e07517ef3 100644 --- a/addons/web/i18n/lv.po +++ b/addons/web/i18n/lv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po index ddaa0502bf7..1a4b2f87bbe 100644 --- a/addons/web/i18n/mk.po +++ b/addons/web/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po index 1a441ce0db5..45f41087030 100644 --- a/addons/web/i18n/mn.po +++ b/addons/web/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po index f091a4110d3..4accf6de92b 100644 --- a/addons/web/i18n/nb.po +++ b/addons/web/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po index 4a8d2c99643..dc1e2c65f1e 100644 --- a/addons/web/i18n/nl.po +++ b/addons/web/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-21 19:38+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po index efc1059a186..bbd40e6668d 100644 --- a/addons/web/i18n/nl_BE.po +++ b/addons/web/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po index fb435909899..60d37d8b42a 100644 --- a/addons/web/i18n/pl.po +++ b/addons/web/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po index 43af9b3df1a..a79ef048c3b 100644 --- a/addons/web/i18n/pt.po +++ b/addons/web/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po index eba73e98386..8c235d0e77c 100644 --- a/addons/web/i18n/pt_BR.po +++ b/addons/web/i18n/pt_BR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po index f128136055b..3f2cffc6ac3 100644 --- a/addons/web/i18n/ro.po +++ b/addons/web/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po index 0ece8fa7647..13c91a530ee 100644 --- a/addons/web/i18n/ru.po +++ b/addons/web/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sk.po b/addons/web/i18n/sk.po index 20189da93fa..83cbc765b9d 100644 --- a/addons/web/i18n/sk.po +++ b/addons/web/i18n/sk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po index 993c9844123..22277901d2d 100644 --- a/addons/web/i18n/sl.po +++ b/addons/web/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sq.po b/addons/web/i18n/sq.po index fe83bfb2472..4d0c8368035 100644 --- a/addons/web/i18n/sq.po +++ b/addons/web/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:38+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sr@latin.po b/addons/web/i18n/sr@latin.po index 0318dfa0307..bb1820e5e8e 100644 --- a/addons/web/i18n/sr@latin.po +++ b/addons/web/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po index cd7c635f50c..47469fce2cc 100644 --- a/addons/web/i18n/sv.po +++ b/addons/web/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/th.po b/addons/web/i18n/th.po index 57ea48c34b1..f56c84526f1 100644 --- a/addons/web/i18n/th.po +++ b/addons/web/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web @@ -82,7 +82,7 @@ msgstr "เปลี่ยนรหัสผ่านหลัก" #: code:addons/web/static/src/js/chrome.js:513 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "ต้องการลบ ฐานข้อมูล: %s ?" +msgstr "คุณต้องการลบ ฐานข้อมูล: %s ?" #. module: web #. openerp-web @@ -141,7 +141,7 @@ msgstr "'%s' ไม่ถูกต้อง" #: code:addons/web/static/src/xml/base.xml:1858 #, python-format msgid "Here is a preview of the file we could not import:" -msgstr "" +msgstr "นี้คือตัวอย่างของแฟ้มที่เราไม่สามารถนำเข้าได้" #. module: web #. openerp-web @@ -291,7 +291,7 @@ msgstr "ไม่ได้กำหนด" #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "File Upload" -msgstr "อัพโหลดข้อมูล" +msgstr "อัพโหลดไฟล์" #. module: web #. openerp-web @@ -391,7 +391,7 @@ msgstr "วิดเจ็ต Unhandled" #: code:addons/web/static/src/xml/base.xml:1004 #, python-format msgid "Selection:" -msgstr "เลือก" +msgstr "การเลือก:" #. module: web #. openerp-web diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po index 64a2fb91f36..2ca387292be 100644 --- a/addons/web/i18n/tr.po +++ b/addons/web/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po index 18f17f66786..8fd40ec6581 100644 --- a/addons/web/i18n/uk.po +++ b/addons/web/i18n/uk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/vi.po b/addons/web/i18n/vi.po index 51831ce098b..09e1c688cd4 100644 --- a/addons/web/i18n/vi.po +++ b/addons/web/i18n/vi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po index 1829371b6d4..2448925ae85 100644 --- a/addons/web/i18n/zh_CN.po +++ b/addons/web/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-04 01:53+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po index c947aa2ac8a..651fd1bd0e0 100644 --- a/addons/web/i18n/zh_TW.po +++ b/addons/web/i18n/zh_TW.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web_calendar/i18n/ar.po b/addons/web_calendar/i18n/ar.po index 7c162d8147c..94eaf9253b1 100644 --- a/addons/web_calendar/i18n/ar.po +++ b/addons/web_calendar/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/bg.po b/addons/web_calendar/i18n/bg.po index a4246b38560..94d48c0e1b0 100644 --- a/addons/web_calendar/i18n/bg.po +++ b/addons/web_calendar/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/bn.po b/addons/web_calendar/i18n/bn.po index 03a9ec80bad..6e3f8bdbec5 100644 --- a/addons/web_calendar/i18n/bn.po +++ b/addons/web_calendar/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/bs.po b/addons/web_calendar/i18n/bs.po index b235bd87eba..3c1a77bcfeb 100644 --- a/addons/web_calendar/i18n/bs.po +++ b/addons/web_calendar/i18n/bs.po @@ -14,57 +14,57 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:161 #, python-format msgid "New event" -msgstr "" +msgstr "Novi događaj" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:164 #, python-format msgid "Details" -msgstr "" +msgstr "Detalji" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:162 #, python-format msgid "Save" -msgstr "" +msgstr "Sačuvaj" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:109 #, python-format msgid "Calendar view has a 'date_delay' type != float" -msgstr "" +msgstr "Kalendarski pogled ima 'date_delay' tip != float" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:157 #, python-format msgid "Today" -msgstr "" +msgstr "Danas" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:159 #, python-format msgid "Week" -msgstr "" +msgstr "Sedmica" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:171 #, python-format msgid "Full day" -msgstr "" +msgstr "Cijeli dan" #. module: web_calendar #. openerp-web @@ -72,14 +72,14 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:182 #, python-format msgid "Description" -msgstr "" +msgstr "Opis" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:168 #, python-format msgid "Event will be deleted permanently, are you sure?" -msgstr "" +msgstr "Događaj će trajno biti obrisan, dali ste sigurni?" #. module: web_calendar #. openerp-web @@ -94,7 +94,7 @@ msgstr " " #: code:addons/web_calendar/static/src/js/calendar.js:181 #, python-format msgid "Date" -msgstr "" +msgstr "Datum" #. module: web_calendar #. openerp-web @@ -108,42 +108,42 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:158 #, python-format msgid "Day" -msgstr "" +msgstr "Dan" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:165 #, python-format msgid "Edit" -msgstr "" +msgstr "Uredi" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:177 #, python-format msgid "Enabled" -msgstr "" +msgstr "Omogućeno" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:174 #, python-format msgid "Do you want to edit the whole set of repeated events?" -msgstr "" +msgstr "Dali želite urediti cijeli set ponavljajućih događaja?" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:90 #, python-format msgid "Filter" -msgstr "" +msgstr "Filter" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:175 #, python-format msgid "Repeat event" -msgstr "" +msgstr "Ponovi događaj" #. module: web_calendar #. openerp-web @@ -151,35 +151,35 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:188 #, python-format msgid "Agenda" -msgstr "" +msgstr "Dnevni red" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:170 #, python-format msgid "Time period" -msgstr "" +msgstr "Vremenski period" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:166 #, python-format msgid "Delete" -msgstr "" +msgstr "Obriši" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:160 #, python-format msgid "Month" -msgstr "" +msgstr "Mjesec" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:176 #, python-format msgid "Disabled" -msgstr "" +msgstr "Onemogućeno" #. module: web_calendar #. openerp-web @@ -193,14 +193,14 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:185 #, python-format msgid "Year" -msgstr "" +msgstr "Godina" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:163 #, python-format msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: web_calendar #. openerp-web @@ -214,7 +214,7 @@ msgstr "Kalendar" #: code:addons/web_calendar/static/src/js/calendar.js:101 #, python-format msgid "Calendar view has not defined 'date_start' attribute." -msgstr "" +msgstr "Pogled kalendara nema definisan atribut 'date_start'." #~ msgid "Navigator" #~ msgstr "Navigator" diff --git a/addons/web_calendar/i18n/ca.po b/addons/web_calendar/i18n/ca.po index 2cb0a121182..2d95dba45fa 100644 --- a/addons/web_calendar/i18n/ca.po +++ b/addons/web_calendar/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/cs.po b/addons/web_calendar/i18n/cs.po index 089e5096edc..117061a091f 100644 --- a/addons/web_calendar/i18n/cs.po +++ b/addons/web_calendar/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web_calendar diff --git a/addons/web_calendar/i18n/da.po b/addons/web_calendar/i18n/da.po index c2facb750fe..9298e39e58e 100644 --- a/addons/web_calendar/i18n/da.po +++ b/addons/web_calendar/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/de.po b/addons/web_calendar/i18n/de.po index 4b4c557fc50..41a85445ec4 100644 --- a/addons/web_calendar/i18n/de.po +++ b/addons/web_calendar/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/en_AU.po b/addons/web_calendar/i18n/en_AU.po index 95636638a1b..7a6e36c8537 100644 --- a/addons/web_calendar/i18n/en_AU.po +++ b/addons/web_calendar/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/en_GB.po b/addons/web_calendar/i18n/en_GB.po index 038b0268282..15be4e50de8 100644 --- a/addons/web_calendar/i18n/en_GB.po +++ b/addons/web_calendar/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/es.po b/addons/web_calendar/i18n/es.po index 592bb7354fa..0eb6916d0e5 100644 --- a/addons/web_calendar/i18n/es.po +++ b/addons/web_calendar/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/es_CL.po b/addons/web_calendar/i18n/es_CL.po index 8b102a8f82c..6c4e9022c45 100644 --- a/addons/web_calendar/i18n/es_CL.po +++ b/addons/web_calendar/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/es_CR.po b/addons/web_calendar/i18n/es_CR.po index f29d1ceeb99..e9c745cb5b2 100644 --- a/addons/web_calendar/i18n/es_CR.po +++ b/addons/web_calendar/i18n/es_CR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "Language: es\n" #. module: web_calendar diff --git a/addons/web_calendar/i18n/es_DO.po b/addons/web_calendar/i18n/es_DO.po index cc995222d36..0a294870a86 100644 --- a/addons/web_calendar/i18n/es_DO.po +++ b/addons/web_calendar/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/es_EC.po b/addons/web_calendar/i18n/es_EC.po index fedb02e0e8f..48cdaade20b 100644 --- a/addons/web_calendar/i18n/es_EC.po +++ b/addons/web_calendar/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/es_MX.po b/addons/web_calendar/i18n/es_MX.po index f0996ec3285..d710945271a 100644 --- a/addons/web_calendar/i18n/es_MX.po +++ b/addons/web_calendar/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/et.po b/addons/web_calendar/i18n/et.po index 0cc4bbac830..feeea2937ea 100644 --- a/addons/web_calendar/i18n/et.po +++ b/addons/web_calendar/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/eu.po b/addons/web_calendar/i18n/eu.po index 04ebeb6c74f..7e21e7b0abd 100644 --- a/addons/web_calendar/i18n/eu.po +++ b/addons/web_calendar/i18n/eu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/fa.po b/addons/web_calendar/i18n/fa.po index 59ecd768fee..bdafef24418 100644 --- a/addons/web_calendar/i18n/fa.po +++ b/addons/web_calendar/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/fi.po b/addons/web_calendar/i18n/fi.po index 241ab72e8b7..86646e3de15 100644 --- a/addons/web_calendar/i18n/fi.po +++ b/addons/web_calendar/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/fr.po b/addons/web_calendar/i18n/fr.po index e759925e441..d9f26f29da4 100644 --- a/addons/web_calendar/i18n/fr.po +++ b/addons/web_calendar/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/fr_CA.po b/addons/web_calendar/i18n/fr_CA.po index 352fa771fde..4be2db1e489 100644 --- a/addons/web_calendar/i18n/fr_CA.po +++ b/addons/web_calendar/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/gl.po b/addons/web_calendar/i18n/gl.po index 882ac6b46d4..13efddee575 100644 --- a/addons/web_calendar/i18n/gl.po +++ b/addons/web_calendar/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/gu.po b/addons/web_calendar/i18n/gu.po index 76e7f30d02d..030eab8ee76 100644 --- a/addons/web_calendar/i18n/gu.po +++ b/addons/web_calendar/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/hr.po b/addons/web_calendar/i18n/hr.po index 69d20f57bae..ab7b43e8d27 100644 --- a/addons/web_calendar/i18n/hr.po +++ b/addons/web_calendar/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/hu.po b/addons/web_calendar/i18n/hu.po index 3b00c0c666b..8ce28f3b202 100644 --- a/addons/web_calendar/i18n/hu.po +++ b/addons/web_calendar/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/id.po b/addons/web_calendar/i18n/id.po index 32d6d6f8471..e5fd48a6a21 100644 --- a/addons/web_calendar/i18n/id.po +++ b/addons/web_calendar/i18n/id.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/it.po b/addons/web_calendar/i18n/it.po index 37ec0cd4cfe..bc0f1685e6d 100644 --- a/addons/web_calendar/i18n/it.po +++ b/addons/web_calendar/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/ja.po b/addons/web_calendar/i18n/ja.po index 267b239d3d5..70e4daba708 100644 --- a/addons/web_calendar/i18n/ja.po +++ b/addons/web_calendar/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/ka.po b/addons/web_calendar/i18n/ka.po index c3cddb3b2f3..5c214fa84d2 100644 --- a/addons/web_calendar/i18n/ka.po +++ b/addons/web_calendar/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/ko.po b/addons/web_calendar/i18n/ko.po index 281e3ef955c..fdad97672bb 100644 --- a/addons/web_calendar/i18n/ko.po +++ b/addons/web_calendar/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/lt.po b/addons/web_calendar/i18n/lt.po index df0817a8789..25094c76d42 100644 --- a/addons/web_calendar/i18n/lt.po +++ b/addons/web_calendar/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/mk.po b/addons/web_calendar/i18n/mk.po index 6f112a647bd..187f2d17f37 100644 --- a/addons/web_calendar/i18n/mk.po +++ b/addons/web_calendar/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/mn.po b/addons/web_calendar/i18n/mn.po index d10d791c857..e860b4c73ad 100644 --- a/addons/web_calendar/i18n/mn.po +++ b/addons/web_calendar/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/nb.po b/addons/web_calendar/i18n/nb.po index d1371cd5220..1a908e245a1 100644 --- a/addons/web_calendar/i18n/nb.po +++ b/addons/web_calendar/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/nl.po b/addons/web_calendar/i18n/nl.po index 23cf975b43b..609c7ad43ae 100644 --- a/addons/web_calendar/i18n/nl.po +++ b/addons/web_calendar/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-05 07:55+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/nl_BE.po b/addons/web_calendar/i18n/nl_BE.po index e99d29c08b4..ddcd96b4411 100644 --- a/addons/web_calendar/i18n/nl_BE.po +++ b/addons/web_calendar/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/pl.po b/addons/web_calendar/i18n/pl.po index 9b18046fd00..d524c3058bb 100644 --- a/addons/web_calendar/i18n/pl.po +++ b/addons/web_calendar/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/pt.po b/addons/web_calendar/i18n/pt.po index f4a524d1d67..9ea979ca93d 100644 --- a/addons/web_calendar/i18n/pt.po +++ b/addons/web_calendar/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/pt_BR.po b/addons/web_calendar/i18n/pt_BR.po index e0d415cfce3..c40ecc3b114 100644 --- a/addons/web_calendar/i18n/pt_BR.po +++ b/addons/web_calendar/i18n/pt_BR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/ro.po b/addons/web_calendar/i18n/ro.po index beb9caee54c..1818080cb30 100644 --- a/addons/web_calendar/i18n/ro.po +++ b/addons/web_calendar/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/ru.po b/addons/web_calendar/i18n/ru.po index 5cec06bdff3..2099b1ccc87 100644 --- a/addons/web_calendar/i18n/ru.po +++ b/addons/web_calendar/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/sk.po b/addons/web_calendar/i18n/sk.po index 28a1d8b9c5c..4d4f8b0432b 100644 --- a/addons/web_calendar/i18n/sk.po +++ b/addons/web_calendar/i18n/sk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/sl.po b/addons/web_calendar/i18n/sl.po index 26c774b18d8..012a22ae3ad 100644 --- a/addons/web_calendar/i18n/sl.po +++ b/addons/web_calendar/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/sq.po b/addons/web_calendar/i18n/sq.po index 10fcac53e84..922a1bb0049 100644 --- a/addons/web_calendar/i18n/sq.po +++ b/addons/web_calendar/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/sr@latin.po b/addons/web_calendar/i18n/sr@latin.po index 738969ff95f..4747563e71c 100644 --- a/addons/web_calendar/i18n/sr@latin.po +++ b/addons/web_calendar/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/sv.po b/addons/web_calendar/i18n/sv.po index deeb0621629..d2120a6ea33 100644 --- a/addons/web_calendar/i18n/sv.po +++ b/addons/web_calendar/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/th.po b/addons/web_calendar/i18n/th.po index 2f06d1360e4..576da4b3c57 100644 --- a/addons/web_calendar/i18n/th.po +++ b/addons/web_calendar/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/tr.po b/addons/web_calendar/i18n/tr.po index 60bad30663f..c118d0d409c 100644 --- a/addons/web_calendar/i18n/tr.po +++ b/addons/web_calendar/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/uk.po b/addons/web_calendar/i18n/uk.po index 4ad02609517..a3bede62a70 100644 --- a/addons/web_calendar/i18n/uk.po +++ b/addons/web_calendar/i18n/uk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/i18n/zh_CN.po b/addons/web_calendar/i18n/zh_CN.po index 019b652a7a4..057fe334a88 100644 --- a/addons/web_calendar/i18n/zh_CN.po +++ b/addons/web_calendar/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-01 14:56+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_calendar #. openerp-web diff --git a/addons/web_diagram/i18n/ar.po b/addons/web_diagram/i18n/ar.po index eb24bf7ea1d..ffea43f5c45 100644 --- a/addons/web_diagram/i18n/ar.po +++ b/addons/web_diagram/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/bg.po b/addons/web_diagram/i18n/bg.po index 3da657741eb..ecbe27a1631 100644 --- a/addons/web_diagram/i18n/bg.po +++ b/addons/web_diagram/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/bn.po b/addons/web_diagram/i18n/bn.po index 0a7d5a1a75f..2e99a4109cc 100644 --- a/addons/web_diagram/i18n/bn.po +++ b/addons/web_diagram/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/bs.po b/addons/web_diagram/i18n/bs.po index 9ef09ab05bf..5fac1a69ea7 100644 --- a/addons/web_diagram/i18n/bs.po +++ b/addons/web_diagram/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web @@ -34,7 +34,11 @@ msgid "" "It will also delete all connected transitions.\n" "\n" "Are you sure ?" -msgstr "Brisanje ovog čvora je nepovratno" +msgstr "" +"Brisanje ovog čvora je nepovratno.\n" +"Također će obrisati sve povezane prelaze.\n" +"\n" +"Dali ste sigurni?" #. module: web_diagram #. openerp-web @@ -71,7 +75,7 @@ msgstr "Aktivnost" #: code:addons/web_diagram/static/src/js/diagram.js:420 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web_diagram #. openerp-web @@ -79,7 +83,7 @@ msgstr "" #: code:addons/web_diagram/static/src/js/diagram.js:335 #, python-format msgid "Create:" -msgstr "Kreiraj" +msgstr "Kreiraj:" #. module: web_diagram #. openerp-web @@ -96,4 +100,7 @@ msgid "" "Deleting this transition cannot be undone.\n" "\n" "Are you sure ?" -msgstr "Brisanje ove tranzicije je nepovratno" +msgstr "" +"Brisanje ove tranzicije je nepovratno.\n" +"\n" +"Dali ste sigurni?" diff --git a/addons/web_diagram/i18n/ca.po b/addons/web_diagram/i18n/ca.po index 7e05849ed80..134c8af30b4 100644 --- a/addons/web_diagram/i18n/ca.po +++ b/addons/web_diagram/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/cs.po b/addons/web_diagram/i18n/cs.po index 48eab24092b..db202de7007 100644 --- a/addons/web_diagram/i18n/cs.po +++ b/addons/web_diagram/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web_diagram diff --git a/addons/web_diagram/i18n/da.po b/addons/web_diagram/i18n/da.po index 7844a2a289e..cfe0fec5faf 100644 --- a/addons/web_diagram/i18n/da.po +++ b/addons/web_diagram/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/de.po b/addons/web_diagram/i18n/de.po index 9e230dbe96f..630dd44cade 100644 --- a/addons/web_diagram/i18n/de.po +++ b/addons/web_diagram/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/en_AU.po b/addons/web_diagram/i18n/en_AU.po index f4f359e0636..2649f289d63 100644 --- a/addons/web_diagram/i18n/en_AU.po +++ b/addons/web_diagram/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/en_GB.po b/addons/web_diagram/i18n/en_GB.po index 56ceef846b1..0f02d46feec 100644 --- a/addons/web_diagram/i18n/en_GB.po +++ b/addons/web_diagram/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/es.po b/addons/web_diagram/i18n/es.po index 8ffd7f50dcc..567aad63205 100644 --- a/addons/web_diagram/i18n/es.po +++ b/addons/web_diagram/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/es_CL.po b/addons/web_diagram/i18n/es_CL.po index 00393ad1fe8..230c6d325b5 100644 --- a/addons/web_diagram/i18n/es_CL.po +++ b/addons/web_diagram/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/es_CR.po b/addons/web_diagram/i18n/es_CR.po index 087edd0296d..c76c346eea6 100644 --- a/addons/web_diagram/i18n/es_CR.po +++ b/addons/web_diagram/i18n/es_CR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "Language: es\n" #. module: web_diagram diff --git a/addons/web_diagram/i18n/es_DO.po b/addons/web_diagram/i18n/es_DO.po index f02c4a2886f..7a8f0de9fe1 100644 --- a/addons/web_diagram/i18n/es_DO.po +++ b/addons/web_diagram/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/es_EC.po b/addons/web_diagram/i18n/es_EC.po index 594a320ed8d..ee3ca53cb2a 100644 --- a/addons/web_diagram/i18n/es_EC.po +++ b/addons/web_diagram/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/es_MX.po b/addons/web_diagram/i18n/es_MX.po index 904ff6793d4..abd279bcedf 100644 --- a/addons/web_diagram/i18n/es_MX.po +++ b/addons/web_diagram/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/et.po b/addons/web_diagram/i18n/et.po index eb618b79dd7..706c1a55bb0 100644 --- a/addons/web_diagram/i18n/et.po +++ b/addons/web_diagram/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/fa.po b/addons/web_diagram/i18n/fa.po index 5be6bb13982..76b68fb3d70 100644 --- a/addons/web_diagram/i18n/fa.po +++ b/addons/web_diagram/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/fi.po b/addons/web_diagram/i18n/fi.po index c9ea4bc90c6..0413559aa30 100644 --- a/addons/web_diagram/i18n/fi.po +++ b/addons/web_diagram/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/fr.po b/addons/web_diagram/i18n/fr.po index ffc0423518e..da5bfe28769 100644 --- a/addons/web_diagram/i18n/fr.po +++ b/addons/web_diagram/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/gl.po b/addons/web_diagram/i18n/gl.po index 3cab0a4c976..37482a70593 100644 --- a/addons/web_diagram/i18n/gl.po +++ b/addons/web_diagram/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/gu.po b/addons/web_diagram/i18n/gu.po index 00ac0b3abb3..19683f5b8e7 100644 --- a/addons/web_diagram/i18n/gu.po +++ b/addons/web_diagram/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/hr.po b/addons/web_diagram/i18n/hr.po index 912987942d3..3f68b2a428d 100644 --- a/addons/web_diagram/i18n/hr.po +++ b/addons/web_diagram/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/hu.po b/addons/web_diagram/i18n/hu.po index 30332a5a3b5..e4f178a27f4 100644 --- a/addons/web_diagram/i18n/hu.po +++ b/addons/web_diagram/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/id.po b/addons/web_diagram/i18n/id.po index 06f639f2883..a5f1292852f 100644 --- a/addons/web_diagram/i18n/id.po +++ b/addons/web_diagram/i18n/id.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/it.po b/addons/web_diagram/i18n/it.po index 4c85daa23a3..3b21e70273e 100644 --- a/addons/web_diagram/i18n/it.po +++ b/addons/web_diagram/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ja.po b/addons/web_diagram/i18n/ja.po index f3bdb5f27db..c84f2ef5fdb 100644 --- a/addons/web_diagram/i18n/ja.po +++ b/addons/web_diagram/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ka.po b/addons/web_diagram/i18n/ka.po index d8883ed4f7c..9a98d94a164 100644 --- a/addons/web_diagram/i18n/ka.po +++ b/addons/web_diagram/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ko.po b/addons/web_diagram/i18n/ko.po index b7391be6a35..891bd6c825d 100644 --- a/addons/web_diagram/i18n/ko.po +++ b/addons/web_diagram/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/lt.po b/addons/web_diagram/i18n/lt.po index 8564d592351..8c30cb6cf28 100644 --- a/addons/web_diagram/i18n/lt.po +++ b/addons/web_diagram/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/mk.po b/addons/web_diagram/i18n/mk.po index 9799a83f7d7..48ca7b8610a 100644 --- a/addons/web_diagram/i18n/mk.po +++ b/addons/web_diagram/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/mn.po b/addons/web_diagram/i18n/mn.po index aa4e4fee8af..5f5fadb2eea 100644 --- a/addons/web_diagram/i18n/mn.po +++ b/addons/web_diagram/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/nb.po b/addons/web_diagram/i18n/nb.po index a0d0174b18f..d009df5d7a5 100644 --- a/addons/web_diagram/i18n/nb.po +++ b/addons/web_diagram/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/nl.po b/addons/web_diagram/i18n/nl.po index 418b7d414e1..5b3ce6ea931 100644 --- a/addons/web_diagram/i18n/nl.po +++ b/addons/web_diagram/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-11-25 07:04+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/nl_BE.po b/addons/web_diagram/i18n/nl_BE.po index dd6c2af4fdf..5e7ce4fee6c 100644 --- a/addons/web_diagram/i18n/nl_BE.po +++ b/addons/web_diagram/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/pl.po b/addons/web_diagram/i18n/pl.po index 226004019fc..6a5dfa788b4 100644 --- a/addons/web_diagram/i18n/pl.po +++ b/addons/web_diagram/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/pt.po b/addons/web_diagram/i18n/pt.po index db02c95feb5..2a6b7b1ca55 100644 --- a/addons/web_diagram/i18n/pt.po +++ b/addons/web_diagram/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/pt_BR.po b/addons/web_diagram/i18n/pt_BR.po index 103880c16e5..cf264e0604b 100644 --- a/addons/web_diagram/i18n/pt_BR.po +++ b/addons/web_diagram/i18n/pt_BR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ro.po b/addons/web_diagram/i18n/ro.po index a2d6efe6804..8a588e93f15 100644 --- a/addons/web_diagram/i18n/ro.po +++ b/addons/web_diagram/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ru.po b/addons/web_diagram/i18n/ru.po index ba07bfd67ca..a53324c9964 100644 --- a/addons/web_diagram/i18n/ru.po +++ b/addons/web_diagram/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/sl.po b/addons/web_diagram/i18n/sl.po index 1dba3d48358..1e2e6218003 100644 --- a/addons/web_diagram/i18n/sl.po +++ b/addons/web_diagram/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/sq.po b/addons/web_diagram/i18n/sq.po index 4fa76fccc24..3b412906404 100644 --- a/addons/web_diagram/i18n/sq.po +++ b/addons/web_diagram/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/sr@latin.po b/addons/web_diagram/i18n/sr@latin.po index 0e50be0f3dd..7efecaaacc4 100644 --- a/addons/web_diagram/i18n/sr@latin.po +++ b/addons/web_diagram/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/sv.po b/addons/web_diagram/i18n/sv.po index 14072652093..adad923400d 100644 --- a/addons/web_diagram/i18n/sv.po +++ b/addons/web_diagram/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/th.po b/addons/web_diagram/i18n/th.po index 4be3da8d991..197594436fc 100644 --- a/addons/web_diagram/i18n/th.po +++ b/addons/web_diagram/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/tr.po b/addons/web_diagram/i18n/tr.po index 7ac9d802b3e..84decda1008 100644 --- a/addons/web_diagram/i18n/tr.po +++ b/addons/web_diagram/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/zh_CN.po b/addons/web_diagram/i18n/zh_CN.po index 8c2a33946f3..ef7c0e4284e 100644 --- a/addons/web_diagram/i18n/zh_CN.po +++ b/addons/web_diagram/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-11-29 15:16+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/zh_TW.po b/addons/web_diagram/i18n/zh_TW.po index b575de75737..306a5c89acb 100644 --- a/addons/web_diagram/i18n/zh_TW.po +++ b/addons/web_diagram/i18n/zh_TW.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_diagram #. openerp-web diff --git a/addons/web_gantt/i18n/ar.po b/addons/web_gantt/i18n/ar.po index 87f7d2f4e61..9b82db4aae1 100644 --- a/addons/web_gantt/i18n/ar.po +++ b/addons/web_gantt/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/bg.po b/addons/web_gantt/i18n/bg.po index 1edc358f9ce..631ede530d8 100644 --- a/addons/web_gantt/i18n/bg.po +++ b/addons/web_gantt/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/bn.po b/addons/web_gantt/i18n/bn.po index ccfd295084d..acf0517500b 100644 --- a/addons/web_gantt/i18n/bn.po +++ b/addons/web_gantt/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/bs.po b/addons/web_gantt/i18n/bs.po index 270e56f546c..34644cc5c0b 100644 --- a/addons/web_gantt/i18n/bs.po +++ b/addons/web_gantt/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ca.po b/addons/web_gantt/i18n/ca.po index cdfb55ea105..8c98abe4b99 100644 --- a/addons/web_gantt/i18n/ca.po +++ b/addons/web_gantt/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/cs.po b/addons/web_gantt/i18n/cs.po index 831a5fa7892..c097169403b 100644 --- a/addons/web_gantt/i18n/cs.po +++ b/addons/web_gantt/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web_gantt diff --git a/addons/web_gantt/i18n/da.po b/addons/web_gantt/i18n/da.po index 7725a9d1aa9..eb4d25b67c8 100644 --- a/addons/web_gantt/i18n/da.po +++ b/addons/web_gantt/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/de.po b/addons/web_gantt/i18n/de.po index e8b648b9ce9..ef15e30d6b6 100644 --- a/addons/web_gantt/i18n/de.po +++ b/addons/web_gantt/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/en_AU.po b/addons/web_gantt/i18n/en_AU.po index 32b748b34a0..8b79cacb60c 100644 --- a/addons/web_gantt/i18n/en_AU.po +++ b/addons/web_gantt/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/en_GB.po b/addons/web_gantt/i18n/en_GB.po index fdddde01403..bbb69ffd47e 100644 --- a/addons/web_gantt/i18n/en_GB.po +++ b/addons/web_gantt/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es.po b/addons/web_gantt/i18n/es.po index 3962c1bbb4e..44005c00cdc 100644 --- a/addons/web_gantt/i18n/es.po +++ b/addons/web_gantt/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es_CL.po b/addons/web_gantt/i18n/es_CL.po index 618934fdfd3..5ebab5d2a13 100644 --- a/addons/web_gantt/i18n/es_CL.po +++ b/addons/web_gantt/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es_CR.po b/addons/web_gantt/i18n/es_CR.po index 2ecd1ccfce0..552e50de73b 100644 --- a/addons/web_gantt/i18n/es_CR.po +++ b/addons/web_gantt/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es_DO.po b/addons/web_gantt/i18n/es_DO.po index 71452a90422..cca01987616 100644 --- a/addons/web_gantt/i18n/es_DO.po +++ b/addons/web_gantt/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es_EC.po b/addons/web_gantt/i18n/es_EC.po index 670e5e3e9e4..1fd53ace455 100644 --- a/addons/web_gantt/i18n/es_EC.po +++ b/addons/web_gantt/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/es_MX.po b/addons/web_gantt/i18n/es_MX.po index df85159ec8a..ed33d5b9b96 100644 --- a/addons/web_gantt/i18n/es_MX.po +++ b/addons/web_gantt/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/et.po b/addons/web_gantt/i18n/et.po index 732a236660e..1978a283114 100644 --- a/addons/web_gantt/i18n/et.po +++ b/addons/web_gantt/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/fa.po b/addons/web_gantt/i18n/fa.po index 7f8c540b3af..74071de0215 100644 --- a/addons/web_gantt/i18n/fa.po +++ b/addons/web_gantt/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/fi.po b/addons/web_gantt/i18n/fi.po index 7f0438d2fb3..bc072b249a4 100644 --- a/addons/web_gantt/i18n/fi.po +++ b/addons/web_gantt/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/fr.po b/addons/web_gantt/i18n/fr.po index 1fdd9bd9cd4..319f93433e6 100644 --- a/addons/web_gantt/i18n/fr.po +++ b/addons/web_gantt/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/gl.po b/addons/web_gantt/i18n/gl.po index 8c482ee3196..abf0cd2c9ba 100644 --- a/addons/web_gantt/i18n/gl.po +++ b/addons/web_gantt/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/gu.po b/addons/web_gantt/i18n/gu.po index 1081fe344de..149ada980e7 100644 --- a/addons/web_gantt/i18n/gu.po +++ b/addons/web_gantt/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/hr.po b/addons/web_gantt/i18n/hr.po index 265757767d3..adc5976ee5d 100644 --- a/addons/web_gantt/i18n/hr.po +++ b/addons/web_gantt/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/hu.po b/addons/web_gantt/i18n/hu.po index 6073535d31f..d31a63542c8 100644 --- a/addons/web_gantt/i18n/hu.po +++ b/addons/web_gantt/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/it.po b/addons/web_gantt/i18n/it.po index 4a249625fb1..b493efc56aa 100644 --- a/addons/web_gantt/i18n/it.po +++ b/addons/web_gantt/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ja.po b/addons/web_gantt/i18n/ja.po index d42e227c930..3c9a12ca63b 100644 --- a/addons/web_gantt/i18n/ja.po +++ b/addons/web_gantt/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ka.po b/addons/web_gantt/i18n/ka.po index 9c903f7871b..90f3c18ddb8 100644 --- a/addons/web_gantt/i18n/ka.po +++ b/addons/web_gantt/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ko.po b/addons/web_gantt/i18n/ko.po index 3721e0d932b..4bb4f016c56 100644 --- a/addons/web_gantt/i18n/ko.po +++ b/addons/web_gantt/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/lo.po b/addons/web_gantt/i18n/lo.po index c44949f745e..a08787bedc9 100644 --- a/addons/web_gantt/i18n/lo.po +++ b/addons/web_gantt/i18n/lo.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/lt.po b/addons/web_gantt/i18n/lt.po index 345dc7149ad..3fb0f562afe 100644 --- a/addons/web_gantt/i18n/lt.po +++ b/addons/web_gantt/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/mk.po b/addons/web_gantt/i18n/mk.po index efd68a5b856..093489f01dd 100644 --- a/addons/web_gantt/i18n/mk.po +++ b/addons/web_gantt/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/mn.po b/addons/web_gantt/i18n/mn.po index c3db07c6840..8141e84170a 100644 --- a/addons/web_gantt/i18n/mn.po +++ b/addons/web_gantt/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/nb.po b/addons/web_gantt/i18n/nb.po index c3614bcc05c..347a0a5aafc 100644 --- a/addons/web_gantt/i18n/nb.po +++ b/addons/web_gantt/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/nl.po b/addons/web_gantt/i18n/nl.po index 0810961e7ae..4cbb12cb4e5 100644 --- a/addons/web_gantt/i18n/nl.po +++ b/addons/web_gantt/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-11-25 07:10+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/nl_BE.po b/addons/web_gantt/i18n/nl_BE.po index f5d79ecf96e..52ad3877b66 100644 --- a/addons/web_gantt/i18n/nl_BE.po +++ b/addons/web_gantt/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/pl.po b/addons/web_gantt/i18n/pl.po index d219765c333..bf59dd42f1b 100644 --- a/addons/web_gantt/i18n/pl.po +++ b/addons/web_gantt/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/pt.po b/addons/web_gantt/i18n/pt.po index c500fd33934..8f2db08d7ec 100644 --- a/addons/web_gantt/i18n/pt.po +++ b/addons/web_gantt/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/pt_BR.po b/addons/web_gantt/i18n/pt_BR.po index e4afa1306b5..241d9f048e2 100644 --- a/addons/web_gantt/i18n/pt_BR.po +++ b/addons/web_gantt/i18n/pt_BR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ro.po b/addons/web_gantt/i18n/ro.po index 2286511957b..57696b57b4d 100644 --- a/addons/web_gantt/i18n/ro.po +++ b/addons/web_gantt/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/ru.po b/addons/web_gantt/i18n/ru.po index 5fbbdd434bf..1d07ab10589 100644 --- a/addons/web_gantt/i18n/ru.po +++ b/addons/web_gantt/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/sl.po b/addons/web_gantt/i18n/sl.po index eb922f04cde..00a5e8982d7 100644 --- a/addons/web_gantt/i18n/sl.po +++ b/addons/web_gantt/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/sq.po b/addons/web_gantt/i18n/sq.po index 1bd6fd1aa43..5ddaa85069b 100644 --- a/addons/web_gantt/i18n/sq.po +++ b/addons/web_gantt/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/sr@latin.po b/addons/web_gantt/i18n/sr@latin.po index bea9d70ac70..55dad6b52e4 100644 --- a/addons/web_gantt/i18n/sr@latin.po +++ b/addons/web_gantt/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/sv.po b/addons/web_gantt/i18n/sv.po index 481ce922570..a437f4b9f9e 100644 --- a/addons/web_gantt/i18n/sv.po +++ b/addons/web_gantt/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/th.po b/addons/web_gantt/i18n/th.po index 87255a667c0..bb5103d6d02 100644 --- a/addons/web_gantt/i18n/th.po +++ b/addons/web_gantt/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/tr.po b/addons/web_gantt/i18n/tr.po index 141f1ae13cc..517d96b64a1 100644 --- a/addons/web_gantt/i18n/tr.po +++ b/addons/web_gantt/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_gantt/i18n/zh_CN.po b/addons/web_gantt/i18n/zh_CN.po index 31ac80b4e28..563665616d0 100644 --- a/addons/web_gantt/i18n/zh_CN.po +++ b/addons/web_gantt/i18n/zh_CN.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_gantt #. openerp-web diff --git a/addons/web_graph/i18n/ar.po b/addons/web_graph/i18n/ar.po index d4f73dfda2f..39c10e22d7d 100644 --- a/addons/web_graph/i18n/ar.po +++ b/addons/web_graph/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/bg.po b/addons/web_graph/i18n/bg.po index 42a8fd2009c..b3fd6b6092c 100644 --- a/addons/web_graph/i18n/bg.po +++ b/addons/web_graph/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/bn.po b/addons/web_graph/i18n/bn.po index 004f35cf4b3..cf312be5d18 100644 --- a/addons/web_graph/i18n/bn.po +++ b/addons/web_graph/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/bs.po b/addons/web_graph/i18n/bs.po index 43a45aaf7c7..ffde68f56ca 100644 --- a/addons/web_graph/i18n/bs.po +++ b/addons/web_graph/i18n/bs.po @@ -14,22 +14,22 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:12 #, python-format msgid "Bars" -msgstr "" +msgstr "Šipke" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:33 #, python-format msgid "Show Data" -msgstr "" +msgstr "Prikaži podatke" #. module: web_graph #. openerp-web @@ -43,95 +43,95 @@ msgstr "Graf" #: code:addons/web_graph/static/src/xml/web_graph.xml:25 #, python-format msgid "Inside" -msgstr "" +msgstr "Unutar" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:3 #, python-format msgid "í" -msgstr "" +msgstr "í" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:11 #, python-format msgid "Pie" -msgstr "" +msgstr "Pita" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:28 #, python-format msgid "Actions" -msgstr "" +msgstr "Akcije" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:7 #, python-format msgid "Graph Mode" -msgstr "" +msgstr "Grafički mod" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:18 #, python-format msgid "Radar" -msgstr "" +msgstr "Radar" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:34 #, python-format msgid "Download as PNG" -msgstr "" +msgstr "Skini kao PNG" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:26 #, python-format msgid "Top" -msgstr "" +msgstr "Vrh" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:24 #, python-format msgid "Hidden" -msgstr "" +msgstr "Skriveno" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:3 #, python-format msgid "Graph Options" -msgstr "" +msgstr "Opcije grafa" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:14 #, python-format msgid "Lines" -msgstr "" +msgstr "Linije" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:20 #, python-format msgid "Legend" -msgstr "" +msgstr "Legenda" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:32 #, python-format msgid "Switch Axis" -msgstr "" +msgstr "Zamjeni ose" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:15 #, python-format msgid "Areas" -msgstr "" +msgstr "Površine" diff --git a/addons/web_graph/i18n/ca.po b/addons/web_graph/i18n/ca.po index 99026f92843..6dfc8e5efb0 100644 --- a/addons/web_graph/i18n/ca.po +++ b/addons/web_graph/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/cs.po b/addons/web_graph/i18n/cs.po index 29e9ea4455d..7c764726701 100644 --- a/addons/web_graph/i18n/cs.po +++ b/addons/web_graph/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/da.po b/addons/web_graph/i18n/da.po index 43c116b45a4..0ace35ecb37 100644 --- a/addons/web_graph/i18n/da.po +++ b/addons/web_graph/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/de.po b/addons/web_graph/i18n/de.po index 97f73bb439c..4f25d3b40c1 100644 --- a/addons/web_graph/i18n/de.po +++ b/addons/web_graph/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/en_AU.po b/addons/web_graph/i18n/en_AU.po index 25e1a7be2b5..0eef891318a 100644 --- a/addons/web_graph/i18n/en_AU.po +++ b/addons/web_graph/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/en_GB.po b/addons/web_graph/i18n/en_GB.po index 3eaa2fbc9cd..3d5c00bbc51 100644 --- a/addons/web_graph/i18n/en_GB.po +++ b/addons/web_graph/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es.po b/addons/web_graph/i18n/es.po index 2f51d157e8c..75736e015d4 100644 --- a/addons/web_graph/i18n/es.po +++ b/addons/web_graph/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es_CL.po b/addons/web_graph/i18n/es_CL.po index 839e6929110..b3e978c3c92 100644 --- a/addons/web_graph/i18n/es_CL.po +++ b/addons/web_graph/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es_CR.po b/addons/web_graph/i18n/es_CR.po index 7f2a105475b..c20e5b8b7b6 100644 --- a/addons/web_graph/i18n/es_CR.po +++ b/addons/web_graph/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es_DO.po b/addons/web_graph/i18n/es_DO.po index 34df7ea49c3..ae6ee0c9aa3 100644 --- a/addons/web_graph/i18n/es_DO.po +++ b/addons/web_graph/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es_EC.po b/addons/web_graph/i18n/es_EC.po index 2cf76590c27..2e5f242686f 100644 --- a/addons/web_graph/i18n/es_EC.po +++ b/addons/web_graph/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/es_MX.po b/addons/web_graph/i18n/es_MX.po index 0758bd06f43..6fb23ff029e 100644 --- a/addons/web_graph/i18n/es_MX.po +++ b/addons/web_graph/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/et.po b/addons/web_graph/i18n/et.po index a35aa0fd586..ee728fd3a64 100644 --- a/addons/web_graph/i18n/et.po +++ b/addons/web_graph/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/fa.po b/addons/web_graph/i18n/fa.po index ad5e7071b5c..376aba74cca 100644 --- a/addons/web_graph/i18n/fa.po +++ b/addons/web_graph/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/fi.po b/addons/web_graph/i18n/fi.po index 3ec6aa20a01..2332e80bd0f 100644 --- a/addons/web_graph/i18n/fi.po +++ b/addons/web_graph/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/fr.po b/addons/web_graph/i18n/fr.po index 13e189497f3..20d80870892 100644 --- a/addons/web_graph/i18n/fr.po +++ b/addons/web_graph/i18n/fr.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/fr_CA.po b/addons/web_graph/i18n/fr_CA.po index c6af09e7fd3..9d099abfc16 100644 --- a/addons/web_graph/i18n/fr_CA.po +++ b/addons/web_graph/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/gl.po b/addons/web_graph/i18n/gl.po index 4b7734320a1..62906436c03 100644 --- a/addons/web_graph/i18n/gl.po +++ b/addons/web_graph/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/gu.po b/addons/web_graph/i18n/gu.po index 507440420e6..aa8b9bb0ca7 100644 --- a/addons/web_graph/i18n/gu.po +++ b/addons/web_graph/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/hr.po b/addons/web_graph/i18n/hr.po index 1d071f343cb..577487beb51 100644 --- a/addons/web_graph/i18n/hr.po +++ b/addons/web_graph/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/hu.po b/addons/web_graph/i18n/hu.po index f0c094c862f..431b636e6dd 100644 --- a/addons/web_graph/i18n/hu.po +++ b/addons/web_graph/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/it.po b/addons/web_graph/i18n/it.po index e9ec8d54756..863384dab43 100644 --- a/addons/web_graph/i18n/it.po +++ b/addons/web_graph/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/ja.po b/addons/web_graph/i18n/ja.po index 857b6ae2e41..a4b3483a0d5 100644 --- a/addons/web_graph/i18n/ja.po +++ b/addons/web_graph/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/ka.po b/addons/web_graph/i18n/ka.po index e6ae40ce4d6..a5263785524 100644 --- a/addons/web_graph/i18n/ka.po +++ b/addons/web_graph/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/ko.po b/addons/web_graph/i18n/ko.po index 75e74d33c23..3d19bf8c737 100644 --- a/addons/web_graph/i18n/ko.po +++ b/addons/web_graph/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/lt.po b/addons/web_graph/i18n/lt.po index 2587f79f2c4..e49e7fa6c27 100644 --- a/addons/web_graph/i18n/lt.po +++ b/addons/web_graph/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/mk.po b/addons/web_graph/i18n/mk.po index f4fa8c606c2..5a451e55f28 100644 --- a/addons/web_graph/i18n/mk.po +++ b/addons/web_graph/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/mn.po b/addons/web_graph/i18n/mn.po index 74bb9f3bc49..0177f81e524 100644 --- a/addons/web_graph/i18n/mn.po +++ b/addons/web_graph/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/nb.po b/addons/web_graph/i18n/nb.po index fec711e9290..e49712c7e7f 100644 --- a/addons/web_graph/i18n/nb.po +++ b/addons/web_graph/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/nl.po b/addons/web_graph/i18n/nl.po index a49a49e053f..42130085455 100644 --- a/addons/web_graph/i18n/nl.po +++ b/addons/web_graph/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-11-25 07:04+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/nl_BE.po b/addons/web_graph/i18n/nl_BE.po index a20da382ea5..4505ed42a0e 100644 --- a/addons/web_graph/i18n/nl_BE.po +++ b/addons/web_graph/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/pl.po b/addons/web_graph/i18n/pl.po index 6b4c6c08be7..b76f8b131f1 100644 --- a/addons/web_graph/i18n/pl.po +++ b/addons/web_graph/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/pt.po b/addons/web_graph/i18n/pt.po index c6ed95d86bd..e442fa4d3bc 100644 --- a/addons/web_graph/i18n/pt.po +++ b/addons/web_graph/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/pt_BR.po b/addons/web_graph/i18n/pt_BR.po index b8361a403b8..b8d0f94e999 100644 --- a/addons/web_graph/i18n/pt_BR.po +++ b/addons/web_graph/i18n/pt_BR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/ro.po b/addons/web_graph/i18n/ro.po index cbcfbaf8019..35b77faf583 100644 --- a/addons/web_graph/i18n/ro.po +++ b/addons/web_graph/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/ru.po b/addons/web_graph/i18n/ru.po index f1a0efa27ef..9cd8ade9c64 100644 --- a/addons/web_graph/i18n/ru.po +++ b/addons/web_graph/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/sl.po b/addons/web_graph/i18n/sl.po index 116937e2ca7..57b5ff42c06 100644 --- a/addons/web_graph/i18n/sl.po +++ b/addons/web_graph/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/sq.po b/addons/web_graph/i18n/sq.po index c4100f3750f..d442a10bb6d 100644 --- a/addons/web_graph/i18n/sq.po +++ b/addons/web_graph/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/sr@latin.po b/addons/web_graph/i18n/sr@latin.po index 4230171cac9..78e1cfa2e69 100644 --- a/addons/web_graph/i18n/sr@latin.po +++ b/addons/web_graph/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/sv.po b/addons/web_graph/i18n/sv.po index 4cf13d34687..b4f8f49800f 100644 --- a/addons/web_graph/i18n/sv.po +++ b/addons/web_graph/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/th.po b/addons/web_graph/i18n/th.po index ab9c36f1003..894c9c54b61 100644 --- a/addons/web_graph/i18n/th.po +++ b/addons/web_graph/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/tr.po b/addons/web_graph/i18n/tr.po index 91f56013311..71c472e31e9 100644 --- a/addons/web_graph/i18n/tr.po +++ b/addons/web_graph/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/zh_CN.po b/addons/web_graph/i18n/zh_CN.po index e84f01901ea..409e909c747 100644 --- a/addons/web_graph/i18n/zh_CN.po +++ b/addons/web_graph/i18n/zh_CN.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_graph #. openerp-web diff --git a/addons/web_kanban/i18n/ar.po b/addons/web_kanban/i18n/ar.po index 9a8d807e84a..6581363e099 100644 --- a/addons/web_kanban/i18n/ar.po +++ b/addons/web_kanban/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/bg.po b/addons/web_kanban/i18n/bg.po index f308f964365..05b152b326a 100644 --- a/addons/web_kanban/i18n/bg.po +++ b/addons/web_kanban/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/bn.po b/addons/web_kanban/i18n/bn.po index a882bb0e6a5..e90109c0163 100644 --- a/addons/web_kanban/i18n/bn.po +++ b/addons/web_kanban/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/bs.po b/addons/web_kanban/i18n/bs.po index 1cfdd4a904e..210f9c387e1 100644 --- a/addons/web_kanban/i18n/bs.po +++ b/addons/web_kanban/i18n/bs.po @@ -14,15 +14,15 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:689 #, python-format msgid "Edit column" -msgstr "" +msgstr "Uredi kolonu" #. module: web_kanban #. openerp-web @@ -36,7 +36,7 @@ msgstr "" #: code:addons/web_kanban/static/src/js/kanban.js:10 #, python-format msgid "Kanban" -msgstr "" +msgstr "Kanban" #. module: web_kanban #. openerp-web @@ -50,35 +50,35 @@ msgstr "Nedefinisano" #: code:addons/web_kanban/static/src/js/kanban.js:708 #, python-format msgid "Are you sure to remove this column ?" -msgstr "" +msgstr "Dali ste sigurni da želite ukloniti ovu kolonu?" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:47 #, python-format msgid "Edit" -msgstr "" +msgstr "Uredi" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:192 #, python-format msgid "Add column" -msgstr "" +msgstr "Dodaj kolonu" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:1085 #, python-format msgid "Create: " -msgstr "" +msgstr "Kreiraj: " #. 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 "Dodaj novu kolonu" #. module: web_kanban #. openerp-web @@ -86,21 +86,21 @@ msgstr "" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:45 #, python-format msgid "Fold" -msgstr "" +msgstr "Skupi" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:98 #, python-format msgid "Add" -msgstr "" +msgstr "Dodaj" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:35 #, python-format msgid "Quick create" -msgstr "" +msgstr "Brzo kreiraj" #. module: web_kanban #. openerp-web @@ -114,7 +114,7 @@ msgstr "Jeste li sigurni da želite izbrisati zapis?" #: code:addons/web_kanban/static/src/js/kanban.js:680 #, python-format msgid "Unfold" -msgstr "" +msgstr "Raširi" #. module: web_kanban #. openerp-web @@ -128,7 +128,7 @@ msgstr "Prikaži više" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:99 #, python-format msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: web_kanban #. openerp-web @@ -143,7 +143,7 @@ msgstr "Preostalo" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:98 #, python-format msgid "or" -msgstr "" +msgstr "ili" #. module: web_kanban #. openerp-web @@ -151,14 +151,14 @@ msgstr "" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:55 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:48 #, python-format msgid "Delete" -msgstr "" +msgstr "Obriši" #~ msgid "Create" #~ msgstr "Kreiraj" diff --git a/addons/web_kanban/i18n/ca.po b/addons/web_kanban/i18n/ca.po index 9f213d8d870..4347422cb1c 100644 --- a/addons/web_kanban/i18n/ca.po +++ b/addons/web_kanban/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/cs.po b/addons/web_kanban/i18n/cs.po index 47935b16d15..89dd91ef9f6 100644 --- a/addons/web_kanban/i18n/cs.po +++ b/addons/web_kanban/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web_kanban diff --git a/addons/web_kanban/i18n/da.po b/addons/web_kanban/i18n/da.po index f05caf0ab21..cd1fd56bda4 100644 --- a/addons/web_kanban/i18n/da.po +++ b/addons/web_kanban/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/de.po b/addons/web_kanban/i18n/de.po index 7bca2ae5a45..cc53bb0bdf2 100644 --- a/addons/web_kanban/i18n/de.po +++ b/addons/web_kanban/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/en_AU.po b/addons/web_kanban/i18n/en_AU.po index 5584f3768c4..85775969fe4 100644 --- a/addons/web_kanban/i18n/en_AU.po +++ b/addons/web_kanban/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/en_GB.po b/addons/web_kanban/i18n/en_GB.po index 35b05b54812..199bffb5a16 100644 --- a/addons/web_kanban/i18n/en_GB.po +++ b/addons/web_kanban/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es.po b/addons/web_kanban/i18n/es.po index cda06227eed..4c8ab42cef1 100644 --- a/addons/web_kanban/i18n/es.po +++ b/addons/web_kanban/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es_CL.po b/addons/web_kanban/i18n/es_CL.po index b9d8fb1f8f4..d108a1df232 100644 --- a/addons/web_kanban/i18n/es_CL.po +++ b/addons/web_kanban/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es_CR.po b/addons/web_kanban/i18n/es_CR.po index 112b4ba1cfd..066c4feff87 100644 --- a/addons/web_kanban/i18n/es_CR.po +++ b/addons/web_kanban/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es_DO.po b/addons/web_kanban/i18n/es_DO.po index 8cdc02b9158..f791189c8f1 100644 --- a/addons/web_kanban/i18n/es_DO.po +++ b/addons/web_kanban/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es_EC.po b/addons/web_kanban/i18n/es_EC.po index 9ae2c565b68..d7a15e7dec2 100644 --- a/addons/web_kanban/i18n/es_EC.po +++ b/addons/web_kanban/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/es_MX.po b/addons/web_kanban/i18n/es_MX.po index 63b80f8fbeb..9d3b71bf26c 100644 --- a/addons/web_kanban/i18n/es_MX.po +++ b/addons/web_kanban/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/et.po b/addons/web_kanban/i18n/et.po index 4d56c02e779..da36e621dd0 100644 --- a/addons/web_kanban/i18n/et.po +++ b/addons/web_kanban/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/fa.po b/addons/web_kanban/i18n/fa.po index 74dbb5183f7..9c2b2a6cfa0 100644 --- a/addons/web_kanban/i18n/fa.po +++ b/addons/web_kanban/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/fi.po b/addons/web_kanban/i18n/fi.po index 54647e1e924..e7c8db19d08 100644 --- a/addons/web_kanban/i18n/fi.po +++ b/addons/web_kanban/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/fr.po b/addons/web_kanban/i18n/fr.po index 0d42f526456..5b4e0bb1085 100644 --- a/addons/web_kanban/i18n/fr.po +++ b/addons/web_kanban/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/fr_CA.po b/addons/web_kanban/i18n/fr_CA.po index ea3bdf3c1d2..ebc5a517c51 100644 --- a/addons/web_kanban/i18n/fr_CA.po +++ b/addons/web_kanban/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/gl.po b/addons/web_kanban/i18n/gl.po index 13cfe984825..2d95d642ba7 100644 --- a/addons/web_kanban/i18n/gl.po +++ b/addons/web_kanban/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/gu.po b/addons/web_kanban/i18n/gu.po index 524294faef8..0fbebcaf383 100644 --- a/addons/web_kanban/i18n/gu.po +++ b/addons/web_kanban/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/hr.po b/addons/web_kanban/i18n/hr.po index 22ae167cf1b..5af7eb7a376 100644 --- a/addons/web_kanban/i18n/hr.po +++ b/addons/web_kanban/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/hu.po b/addons/web_kanban/i18n/hu.po index 304a8274643..077bb6874ed 100644 --- a/addons/web_kanban/i18n/hu.po +++ b/addons/web_kanban/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/it.po b/addons/web_kanban/i18n/it.po index 201aedc19fc..b4cad02c354 100644 --- a/addons/web_kanban/i18n/it.po +++ b/addons/web_kanban/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ja.po b/addons/web_kanban/i18n/ja.po index b7349b818f7..6d24f3ba527 100644 --- a/addons/web_kanban/i18n/ja.po +++ b/addons/web_kanban/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ka.po b/addons/web_kanban/i18n/ka.po index 5c456dfe75b..027b0aa4a80 100644 --- a/addons/web_kanban/i18n/ka.po +++ b/addons/web_kanban/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ko.po b/addons/web_kanban/i18n/ko.po index 2bc3fbf98ef..53f4f05fafa 100644 --- a/addons/web_kanban/i18n/ko.po +++ b/addons/web_kanban/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/lt.po b/addons/web_kanban/i18n/lt.po index ef3283baf83..36b8b9125d3 100644 --- a/addons/web_kanban/i18n/lt.po +++ b/addons/web_kanban/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/mk.po b/addons/web_kanban/i18n/mk.po index 8b7627b7252..63915764449 100644 --- a/addons/web_kanban/i18n/mk.po +++ b/addons/web_kanban/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/mn.po b/addons/web_kanban/i18n/mn.po index 2fcf1953293..837440d4f3f 100644 --- a/addons/web_kanban/i18n/mn.po +++ b/addons/web_kanban/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/nb.po b/addons/web_kanban/i18n/nb.po index 37039377cce..56657ab4fae 100644 --- a/addons/web_kanban/i18n/nb.po +++ b/addons/web_kanban/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/nl.po b/addons/web_kanban/i18n/nl.po index 99356210d67..7575772ee83 100644 --- a/addons/web_kanban/i18n/nl.po +++ b/addons/web_kanban/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-05 07:53+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/nl_BE.po b/addons/web_kanban/i18n/nl_BE.po index 9c97e1c234b..6c9f695b11f 100644 --- a/addons/web_kanban/i18n/nl_BE.po +++ b/addons/web_kanban/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/pl.po b/addons/web_kanban/i18n/pl.po index 7f67e44fc16..4a740cc22e1 100644 --- a/addons/web_kanban/i18n/pl.po +++ b/addons/web_kanban/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/pt.po b/addons/web_kanban/i18n/pt.po index d5429321119..680a5addba5 100644 --- a/addons/web_kanban/i18n/pt.po +++ b/addons/web_kanban/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/pt_BR.po b/addons/web_kanban/i18n/pt_BR.po index c913979a141..28259b71913 100644 --- a/addons/web_kanban/i18n/pt_BR.po +++ b/addons/web_kanban/i18n/pt_BR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ro.po b/addons/web_kanban/i18n/ro.po index 3a817f0e611..ef570456888 100644 --- a/addons/web_kanban/i18n/ro.po +++ b/addons/web_kanban/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ru.po b/addons/web_kanban/i18n/ru.po index e6efcf7028e..81bbf28de2f 100644 --- a/addons/web_kanban/i18n/ru.po +++ b/addons/web_kanban/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/sl.po b/addons/web_kanban/i18n/sl.po index fd423275403..39e022da922 100644 --- a/addons/web_kanban/i18n/sl.po +++ b/addons/web_kanban/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/sr@latin.po b/addons/web_kanban/i18n/sr@latin.po index 9fcdfc171e7..c4e1e22e90b 100644 --- a/addons/web_kanban/i18n/sr@latin.po +++ b/addons/web_kanban/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/sv.po b/addons/web_kanban/i18n/sv.po index 4015f96191a..2e84ae2e9f3 100644 --- a/addons/web_kanban/i18n/sv.po +++ b/addons/web_kanban/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/th.po b/addons/web_kanban/i18n/th.po index 2190f1fa152..4a74d21debc 100644 --- a/addons/web_kanban/i18n/th.po +++ b/addons/web_kanban/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/tr.po b/addons/web_kanban/i18n/tr.po index 358e9a3318f..628cf86ea89 100644 --- a/addons/web_kanban/i18n/tr.po +++ b/addons/web_kanban/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/zh_CN.po b/addons/web_kanban/i18n/zh_CN.po index 3e9baac3fc0..24c8397f8c0 100644 --- a/addons/web_kanban/i18n/zh_CN.po +++ b/addons/web_kanban/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-01 14:51+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/zh_TW.po b/addons/web_kanban/i18n/zh_TW.po index a535c3603d1..103fdd2b00a 100644 --- a/addons/web_kanban/i18n/zh_TW.po +++ b/addons/web_kanban/i18n/zh_TW.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_kanban #. openerp-web diff --git a/addons/web_shortcuts/i18n/da.po b/addons/web_shortcuts/i18n/da.po new file mode 100644 index 00000000000..3cbeed065b5 --- /dev/null +++ b/addons/web_shortcuts/i18n/da.po @@ -0,0 +1,25 @@ +# Danish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-09-15 20:22+0000\n" +"Last-Translator: FULL NAME \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-09-16 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: web_shortcuts +#. openerp-web +#: code:addons/web_shortcuts/static/src/xml/web_shortcuts.xml:21 +#, python-format +msgid "Add / Remove Shortcut..." +msgstr "Tilføj/fjern genvej ..." diff --git a/addons/web_view_editor/i18n/ar.po b/addons/web_view_editor/i18n/ar.po index c320801ab28..ab8cffb9a39 100644 --- a/addons/web_view_editor/i18n/ar.po +++ b/addons/web_view_editor/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/bs.po b/addons/web_view_editor/i18n/bs.po index 4f0dda22f3b..61a1a62f96a 100644 --- a/addons/web_view_editor/i18n/bs.po +++ b/addons/web_view_editor/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-06 05:34+0000\n" -"X-Generator: Launchpad (build 16760)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/cs.po b/addons/web_view_editor/i18n/cs.po index e6818bf6869..4b8a6ca9a3b 100644 --- a/addons/web_view_editor/i18n/cs.po +++ b/addons/web_view_editor/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/da.po b/addons/web_view_editor/i18n/da.po index b60248f3e4e..a7efac11c1b 100644 --- a/addons/web_view_editor/i18n/da.po +++ b/addons/web_view_editor/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/de.po b/addons/web_view_editor/i18n/de.po index 9aa612152d2..8eb60418a25 100644 --- a/addons/web_view_editor/i18n/de.po +++ b/addons/web_view_editor/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/en_AU.po b/addons/web_view_editor/i18n/en_AU.po index 2f5749f8bde..b9df0df36ef 100644 --- a/addons/web_view_editor/i18n/en_AU.po +++ b/addons/web_view_editor/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/en_GB.po b/addons/web_view_editor/i18n/en_GB.po new file mode 100644 index 00000000000..16b03837372 --- /dev/null +++ b/addons/web_view_editor/i18n/en_GB.po @@ -0,0 +1,184 @@ +# English (United Kingdom) translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +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: 2013-09-14 06:41+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (United Kingdom) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-09-15 05:55+0000\n" +"X-Generator: Launchpad (build 16761)\n" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:164 +#, python-format +msgid "The following fields are invalid :" +msgstr "The following fields are invalid :" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:63 +#, python-format +msgid "Create" +msgstr "Create" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:994 +#, python-format +msgid "New Field" +msgstr "New Field" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:387 +#, python-format +msgid "Do you really wants to create an inherited view here?" +msgstr "Do you really want to create an inherited view here?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:397 +#, python-format +msgid "Preview" +msgstr "Preview" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:183 +#, python-format +msgid "Do you really want to remove this view?" +msgstr "Do you really want to remove this view?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:90 +#, python-format +msgid "Save" +msgstr "Save" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:394 +#, python-format +msgid "Select an element" +msgstr "Select an element" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:836 +#: code:addons/web_view_editor/static/src/js/view_editor.js:962 +#, python-format +msgid "Update" +msgstr "Update" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:264 +#, python-format +msgid "Please select view in list :" +msgstr "Please select view in list :" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:37 +#, python-format +msgid "Manage Views (%s)" +msgstr "Manage Views (%s)" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:13 +#, python-format +msgid "Manage Views" +msgstr "Manage Views" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:833 +#: code:addons/web_view_editor/static/src/js/view_editor.js:959 +#, python-format +msgid "Properties" +msgstr "Properties" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:64 +#, python-format +msgid "Edit" +msgstr "Edit" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:14 +#, python-format +msgid "Could not find current view declaration" +msgstr "Could not find current view declaration" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:383 +#, python-format +msgid "Inherited View" +msgstr "Inherited View" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:65 +#, python-format +msgid "Remove" +msgstr "Remove" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:517 +#, python-format +msgid "Do you really want to remove this node?" +msgstr "Do you really want to remove this node?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:391 +#, python-format +msgid "Can't Update View" +msgstr "Can't Update View" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:380 +#, python-format +msgid "View Editor %d - %s" +msgstr "View Editor %d - %s" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:112 +#: code:addons/web_view_editor/static/src/js/view_editor.js:854 +#: code:addons/web_view_editor/static/src/js/view_editor.js:982 +#, python-format +msgid "Cancel" +msgstr "Cancel" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:66 +#: code:addons/web_view_editor/static/src/js/view_editor.js:414 +#, python-format +msgid "Close" +msgstr "Close" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:88 +#, python-format +msgid "Create a view (%s)" +msgstr "Create a view (%s)" diff --git a/addons/web_view_editor/i18n/es.po b/addons/web_view_editor/i18n/es.po index f4b1748eb8e..fc2aa7d7f18 100644 --- a/addons/web_view_editor/i18n/es.po +++ b/addons/web_view_editor/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/es_DO.po b/addons/web_view_editor/i18n/es_DO.po index f0e3c2803dc..005a7dd8766 100644 --- a/addons/web_view_editor/i18n/es_DO.po +++ b/addons/web_view_editor/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/es_EC.po b/addons/web_view_editor/i18n/es_EC.po index 289aa810006..c6e67dc7360 100644 --- a/addons/web_view_editor/i18n/es_EC.po +++ b/addons/web_view_editor/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/es_MX.po b/addons/web_view_editor/i18n/es_MX.po index b5ab4675849..0cdf5b99809 100644 --- a/addons/web_view_editor/i18n/es_MX.po +++ b/addons/web_view_editor/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/et.po b/addons/web_view_editor/i18n/et.po index 6c541f1c716..c4868cde7a7 100644 --- a/addons/web_view_editor/i18n/et.po +++ b/addons/web_view_editor/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/fa.po b/addons/web_view_editor/i18n/fa.po index d4bc264ac1d..2a42e79eea1 100644 --- a/addons/web_view_editor/i18n/fa.po +++ b/addons/web_view_editor/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/fi.po b/addons/web_view_editor/i18n/fi.po index bea2233678c..f6a71e57f9a 100644 --- a/addons/web_view_editor/i18n/fi.po +++ b/addons/web_view_editor/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/fr.po b/addons/web_view_editor/i18n/fr.po index d8e010548c5..30abbf00cfd 100644 --- a/addons/web_view_editor/i18n/fr.po +++ b/addons/web_view_editor/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/hr.po b/addons/web_view_editor/i18n/hr.po index 38940c24af2..093a753e384 100644 --- a/addons/web_view_editor/i18n/hr.po +++ b/addons/web_view_editor/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/hu.po b/addons/web_view_editor/i18n/hu.po index 9549b92bf5b..d668e76a5f7 100644 --- a/addons/web_view_editor/i18n/hu.po +++ b/addons/web_view_editor/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/it.po b/addons/web_view_editor/i18n/it.po index b1435f9883a..465cde476c9 100644 --- a/addons/web_view_editor/i18n/it.po +++ b/addons/web_view_editor/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/ko.po b/addons/web_view_editor/i18n/ko.po index 359308dd3b9..831631760d3 100644 --- a/addons/web_view_editor/i18n/ko.po +++ b/addons/web_view_editor/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/lt.po b/addons/web_view_editor/i18n/lt.po index f2c4e0418e3..f5e3511a2ad 100644 --- a/addons/web_view_editor/i18n/lt.po +++ b/addons/web_view_editor/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/lv.po b/addons/web_view_editor/i18n/lv.po index afe91a24a59..2face055cd2 100644 --- a/addons/web_view_editor/i18n/lv.po +++ b/addons/web_view_editor/i18n/lv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/mk.po b/addons/web_view_editor/i18n/mk.po index 89d84026301..084461998a5 100644 --- a/addons/web_view_editor/i18n/mk.po +++ b/addons/web_view_editor/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/mn.po b/addons/web_view_editor/i18n/mn.po index ac579b9b0bb..19ba61ea1eb 100644 --- a/addons/web_view_editor/i18n/mn.po +++ b/addons/web_view_editor/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/nb.po b/addons/web_view_editor/i18n/nb.po index d3454639d43..9766997e270 100644 --- a/addons/web_view_editor/i18n/nb.po +++ b/addons/web_view_editor/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/nl.po b/addons/web_view_editor/i18n/nl.po index 13fe8912e87..1a575100391 100644 --- a/addons/web_view_editor/i18n/nl.po +++ b/addons/web_view_editor/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-05 07:54+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS 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-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/nl_BE.po b/addons/web_view_editor/i18n/nl_BE.po index 4f6c88b4dd5..295c60be1dc 100644 --- a/addons/web_view_editor/i18n/nl_BE.po +++ b/addons/web_view_editor/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/pl.po b/addons/web_view_editor/i18n/pl.po index dfa1bb275f9..092463a9cd1 100644 --- a/addons/web_view_editor/i18n/pl.po +++ b/addons/web_view_editor/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/pt.po b/addons/web_view_editor/i18n/pt.po index 080e3aeaf32..42380891bf1 100644 --- a/addons/web_view_editor/i18n/pt.po +++ b/addons/web_view_editor/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/pt_BR.po b/addons/web_view_editor/i18n/pt_BR.po index 7ecef34708b..2a07f03d197 100644 --- a/addons/web_view_editor/i18n/pt_BR.po +++ b/addons/web_view_editor/i18n/pt_BR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/ro.po b/addons/web_view_editor/i18n/ro.po index 3e25a1c0f72..b3748a5fa2f 100644 --- a/addons/web_view_editor/i18n/ro.po +++ b/addons/web_view_editor/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/ru.po b/addons/web_view_editor/i18n/ru.po index 337bf9c7afa..114c073582d 100644 --- a/addons/web_view_editor/i18n/ru.po +++ b/addons/web_view_editor/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/sl.po b/addons/web_view_editor/i18n/sl.po index dcd1ea53bbe..65e966dc197 100644 --- a/addons/web_view_editor/i18n/sl.po +++ b/addons/web_view_editor/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/th.po b/addons/web_view_editor/i18n/th.po index 1552f0ef154..73f6769b3b3 100644 --- a/addons/web_view_editor/i18n/th.po +++ b/addons/web_view_editor/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/tr.po b/addons/web_view_editor/i18n/tr.po index d3d252ac7cc..5da9591545b 100644 --- a/addons/web_view_editor/i18n/tr.po +++ b/addons/web_view_editor/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web diff --git a/addons/web_view_editor/i18n/zh_CN.po b/addons/web_view_editor/i18n/zh_CN.po index 8a9ecb53399..47acdc24def 100644 --- a/addons/web_view_editor/i18n/zh_CN.po +++ b/addons/web_view_editor/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-01 15:04+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:47+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:42+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web_view_editor #. openerp-web