diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 8d13ec9dc8f..f89f7828269 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -524,11 +524,11 @@ class account_invoice(osv.osv): return result def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice): - res = {} - if not payment_term_id: - return res + res = {} if not date_invoice: date_invoice = time.strftime('%Y-%m-%d') + if not payment_term_id: + return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice) if pterm_list: pterm_list = [line[0] for line in pterm_list] diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 7cc9768f00e..698b1bcf00c 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -475,7 +475,8 @@ class account_move_line(osv.osv): type='many2one', relation='account.invoice', fnct_search=_invoice_search), 'account_tax_id':fields.many2one('account.tax', 'Tax'), 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'), - 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True) + 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', + string='Company', store=True, readonly=True) } def _get_date(self, cr, uid, context=None): diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po index e83d8059072..2eb6b505826 100644 --- a/addons/account/i18n/de.po +++ b/addons/account/i18n/de.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-10-12 23:18+0000\n" -"Last-Translator: Ferdinand @ Camptocamp \n" +"PO-Revision-Date: 2012-11-30 10:05+0000\n" +"Last-Translator: Felix Schubert \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:54+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -2755,7 +2755,7 @@ msgid "" "In order to delete a bank statement, you must first cancel it to delete " "related journal items." msgstr "" -"Um einen Bankauszug zu löschen müssen Sie diesen zuerst Stornieren um die " +"Um einen Bankauszug zu löschen müssen Sie diesen zuerst Stornieren, um die " "dazugehörigen Buchungen zu löschen." #. module: account @@ -3834,7 +3834,7 @@ msgstr "Zeige Details" #. module: account #: report:account.overdue:0 msgid "VAT:" -msgstr "UID:" +msgstr "USt-IdNr." #. module: account #: constraint:account.invoice:0 @@ -8437,7 +8437,7 @@ msgstr "Errechneter Saldo" #: code:addons/account/static/src/js/account_move_reconciliation.js:88 #, python-format msgid "You must choose at least one record." -msgstr "" +msgstr "Sie müssen mindestens einen Datensatz auswählen" #. module: account #: field:account.account,parent_id:0 diff --git a/addons/account/i18n/fr.po b/addons/account/i18n/fr.po index 82b0d21bae0..8ec67664f18 100644 --- a/addons/account/i18n/fr.po +++ b/addons/account/i18n/fr.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-29 15:44+0000\n" +"PO-Revision-Date: 2012-11-30 08:25+0000\n" "Last-Translator: Numérigraphe \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: account @@ -108,7 +108,7 @@ msgstr "" #. module: account #: view:account.move.reconcile:0 msgid "Journal Entry Reconcile" -msgstr "Lettrage des écritures comptables" +msgstr "Lettrage d'écritures comptables" #. module: account #: view:account.account:0 @@ -1914,7 +1914,7 @@ msgstr "Facture" #. module: account #: field:account.move,balance:0 msgid "balance" -msgstr "" +msgstr "solde" #. module: account #: model:process.node,note:account.process_node_analytic0 @@ -2411,7 +2411,7 @@ msgstr "Merci de vérifier le compte défini dans le journal" #. module: account #: selection:account.entries.report,move_line_state:0 msgid "Valid" -msgstr "Valide" +msgstr "Equilibrée" #. module: account #: field:account.bank.statement,message_follower_ids:0 @@ -2702,7 +2702,7 @@ msgstr "Le numéro du RIB et/ou IBAN n'est pas correct." #. module: account #: help:account.config.settings,default_sale_tax:0 msgid "This sale tax will be assigned by default on new products." -msgstr "" +msgstr "Cette taxe de vente sera attribuée par défaut aux nouveaux articles" #. module: account #: report:account.general.ledger_landscape:0 @@ -3381,7 +3381,7 @@ msgstr "Août" #. module: account #: field:accounting.report,debit_credit:0 msgid "Display Debit/Credit Columns" -msgstr "" +msgstr "Afficher les colonnes de débit/crédit" #. module: account #: selection:account.entries.report,month:0 @@ -4419,7 +4419,7 @@ msgstr "Nom" #: code:addons/account/installer.py:94 #, python-format msgid "No unconfigured company !" -msgstr "" +msgstr "Pas de société non configurée !" #. module: account #: field:res.company,expects_chart_of_accounts:0 @@ -5255,7 +5255,7 @@ msgstr "Facture " #. module: account #: field:account.chart.template,property_account_income:0 msgid "Income Account on Product Template" -msgstr "Modèle d'imputation des charges" +msgstr "Compte de revenu sur les modèles d'articles" #. module: account #: help:account.journal.period,state:0 @@ -6853,7 +6853,7 @@ msgstr "Exercice comptable" #. module: account #: view:account.move.reconcile:0 msgid "Partial Reconcile Entries" -msgstr "Lettrage partiel d'écritures" +msgstr "Lettrage partiel d'écriture" #. module: account #: view:account.aged.trial.balance:0 @@ -7275,7 +7275,7 @@ msgstr "Catégorie de compte de dépenses" #. module: account #: sql_constraint:account.tax:0 msgid "Tax Name must be unique per company!" -msgstr "" +msgstr "Le nom d'une taxe doit être unique par société !" #. module: account #: view:account.bank.statement:0 @@ -7761,6 +7761,7 @@ msgstr "Document d'origine" #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)." msgstr "" +"Aucun compte de dépense n'a été défini pour cet article : \"%s\" ( id. : %d)." #. module: account #: constraint:account.account:0 @@ -11120,6 +11121,8 @@ msgstr "Manuellement" msgid "" "This is a field only used for internal purpose and shouldn't be displayed" msgstr "" +"Ceci est un champ uniquement utilisé pour un usage interne et ne devrait pas " +"être affiché" #. module: account #: selection:account.entries.report,month:0 @@ -11140,6 +11143,7 @@ msgstr "Grouper les factures par mois" #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)." msgstr "" +"Aucun compte de revenu n'a été défini pour cet article : \"%s\" ( id. : %d)." #. module: account #: model:ir.actions.act_window,name:account.action_aged_receivable_graph @@ -11202,6 +11206,8 @@ msgid "" "The selected unit of measure is not compatible with the unit of measure of " "the product." msgstr "" +"L'unité de mesure choisie n'est pas compatible avec l'unité de mesure de " +"l'article." #. module: account #: view:account.fiscal.position:0 diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po index f2ab301b7a8..d9de7d9ebbf 100644 --- a/addons/account/i18n/it.po +++ b/addons/account/i18n/it.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-29 23:20+0000\n" +"PO-Revision-Date: 2012-11-30 23:45+0000\n" "Last-Translator: Sergio Corato \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: account @@ -152,6 +152,22 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Premere per selezionare la lista di colonne da visualizzare " +"per questo tipo di sezionale.\n" +"

\n" +" La Vista Sezionale determina il modo con cui puoi registrare " +"voci\n" +" nel sezionale. Selezionare i campi che devono apparire nel " +"sezionale\n" +" e determinale la sequenza con la quale devono apparire.\n" +"

\n" +" Nel form di definizione del sezionale, è possibile " +"selezionalre la vista\n" +" da usare per visualizzare le voci correlate con questo " +"sezionale.\n" +"

\n" +" " #. module: account #: help:account.payment.term,active:0 @@ -560,7 +576,7 @@ msgstr "L'importo espresso in un'altra valuta opzionale" #. module: account #: view:account.journal:0 msgid "Available Coins" -msgstr "" +msgstr "Monete Disponibili" #. module: account #: field:accounting.report,enable_filter:0 @@ -615,7 +631,7 @@ msgstr "Riferimento gerarchico superiore" #. module: account #: help:account.invoice.line,sequence:0 msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" +msgstr "Assegna la sequenza di questa linea quando visualizza la fattura." #. module: account #: field:account.bank.statement,account_id:0 @@ -753,12 +769,12 @@ msgstr "La sequenza principale deve essere diversa dalla attuale!" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "La valuta corrente non è configurata correttamente." #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "Conto Profitti" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -770,7 +786,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "Vista Sezionale Banca/Cassa (Multi-Valuta)" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -785,12 +801,16 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Nessuna voce sezionale trovata.\n" +"

\n" +" " #. module: account #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "Non è possibile creare movimenti con valute differenti da .." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -798,6 +818,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Fattura_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" #. module: account #: view:account.period:0 @@ -825,6 +847,8 @@ msgstr "Periodo del Sezionale" msgid "" "You cannot create more than one move per period on a centralized journal." msgstr "" +"Non è possibile creare più di una riga per periodo in un sezionale " +"centralizzato." #. module: account #: help:account.tax,account_analytic_paid_id:0 @@ -833,6 +857,9 @@ msgid "" "lines for refunds. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Imposta il conto analitico che sarà usato di default sulle righe imposta " +"della fattura per note di credito. Lasciare vuoto per non usare un conto " +"analitico di default sulle righe imposta della fattura." #. module: account #: view:account.account:0 @@ -848,7 +875,7 @@ msgstr "Conti di Credito" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "Configura i conti bancari per la tua azienda" #. module: account #: constraint:account.move.line:0 @@ -886,6 +913,9 @@ msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." msgstr "" +"Non è possibile %s fattura che è già riconciliata, la fattura dovrebbe " +"essere prima riconciliata. E' possibile solo emettere nota di credito per " +"questa fattura." #. module: account #: selection:account.financial.report,display_detail:0 @@ -963,7 +993,7 @@ msgstr "Fatture e Note di Credito Fornitori" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "La registrazione è già riconciliata" #. module: account #: view:account.move.line.unreconcile.select:0 @@ -986,7 +1016,7 @@ msgstr "Giornale conti analitici" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "Invia per Email" #. module: account #: help:account.central.journal,amount_currency:0 @@ -997,6 +1027,8 @@ msgid "" "Print Report with the currency column if the currency differs from the " "company currency." msgstr "" +"Stampa il Report con la colonna della valuta se la valuta è diversa da " +"quella aziendale." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -1006,12 +1038,12 @@ msgstr "Nome G.C/Movimento" #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "Codice e Nome Conto" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new msgid "created" -msgstr "" +msgstr "creato" #. module: account #: selection:account.entries.report,month:0 @@ -1075,7 +1107,7 @@ msgstr "Dovuto" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "Sezionale Acquisti" #. module: account #: code:addons/account/account.py:1374 @@ -1084,6 +1116,8 @@ msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." msgstr "" +"Non è possibile validate questa registrazione perchè il conto \"%s\" non " +"appartiene al piano dei conti \"%s\"." #. module: account #: view:validate.account.move:0 @@ -1101,7 +1135,7 @@ msgstr "Importo Totale" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "Il numero della fattura come assegnato dal fornitore." #. module: account #: selection:account.account,type:0 @@ -1190,7 +1224,7 @@ msgstr "Codice" #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "Caratteristiche" #. module: account #: code:addons/account/account.py:2323 @@ -1235,7 +1269,7 @@ msgstr "Nome del conto" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "Apertura Con Ultimo Bilancio di Chiusura" #. module: account #: view:account.state.open:0 @@ -1279,12 +1313,12 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "Rimborso " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "Conti bancari come stampati nel piede di ogni documento stampato" #. module: account #: view:account.tax:0 @@ -1306,7 +1340,7 @@ msgstr "Movimenti Registratore di Cassa" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "Sezionale Note di Credito" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1342,7 +1376,7 @@ msgstr "Inizio del periodo" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "Note di Credito" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1412,7 +1446,7 @@ msgstr "Tasso di cambio in uscita" #. module: account #: field:account.config.settings,chart_template_id:0 msgid "Template" -msgstr "" +msgstr "Modello" #. module: account #: selection:account.analytic.journal,type:0 @@ -1425,6 +1459,8 @@ msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." msgstr "" +"Imposta il conto che sarà usato di default sulle righe imposta della fattura " +"per note di credito. Lasciare vuoto per usare il conto di costo." #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1511,7 +1547,7 @@ msgstr "Livello" #: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice." -msgstr "" +msgstr "E' possibile cambiare solo la vauta per le Fatture in stato Bozza" #. module: account #: report:account.invoice:0 @@ -1537,7 +1573,7 @@ msgstr "Seleziona un periodo di inizio e fine" #: model:account.financial.report,name:account.account_financial_report_profitandloss0 #: model:ir.actions.act_window,name:account.action_account_report_pl msgid "Profit and Loss" -msgstr "Utili e Perdite" +msgstr "Conto Economico" #. module: account #: model:ir.model,name:account.model_account_account_template @@ -1582,12 +1618,12 @@ msgstr "Opzioni Report" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "Anno Fiscale da Chiudere" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 msgid "Invoice sequence" -msgstr "" +msgstr "Sequenza fattura" #. module: account #: model:ir.model,name:account.model_account_entries_report @@ -1606,11 +1642,13 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"Quando sono create le nuove registrazioni sono in stato 'Bozza'.\n" +"Dopo la conferma sono nello stato 'Confermato'." #. module: account #: field:account.invoice.report,state:0 msgid "Invoice Status" -msgstr "" +msgstr "Stato Fattura" #. module: account #: view:account.invoice.report:0 @@ -1643,6 +1681,8 @@ msgid "" "There is no default debit account defined \n" "on journal \"%s\"." msgstr "" +"Non c'è un conto di debito di default definito \n" +"nel sezionale \"%s\"." #. module: account #: view:account.tax:0 @@ -1698,7 +1738,7 @@ msgstr "Salta lo stato 'Bozza' per le registrazioni manuali" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "Non implementato." #. module: account #: view:account.invoice.refund:0 @@ -1708,7 +1748,7 @@ msgstr "Nota di credito" #. module: account #: view:account.config.settings:0 msgid "eInvoicing & Payments" -msgstr "" +msgstr "e-fatturazione & Pagamenti" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -1743,7 +1783,7 @@ msgstr "Note di Credito" #. module: account #: field:account.config.settings,company_footer:0 msgid "Bank accounts footer preview" -msgstr "" +msgstr "Anteprima pie' di pagina conti bancari" #. module: account #: selection:account.account,type:0 @@ -1790,7 +1830,7 @@ msgstr "Imponibile" #. module: account #: view:account.journal:0 msgid "Advanced Settings" -msgstr "" +msgstr "Impostazioni avanzate" #. module: account #: view:account.bank.statement:0 @@ -1889,7 +1929,7 @@ msgstr "Sequenza per anni fiscali" #. module: account #: field:account.config.settings,group_analytic_accounting:0 msgid "Analytic accounting" -msgstr "" +msgstr "Contabilità analitica" #. module: account #: report:account.overdue:0 @@ -1933,12 +1973,14 @@ msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." msgstr "" +"Il sezionale deve avere contropartite centralizzate senza l'opzione Salta lo " +"stato bozza attivata." #. module: account #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "Alcune registrazioni sono già riconciliate." #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -2069,12 +2111,12 @@ msgstr "Conti in sospeso" #. module: account #: view:account.open.closed.fiscalyear:0 msgid "Cancel Fiscal Year Opening Entries" -msgstr "" +msgstr "Annulla Registrazioni Apertura Anno Fiscale" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "Vista Sezionale Banca/Cassa" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2104,12 +2146,12 @@ msgstr "Incassi & Pagamenti" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "Gestione ordini di pagamento" #. module: account #: view:account.period:0 msgid "Duration" -msgstr "" +msgstr "Durata" #. module: account #: view:account.bank.statement:0 @@ -2153,7 +2195,7 @@ msgstr "Rif. cliente:" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "Usa questo codice per la dichiarazione imposte" #. module: account #: help:account.period,special:0 @@ -2179,7 +2221,7 @@ msgstr "Importo credito" #: field:account.bank.statement,message_ids:0 #: field:account.invoice,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Messaggi" #. module: account #: view:account.vat.declaration:0 @@ -3434,7 +3476,7 @@ msgstr "Contabilità Generale" #. module: account #: model:ir.ui.menu,name:account.menu_account_report_pl msgid "Profit And Loss" -msgstr "Profitto e perdita" +msgstr "Conto Economico" #. module: account #: view:account.fiscal.position:0 @@ -5198,7 +5240,7 @@ msgstr "Fattura " #. module: account #: field:account.chart.template,property_account_income:0 msgid "Income Account on Product Template" -msgstr "Conto entrate per il prodotto" +msgstr "Conto ricavi per il prodotto" #. module: account #: help:account.journal.period,state:0 @@ -6509,7 +6551,7 @@ msgstr "" #. module: account #: field:account.journal,loss_account_id:0 msgid "Loss Account" -msgstr "" +msgstr "Conto Perdite" #. module: account #: field:account.tax,account_collected_id:0 @@ -7347,7 +7389,7 @@ msgstr "Crea registrazione" #: code:addons/account/account.py:188 #, python-format msgid "Profit & Loss (Expense account)" -msgstr "Utili & Perdite (Conti Attivi)" +msgstr "Conto Economico" #. module: account #: field:account.bank.statement,total_entry_encoding:0 @@ -8281,8 +8323,8 @@ msgstr "Cancella lefatture scelte" msgid "" "This field is used to generate legal reports: profit and loss, balance sheet." msgstr "" -"Questo campo è utilizzato per la generazione di scritture legali: Utili e " -"Perdite, Bilancio." +"Questo campo è utilizzato per la generazione di scritture legali: Conto " +"economico, Stato patrimoniale." #. module: account #: selection:account.entries.report,month:0 @@ -8466,7 +8508,7 @@ msgstr "Mastro" #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Profit" -msgstr "" +msgstr "Utile" #. module: account #: help:account.payment.term.line,days2:0 @@ -10335,7 +10377,7 @@ msgstr "Dalla contabilità analitica" #. module: account #: view:account.installer:0 msgid "Configure your Fiscal Year" -msgstr "" +msgstr "Configura l'Anno Fiscale" #. module: account #: field:account.period,name:0 @@ -10349,6 +10391,8 @@ msgid "" "Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' " "or 'Done' state." msgstr "" +"La/e fattura/e selezionate non possono essere eliminate perché sono già in " +"stato 'Annullato' o 'Completato'." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -10457,7 +10501,7 @@ msgstr "Avere" #. module: account #: view:account.invoice:0 msgid "Draft Invoice " -msgstr "" +msgstr "Bozza Fattura " #. module: account #: selection:account.invoice.refund,filter_refund:0 @@ -10747,6 +10791,8 @@ msgstr "Stato" #: help:product.template,property_account_income:0 msgid "This account will be used to value outgoing stock using sale price." msgstr "" +"Questo conto sarà utilizzato per valutare gli stock in uscita usando il " +"prezzo di vendita." #. module: account #: field:account.invoice,check_total:0 @@ -11043,7 +11089,7 @@ msgstr "Conti di credito" #: code:addons/account/account_move_line.py:762 #, python-format msgid "Already reconciled." -msgstr "" +msgstr "Già riconciliato." #. module: account #: selection:account.model.line,date_maturity:0 @@ -11184,6 +11230,8 @@ msgid "" "The selected unit of measure is not compatible with the unit of measure of " "the product." msgstr "" +"L'unità di misura selezionata non è compatibile con l'unita di misura del " +"prodotto." #. module: account #: view:account.fiscal.position:0 @@ -11225,7 +11273,7 @@ msgstr "Il conto di ricavo o di costo riguardante il prodotto selezionato." #. module: account #: view:account.config.settings:0 msgid "Install more chart templates" -msgstr "" +msgstr "Installa altri piani dei conti" #. module: account #: report:account.general.journal:0 @@ -11274,6 +11322,8 @@ msgid "" "You cannot remove/deactivate an account which is set on a customer or " "supplier." msgstr "" +"Non è possibile eliminare/disattivare un conto che è impostato in un cliente " +"o un fornitore." #. module: account #: model:ir.model,name:account.model_validate_account_move_lines @@ -11285,6 +11335,7 @@ msgstr "Conferma Movimenti Contabili" msgid "" "The fiscal position will determine taxes and accounts used for the partner." msgstr "" +"La posizione fiscale determina le imposte e i conti usati per il partner." #. module: account #: model:process.node,note:account.process_node_supplierpaidinvoice0 @@ -11300,7 +11351,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_sp_journal_view msgid "Sale/Purchase Journal View" -msgstr "" +msgstr "Vista Sezionale Vendite/Acquisti" #. module: account #: view:account.account.template:0 @@ -11317,6 +11368,8 @@ msgstr "Imposte fattura manuali" #, python-format msgid "The payment term of supplier does not have a payment term line." msgstr "" +"La condizione di pagamento del fornitore è senza righe con termini di " +"pagamento." #. module: account #: field:account.account,parent_right:0 @@ -11329,7 +11382,7 @@ msgstr "Conto Padre a destra" #: code:addons/account/static/src/js/account_move_reconciliation.js:79 #, python-format msgid "Never" -msgstr "" +msgstr "Mai" #. module: account #: model:ir.model,name:account.model_account_addtmpl_wizard @@ -11350,7 +11403,7 @@ msgstr "Del partner" #. module: account #: field:account.account,note:0 msgid "Internal Notes" -msgstr "" +msgstr "Note Interne" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscalyear_form @@ -11383,7 +11436,7 @@ msgstr "Modello di conto" #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Loss" -msgstr "" +msgstr "Perdita" #. module: account #: selection:account.entries.report,month:0 @@ -11477,7 +11530,7 @@ msgstr "" #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round per line" -msgstr "" +msgstr "Arrotonda per riga" #. module: account #: help:account.move.line,amount_residual_currency:0 diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index c95e3919012..d153a47caea 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-28 07:22+0000\n" +"PO-Revision-Date: 2012-11-30 17:32+0000\n" "Last-Translator: ccdos \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: account @@ -83,7 +83,7 @@ msgstr "从发票或付款单导入" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "坏账" #. module: account #: view:account.move:0 @@ -246,7 +246,7 @@ msgid "" "Set the analytic account that will be used by default on the invoice tax " "lines for invoices. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." -msgstr "" +msgstr "设置辅助核算项,用于退款时发票上默认项目。如果默认不要在发票的税上 使用辅助核算项,留空。" #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -282,7 +282,7 @@ msgstr "比利时报表" #. module: account #: model:account.account.type,name:account.account_type_income_view1 msgid "Income View" -msgstr "" +msgstr "收入视图" #. module: account #: help:account.account,user_type:0 @@ -363,7 +363,7 @@ msgstr "科目反核销" #. module: account #: field:account.config.settings,module_account_budget:0 msgid "Budget management" -msgstr "" +msgstr "预算管理" #. module: account #: view:product.template:0 @@ -381,7 +381,7 @@ msgstr "这里可以设置你想要记录显示格式.如果保留自动,它将 #. module: account #: field:account.config.settings,group_multi_currency:0 msgid "Allow multi currencies" -msgstr "" +msgstr "允许多种货币" #. module: account #: code:addons/account/account_invoice.py:73 @@ -402,12 +402,12 @@ msgstr "6" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "你必须选择要核销的账簿 。" #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "允许使用辅助核算" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -423,7 +423,7 @@ msgstr "本视图供财务人员在系统中录入单据。如果您在系统里 #: view:account.invoice.report:0 #: field:account.invoice.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "销售员" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -517,7 +517,7 @@ msgstr "备选币种所示金额" #. module: account #: view:account.journal:0 msgid "Available Coins" -msgstr "" +msgstr "有效的硬币" #. module: account #: field:accounting.report,enable_filter:0 @@ -646,7 +646,7 @@ msgstr "财务人员确认的报表" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:31 #, python-format msgid "Nothing to reconcile" -msgstr "" +msgstr "没有什么被核销" #. module: account #: field:account.config.settings,decimal_precision:0 @@ -683,7 +683,7 @@ msgstr "报表数值" msgid "" "Specified journal does not have any account move entries in draft state for " "this period." -msgstr "" +msgstr "这个期间内,指定的分类账没有任何会计凭证分录在草稿状态。" #. module: account #: view:account.fiscal.position:0 @@ -706,12 +706,12 @@ msgstr "序列号必须唯一" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "当前的币种配置不正确。" #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "利润科目" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -722,7 +722,7 @@ msgstr "根据输入的凭证日期没有找到期间或找到了多个期间" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "银行/现金分类账(多币种)视图" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -742,7 +742,7 @@ msgstr "" #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "不能不同币种的凭证" #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -750,6 +750,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and '草稿' or ''}" #. module: account #: view:account.period:0 @@ -776,7 +778,7 @@ msgstr "账簿的会计期间" #: constraint:account.move:0 msgid "" "You cannot create more than one move per period on a centralized journal." -msgstr "在每个会计期间,你不可以创建1个以上的总分类凭证" +msgstr "" #. module: account #: help:account.tax,account_analytic_paid_id:0 @@ -800,7 +802,7 @@ msgstr "应收款科目" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "配置你公司银行账户" #. module: account #: constraint:account.move.line:0 @@ -835,7 +837,7 @@ msgstr "打印发票" msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." -msgstr "" +msgstr "不能 %s 已经核销的发票, 发票必须被首先反核销.。只能退还这张发票。" #. module: account #: selection:account.financial.report,display_detail:0 @@ -911,7 +913,7 @@ msgstr "供应商发票和退款" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "分录已经核销。" #. module: account #: view:account.move.line.unreconcile.select:0 @@ -934,7 +936,7 @@ msgstr "辅助核算账簿" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "以邮件发送" #. module: account #: help:account.central.journal,amount_currency:0 @@ -944,7 +946,7 @@ msgstr "" msgid "" "Print Report with the currency column if the currency differs from the " "company currency." -msgstr "" +msgstr "如果币种跟公司本位币不同,带币种打印报表。" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -954,12 +956,12 @@ msgstr "J.C.(成本)凭证名称" #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "科目代码和名称" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new msgid "created" -msgstr "" +msgstr "已创建" #. module: account #: selection:account.entries.report,month:0 @@ -1022,7 +1024,7 @@ msgstr "到期" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "采购分类账" #. module: account #: code:addons/account/account.py:1374 @@ -1030,7 +1032,7 @@ msgstr "" msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." -msgstr "" +msgstr "你不能核准这个分类账分录,因为科目 \"%s\" 不属于科目表 \"%s\"." #. module: account #: view:validate.account.move:0 @@ -1048,7 +1050,7 @@ msgstr "总金额" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "这个发票的编号由供应商提供。" #. module: account #: selection:account.account,type:0 @@ -1133,7 +1135,7 @@ msgstr "编码" #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "特性" #. module: account #: code:addons/account/account.py:2323 @@ -1178,7 +1180,7 @@ msgstr "科目名称" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "用末期的期终余额打开" #. module: account #: view:account.state.open:0 @@ -1218,12 +1220,12 @@ msgstr "根据您国家定义这些类型,该类型包含有关科目及其具 #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "退款 " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "银行帐号被打印在每个输出单据的页脚。" #. module: account #: view:account.tax:0 @@ -1245,7 +1247,7 @@ msgstr "现金记录" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "销售退货分类账" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1281,7 +1283,7 @@ msgstr "会计期间开始于" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "退款" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1349,7 +1351,7 @@ msgstr "兑出汇率" #. module: account #: field:account.config.settings,chart_template_id:0 msgid "Template" -msgstr "" +msgstr "模版" #. module: account #: selection:account.analytic.journal,type:0 @@ -1361,7 +1363,7 @@ msgstr "状况" msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." -msgstr "" +msgstr "设置科目,用于退款时发票上默认税科目。留空使用费用科目。" #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1519,12 +1521,12 @@ msgstr "报表选项" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "财政年度结束" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 msgid "Invoice sequence" -msgstr "" +msgstr "发票序列" #. module: account #: model:ir.model,name:account.model_account_entries_report @@ -1543,11 +1545,13 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"当新的对账单被创建,状态是“草稿”。\n" +"从银行确认后,是“已经确认状态”。" #. module: account #: field:account.invoice.report,state:0 msgid "Invoice Status" -msgstr "" +msgstr "发票状态" #. module: account #: view:account.invoice.report:0 @@ -1579,7 +1583,7 @@ msgstr "余额不为0" msgid "" "There is no default debit account defined \n" "on journal \"%s\"." -msgstr "" +msgstr "在分类账 \"%s\" 没有默认借方科目定义。" #. module: account #: view:account.tax:0 @@ -1614,6 +1618,8 @@ msgid "" "There is nothing to reconcile. All invoices and payments\n" " have been reconciled, your partner balance is clean." msgstr "" +"没有需要核销的。\n" +"所有发票和付款已经被核销,合作伙伴余额已经结清。" #. module: account #: field:account.chart.template,code_digits:0 @@ -1632,7 +1638,7 @@ msgstr "如果是手工分录的话就跳过“草稿”状态" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "未执行。" #. module: account #: view:account.invoice.refund:0 @@ -1642,7 +1648,7 @@ msgstr "冲销发票" #. module: account #: view:account.config.settings:0 msgid "eInvoicing & Payments" -msgstr "" +msgstr "电子发票和支付" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -1675,7 +1681,7 @@ msgstr "供应商红字发票" #. module: account #: field:account.config.settings,company_footer:0 msgid "Bank accounts footer preview" -msgstr "" +msgstr "银行帐号页脚预览" #. module: account #: selection:account.account,type:0 @@ -1722,7 +1728,7 @@ msgstr "未完税" #. module: account #: view:account.journal:0 msgid "Advanced Settings" -msgstr "" +msgstr "高级选项" #. module: account #: view:account.bank.statement:0 @@ -1821,7 +1827,7 @@ msgstr "会计年度序列" #. module: account #: field:account.config.settings,group_analytic_accounting:0 msgid "Analytic accounting" -msgstr "" +msgstr "辅助核算" #. module: account #: report:account.overdue:0 @@ -1864,13 +1870,13 @@ msgstr "未确定业务伙伴" msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." -msgstr "" +msgstr "这个分类账簿的“合并对方科目”必须被选中,“跳过草稿状态”不能选中。" #. module: account #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "有些分录已经被核销。" #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -1991,7 +1997,7 @@ msgstr "该向导将改变发票的币种" msgid "" "Select a configuration package to setup automatically your\n" " taxes and chart of accounts." -msgstr "" +msgstr "选择一个配置包来自动化安装你的税和科目表" #. module: account #: view:account.analytic.account:0 @@ -2006,7 +2012,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "银行/现金 分类账视图" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2034,18 +2040,18 @@ msgstr "应收&应付" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "管理付款单" #. module: account #: view:account.period:0 msgid "Duration" -msgstr "" +msgstr "持续时间" #. module: account #: view:account.bank.statement:0 #: field:account.bank.statement,last_closing_balance:0 msgid "Last Closing Balance" -msgstr "" +msgstr "期终余额" #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -2083,7 +2089,7 @@ msgstr "客户关联:" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "用这个代码做纳税申报" #. module: account #: help:account.period,special:0 @@ -2098,7 +2104,7 @@ msgstr "银行单据草稿" #. module: account #: field:account.config.settings,module_account_check_writing:0 msgid "Pay your suppliers by check" -msgstr "" +msgstr "用支票支付你的供应商" #. module: account #: field:account.move.line.reconcile,credit:0 @@ -2109,7 +2115,7 @@ msgstr "贷方金额" #: field:account.bank.statement,message_ids:0 #: field:account.invoice,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: account #: view:account.vat.declaration:0 @@ -2121,6 +2127,9 @@ msgid "" "useful because it enables you to preview at any time the tax that you owe at " "the start and end of the month or quarter." msgstr "" +"这个菜单基于发票或者支付打印一个纳税申报。选择财务年度的一个或几个会计期间。\r\n" +"纳税申报需要的信息由Openerp自动从发票(或者在有些国家是付款单)生成。数据是实时更新的。\r\n" +"这非常有用,他使你任何时间可预览 在月份(或季度)的开始和结束欠了多少税。" #. module: account #: code:addons/account/account.py:408 @@ -2207,7 +2216,7 @@ msgstr "发票分析" #. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "Email撰写向导" #. module: account #: model:ir.model,name:account.model_account_period_close @@ -2253,7 +2262,7 @@ msgstr "" #. module: account #: field:account.config.settings,currency_id:0 msgid "Default company currency" -msgstr "" +msgstr "公司本位币" #. module: account #: field:account.invoice,move_id:0 @@ -2306,7 +2315,7 @@ msgstr "生效" #: field:account.bank.statement,message_follower_ids:0 #: field:account.invoice,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: account #: model:ir.actions.act_window,name:account.action_account_print_journal @@ -2327,7 +2336,7 @@ msgstr "过期的试算表" #. module: account #: view:account.fiscalyear.close.state:0 msgid "Close Fiscal Year" -msgstr "" +msgstr "关闭财政年度" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -2338,7 +2347,7 @@ msgstr "比较会计和支付项" #. module: account #: sql_constraint:account.fiscal.position.tax:0 msgid "A tax fiscal position could be defined only once time on same taxes." -msgstr "" +msgstr "同样的税 上面一次只能定义一个财务结构。" #. module: account #: view:account.tax:0 @@ -2350,12 +2359,12 @@ msgstr "税定义" #: view:account.config.settings:0 #: model:ir.actions.act_window,name:account.action_account_config msgid "Configure Accounting" -msgstr "" +msgstr "设置会计模块" #. module: account #: field:account.invoice.report,uom_name:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "参考计量单位" #. module: account #: help:account.journal,allow_date:0 @@ -2369,12 +2378,12 @@ msgstr "如果设为True当分录的日期不在会计周期内,将不接受 #: code:addons/account/static/src/xml/account_move_reconciliation.xml:8 #, python-format msgid "Good job!" -msgstr "" +msgstr "做得好!" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "固定资产管理" #. module: account #: view:account.account:0 @@ -2424,7 +2433,7 @@ msgstr "斜体(小一些)" msgid "" "If you want the journal should be control at opening/closing, check this " "option" -msgstr "" +msgstr "如果你要这个分类账在开启和结账时被控制,选中此项。" #. module: account #: view:account.bank.statement:0 @@ -2459,7 +2468,7 @@ msgstr "打开分录" #. module: account #: field:account.config.settings,purchase_refund_sequence_next:0 msgid "Next supplier credit note number" -msgstr "" +msgstr "下个供应商信用记录编号" #. module: account #: field:account.automatic.reconcile,account_ids:0 @@ -2499,12 +2508,12 @@ msgstr "纳税明细表" #: code:addons/account/account_cash_statement.py:256 #, python-format msgid "You do not have rights to open this %s journal !" -msgstr "" +msgstr "你没有权限打开 %s 分类账。" #. module: account #: model:res.groups,name:account.group_supplier_inv_check_total msgid "Check Total on supplier invoices" -msgstr "" +msgstr "检查供应商发票合计" #. module: account #: selection:account.invoice,state:0 @@ -2579,7 +2588,7 @@ msgstr "RIB/IBAN 无效" #. module: account #: help:account.config.settings,default_sale_tax:0 msgid "This sale tax will be assigned by default on new products." -msgstr "" +msgstr "在新产品上,销项税将被指定为默认值" #. module: account #: report:account.general.ledger_landscape:0 @@ -2718,7 +2727,7 @@ msgstr "财务结构" #: code:addons/account/account_move_line.py:592 #, python-format msgid "You cannot create journal items on a closed account %s %s." -msgstr "" +msgstr "你不能在关闭的科目%s %s 上面创建分类账分录。" #. module: account #: field:account.period.close,sure:0 @@ -2753,7 +2762,7 @@ msgstr "草稿状态的发票" #. module: account #: view:product.category:0 msgid "Account Properties" -msgstr "" +msgstr "科目属性" #. module: account #: view:account.partner.reconcile.process:0 @@ -2840,7 +2849,7 @@ msgstr "EXJ" #. module: account #: view:account.invoice.refund:0 msgid "Create Credit Note" -msgstr "" +msgstr "产生一张红字发票" #. module: account #: field:product.template,supplier_taxes_id:0 @@ -2888,7 +2897,7 @@ msgstr "" #: code:addons/account/wizard/account_state_open.py:37 #, python-format msgid "Invoice is already reconciled." -msgstr "" +msgstr "发票已经被核销" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -2936,7 +2945,7 @@ msgstr "辅助核算项" #: field:account.config.settings,default_purchase_tax:0 #: field:account.config.settings,purchase_tax:0 msgid "Default purchase tax" -msgstr "" +msgstr "默认进项税" #. module: account #: view:account.account:0 @@ -3153,13 +3162,13 @@ msgstr "" msgid "" "Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" "Forma' state." -msgstr "" +msgstr "选择的发票不能被确认,因为它们不是“草稿”或者“形式发票”状态" #. module: account #: code:addons/account/account.py:1114 #, python-format msgid "You should choose the periods that belong to the same company." -msgstr "" +msgstr "你要选择属于同一个公司的会计区间" #. module: account #: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all @@ -3172,17 +3181,17 @@ msgstr "销售科目" #: code:addons/account/account.py:1471 #, python-format msgid "You cannot delete a posted journal entry \"%s\"." -msgstr "" +msgstr "你不能删除已经登帐的分类账分录\"%s\"." #. module: account #: view:account.invoice:0 msgid "Accounting Period" -msgstr "" +msgstr "会计期间" #. module: account #: field:account.config.settings,sale_journal_id:0 msgid "Sale journal" -msgstr "" +msgstr "销售分类帐" #. module: account #: code:addons/account/account.py:2323 @@ -3198,7 +3207,7 @@ msgstr "您必须定义这 '%s' 的辅助核算账簿!" msgid "" "This journal already contains items, therefore you cannot modify its company " "field." -msgstr "" +msgstr "这个分类账已经包含了分录,因此不能修改他的公司字段" #. module: account #: code:addons/account/account.py:408 @@ -3206,7 +3215,7 @@ msgstr "" msgid "" "You need an Opening journal with centralisation checked to set the initial " "balance." -msgstr "" +msgstr "你需要一个打开的分类账,集中设置初始余额。" #. module: account #: model:ir.actions.act_window,name:account.action_tax_code_list @@ -3275,7 +3284,7 @@ msgstr "必需的" #. module: account #: field:wizard.multi.charts.accounts,only_one_chart_template:0 msgid "Only One Chart Template Available" -msgstr "" +msgstr "只有一个图表模版可用。" #. module: account #: view:account.chart.template:0 @@ -3288,7 +3297,7 @@ msgstr "费用科目" #: field:account.bank.statement,message_summary:0 #: field:account.invoice,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: account #: help:account.invoice,period_id:0 @@ -3387,7 +3396,7 @@ msgstr "试算平衡" #: code:addons/account/account.py:430 #, python-format msgid "Unable to adapt the initial balance (negative value)." -msgstr "" +msgstr "不能适应初始余额(负数)" #. module: account #: selection:account.invoice,type:0 @@ -3406,7 +3415,7 @@ msgstr "选择会计年度" #: view:account.config.settings:0 #: view:account.installer:0 msgid "Date Range" -msgstr "" +msgstr "日期范围" #. module: account #: view:account.period:0 @@ -3454,7 +3463,7 @@ msgstr "" #: code:addons/account/account.py:2650 #, python-format msgid "There is no parent code for the template account." -msgstr "" +msgstr "模版科目没有上级代码" #. module: account #: help:account.chart.template,code_digits:0 @@ -3481,7 +3490,7 @@ msgstr "总是" #: field:account.config.settings,module_account_accountant:0 msgid "" "Full accounting features: journals, legal statements, chart of accounts, etc." -msgstr "" +msgstr "全部会计特性:分类账,税务报表,会计科目表 等等" #. module: account #: view:account.analytic.line:0 @@ -3538,12 +3547,12 @@ msgstr "电子文件" #. module: account #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: account #: field:account.config.settings,has_chart_of_accounts:0 msgid "Company has a chart of accounts" -msgstr "" +msgstr "公司有一个会计科目表" #. module: account #: view:account.payment.term.line:0 @@ -3559,7 +3568,7 @@ msgstr "业务伙伴会计帐本(往来帐)" #: code:addons/account/account_invoice.py:1321 #, python-format msgid "%s created." -msgstr "" +msgstr "%s 被创建." #. module: account #: help:account.journal.column,sequence:0 @@ -3569,7 +3578,7 @@ msgstr "指定账簿栏目的序列" #. module: account #: view:account.period:0 msgid "Account Period" -msgstr "" +msgstr "会计期间" #. module: account #: help:account.account,currency_id:0 @@ -3594,7 +3603,7 @@ msgstr "科目一览表模板" #. module: account #: view:account.bank.statement:0 msgid "Transactions" -msgstr "" +msgstr "交易" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile @@ -3691,7 +3700,7 @@ msgstr "会计应用程序设置" #. module: account #: model:ir.actions.act_window,name:account.action_account_vat_declaration msgid "Account Tax Declaration" -msgstr "" +msgstr "会计税务申报" #. module: account #: view:account.payment.term.line:0 @@ -3705,7 +3714,7 @@ msgid "" "You cannot create an invoice on a centralized journal. Uncheck the " "centralized counterpart box in the related journal from the configuration " "menu." -msgstr "" +msgstr "你不能在汇总账簿上面创建发票。在配置菜单中 相关的 分类账簿表单里不要选中“合并对方科目”。" #. module: account #: field:account.bank.statement,balance_start:0 @@ -3730,7 +3739,7 @@ msgstr "关闭一个会计期间" #: view:account.bank.statement:0 #: field:account.cashbox.line,subtotal_opening:0 msgid "Opening Subtotal" -msgstr "" +msgstr "期初小计" #. module: account #: field:account.financial.report,display_detail:0 @@ -4381,7 +4390,9 @@ msgid "" "entries of all fiscal years. Note that you should define it with default " "debit/credit accounts, of type 'situation' and with a centralized " "counterpart." -msgstr "最好使用一个专用的账簿去控制所有会计年度的开账分录。注意您应该设定默认的借方/贷方科目,“状态”的类型和能汇总账簿对应。" +msgstr "" +"最好使用一个专用的账簿去控制所有会计年度的开账分录。\r\n" +"注意您应该设定默认的借方/贷方科目,类型是 “期初/期末状态”,并且选中“合并对方科目”。" #. module: account #: view:account.installer:0 @@ -5229,7 +5240,7 @@ msgstr "发票草稿已生效。 " msgid "" "Set the account that will be set by default on invoice tax lines for " "invoices. Leave empty to use the expense account." -msgstr "" +msgstr "设置科目,用于退款时发票上默认税科目。留空使用费用科目。" #. module: account #: code:addons/account/account.py:947 @@ -5577,6 +5588,14 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" 单击以注册一个新的账簿\n" +"

\n" +" 这个视图给会计人员使用,为了在Openerp中快速登记分录。\n" +" 如果要登记供应商发票,从记录费用科目行开始。Openerp将\n" +" 建议你自动处理科目相关的税,以及对方科目 \"应付帐款\"。\n" +"

\n" +" " #. module: account #: view:account.move.line:0 @@ -7686,7 +7705,7 @@ msgid "" "Check this box to determine that each entry of this journal won't create a " "new counterpart but will share the same counterpart. This is used in fiscal " "year closing." -msgstr "勾选此项,在会计年度关闭时, 确定每个账簿的分录不会产生新副本, 而是共享同一副本。" +msgstr "选中此项,在年终结转时,确定每个分类账簿的分录不会产生新的对方科目, 而是共享同一对方科目。" #. module: account #: field:account.bank.statement,closing_date:0 diff --git a/addons/account/report/account_print_overdue.rml b/addons/account/report/account_print_overdue.rml index dd573580c6c..9d1898572ba 100644 --- a/addons/account/report/account_print_overdue.rml +++ b/addons/account/report/account_print_overdue.rml @@ -211,7 +211,7 @@ [[ (line['account_id']['type'] == 'receivable' and formatLang(line['credit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['debit'] * -1) or 0) ]] - [[ time.strftime('%Y-%m-%d') > formatLang((line['date_maturity'])) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]] + [[ (time.strftime('%Y-%m-%d') > line['date_maturity']) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]] [[ line['blocked'] and 'X' or '' ]] diff --git a/addons/account_asset/i18n/it.po b/addons/account_asset/i18n/it.po index 2f1fe108905..1b1fac82fd3 100644 --- a/addons/account_asset/i18n/it.po +++ b/addons/account_asset/i18n/it.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: account_asset diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py index 87b04c18219..fc2f17e6a97 100644 --- a/addons/account_followup/__openerp__.py +++ b/addons/account_followup/__openerp__.py @@ -20,7 +20,7 @@ ############################################################################## { - 'name': 'Follow-up Management', + 'name': 'Payment Follow-up Management', 'version': '1.0', 'category': 'Accounting & Finance', 'description': """ @@ -29,19 +29,18 @@ Module to automate letters for unpaid invoices, with multi-level recalls. You can define your multiple levels of recall through the menu: --------------------------------------------------------------- - **Invoicing** / **Configuration** / **Miscellaneous** / **Follow-ups** - + Configuration / Follow-Up Levels + Once it is defined, you can automatically print recalls every day through simply clicking on the menu: ------------------------------------------------------------------------------------------------------ - **Invoicing** / **Periodical Processing** / **Billing** / **Send follow-ups** + Payment Follow-Up / Send Email and letters -It will generate a PDF with all the letters according to the the different levels -of recall defined. You can define different policies for different companies. You -can also send mail to the customer. +It will generate a PDF / send emails / set manual actions according to the the different levels +of recall defined. You can define different policies for different companies. Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu: ------------------------------------------------------------------------------------------------------------------ - **Invoicing** / **Reporting** / **Generic Reporting** / **Partners** / **Follow-ups Sent** + Reporting / Accounting / **Follow-ups Analysis """, 'author': 'OpenERP SA', @@ -51,16 +50,16 @@ Note that if you want to check the follow-up level for a given partner/account e 'data': [ 'security/account_followup_security.xml', 'security/ir.model.access.csv', - 'wizard/account_followup_print_view.xml', 'report/account_followup_report.xml', - 'account_followup_demo.xml', # Defined by default - 'account_followup_view.xml', 'account_followup_data.xml', + 'account_followup_view.xml', + 'account_followup_customers.xml', + 'wizard/account_followup_print_view.xml', ], - 'demo': [], + 'demo': ['account_followup_demo.xml'], 'test': [ 'test/account_followup.yml', - 'test/account_followup_report.yml', + #TODO 'test/account_followup_report.yml', --> Need to wait for second step in order to check report (expects after first) ], 'installable': True, 'auto_install': False, diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py index 60499603295..3ee8c92af3c 100644 --- a/addons/account_followup/account_followup.py +++ b/addons/account_followup/account_followup.py @@ -20,37 +20,66 @@ ############################################################################## from osv import fields, osv +from lxml import etree + +from tools.translate import _ + class followup(osv.osv): _name = 'account_followup.followup' _description = 'Account Follow-up' + _rec_name = 'name' _columns = { - 'name': fields.char('Name', size=64, required=True), - 'description': fields.text('Description'), 'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-up'), 'company_id': fields.many2one('res.company', 'Company', required=True), + 'name': fields.related('company_id', 'name', string = "Name"), } _defaults = { 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'account_followup.followup', context=c), } - -followup() + _sql_constraints = [('company_uniq', 'unique(company_id)', 'Only one follow-up per company is allowed')] + class followup_line(osv.osv): + + def _get_default_template(self, cr, uid, ids, context=None): + dummy, templ = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_followup', 'email_template_account_followup_default') + return templ + _name = 'account_followup.followup.line' _description = 'Follow-up Criteria' _columns = { - 'name': fields.char('Name', size=64, required=True), + 'name': fields.char('Follow-Up Action', size=64, required=True), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of follow-up lines."), - 'delay': fields.integer('Days of delay'), - 'start': fields.selection([('days','Net Days'),('end_of_month','End of Month')], 'Type of Term', size=64, required=True), + 'delay': fields.integer('Due Days', help="The number of days after the due date of the invoice to wait before sending the reminder. Could be negative if you want to send a polite alert beforehand.", required=True), 'followup_id': fields.many2one('account_followup.followup', 'Follow Ups', required=True, ondelete="cascade"), 'description': fields.text('Printed Message', translate=True), + 'send_email':fields.boolean('Send an Email', help="When processing, it will send an email"), + 'send_letter':fields.boolean('Send a Letter', help="When processing, it will print a letter"), + 'manual_action':fields.boolean('Manual Action', help="When processing, it will set the manual action to be taken for that customer. "), + 'manual_action_note':fields.text('Action To Do', placeholder="e.g. Give a phone call, check with others , ..."), + 'manual_action_responsible_id':fields.many2one('res.users', 'Assign a Responsible', ondelete='set null'), + 'email_template_id':fields.many2one('email.template', 'Email Template', ondelete='set null'), } + _order = 'delay' + _sql_constraints = [('days_uniq', 'unique(followup_id, delay)', 'Days of the follow-up levels must be different')] _defaults = { - 'start': 'days', + 'send_email': True, + 'send_letter': True, + 'manual_action':False, + 'description': """ + Dear %(partner_name)s, +Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. + +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, +""", + 'email_template_id': _get_default_template, } + + def _check_description(self, cr, uid, ids, context=None): for line in self.browse(cr, uid, ids, context=context): if line.description: @@ -64,40 +93,193 @@ class followup_line(osv.osv): (_check_description, 'Your description is invalid, use the right legend or %% if you want to use the percent character.', ['description']), ] -followup_line() class account_move_line(osv.osv): + + def _get_result(self, cr, uid, ids, name, arg, context=None): + res = {} + for aml in self.browse(cr, uid, ids, context=context): + res[aml.id] = aml.debit - aml.credit + return res + _inherit = 'account.move.line' _columns = { - 'followup_line_id': fields.many2one('account_followup.followup.line', 'Follow-up Level'), + 'followup_line_id': fields.many2one('account_followup.followup.line', 'Follow-up Level', + ondelete='restrict'), #restrict deletion of the followup line 'followup_date': fields.date('Latest Follow-up', select=True), + 'result':fields.function(_get_result, type='float', method=True, + string="Balance") #'balance' field is not the same } -account_move_line() -class res_company(osv.osv): - _inherit = "res.company" + +class email_template(osv.osv): + _inherit = 'email.template' + + # Adds current_date to the context. That way it can be used to put + # the account move lines in bold that are overdue in the email + def render_template(self, cr, uid, template, model, res_id, context=None): + context['current_date'] = fields.date.context_today(cr, uid, context) + return super(email_template, self).render_template(cr, uid, template, model, res_id, context=context) + + +class res_partner(osv.osv): + + def fields_view_get(self, cr, uid, view_id=None, view_type=None, context=None, toolbar=False, submenu=False): + res = super(res_partner, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, + toolbar=toolbar, submenu=submenu) + context = context or {} + if view_type == 'form' and context.get('Followupfirst'): + doc = etree.XML(res['arch'], parser=None, base_url=None) + first_node = doc.xpath("//page[@name='followup_tab']") + root = first_node[0].getparent() + root.insert(0, first_node[0]) + res['arch'] = etree.tostring(doc, encoding="utf-8") + return res + + def _get_latest(self, cr, uid, ids, names, arg, context=None, company_id=None): + res={} + if company_id == None: + company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id + else: + company = self.pool.get('res.company').browse(cr, uid, company_id, context=context) + for partner in self.browse(cr, uid, ids, context=context): + amls = partner.unreconciled_aml_ids + latest_date = False + latest_level = False + latest_days = False + latest_level_without_lit = False + latest_days_without_lit = False + for aml in amls: + if (aml.company_id == company) and (aml.followup_line_id != False) and (not latest_days or latest_days < aml.followup_line_id.delay): + latest_days = aml.followup_line_id.delay + latest_level = aml.followup_line_id.id + if (aml.company_id == company) and (not latest_date or latest_date < aml.followup_date): + latest_date = aml.followup_date + if (aml.company_id == company) and (aml.blocked == False) and (aml.followup_line_id != False and + (not latest_days_without_lit or latest_days_without_lit < aml.followup_line_id.delay)): + latest_days_without_lit = aml.followup_line_id.delay + latest_level_without_lit = aml.followup_line_id.id + res[partner.id] = {'latest_followup_date': latest_date, + 'latest_followup_level_id': latest_level, + 'latest_followup_level_id_without_lit': latest_level_without_lit} + return res + + def do_partner_manual_action(self, cr, uid, partner_ids, context=None): + #partner_ids -> res.partner + for partner in self.browse(cr, uid, partner_ids, context=context): + #Check action: check if the action was not empty, if not add + action_text= "" + if partner.payment_next_action: + action_text = (partner.payment_next_action or '') + "\n" + (partner.latest_followup_level_id_without_lit.manual_action_note or '') + else: + action_text = partner.latest_followup_level_id_without_lit.manual_action_note or '' + + #Check date: put the minimum date if it existed already + action_date = (partner.payment_next_action_date and min(partner.payment_next_action_date, fields.date.context_today(cr, uid, context)) + ) or fields.date.context_today(cr, uid, context) + + # Check responsible: if partner has not got a responsible already, take from follow-up + responsible_id = False + if partner.payment_responsible_id: + responsible_id = partner.payment_responsible_id.id + else: + p = partner.latest_followup_level_id_without_lit.manual_action_responsible_id + responsible_id = p and p.id or False + self.write(cr, uid, [partner.id], {'payment_next_action_date': action_date, + 'payment_next_action': action_text, + 'payment_responsible_id': responsible_id}) + + def do_partner_print(self, cr, uid, wizard_partner_ids, data, context=None): + #wizard_partner_ids are ids from special view, not from res.partner + if not wizard_partner_ids: + return {} + data['partner_ids'] = wizard_partner_ids + datas = { + 'ids': [], + 'model': 'account_followup.followup', + 'form': data + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account_followup.followup.print', + 'datas': datas, + } + + def do_partner_mail(self, cr, uid, partner_ids, context=None): + #partner_ids are res.partner ids + # If not defined by latest follow-up level, it will be the default template if it can find it + mtp = self.pool.get('email.template') + unknown_mails = 0 + for partner in self.browse(cr, uid, partner_ids, context=context): + if partner.email and partner.email.strip(): + level = partner.latest_followup_level_id_without_lit + if level and level.send_email and level.email_template_id and level.email_template_id.id: + mtp.send_mail(cr, uid, level.email_template_id.id, partner.id, context=context) + else: + mail_template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, + 'account_followup', 'email_template_account_followup_default') + mtp.send_mail(cr, uid, mail_template_id[1], partner.id, context=context) + else: + unknown_mails = unknown_mails + 1 + action_text = _("Email not sent because of email address of partner not filled in") + if partner.payment_next_action_date: + payment_action_date = min(fields.date.context_today(cr, uid, context), partner.payment_next_action_date) + else: + payment_action_date = fields.date.context_today(cr, uid, context) + if partner.payment_next_action: + payment_next_action = partner.payment_next_action + " + " + action_text + else: + payment_next_action = action_text + self.write(cr, uid, [partner.id], {'payment_next_action_date': payment_action_date, + 'payment_next_action': payment_next_action}, context=context) + return unknown_mails + + def action_done(self, cr, uid, ids, context=None): + return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False}, context=context) + + def do_button_print(self, cr, uid, ids, context=None): + assert(len(ids) == 1) + self.message_post(cr, uid, [ids[0]], body=_('Printed overdue payments report'), context=context) + datas = { + 'ids': ids, + 'model': 'res.partner', + 'form': self.read(cr, uid, ids[0], context=context) + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.overdue', + 'datas': datas, + 'nodestroy' : True + } + + + _inherit = "res.partner" _columns = { - 'follow_up_msg': fields.text('Follow-up Message', translate=True), - } - - _defaults = { - 'follow_up_msg': ''' -Date: %(date)s - -Dear %(partner_name)s, - -Please find in attachment a reminder of all your unpaid invoices, for a total amount due of: - -%(followup_amount).2f %(company_currency)s - -Thanks, --- -%(user_signature)s -%(company_name)s - ''' - } - -res_company() + 'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible', + help="Responsible for making sure the action happens."), + 'payment_note':fields.text('Customer Payment Promise', help="Payment Note"), + 'payment_next_action':fields.text('Next Action', + help="This is the next action to be taken by the user. It will automatically be set when the action fields are empty and the partner gets a follow-up level that requires a manual action. "), + 'payment_next_action_date':fields.date('Next Action Date', + help="This is when further follow-up is needed. The date will have been set to the current date if the action fields are empty and the partner gets a follow-up level that requires a manual action. "), + 'unreconciled_aml_ids':fields.one2many('account.move.line', 'partner_id', domain=['&', ('reconcile_id', '=', False), '&', + ('account_id.active','=', True), '&', ('account_id.type', '=', 'receivable'), ('state', '!=', 'draft')]), + 'latest_followup_date':fields.function(_get_latest, method=True, type='date', string="Latest Follow-up Date", + help="Latest date that the follow-up level of the partner was changed", + store=False, + multi="latest"), + 'latest_followup_level_id':fields.function(_get_latest, method=True, + type='many2one', relation='account_followup.followup.line', string="Latest Follow-up Level", + help="The maximum follow-up level", + store=False, + multi="latest"), + 'latest_followup_level_id_without_lit':fields.function(_get_latest, method=True, + type='many2one', relation='account_followup.followup.line', string="Latest Follow-up Level without litigation", + help="The maximum follow-up level without taking into account the account move lines with litigation", + store=False, + multi="latest"), + 'payment_amount_due':fields.related('credit', type='float', string="Total amount due", readonly=True), + } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/account_followup_customers.xml b/addons/account_followup/account_followup_customers.xml new file mode 100644 index 00000000000..df703773303 --- /dev/null +++ b/addons/account_followup/account_followup_customers.xml @@ -0,0 +1,157 @@ + + + + + + + + res.partner.followup.inherit.tree + res.partner + + + + + + + + + + + + + + + + Search + res.partner + + + + + + + + + + + + + + + + + + + + + Search + res.partner + + + + + + + + + + + + + + + + + + + + + + Manual Follow-Ups + + res.partner + form + tree,form + {} + {'Followupfirst':True, 'search_default_todo': True} + + + + + + res.partner.followup.form.inherit + + res.partner + + + +
+
+

+ The , the latest payment follow-up + was: +

+ + + +
+ + + + + + Follow-up of overdue invoices level 1 + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. +It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account +which means that we will no longer be able to supply your company with (goods/services). +Please, take appropriate measures in order to carry out this payment in the next 8 days. +If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting +department at (+32).10.68.94.39. so that we can resolve the matter quickly. +Details of due payments is printed below. +

+
+Best Regards, + +
+${user.name} + +
+
+ + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + Follow-up of overdue invoices level 2 + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ Despite several reminders, your account is still not settled. +Unless full payment is made in next 8 days, legal action for the recovery of the debt will be taken without +further notice. +I trust that this action will prove unnecessary and details of due payments is printed below. +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. +

+
+Best Regards, + +
+${user.name} + +
+
+ + + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + + + Default follow-up of overdue invoices + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take +appropriate measures in order to carry out this payment in the next 8 days. +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to +contact our accounting department at (+32).10.68.94.39. +

+
+Best Regards, +
+
+
+${user.name} + +
+
+ + + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + + + + + + + + + Send first reminder email + 0 + 15 + + True + Dear %(partner_name)s, -Please find in attachment a reminder of all your unpaid invoices, for a total amount due of: +Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. -%(followup_amount).2f %(company_currency)s +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. -Thanks, --- -%(user_signature)s -%(company_name)s +Best Regards, + + + + + + Send reminder letter and email + 1 + 30 + + + True + True + +Dear %(partner_name)s, + +We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. + +It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account which means that we will no longer be able to supply your company with (goods/services). +Please, take appropriate measures in order to carry out this payment in the next 8 days. + +If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting department at (+32).10.68.94.39. so that we can resolve the matter quickly. + +Details of due payments is printed below. + +Best Regards, + + + + + + Call the customer on the phone + 3 + 40 + + + + True + Call the customer on the phone! + +Dear %(partner_name)s, + +Despite several reminders, your account is still not settled. + +Unless full payment is made in next 8 days, then legal action for the recovery of the debt will be taken without further notice. + +I trust that this action will prove unnecessary and details of due payments is printed below. + +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, +
diff --git a/addons/account_followup/account_followup_demo.xml b/addons/account_followup/account_followup_demo.xml index 7103ffa0386..4f22c18857d 100644 --- a/addons/account_followup/account_followup_demo.xml +++ b/addons/account_followup/account_followup_demo.xml @@ -1,58 +1,13 @@ - - - - Default Follow-up - - First letter after 15 net days, 30 net days and 45 days end of month levels. - - - - Level 0 : 15 net days - 0 - days - 15 - - -Dear %(partner_name)s, - -Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. - -Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. - -Best Regards, - - - - - Level 1 : 30 net days - 1 - days - 30 - - -Dear %(partner_name)s, - -We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. - -It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account which means that we will no longer be able to supply your company with (goods/services). -Please, take appropriate measures in order to carry out this payment in the next 8 days. - -If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting department at (+32).10.68.94.39. so that we can resolve the matter quickly. - -Details of due payments is printed below. - -Best Regards, - - - - - Level 2 : 45 days end of month - 2 - end_of_month - 45 + + + Urging reminder email + 4 + 50 + True + Dear %(partner_name)s, @@ -65,8 +20,29 @@ I trust that this action will prove unnecessary and details of due payments is p In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. Best Regards, - + + + Urging reminder letter + 5 + 60 + + + True + + +Dear %(partner_name)s, +Despite several reminders, your account is still not settled. + +Unless full payment is made in next 8 days, then legal action for the recovery of the debt will be taken without further notice. + +I trust that this action will prove unnecessary and details of due payments is printed below. + +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, + + diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml index 0617a95c2f0..1df87feac76 100644 --- a/addons/account_followup/account_followup_view.xml +++ b/addons/account_followup/account_followup_view.xml @@ -1,14 +1,16 @@ - + account_followup.followup.line.tree account_followup.followup.line - + - + + + @@ -18,19 +20,47 @@ account_followup.followup.line
- - - - + --> - - - - - - - - - - res.company.followup.form.inherit - - res.company - - - - - - - -
diff --git a/addons/account_followup/i18n/zh_CN.po b/addons/account_followup/i18n/zh_CN.po index fd5cb925557..da42ae08109 100644 --- a/addons/account_followup/i18n/zh_CN.po +++ b/addons/account_followup/i18n/zh_CN.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-29 14:16+0000\n" -"Last-Translator: dquo \n" +"PO-Revision-Date: 2012-11-30 12:07+0000\n" +"Last-Translator: ccdos \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: account_followup @@ -540,6 +540,13 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" 单击定义催款级别和他们相关的信息\n" +"

\n" +" 每个步骤可指定消息和延时天数。\n" +" 能管理多种语言的消息。\n" +"

\n" +" " #. module: account_followup #: field:account_followup.stat,date_move_last:0 diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py index 593430691aa..90dd5969d53 100644 --- a/addons/account_followup/report/account_followup_print.py +++ b/addons/account_followup/report/account_followup_print.py @@ -25,7 +25,7 @@ import pooler from report import report_sxw class report_rappel(report_sxw.rml_parse): - def __init__(self, cr, uid, name, context): + def __init__(self, cr, uid, name, context=None): super(report_rappel, self).__init__(cr, uid, name, context=context) self.localcontext.update({ 'time': time, @@ -43,14 +43,17 @@ class report_rappel(report_sxw.rml_parse): return all_lines def _lines_get(self, stat_by_partner_line): + return self._lines_get_with_partner(stat_by_partner_line.partner_id, stat_by_partner_line.company_id.id) + + def _lines_get_with_partner(self, partner, company_id): pool = pooler.get_pool(self.cr.dbname) moveline_obj = pool.get('account.move.line') company_obj = pool.get('res.company') obj_currency = pool.get('res.currency') movelines = moveline_obj.search(self.cr, self.uid, - [('partner_id', '=', stat_by_partner_line.partner_id.id), + [('partner_id', '=', partner.id), ('account_id.type', '=', 'receivable'), - ('reconcile_id', '=', False), ('state', '<>', 'draft'),('company_id','=', stat_by_partner_line.company_id.id)]) + ('reconcile_id', '=', False), ('state', '<>', 'draft'),('company_id','=', company_id)]) movelines = moveline_obj.browse(self.cr, self.uid, movelines) base_currency = movelines[0].company_id.currency_id final_res = [] @@ -67,7 +70,7 @@ class report_rappel(report_sxw.rml_parse): 'date_maturity': line.date_maturity, 'balance': currency.id <> line.company_id.currency_id.id and line.amount_currency or (line.debit - line.credit), 'blocked': line.blocked, - 'currency_id': currency.symbol or currency.name, + 'currency_id': currency, } line_cur[currency.id]['line'].append(line_data) @@ -88,7 +91,7 @@ class report_rappel(report_sxw.rml_parse): li_delay.sort(reverse=True) text = "" a = {} - partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id)]) + partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False)]) partner_delay = [] context.update({'lang': stat_line.partner_id.lang}) for i in pooler.get_pool(self.cr.dbname).get('account.move.line').browse(self.cr, self.uid, partner_line_ids, context): diff --git a/addons/account_followup/report/account_followup_print.rml b/addons/account_followup/report/account_followup_print.rml index 7f2242991de..fd3a35ab19c 100644 --- a/addons/account_followup/report/account_followup_print.rml +++ b/addons/account_followup/report/account_followup_print.rml @@ -194,7 +194,7 @@ [[ line['date_maturity'] and formatLang(line['date_maturity'], date=True) ]] - [[ formatLang(line['balance']) ]] [[ line['currency_id'] ]] + [[ formatLang(line['balance'], currency_obj=line['currency_id']) ]] [[ line['blocked'] and 'X' or '' ]] @@ -212,7 +212,7 @@ Total: - [[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00)) ]] [[ line['currency_id'] ]] + [[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00), currency_obj=line['currency_id']) ]] diff --git a/addons/account_followup/report/account_followup_report.xml b/addons/account_followup/report/account_followup_report.xml index 966931d78a9..6fee6a77ac1 100644 --- a/addons/account_followup/report/account_followup_report.xml +++ b/addons/account_followup/report/account_followup_report.xml @@ -64,8 +64,8 @@ {'search_default_followup_level':1} - - + + diff --git a/addons/account_followup/security/ir.model.access.csv b/addons/account_followup/security/ir.model.access.csv index 57292899825..8774015efc6 100644 --- a/addons/account_followup/security/ir.model.access.csv +++ b/addons/account_followup/security/ir.model.access.csv @@ -1,7 +1,7 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_account_followup_followup_line,account_followup.followup.line,model_account_followup_followup_line,account.group_account_user,1,0,0,0 -access_account_followup_followup_line_manager,account_followup.followup.line.manager,model_account_followup_followup_line,account.group_account_manager,1,1,1,1 -access_account_followup_followup_accountant,account_followup.followup user,model_account_followup_followup,account.group_account_user,1,0,0,0 -access_account_followup_followup_manager,account_followup.followup.manager,model_account_followup_followup,account.group_account_manager,1,1,1,1 -access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,1,1 -access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_manager,1,1,1,1 +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_followup_followup_line,account_followup.followup.line,model_account_followup_followup_line,account.group_account_invoice,1,0,0,0 +access_account_followup_followup_line_manager,account_followup.followup.line.manager,model_account_followup_followup_line,account.group_account_manager,1,1,1,1 +access_account_followup_followup_accountant,account_followup.followup user,model_account_followup_followup,account.group_account_invoice,1,0,0,0 +access_account_followup_followup_manager,account_followup.followup.manager,model_account_followup_followup,account.group_account_manager,1,1,1,1 +access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,1,1 +access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_user,1,1,1,1 diff --git a/addons/account_followup/test/account_followup.yml b/addons/account_followup/test/account_followup.yml index 06617b7af97..54dd3280984 100644 --- a/addons/account_followup/test/account_followup.yml +++ b/addons/account_followup/test/account_followup.yml @@ -3,34 +3,23 @@ - !record {model: account.invoice, id: account.demo_invoice_0}: check_total: 14.0 -- + date_invoice: 2012-06-2 + invoice_line: + - account_id : account.a_sale + name: 'Test PC' + quantity: 1.0 + journal_id: account.bank_journal + partner_id: base.res_partner_12 + reference_type: none +- !workflow {model: account.invoice, action: invoice_open, ref: account.demo_invoice_0} - I create a follow-up. - - !record {model: account.followup.print, id: account_followup_print_0}: + !record {model: account_followup.print, id: account_followup_print_0}: {} -- - I select the follow-up to send it to the partner. -- - !python {model: account.followup.print}: | - self.do_continue(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"), - }) -- - I select partners whom I want to send follow-ups. -- - !record {model: account.followup.print.all, id: account_followup_print_all_0}: - email_body: 'Date : %(date)s\n\nDear %(partner_name)s,\n\nPlease find in attachment - a reminder of all your unpaid invoices, for a total amount due of:\n\n%(followup_amount).2f - %(company_currency)s\n\nThanks,\n--\n%(user_signature)s\n%(company_name)s' - email_subject: Invoices Reminder - partner_ids: - - base.res_partner_12 - partner_lang: 1 -- - I send a follow-up mail to partner. -- - !python {model: account.followup.print.all}: | - import time - self.do_mail(cr, uid, [ref("account_followup_print_all_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "date": time.strftime('%Y-%m-%d'), "followup_id": ref("account_followup.demo_followup1"), "active_id": ref("account_followup.account_followup_print_menu"), - }) +- + I will process follow-ups +- + !python {model: account_followup.print}: | + self.do_process(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"),}) \ No newline at end of file diff --git a/addons/account_followup/test/account_followup_report.yml b/addons/account_followup/test/account_followup_report.yml deleted file mode 100644 index f2ad8a5bb9f..00000000000 --- a/addons/account_followup/test/account_followup_report.yml +++ /dev/null @@ -1,10 +0,0 @@ -- - In order to test the report I print follow-up report. -- - !python {model: account.followup.print.all}: | - import time - ctx = {'form_view_ref':'account_followup.view_account_followup_print_all', 'followup_id': ref('account_followup.demo_followup1'),'date': time.strftime('%Y-%m-%d'),'model': 'account_followup.followup','active_ids':[ref('account_followup_print_all_0')], 'company_id':ref('base.main_company')} - data_dict = {'email_conf': 1} - from tools import test_reports - test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow-ups"], our_module='account_followup') - diff --git a/addons/account_followup/tests/__init__.py b/addons/account_followup/tests/__init__.py new file mode 100644 index 00000000000..cf0ea3acbe6 --- /dev/null +++ b/addons/account_followup/tests/__init__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2012-TODAY OpenERP S.A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import test_account_followup + +checks = [ + test_account_followup, +] + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account_followup/tests/test_account_followup.py b/addons/account_followup/tests/test_account_followup.py new file mode 100644 index 00000000000..c46977bd6b5 --- /dev/null +++ b/addons/account_followup/tests/test_account_followup.py @@ -0,0 +1,159 @@ + + +import datetime + +import tools +from openerp.tests.common import TransactionCase + +import netsvc + +class TestAccountFollowup(TransactionCase): + def setUp(self): + """ setUp ***""" + super(TestAccountFollowup, self).setUp() + cr, uid = self.cr, self.uid + + self.user = self.registry('res.users') + self.user_id = self.user.browse(cr, uid, uid) + self.partner = self.registry('res.partner') + self.invoice = self.registry('account.invoice') + self.invoice_line = self.registry('account.invoice.line') + self.wizard = self.registry('account_followup.print') + self.followup_id = self.registry('account_followup.followup') + + self.partner_id = self.partner.create(cr, uid, {'name':'Test Company', + 'email':'test@localhost', + 'is_company': True, + }, + context=None) + self.followup_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup1")[1] + self.account_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "a_recv")[1] + self.journal_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "bank_journal")[1] + self.pay_account_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "cash")[1] + self.period_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "period_10")[1] + + self.first_followup_line_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup_line1")[1] + self.last_followup_line_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup_line3")[1] + self.product_id = self.registry("ir.model.data").get_object_reference(cr, uid, "product", "product_product_6")[1] + self.invoice_id = self.invoice.create(cr, uid, {'partner_id': self.partner_id, + 'account_id': self.account_id, + 'journal_id': self.journal_id, + 'invoice_line': [(0, 0, { + 'name': "LCD Screen", + 'product_id': self.product_id, + 'quantity': 5, + 'price_unit':200 + })]}) + wf_service = netsvc.LocalService("workflow") + wf_service.trg_validate(uid, 'account.invoice', self.invoice_id, 'invoice_open', cr) + + self.voucher = self.registry("account.voucher") + + + def test_00_send_followup_after_3_days(self): + """ Send follow up after 3 days and check nothing is done (as first follow-up level is only after 15 days)""" + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=3) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id) + + + def run_wizard_three_times(self): + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=40) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + + + def test_01_send_followup_later_for_upgrade(self): + """ Send one follow-up after 15 days to check it upgrades to level 1""" + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=15) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, { + 'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id.id, self.first_followup_line_id, + "Not updated to the correct follow-up level") + + def test_02_check_manual_action(self): + """ Check that when running the wizard three times that the manual action is set""" + cr, uid = self.cr, self.uid + self.run_wizard_three_times() + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).payment_next_action, + "Call the customer on the phone! ", "Manual action not set") + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).payment_next_action_date, + datetime.datetime.now().strftime("%Y-%m-%d")) + + def test_03_filter_on_credit(self): + """ Check the partners can be filtered on having credits """ + cr, uid = self.cr, self.uid + ids = self.partner.search(cr, uid, [('credit', '>=', 0.0)]) + self.assertIn(self.partner_id, ids) + + def test_04_action_done(self): + """ Run the wizard 3 times, mark it as done, check the action fields are empty""" + cr, uid = self.cr, self.uid + partner_rec = self.partner.browse(cr, uid, self.partner_id) + self.run_wizard_three_times() + self.partner.action_done(cr, uid, self.partner_id) + self.assertEqual(partner_rec.payment_next_action, + "", "Manual action not emptied") + self.assertFalse(partner_rec.payment_responsible_id) + self.assertFalse(partner_rec.payment_next_action_date) + + def test_05_litigation(self): + """ Set the account move line as litigation, run the wizard 3 times and check nothing happened. + Turn litigation off. Run the wizard 3 times and check it is in the right follow-up level. + """ + cr, uid = self.cr, self.uid + aml_id = self.partner.browse(cr, uid, self.partner_id).unreconciled_aml_ids[0].id + self.registry('account.move.line').write(cr, uid, aml_id, {'blocked': True}) + self.run_wizard_three_times() + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id, "Litigation does not work") + self.registry('account.move.line').write(cr, uid, aml_id, {'blocked': False}) + self.run_wizard_three_times() + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id.id, + self.last_followup_line_id, "Lines are not equal") + + def test_06_pay_the_invoice(self): + """Run wizard until manual action, pay the invoice and check that partner has no follow-up level anymore and after running the wizard the action is empty""" + cr, uid = self.cr, self.uid + self.test_02_check_manual_action() + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=1) + result = current_date + delta + self.invoice.pay_and_reconcile(cr, uid, [self.invoice_id], 1000.0, self.pay_account_id, + self.period_id, self.journal_id, self.pay_account_id, + self.period_id, self.journal_id, + name = "Payment for test customer invoice follow-up") + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id, "Level not empty") + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + partner_ref = self.partner.browse(cr, uid, self.partner_id) + print partner_ref.credit, partner_ref.payment_next_action_date, partner_ref.payment_responsible_id + self.assertEqual(0, self.partner.browse(cr, uid, self.partner_id).credit, "Credit != 0") + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).payment_next_action_date, "Next action date not cleared") + \ No newline at end of file diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py index 5791bacbed0..db93b3c63a8 100644 --- a/addons/account_followup/wizard/account_followup_print.py +++ b/addons/account_followup/wizard/account_followup_print.py @@ -26,49 +26,6 @@ import tools from osv import fields, osv from tools.translate import _ -class account_followup_print(osv.osv_memory): - _name = 'account.followup.print' - _description = 'Print Follow-up & Send Mail to Customers' - _columns = { - 'date': fields.date('Follow-up Sending Date', required=True, help="This field allow you to select a forecast date to plan your follow-ups"), - 'followup_id': fields.many2one('account_followup.followup', 'Follow-Up', required=True), - } - - def _get_followup(self, cr, uid, context=None): - if context is None: - context = {} - if context.get('active_model', 'ir.ui.menu') == 'account_followup.followup': - return context.get('active_id', False) - company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id - followp_id = self.pool.get('account_followup.followup').search(cr, uid, [('company_id', '=', company_id)], context=context) - return followp_id and followp_id[0] or False - - def do_continue(self, cr, uid, ids, context=None): - mod_obj = self.pool.get('ir.model.data') - - if context is None: - context = {} - data = self.browse(cr, uid, ids, context=context)[0] - model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all')], context=context) - resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] - context.update({'followup_id': data.followup_id.id, 'date': data.date, 'company_id': data.followup_id.company_id.id}) - return { - 'name': _('Select Partners'), - 'view_type': 'form', - 'context': context, - 'view_mode': 'tree,form', - 'res_model': 'account.followup.print.all', - 'views': [(resource_id,'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - } - - _defaults = { - 'date': lambda *a: time.strftime('%Y-%m-%d'), - 'followup_id': _get_followup, - } -account_followup_print() - class account_followup_stat_by_partner(osv.osv): _name = "account_followup.stat.by.partner" _description = "Follow-up Statistics by Partner" @@ -110,50 +67,201 @@ class account_followup_stat_by_partner(osv.osv): a.active AND a.type = 'receivable' AND l.reconcile_id is NULL AND - l.partner_id IS NOT NULL + l.partner_id IS NOT NULL AND + (l.blocked = False) GROUP BY l.partner_id, l.company_id - )""") + )""") #Blocked is to take into account litigation account_followup_stat_by_partner() -class account_followup_print_all(osv.osv_memory): - _name = 'account.followup.print.all' - _description = 'Print Follow-up & Send Mail to Customers' - _columns = { - 'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', 'osv_memory_id', 'partner_id', 'Partners', required=True), - 'email_conf': fields.boolean('Send Email Confirmation'), - 'email_subject': fields.char('Email Subject', size=64), - 'partner_lang': fields.boolean('Send Email in Partner Language', help='Do not change message text, if you want to send email in partner language, or configure from company'), - 'email_body': fields.text('Email Body'), - 'summary': fields.text('Summary', required=True, readonly=True), - 'test_print': fields.boolean('Test Print', help='Check if you want to print follow-ups without changing follow-ups level.') - } - def _get_summary(self, cr, uid, context=None): + +class account_followup_sending_results(osv.osv_memory): + + def do_report(self, cr, uid, ids, context=None): if context is None: context = {} - return context.get('summary', '') + return context.get('report_data') - def _get_partners(self, cr, uid, context=None): - return self._get_partners_followp(cr, uid, [], context=context)['partner_ids'] + def do_done(self, cr, uid, ids, context=None): + return {} + + def _get_description(self, cr, uid, context=None): + if context is None: + context = {} + return context.get('description') + + def _get_need_printing(self, cr, uid, context=None): + if context is None: + context = {} + return context.get('needprinting') + + _name = 'account_followup.sending.results' + _description = 'Results from the sending of the different letters and emails' + _columns = { + 'description': fields.text("Description", readonly=True), + 'needprinting': fields.boolean("Needs Printing") + } + _defaults = { + 'needprinting':_get_need_printing, + 'description':_get_description, + } + +account_followup_sending_results() + + +class account_followup_print(osv.osv_memory): + _name = 'account_followup.print' + _description = 'Print Follow-up & Send Mail to Customers' + _columns = { + 'date': fields.date('Follow-up Sending Date', required=True, + help="This field allow you to select a forecast date to plan your follow-ups"), + 'followup_id': fields.many2one('account_followup.followup', 'Follow-Up', required=True, readonly = True), + 'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', + 'osv_memory_id', 'partner_id', 'Partners', required=True), + 'company_id':fields.related('followup_id', 'company_id', type='many2one', + relation='res.company', store=True, readonly=True), + 'email_conf': fields.boolean('Send Email Confirmation'), + 'email_subject': fields.char('Email Subject', size=64), + 'partner_lang': fields.boolean('Send Email in Partner Language', + help='Do not change message text, if you want to send email in partner language, or configure from company'), + 'email_body': fields.text('Email Body'), + 'summary': fields.text('Summary', readonly=True), + 'test_print': fields.boolean('Test Print', + help='Check if you want to print follow-ups without changing follow-ups level.'), + } + + def _get_followup(self, cr, uid, context=None): + if context is None: + context = {} + if context.get('active_model', 'ir.ui.menu') == 'account_followup.followup': + return context.get('active_id', False) + company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id + followp_id = self.pool.get('account_followup.followup').search(cr, uid, [('company_id', '=', company_id)], context=context) + return followp_id and followp_id[0] or False + + def process_partners(self, cr, uid, partner_ids, data, context=None): + partner_obj = self.pool.get('res.partner') + partner_ids_to_print = [] + nbmanuals = 0 + manuals = {} + nbmails = 0 + nbunknownmails = 0 + nbprints = 0 + resulttext = " " + for partner in self.pool.get('account_followup.stat.by.partner').browse(cr, uid, partner_ids, context=context): + if partner.max_followup_id.manual_action: + partner_obj.do_partner_manual_action(cr, uid, [partner.partner_id.id], context=context) + nbmanuals = nbmanuals + 1 + key = partner.partner_id.payment_responsible_id.name or _("Nobody") + if not key in manuals.keys(): + manuals[key]= 1 + else: + manuals[key] = manuals[key] + 1 + if partner.max_followup_id.send_email: + nbunknownmails += partner_obj.do_partner_mail(cr, uid, [partner.partner_id.id], context=context) + nbmails += 1 + if partner.max_followup_id.send_letter: + partner_ids_to_print.append(partner.id) + nbprints += 1 + message = _("Follow-up letter of ") + " " + partner.partner_id.latest_followup_level_id_without_lit.name + "" + _(" will be sent") + partner_obj.message_post(cr, uid, [partner.partner_id.id], body=message, context=context) + if nbunknownmails == 0: + resulttext += str(nbmails) + _(" email(s) sent") + else: + resulttext += str(nbmails) + _(" email(s) should have been sent, but ") + str(nbunknownmails) + _(" had unknown email address(es)") + "\n
" + resulttext += "
" + str(nbprints) + _(" letter(s) in report") + " \n
" + str(nbmanuals) + _(" manual action(s) assigned:") + needprinting = False + if nbprints > 0: + needprinting = True + resulttext += "

" + for item in manuals: + resulttext = resulttext + "

  • " + item + ":" + str(manuals[item]) + "\n
  • " + resulttext += "

    " + result = {} + action = partner_obj.do_partner_print(cr, uid, partner_ids_to_print, data, context=context) + result['needprinting'] = needprinting + result['resulttext'] = resulttext + result['action'] = action or {} + return result + + def do_update_followup_level(self, cr, uid, to_update, partner_list, date, context=None): + #update the follow-up level on account.move.line + for id in to_update.keys(): + if to_update[id]['partner_id'] in partner_list: + self.pool.get('account.move.line').write(cr, uid, [int(id)], {'followup_line_id': to_update[id]['level'], + 'followup_date': date}) + + def clear_manual_actions(self, cr, uid, partner_list, context=None): + # Partnerlist is list to exclude + # Will clear the actions of partners that have no due payments anymore + partner_list_ids = [partner.partner_id.id for partner in self.pool.get('account_followup.stat.by.partner').browse(cr, uid, partner_list, context=context)] + ids = self.pool.get('res.partner').search(cr, uid, ['&', ('id', 'not in', partner_list_ids), '|', + ('payment_responsible_id', '!=', False), + ('payment_next_action_date', '!=', False)], context=context) + partners = self.pool.get('res.partner').browse(cr, uid, ids, context=context) + newids = [] + for part in partners: + credit = 0 + for aml in part.unreconciled_aml_ids: + credit +=aml.result + if credit <= 0: + newids.append(part.id) + self.pool.get('res.partner').action_done(cr, uid, newids, context=context) + return len(ids) + + def do_process(self, cr, uid, ids, context=None): + if context is None: + context = {} + + #Get partners + tmp = self._get_partners_followp(cr, uid, ids, context=context) + partner_list = tmp['partner_ids'] + to_update = tmp['to_update'] + date = self.browse(cr, uid, ids, context=context)[0].date + data = self.read(cr, uid, ids, [], context=context)[0] + data['followup_id'] = data['followup_id'][0] + + #Update partners + self.do_update_followup_level(cr, uid, to_update, partner_list, date, context=context) + #process the partners (send mails...) + restot = self.process_partners(cr, uid, partner_list, data, context=context) + #clear the manual actions if nothing is due anymore + nbactionscleared = self.clear_manual_actions(cr, uid, partner_list, context=context) + if nbactionscleared > 0: + restot['resulttext'] = restot['resulttext'] + "
  • " + _("%s partners have no credits and as such the action is cleared") %(str(nbactionscleared)) + "
  • " + res = restot['action'] + + #return the next action + mod_obj = self.pool.get('ir.model.data') + model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_sending_results')], context=context) + resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] + context.update({'description': restot['resulttext'], 'needprinting': restot['needprinting'], 'report_data': res}) + return { + 'name': _('Send Letters and Emails: Actions Summary'), + 'view_type': 'form', + 'context': context, + 'view_mode': 'tree,form', + 'res_model': 'account_followup.sending.results', + 'views': [(resource_id,'form')], + 'type': 'ir.actions.act_window', + 'target': 'new', + } def _get_msg(self, cr, uid, context=None): return self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.follow_up_msg _defaults = { - 'email_body': _get_msg, - 'email_subject': _('Invoices Reminder'), - 'partner_lang': True, - 'partner_ids': _get_partners, - 'summary': _get_summary, + 'date': lambda *a: time.strftime('%Y-%m-%d'), + 'followup_id': _get_followup, + 'email_body': "", + 'email_subject': _('Invoices Reminder'), + 'partner_lang': True, } def _get_partners_followp(self, cr, uid, ids, context=None): data = {} - if context is None: - context = {} - if ids: - data = self.browse(cr, uid, ids, context=context)[0] - company_id = 'company_id' in context and context['company_id'] or data.company_id.id + data = self.browse(cr, uid, ids, context=context)[0] + company_id = data.company_id.id cr.execute( "SELECT l.partner_id, l.followup_line_id,l.date_maturity, l.date, l.id "\ @@ -166,8 +274,9 @@ class account_followup_print_all(osv.osv_memory): "AND (l.partner_id is NOT NULL) "\ "AND (a.active) "\ "AND (l.debit > 0) "\ - "AND (l.company_id = %s) "\ - "ORDER BY l.date", (company_id,)) + "AND (l.company_id = %s) " \ + "AND (l.blocked = False)" \ + "ORDER BY l.date", (company_id,)) #l.blocked added to take litigation into account and it is not necessary to change follow-up level of account move lines without debit move_lines = cr.fetchall() old = None fups = {} @@ -181,17 +290,17 @@ class account_followup_print_all(osv.osv_memory): "FROM account_followup_followup_line "\ "WHERE followup_id=%s "\ "ORDER BY delay", (fup_id,)) + + #Create dictionary of tuples where first element is the date to compare with the due date and second element is the id of the next level for result in cr.dictfetchall(): delay = datetime.timedelta(days=result['delay']) fups[old] = (current_date - delay, result['id']) - if result['start'] == 'end_of_month': - fups[old][0].replace(day=1) old = result['id'] - fups[old] = (datetime.date(datetime.MAXYEAR, 12, 31), old) - partner_list = [] to_update = {} + + #Fill dictionary of accountmovelines to_update with the partners that need to be updated for partner_id, followup_line_id, date_maturity,date, id in move_lines: if not partner_id: continue @@ -209,134 +318,6 @@ class account_followup_print_all(osv.osv_memory): to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': stat_line_id} return {'partner_ids': partner_list, 'to_update': to_update} - def do_mail(self, cr, uid, ids, context=None): - mod_obj = self.pool.get('ir.model.data') - move_obj = self.pool.get('account.move.line') - user_obj = self.pool.get('res.users') - - if context is None: - context = {} - data = self.browse(cr, uid, ids, context=context)[0] - stat_by_partner_line_ids = [partner_id.id for partner_id in data.partner_ids] - partners = [stat_by_partner_line / 10000 for stat_by_partner_line in stat_by_partner_line_ids] - model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all_msg')], context=context) - resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] - if data.email_conf: - msg_sent = '' - msg_unsent = '' - data_user = user_obj.browse(cr, uid, uid, context=context) - for partner in self.pool.get('res.partner').browse(cr, uid, partners, context=context): - ids_lines = move_obj.search(cr,uid,[('partner_id','=',partner.id),('reconcile_id','=',False),('account_id.type','in',['receivable']),('company_id','=',context.get('company_id', False))]) - data_lines = move_obj.browse(cr, uid, ids_lines, context=context) - total_amt = 0.0 - for line in data_lines: - total_amt += line.debit - line.credit - dest = False - if partner: - dest = [partner.email] - if not data.partner_lang: - body = data.email_body - else: - cxt = context.copy() - cxt['lang'] = partner.lang - body = user_obj.browse(cr, uid, uid, context=cxt).company_id.follow_up_msg - move_line = '' - subtotal_due = 0.0 - subtotal_paid = 0.0 - subtotal_maturity = 0.0 - balance = 0.0 - l = '--------------------------------------------------------------------------------------------------------------------------' - head = l+ '\n' + 'Date'.rjust(10) + '\t' + 'Description'.rjust(10) + '\t' + 'Ref'.rjust(10) + '\t' + 'Due date'.rjust(10) + '\t' + 'Due'.rjust(10) + '\t' + 'Paid'.rjust(10) + '\t' + 'Maturity'.rjust(10) + '\t' + 'Litigation'.rjust(10) + '\n' + l - for i in data_lines: - maturity = 0.00 - if i.date_maturity < time.strftime('%Y-%m-%d') and (i.debit - i.credit): - maturity = i.debit - i.credit - subtotal_due = subtotal_due + i.debit - subtotal_paid = subtotal_paid + i.credit - subtotal_maturity = subtotal_maturity + int(maturity) - balance = balance + (i.debit - i.credit) - move_line = move_line + (i.date).rjust(10) + '\t'+ (i.name).rjust(10) + '\t'+ (i.ref or '').rjust(10) + '\t' + (i.date_maturity or '').rjust(10) + '\t' + str(i.debit).rjust(10) + '\t' + str(i.credit).rjust(10) + '\t' + str(maturity).rjust(10) + '\t' + str(i.blocked).rjust(10) + '\n' - move_line = move_line + l + '\n'+ '\t\t\t' + 'Sub total'.rjust(35) + '\t' + (str(subtotal_due) or '').rjust(10) + '\t' + (str(subtotal_paid) or '').rjust(10) + '\t' + (str(subtotal_maturity) or '').rjust(10)+ '\n' - move_line = move_line + '\t\t\t' + 'Balance'.rjust(33) + '\t' + str(balance).rjust(10) + '\n' + l - val = { - 'partner_name':partner.name, - 'followup_amount':total_amt, - 'user_signature':data_user.name, - 'company_name':data_user.company_id.name, - 'company_currency':data_user.company_id.currency_id.name, - 'line':move_line, - 'heading': head, - 'date':time.strftime('%Y-%m-%d'), - } - body = body%val - sub = tools.ustr(data.email_subject) - msg = '' - if dest: - try: - vals = {'state': 'outgoing', - 'subject': sub, - 'body_html': '
    %s
    ' % body, - 'email_to': dest, - 'email_from': data_user.email or tools.config.options['email_from']} - self.pool.get('mail.mail').create(cr, uid, vals, context=context) - msg_sent += partner.name + '\n' - except Exception, e: - raise osv.except_osv('Error !', e ) - else: - msg += partner.name + '\n' - msg_unsent += msg - if not msg_unsent: - summary = _("All Emails have been successfully sent to Partners:.\n\n%s") % msg_sent - else: - msg_unsent = _("Email not sent to following Partners, Email not available !\n\n%s") % msg_unsent - msg_sent = msg_sent and _("\n\nEmail sent to following Partners successfully. !\n\n%s") % msg_sent - line = '==========================================================================' - summary = msg_unsent + line + msg_sent - context.update({'summary': summary}) - else: - context.update({'summary': '\n\n\nEmail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'}) - - return { - 'name': _('Followup Summary'), - 'view_type': 'form', - 'context': context, - 'view_mode': 'tree,form', - 'res_model': 'account.followup.print.all', - 'views': [(resource_id,'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'nodestroy': True - } - - def do_print(self, cr, uid, ids, context=None): - if context is None: - context = {} - data = self.read(cr, uid, ids, [], context=context)[0] - res = self._get_partners_followp(cr, uid, ids, context)['to_update'] - to_update = res - data['followup_id'] = 'followup_id' in context and context['followup_id'] or False - date = 'date' in context and context['date'] or data['date'] - if not data['test_print']: - for id in to_update.keys(): - if to_update[id]['partner_id'] in data['partner_ids']: - cr.execute( - "UPDATE account_move_line "\ - "SET followup_line_id=%s, followup_date=%s "\ - "WHERE id=%s", - (to_update[id]['level'], - date, int(id),)) - data.update({'date': context['date']}) - datas = { - 'ids': [], - 'model': 'account_followup.followup', - 'form': data - } - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'account_followup.followup.print', - 'datas': datas, - } - -account_followup_print_all() +account_followup_print() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml index fe77dbc053e..29f36522d05 100644 --- a/addons/account_followup/wizard/account_followup_print_view.xml +++ b/addons/account_followup/wizard/account_followup_print_view.xml @@ -4,25 +4,29 @@ account.followup.print.form - account.followup.print + account_followup.print
    - - + + -
    -
    +

    + This action will send follow-up emails, print the letters and + set the manual actions per customers. +

    +
    +
    -
    +
    Send Follow-Ups - account.followup.print + account_followup.print form form new @@ -30,8 +34,10 @@ + parent="menu_finance_followup" + name = "Send Letters and Emails" + groups = "account.group_account_user" + sequence="2"/> account_followup.stat.by.partner.search @@ -47,7 +53,6 @@ - account_followup.stat.by.partner.tree account_followup.stat.by.partner @@ -63,63 +68,25 @@ - - account.followup.print.all.form - account.followup.print.all + + account_followup.sending.results.form + account_followup.sending.results -
    +
    -
    - - - - - - - - - - - - - - - - +
    + +
    +
    +
    +
    +
    - - - account.followup.print.all.msg.form - account.followup.print.all - -
    - - - - -
    - - - Send Follow-Ups - ir.actions.act_window - account.followup.print.all - form - form - new - diff --git a/addons/analytic/i18n/zh_CN.po b/addons/analytic/i18n/zh_CN.po index 08b550bca22..7f903347f16 100644 --- a/addons/analytic/i18n/zh_CN.po +++ b/addons/analytic/i18n/zh_CN.po @@ -8,39 +8,39 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 15:18+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-30 07:45+0000\n" +"Last-Translator: mrshelly \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: 2012-11-25 06:22+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: analytic #: field:account.analytic.account,child_ids:0 msgid "Child Accounts" -msgstr "子项" +msgstr "子科目" #. module: analytic #: selection:account.analytic.account,state:0 msgid "In Progress" -msgstr "" +msgstr "进行中" #. module: analytic #: model:mail.message.subtype,name:analytic.mt_account_status msgid "Status Change" -msgstr "" +msgstr "状态更改" #. module: analytic #: selection:account.analytic.account,state:0 msgid "Template" -msgstr "模板" +msgstr "模版" #. module: analytic #: view:account.analytic.account:0 msgid "End Date" -msgstr "" +msgstr "截止日期" #. module: analytic #: help:account.analytic.line,unit_amount:0 @@ -70,12 +70,12 @@ msgstr "" #. module: analytic #: field:account.analytic.account,manager_id:0 msgid "Account Manager" -msgstr "项管理" +msgstr "科目管理员" #. module: analytic #: field:account.analytic.account,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: analytic #: code:addons/analytic/analytic.py:312 @@ -96,23 +96,23 @@ msgstr "借方" #. module: analytic #: selection:account.analytic.account,state:0 msgid "New" -msgstr "新增" +msgstr "新建" #. module: analytic #: field:account.analytic.account,user_id:0 msgid "Project Manager" -msgstr "" +msgstr "项目主管" #. module: analytic #: field:account.analytic.account,state:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: analytic #: code:addons/analytic/analytic.py:254 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (副本)" #. module: analytic #: model:ir.model,name:analytic.model_account_analytic_line @@ -123,7 +123,7 @@ msgstr "辅助核算明细" #: field:account.analytic.account,description:0 #: field:account.analytic.line,name:0 msgid "Description" -msgstr "说明" +msgstr "描述" #. module: analytic #: field:account.analytic.account,name:0 @@ -133,12 +133,12 @@ msgstr "" #. module: analytic #: field:account.analytic.account,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读消息" #. module: analytic #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "错误!你不能循环创建辅助核算项" #. module: analytic #: field:account.analytic.account,company_id:0 @@ -180,7 +180,7 @@ msgstr "" #. module: analytic #: field:account.analytic.account,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: analytic #: field:account.analytic.line,user_id:0 diff --git a/addons/analytic_contract_hr_expense/i18n/zh_CN.po b/addons/analytic_contract_hr_expense/i18n/zh_CN.po new file mode 100644 index 00000000000..6ed7b3baca1 --- /dev/null +++ b/addons/analytic_contract_hr_expense/i18n/zh_CN.po @@ -0,0 +1,77 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 17:47+0000\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: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "or view" +msgstr "或 视图" + +#. module: analytic_contract_hr_expense +#: constraint:account.analytic.account:0 +msgid "Error! You cannot create recursive analytic accounts." +msgstr "错误!你不能循环创建辅助核算项" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,expense_invoiced:0 +#: field:account.analytic.account,expense_to_invoice:0 +#: field:account.analytic.account,remaining_expense:0 +msgid "unknown" +msgstr "未知" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "expenses" +msgstr "费用" + +#. module: analytic_contract_hr_expense +#: model:ir.model,name:analytic_contract_hr_expense.model_account_analytic_account +msgid "Analytic Account" +msgstr "辅助核算项" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:147 +#, python-format +msgid "Expenses to Invoice of %s" +msgstr "%s的费用到发票" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:133 +#, python-format +msgid "Expenses of %s" +msgstr "%s的费用" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "Nothing to invoice, create" +msgstr "尚未开票,创建" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,est_expenses:0 +msgid "Estimation of Expenses to Invoice" +msgstr "预估费用到发票" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,charge_expenses:0 +msgid "Charge Expenses" +msgstr "" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "⇒ Invoice" +msgstr "=> 开票" diff --git a/addons/auth_anonymous/i18n/it.po b/addons/auth_anonymous/i18n/it.po index 519b3bd8318..b2251ea113c 100644 --- a/addons/auth_anonymous/i18n/it.po +++ b/addons/auth_anonymous/i18n/it.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: auth_anonymous diff --git a/addons/auth_oauth/i18n/nl.po b/addons/auth_oauth/i18n/nl.po new file mode 100644 index 00000000000..ab401c3fc89 --- /dev/null +++ b/addons/auth_oauth/i18n/nl.po @@ -0,0 +1,150 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 19:36+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_oauth +#: field:auth.oauth.provider,validation_endpoint:0 +msgid "Validation URL" +msgstr "Validatie URL" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "U kunt niet twee gebruikers hebben met dezelfde gebruikersnaam !" + +#. module: auth_oauth +#: field:auth.oauth.provider,auth_endpoint:0 +msgid "Authentication URL" +msgstr "Authenticatie URL" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_oauth +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "Het gekozen bedrijf is geen toegestaan bedrijf voor deze gebruiker" + +#. module: auth_oauth +#: field:auth.oauth.provider,scope:0 +msgid "Scope" +msgstr "Beriek" + +#. module: auth_oauth +#: field:res.users,oauth_provider_id:0 +msgid "OAuth Provider" +msgstr "OAuth Provider" + +#. module: auth_oauth +#: field:auth.oauth.provider,css_class:0 +msgid "CSS class" +msgstr "CSS klasse" + +#. module: auth_oauth +#: field:auth.oauth.provider,body:0 +msgid "Body" +msgstr "Body" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: auth_oauth +#: field:auth.oauth.provider,sequence:0 +msgid "unknown" +msgstr "onbekend" + +#. module: auth_oauth +#: field:res.users,oauth_access_token:0 +msgid "OAuth Access Token" +msgstr "OAuth Access Token" + +#. module: auth_oauth +#: field:auth.oauth.provider,client_id:0 +#: field:base.config.settings,auth_oauth_facebook_client_id:0 +#: field:base.config.settings,auth_oauth_google_client_id:0 +msgid "Client ID" +msgstr "Client ID" + +#. module: auth_oauth +#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers +msgid "OAuth Providers" +msgstr "OAuth Providers" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_auth_oauth_provider +msgid "OAuth2 provider" +msgstr "OAuth2 provider" + +#. module: auth_oauth +#: field:res.users,oauth_uid:0 +msgid "OAuth User ID" +msgstr "OAuth User ID" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_facebook_enabled:0 +msgid "Allow users to sign in with Facebook" +msgstr "Gestaan dat gebruikers inloggen ia Facebook." + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID moet uniek zijn per provider" + +#. module: auth_oauth +#: help:res.users,oauth_uid:0 +msgid "Oauth Provider user_id" +msgstr "Oauth Provider user_id" + +#. module: auth_oauth +#: field:auth.oauth.provider,data_endpoint:0 +msgid "Data URL" +msgstr "Data URL" + +#. module: auth_oauth +#: view:auth.oauth.provider:0 +msgid "arch" +msgstr "arch" + +#. module: auth_oauth +#: field:auth.oauth.provider,name:0 +msgid "Provider name" +msgstr "Provider name" + +#. module: auth_oauth +#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider +msgid "Providers" +msgstr "Providers" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_google_enabled:0 +msgid "Allow users to sign in with Google" +msgstr "Toestaan da gebruikers inloggen via Google." + +#. module: auth_oauth +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "Fout: Ongeldige EAN-code" + +#. module: auth_oauth +#: field:auth.oauth.provider,enabled:0 +msgid "Allowed" +msgstr "Toegestaan" diff --git a/addons/auth_reset_password/i18n/ru.po b/addons/auth_reset_password/i18n/ru.po new file mode 100644 index 00000000000..0f80ee26a7f --- /dev/null +++ b/addons/auth_reset_password/i18n/ru.po @@ -0,0 +1,74 @@ +# Russian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 19:40+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: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_reset_password +#: model:email.template,body_html:auth_reset_password.reset_password_email +msgid "" +"\n" +"

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

    \n" +"\n" +"

    You may change your password following this link.

    \n" +"\n" +"

    Note: If you did not ask for a password reset, you can safely ignore this " +"email.

    " +msgstr "" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "" diff --git a/addons/base_action_rule/i18n/zh_CN.po b/addons/base_action_rule/i18n/zh_CN.po index a50f39dcf0d..844bf521146 100644 --- a/addons/base_action_rule/i18n/zh_CN.po +++ b/addons/base_action_rule/i18n/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: base_action_rule diff --git a/addons/base_import/i18n/it.po b/addons/base_import/i18n/it.po new file mode 100644 index 00000000000..062f55c3712 --- /dev/null +++ b/addons/base_import/i18n/it.po @@ -0,0 +1,1164 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 22:50+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" +"Language-Team: Italian \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-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:420 +#, python-format +msgid "Get all possible values" +msgstr "Ottieni tutti i valori possibili" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:71 +#, python-format +msgid "Need to import data from an other application?" +msgstr "Necessiti di importare dati da altre applicazioni?" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:163 +#, python-format +msgid "" +"When you use External IDs, you can import CSV files \n" +" with the \"External ID\" column to define the " +"External \n" +" ID of each record you import. Then, you will be able " +"\n" +" to make a reference to that record with columns like " +"\n" +" \"Field/External ID\". The following two CSV files " +"give \n" +" you an example for Products and their Categories." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:271 +#, python-format +msgid "" +"How to export/import different tables from an SQL \n" +" application to OpenERP?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:310 +#, python-format +msgid "Relation Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:142 +#, python-format +msgid "" +"Country/Database ID: the unique OpenERP ID for a \n" +" record, defined by the ID postgresql column" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:155 +#, python-format +msgid "" +"Use \n" +" Country/Database ID: You should rarely use this \n" +" notation. It's mostly used by developers as it's " +"main \n" +" advantage is to never have conflicts (you may have \n" +" several records with the same name, but they always " +"\n" +" have a unique Database ID)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:146 +#, python-format +msgid "" +"For the country \n" +" Belgium, you can use one of these 3 ways to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:303 +#, python-format +msgid "company_1,Bigees,True" +msgstr "company_1,Bigees,True" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o +msgid "base_import.tests.models.m2o" +msgstr "base_import.tests.models.m2o" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:297 +#, python-format +msgid "" +"copy \n" +" (select 'company_'||id as \"External " +"ID\",company_name \n" +" as \"Name\",'True' as \"Is a Company\" from " +"companies) TO \n" +" '/tmp/company.csv' with CSV HEADER;" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:206 +#, python-format +msgid "CSV file for Manufacturer, Retailer" +msgstr "File CSV per Produttore, Rivenditore" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:160 +#, python-format +msgid "" +"Use \n" +" Country/External ID: Use External ID when you import " +"\n" +" data from a third party application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:316 +#, python-format +msgid "person_1,Fabien,False,company_1" +msgstr "person_1,Fabien,False,company_1" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/External ID" +msgstr "XXX/External ID" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:351 +#, python-format +msgid "Don't Import" +msgstr "Non Importare" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:24 +#, python-format +msgid "Select the" +msgstr "Seleziona il" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:100 +#, python-format +msgid "" +"Note that if your CSV file \n" +" has a tabulation as separator, OpenERP will not \n" +" detect the separations. You will need to change the " +"\n" +" file format options in your spreadsheet application. " +"\n" +" See the following question." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:141 +#, python-format +msgid "Country: the name or code of the country" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m_child +msgid "base_import.tests.models.o2m.child" +msgstr "base_import.tests.models.o2m.child" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:239 +#, python-format +msgid "Can I import several times the same record?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:15 +#, python-format +msgid "Validate" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:55 +#, python-format +msgid "Map your data to OpenERP" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:153 +#, python-format +msgid "" +"Use Country: This is \n" +" the easiest way when your data come from CSV files \n" +" that have been created manually." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:127 +#, python-format +msgid "" +"What's the difference between Database ID and \n" +" External ID?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:138 +#, python-format +msgid "" +"For example, to \n" +" reference the country of a contact, OpenERP proposes " +"\n" +" you 3 different fields to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:175 +#, python-format +msgid "What can I do if I have multiple matches for a field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:302 +#, python-format +msgid "External ID,Name,Is a Company" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,somevalue:0 +msgid "Some Value" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:231 +#, python-format +msgid "" +"The following CSV file shows how to import \n" +" suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:109 +#, python-format +msgid "" +"How can I change the CSV file format options when \n" +" saving in my spreadsheet application?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:320 +#, python-format +msgid "" +"As you can see in this file, Fabien and Laurence \n" +" are working for the Bigees company (company_1) and \n" +" Eric is working for the Organi company. The relation " +"\n" +" between persons and companies is done using the \n" +" External ID of the companies. We had to prefix the \n" +" \"External ID\" by the name of the table to avoid a " +"\n" +" conflict of ID between persons and companies " +"(person_1 \n" +" and company_1 who shared the same ID 1 in the " +"orignial \n" +" database)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:308 +#, python-format +msgid "" +"copy (select \n" +" 'person_'||id as \"External ID\",person_name as \n" +" \"Name\",'False' as \"Is a " +"Company\",'company_'||company_id\n" +" as \"Related Company/External ID\" from persons) TO " +"\n" +" '/tmp/person.csv' with CSV" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "Country: Belgium" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_stillreadonly +msgid "base_import.tests.models.char.stillreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:314 +#, python-format +msgid "" +"External ID,Name,Is a \n" +" Company,Related Company/External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:233 +#, python-format +msgid "Suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:179 +#, python-format +msgid "" +"If for example you have two product categories \n" +" with the child name \"Sellable\" (ie. \"Misc. \n" +" Products/Sellable\" & \"Other Products/Sellable\"),\n" +" your validation is halted but you may still import \n" +" your data. However, we recommend you do not import " +"the \n" +" data because they will all be linked to the first \n" +" 'Sellable' category found in the Product Category " +"list \n" +" (\"Misc. Products/Sellable\"). We recommend you " +"modify \n" +" one of the duplicates' values or your product " +"category \n" +" hierarchy." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:306 +#, python-format +msgid "" +"To create the CSV file for persons, linked to \n" +" companies, we will use the following SQL command in " +"\n" +" PSQL:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:119 +#, python-format +msgid "" +"Microsoft Excel will allow \n" +" you to modify only the encoding when saving \n" +" (in 'Save As' dialog box > click 'Tools' dropdown \n" +" list > Encoding tab)." +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,othervalue:0 +msgid "Other Variable" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "" +"will also be used to update the original\n" +" import if you need to re-import modified data\n" +" later, it's thus good practice to specify it\n" +" whenever possible" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid "" +"file to import. If you need a sample importable file, you\n" +" can use the export tool to generate one." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "" +"Country/Database \n" +" ID: 21" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char +msgid "base_import.tests.models.char" +msgstr "" + +#. module: base_import +#: help:base_import.import,file:0 +msgid "File to check and/or import, raw binary (not base64)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:230 +#, python-format +msgid "Purchase orders with their respective purchase order lines" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:60 +#, python-format +msgid "" +"If the file contains\n" +" the column names, OpenERP can try auto-detecting the\n" +" field corresponding to the column. This makes imports\n" +" simpler especially when the file has many columns." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid ".CSV" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "" +". The issue is\n" +" usually an incorrect file encoding." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required +msgid "base_import.tests.models.m2o.required" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:212 +#, python-format +msgid "" +"How can I import a one2many relationship (e.g. several \n" +" Order Lines of a Sale Order)?" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly +msgid "base_import.tests.models.char.noreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:113 +#, python-format +msgid "" +"If you edit and save CSV files in speadsheet \n" +" applications, your computer's regional settings will " +"\n" +" be applied for the separator and delimiter. \n" +" We suggest you use OpenOffice or LibreOffice Calc \n" +" as they will allow you to modify all three options \n" +" (in 'Save As' dialog box > Check the box 'Edit " +"filter \n" +" settings' > Save)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:30 +#, python-format +msgid "CSV File:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_preview +msgid "base_import.tests.models.preview" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_required +msgid "base_import.tests.models.char.required" +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:112 +#, python-format +msgid "Database ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:313 +#, python-format +msgid "It will produce the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:362 +#, python-format +msgid "Here is the start of the file we could not import:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_type:0 +msgid "File Type" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_import +msgid "base_import.import" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m +msgid "base_import.tests.models.o2m" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "Import preview failed due to:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:144 +#, python-format +msgid "" +"Country/External ID: the ID of this record \n" +" referenced in another application (or the .XML file " +"\n" +" that imported it)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:35 +#, python-format +msgid "Reload data to check changes." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly +msgid "base_import.tests.models.char.readonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:131 +#, python-format +msgid "" +"Some fields define a relationship with another \n" +" object. For example, the country of a contact is a \n" +" link to a record of the 'Country' object. When you \n" +" want to import such fields, OpenERP will have to \n" +" recreate links between the different records. \n" +" To help you import such fields, OpenERP provides 3 \n" +" mechanisms. You must use one and only one mechanism " +"\n" +" per field you want to import." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:201 +#, python-format +msgid "" +"The tags should be separated by a comma without any \n" +" spacing. For example, if you want you customer to be " +"\n" +" lined to both tags 'Manufacturer' and 'Retailer' \n" +" then you will encode it as follow \"Manufacturer,\n" +" Retailer\" in the same column of your CSV file." +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:264 +#, python-format +msgid "You must configure at least one field to import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:304 +#, python-format +msgid "company_2,Organi,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:58 +#, python-format +msgid "" +"The first row of the\n" +" file contains the label of the column" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_states +msgid "base_import.tests.models.char.states" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:7 +#, python-format +msgid "Import a CSV File" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:74 +#, python-format +msgid "Quoting:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related +msgid "base_import.tests.models.m2o.required.related" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid ")." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:18 +#: code:addons/base_import/static/src/xml/import.xml:396 +#, python-format +msgid "Import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:407 +#, python-format +msgid "Here are the possible values:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "The" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:227 +#, python-format +msgid "" +"A single column was found in the file, this often means the file separator " +"is incorrect" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid "dump of such a PostgreSQL database" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:301 +#, python-format +msgid "This SQL command will create the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:228 +#, python-format +msgid "" +"The following CSV file shows how to import purchase \n" +" orders with their respective purchase order lines:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:91 +#, python-format +msgid "" +"What can I do when the Import preview table isn't \n" +" displayed correctly?" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.char,value:0 +#: field:base_import.tests.models.char.noreadonly,value:0 +#: field:base_import.tests.models.char.readonly,value:0 +#: field:base_import.tests.models.char.required,value:0 +#: field:base_import.tests.models.char.states,value:0 +#: field:base_import.tests.models.char.stillreadonly,value:0 +#: field:base_import.tests.models.m2o,value:0 +#: field:base_import.tests.models.m2o.related,value:0 +#: field:base_import.tests.models.m2o.required,value:0 +#: field:base_import.tests.models.m2o.required.related,value:0 +#: field:base_import.tests.models.o2m,value:0 +#: field:base_import.tests.models.o2m.child,parent_id:0 +#: field:base_import.tests.models.o2m.child,value:0 +msgid "unknown" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:317 +#, python-format +msgid "person_2,Laurence,False,company_1" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:149 +#, python-format +msgid "Country/External ID: base.be" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:288 +#, python-format +msgid "" +"As an example, suppose you have a SQL database \n" +" with two tables you want to import: companies and \n" +" persons. Each person belong to one company, so you \n" +" will have to recreate the link between a person and " +"\n" +" the company he work for. (If you want to test this \n" +" example, here is a" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:396 +#, python-format +msgid "(%d more)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:227 +#, python-format +msgid "File for some Quotations" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:72 +#, python-format +msgid "Encoding:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:280 +#, python-format +msgid "" +"To manage relations between tables, \n" +" you can use the \"External ID\" facilities of " +"OpenERP. \n" +" The \"External ID\" of a record is the unique " +"identifier \n" +" of this record in another application. This " +"\"External \n" +" ID\" must be unique accoss all the records of all \n" +" objects, so it's a good practice to prefix this \n" +" \"External ID\" with the name of the application or " +"\n" +" table. (like 'company_1', 'person_1' instead of '1')" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:295 +#, python-format +msgid "" +"We will first export all companies and their \n" +" \"External ID\". In PSQL, write the following " +"command:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:373 +#, python-format +msgid "Everything seems valid." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:188 +#, python-format +msgid "" +"However if you do not wish to change your \n" +" configuration of product categories, we recommend " +"you \n" +" use make use of the external ID for this field \n" +" 'Category'." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:390 +#, python-format +msgid "at row %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:197 +#, python-format +msgid "" +"How can I import a many2many relationship field \n" +" (e.g. a customer that has multiple tags)?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:275 +#, python-format +msgid "" +"If you need to import data from different tables, \n" +" you will have to recreate relations between records " +"\n" +" belonging to different tables. (e.g. if you import \n" +" companies and persons, you will have to recreate the " +"\n" +" link between each person and the company they work \n" +" for)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:150 +#, python-format +msgid "" +"According to your need, you should use \n" +" one of these 3 ways to reference records in " +"relations. \n" +" Here is when you should use one or the other, \n" +" according to your need:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:319 +#, python-format +msgid "person_4,Ramsy,False,company_3" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:261 +#, python-format +msgid "" +"If you do not set all fields in your CSV file, \n" +" OpenERP will assign the default value for every non " +"\n" +" defined fields. But if you\n" +" set fields with empty values in your CSV file, " +"OpenERP \n" +" will set the EMPTY value in the field, instead of \n" +" assigning the default value." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:20 +#, python-format +msgid "Cancel" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:257 +#, python-format +msgid "" +"What happens if I do not provide a value for a \n" +" specific field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:68 +#, python-format +msgid "Frequently Asked Questions" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:305 +#, python-format +msgid "company_3,Boum,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:249 +#, python-format +msgid "" +"This feature \n" +" allows you to use the Import/Export tool of OpenERP " +"to \n" +" modify a batch of records in your favorite " +"spreadsheet \n" +" application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#, python-format +msgid "" +"column in OpenERP. When you\n" +" import an other record that links to the first\n" +" one, use" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:242 +#, python-format +msgid "" +"If you import a file that contains one of the \n" +" column \"External ID\" or \"Database ID\", records " +"that \n" +" have already been imported will be modified instead " +"of \n" +" being created. This is very usefull as it allows you " +"\n" +" to import several times the same CSV file while " +"having \n" +" made some changes in between two imports. OpenERP " +"will \n" +" take care of creating or modifying each record \n" +" depending if it's new or not." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:169 +#, python-format +msgid "CSV file for categories" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:309 +#, python-format +msgid "Normal Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:74 +#, python-format +msgid "" +"In order to re-create relationships between\n" +" different records, you should use the unique\n" +" identifier from the original application and\n" +" map it to the" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:170 +#, python-format +msgid "CSV file for Products" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:216 +#, python-format +msgid "" +"If you want to import sales order having several \n" +" order lines; for each order line, you need to " +"reserve \n" +" a specific row in the CSV file. The first order line " +"\n" +" will be imported on the same row as the information " +"\n" +" relative to order. Any additional lines will need an " +"\n" +" addtional row that does not have any information in " +"\n" +" the fields relative to the order." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related +msgid "base_import.tests.models.m2o.related" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,name:0 +msgid "Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "to the original unique identifier." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:318 +#, python-format +msgid "person_3,Eric,False,company_2" +msgstr "" + +#. module: base_import +#: field:base_import.import,res_model:0 +msgid "Model" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:329 +#, python-format +msgid "" +"The two files produced are ready to be imported in \n" +" OpenERP without any modifications. After having \n" +" imported these two CSV files, you will have 4 " +"contacts \n" +" and 3 companies. (the firsts two contacts are linked " +"\n" +" to the first company). You must first import the \n" +" companies and then the persons." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:95 +#, python-format +msgid "" +"By default the Import preview is set on commas as \n" +" field separators and quotation marks as text \n" +" delimiters. If your csv file does not have these \n" +" settings, you can modify the File Format Options \n" +" (displayed under the Browse CSV file bar after you \n" +" select your file)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:73 +#, python-format +msgid "Separator:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_name:0 +msgid "File Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/models.py:80 +#: code:addons/base_import/models.py:111 +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:39 +#, python-format +msgid "File Format Options…" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:392 +#, python-format +msgid "between rows %d and %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:19 +#, python-format +msgid "or" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:223 +#, python-format +msgid "" +"As an example, here is \n" +" purchase.order_functional_error_line_cant_adpat.CSV " +"\n" +" file of some quotations you can import, based on " +"demo \n" +" data." +msgstr "" + +#. module: base_import +#: field:base_import.import,file:0 +msgid "File" +msgstr "" diff --git a/addons/base_import/i18n/nl.po b/addons/base_import/i18n/nl.po new file mode 100644 index 00000000000..00a5cf5e7b5 --- /dev/null +++ b/addons/base_import/i18n/nl.po @@ -0,0 +1,1164 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 20:04+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:420 +#, python-format +msgid "Get all possible values" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:71 +#, python-format +msgid "Need to import data from an other application?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:163 +#, python-format +msgid "" +"When you use External IDs, you can import CSV files \n" +" with the \"External ID\" column to define the " +"External \n" +" ID of each record you import. Then, you will be able " +"\n" +" to make a reference to that record with columns like " +"\n" +" \"Field/External ID\". The following two CSV files " +"give \n" +" you an example for Products and their Categories." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:271 +#, python-format +msgid "" +"How to export/import different tables from an SQL \n" +" application to OpenERP?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:310 +#, python-format +msgid "Relation Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:142 +#, python-format +msgid "" +"Country/Database ID: the unique OpenERP ID for a \n" +" record, defined by the ID postgresql column" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:155 +#, python-format +msgid "" +"Use \n" +" Country/Database ID: You should rarely use this \n" +" notation. It's mostly used by developers as it's " +"main \n" +" advantage is to never have conflicts (you may have \n" +" several records with the same name, but they always " +"\n" +" have a unique Database ID)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:146 +#, python-format +msgid "" +"For the country \n" +" Belgium, you can use one of these 3 ways to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:303 +#, python-format +msgid "company_1,Bigees,True" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o +msgid "base_import.tests.models.m2o" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:297 +#, python-format +msgid "" +"copy \n" +" (select 'company_'||id as \"External " +"ID\",company_name \n" +" as \"Name\",'True' as \"Is a Company\" from " +"companies) TO \n" +" '/tmp/company.csv' with CSV HEADER;" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:206 +#, python-format +msgid "CSV file for Manufacturer, Retailer" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:160 +#, python-format +msgid "" +"Use \n" +" Country/External ID: Use External ID when you import " +"\n" +" data from a third party application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:316 +#, python-format +msgid "person_1,Fabien,False,company_1" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:351 +#, python-format +msgid "Don't Import" +msgstr "Niet importeren" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:24 +#, python-format +msgid "Select the" +msgstr "Selecteer de" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:100 +#, python-format +msgid "" +"Note that if your CSV file \n" +" has a tabulation as separator, OpenERP will not \n" +" detect the separations. You will need to change the " +"\n" +" file format options in your spreadsheet application. " +"\n" +" See the following question." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:141 +#, python-format +msgid "Country: the name or code of the country" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m_child +msgid "base_import.tests.models.o2m.child" +msgstr "base_import.tests.models.o2m.child" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:239 +#, python-format +msgid "Can I import several times the same record?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:15 +#, python-format +msgid "Validate" +msgstr "Bevestigen" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:55 +#, python-format +msgid "Map your data to OpenERP" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:153 +#, python-format +msgid "" +"Use Country: This is \n" +" the easiest way when your data come from CSV files \n" +" that have been created manually." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:127 +#, python-format +msgid "" +"What's the difference between Database ID and \n" +" External ID?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:138 +#, python-format +msgid "" +"For example, to \n" +" reference the country of a contact, OpenERP proposes " +"\n" +" you 3 different fields to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:175 +#, python-format +msgid "What can I do if I have multiple matches for a field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:302 +#, python-format +msgid "External ID,Name,Is a Company" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,somevalue:0 +msgid "Some Value" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:231 +#, python-format +msgid "" +"The following CSV file shows how to import \n" +" suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:109 +#, python-format +msgid "" +"How can I change the CSV file format options when \n" +" saving in my spreadsheet application?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:320 +#, python-format +msgid "" +"As you can see in this file, Fabien and Laurence \n" +" are working for the Bigees company (company_1) and \n" +" Eric is working for the Organi company. The relation " +"\n" +" between persons and companies is done using the \n" +" External ID of the companies. We had to prefix the \n" +" \"External ID\" by the name of the table to avoid a " +"\n" +" conflict of ID between persons and companies " +"(person_1 \n" +" and company_1 who shared the same ID 1 in the " +"orignial \n" +" database)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:308 +#, python-format +msgid "" +"copy (select \n" +" 'person_'||id as \"External ID\",person_name as \n" +" \"Name\",'False' as \"Is a " +"Company\",'company_'||company_id\n" +" as \"Related Company/External ID\" from persons) TO " +"\n" +" '/tmp/person.csv' with CSV" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "Country: Belgium" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_stillreadonly +msgid "base_import.tests.models.char.stillreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:314 +#, python-format +msgid "" +"External ID,Name,Is a \n" +" Company,Related Company/External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:233 +#, python-format +msgid "Suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:179 +#, python-format +msgid "" +"If for example you have two product categories \n" +" with the child name \"Sellable\" (ie. \"Misc. \n" +" Products/Sellable\" & \"Other Products/Sellable\"),\n" +" your validation is halted but you may still import \n" +" your data. However, we recommend you do not import " +"the \n" +" data because they will all be linked to the first \n" +" 'Sellable' category found in the Product Category " +"list \n" +" (\"Misc. Products/Sellable\"). We recommend you " +"modify \n" +" one of the duplicates' values or your product " +"category \n" +" hierarchy." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:306 +#, python-format +msgid "" +"To create the CSV file for persons, linked to \n" +" companies, we will use the following SQL command in " +"\n" +" PSQL:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:119 +#, python-format +msgid "" +"Microsoft Excel will allow \n" +" you to modify only the encoding when saving \n" +" (in 'Save As' dialog box > click 'Tools' dropdown \n" +" list > Encoding tab)." +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,othervalue:0 +msgid "Other Variable" +msgstr "Andere variabele" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "" +"will also be used to update the original\n" +" import if you need to re-import modified data\n" +" later, it's thus good practice to specify it\n" +" whenever possible" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid "" +"file to import. If you need a sample importable file, you\n" +" can use the export tool to generate one." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "" +"Country/Database \n" +" ID: 21" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char +msgid "base_import.tests.models.char" +msgstr "" + +#. module: base_import +#: help:base_import.import,file:0 +msgid "File to check and/or import, raw binary (not base64)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:230 +#, python-format +msgid "Purchase orders with their respective purchase order lines" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:60 +#, python-format +msgid "" +"If the file contains\n" +" the column names, OpenERP can try auto-detecting the\n" +" field corresponding to the column. This makes imports\n" +" simpler especially when the file has many columns." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid ".CSV" +msgstr ".CSV" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "" +". The issue is\n" +" usually an incorrect file encoding." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required +msgid "base_import.tests.models.m2o.required" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:212 +#, python-format +msgid "" +"How can I import a one2many relationship (e.g. several \n" +" Order Lines of a Sale Order)?" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly +msgid "base_import.tests.models.char.noreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:113 +#, python-format +msgid "" +"If you edit and save CSV files in speadsheet \n" +" applications, your computer's regional settings will " +"\n" +" be applied for the separator and delimiter. \n" +" We suggest you use OpenOffice or LibreOffice Calc \n" +" as they will allow you to modify all three options \n" +" (in 'Save As' dialog box > Check the box 'Edit " +"filter \n" +" settings' > Save)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:30 +#, python-format +msgid "CSV File:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_preview +msgid "base_import.tests.models.preview" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_required +msgid "base_import.tests.models.char.required" +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:112 +#, python-format +msgid "Database ID" +msgstr "Database ID" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:313 +#, python-format +msgid "It will produce the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:362 +#, python-format +msgid "Here is the start of the file we could not import:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_type:0 +msgid "File Type" +msgstr "Bestandstype" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_import +msgid "base_import.import" +msgstr "base_import.import" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m +msgid "base_import.tests.models.o2m" +msgstr "base_import.tests.models.o2m" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "Import preview failed due to:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:144 +#, python-format +msgid "" +"Country/External ID: the ID of this record \n" +" referenced in another application (or the .XML file " +"\n" +" that imported it)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:35 +#, python-format +msgid "Reload data to check changes." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly +msgid "base_import.tests.models.char.readonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:131 +#, python-format +msgid "" +"Some fields define a relationship with another \n" +" object. For example, the country of a contact is a \n" +" link to a record of the 'Country' object. When you \n" +" want to import such fields, OpenERP will have to \n" +" recreate links between the different records. \n" +" To help you import such fields, OpenERP provides 3 \n" +" mechanisms. You must use one and only one mechanism " +"\n" +" per field you want to import." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:201 +#, python-format +msgid "" +"The tags should be separated by a comma without any \n" +" spacing. For example, if you want you customer to be " +"\n" +" lined to both tags 'Manufacturer' and 'Retailer' \n" +" then you will encode it as follow \"Manufacturer,\n" +" Retailer\" in the same column of your CSV file." +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:264 +#, python-format +msgid "You must configure at least one field to import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:304 +#, python-format +msgid "company_2,Organi,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:58 +#, python-format +msgid "" +"The first row of the\n" +" file contains the label of the column" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_states +msgid "base_import.tests.models.char.states" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:7 +#, python-format +msgid "Import a CSV File" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:74 +#, python-format +msgid "Quoting:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related +msgid "base_import.tests.models.m2o.required.related" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid ")." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:18 +#: code:addons/base_import/static/src/xml/import.xml:396 +#, python-format +msgid "Import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:407 +#, python-format +msgid "Here are the possible values:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "The" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:227 +#, python-format +msgid "" +"A single column was found in the file, this often means the file separator " +"is incorrect" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid "dump of such a PostgreSQL database" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:301 +#, python-format +msgid "This SQL command will create the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:228 +#, python-format +msgid "" +"The following CSV file shows how to import purchase \n" +" orders with their respective purchase order lines:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:91 +#, python-format +msgid "" +"What can I do when the Import preview table isn't \n" +" displayed correctly?" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.char,value:0 +#: field:base_import.tests.models.char.noreadonly,value:0 +#: field:base_import.tests.models.char.readonly,value:0 +#: field:base_import.tests.models.char.required,value:0 +#: field:base_import.tests.models.char.states,value:0 +#: field:base_import.tests.models.char.stillreadonly,value:0 +#: field:base_import.tests.models.m2o,value:0 +#: field:base_import.tests.models.m2o.related,value:0 +#: field:base_import.tests.models.m2o.required,value:0 +#: field:base_import.tests.models.m2o.required.related,value:0 +#: field:base_import.tests.models.o2m,value:0 +#: field:base_import.tests.models.o2m.child,parent_id:0 +#: field:base_import.tests.models.o2m.child,value:0 +msgid "unknown" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:317 +#, python-format +msgid "person_2,Laurence,False,company_1" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:149 +#, python-format +msgid "Country/External ID: base.be" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:288 +#, python-format +msgid "" +"As an example, suppose you have a SQL database \n" +" with two tables you want to import: companies and \n" +" persons. Each person belong to one company, so you \n" +" will have to recreate the link between a person and " +"\n" +" the company he work for. (If you want to test this \n" +" example, here is a" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:396 +#, python-format +msgid "(%d more)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:227 +#, python-format +msgid "File for some Quotations" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:72 +#, python-format +msgid "Encoding:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:280 +#, python-format +msgid "" +"To manage relations between tables, \n" +" you can use the \"External ID\" facilities of " +"OpenERP. \n" +" The \"External ID\" of a record is the unique " +"identifier \n" +" of this record in another application. This " +"\"External \n" +" ID\" must be unique accoss all the records of all \n" +" objects, so it's a good practice to prefix this \n" +" \"External ID\" with the name of the application or " +"\n" +" table. (like 'company_1', 'person_1' instead of '1')" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:295 +#, python-format +msgid "" +"We will first export all companies and their \n" +" \"External ID\". In PSQL, write the following " +"command:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:373 +#, python-format +msgid "Everything seems valid." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:188 +#, python-format +msgid "" +"However if you do not wish to change your \n" +" configuration of product categories, we recommend " +"you \n" +" use make use of the external ID for this field \n" +" 'Category'." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:390 +#, python-format +msgid "at row %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:197 +#, python-format +msgid "" +"How can I import a many2many relationship field \n" +" (e.g. a customer that has multiple tags)?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:275 +#, python-format +msgid "" +"If you need to import data from different tables, \n" +" you will have to recreate relations between records " +"\n" +" belonging to different tables. (e.g. if you import \n" +" companies and persons, you will have to recreate the " +"\n" +" link between each person and the company they work \n" +" for)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:150 +#, python-format +msgid "" +"According to your need, you should use \n" +" one of these 3 ways to reference records in " +"relations. \n" +" Here is when you should use one or the other, \n" +" according to your need:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:319 +#, python-format +msgid "person_4,Ramsy,False,company_3" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:261 +#, python-format +msgid "" +"If you do not set all fields in your CSV file, \n" +" OpenERP will assign the default value for every non " +"\n" +" defined fields. But if you\n" +" set fields with empty values in your CSV file, " +"OpenERP \n" +" will set the EMPTY value in the field, instead of \n" +" assigning the default value." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:20 +#, python-format +msgid "Cancel" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:257 +#, python-format +msgid "" +"What happens if I do not provide a value for a \n" +" specific field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:68 +#, python-format +msgid "Frequently Asked Questions" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:305 +#, python-format +msgid "company_3,Boum,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:249 +#, python-format +msgid "" +"This feature \n" +" allows you to use the Import/Export tool of OpenERP " +"to \n" +" modify a batch of records in your favorite " +"spreadsheet \n" +" application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#, python-format +msgid "" +"column in OpenERP. When you\n" +" import an other record that links to the first\n" +" one, use" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:242 +#, python-format +msgid "" +"If you import a file that contains one of the \n" +" column \"External ID\" or \"Database ID\", records " +"that \n" +" have already been imported will be modified instead " +"of \n" +" being created. This is very usefull as it allows you " +"\n" +" to import several times the same CSV file while " +"having \n" +" made some changes in between two imports. OpenERP " +"will \n" +" take care of creating or modifying each record \n" +" depending if it's new or not." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:169 +#, python-format +msgid "CSV file for categories" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:309 +#, python-format +msgid "Normal Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:74 +#, python-format +msgid "" +"In order to re-create relationships between\n" +" different records, you should use the unique\n" +" identifier from the original application and\n" +" map it to the" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:170 +#, python-format +msgid "CSV file for Products" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:216 +#, python-format +msgid "" +"If you want to import sales order having several \n" +" order lines; for each order line, you need to " +"reserve \n" +" a specific row in the CSV file. The first order line " +"\n" +" will be imported on the same row as the information " +"\n" +" relative to order. Any additional lines will need an " +"\n" +" addtional row that does not have any information in " +"\n" +" the fields relative to the order." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related +msgid "base_import.tests.models.m2o.related" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,name:0 +msgid "Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "to the original unique identifier." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:318 +#, python-format +msgid "person_3,Eric,False,company_2" +msgstr "" + +#. module: base_import +#: field:base_import.import,res_model:0 +msgid "Model" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:329 +#, python-format +msgid "" +"The two files produced are ready to be imported in \n" +" OpenERP without any modifications. After having \n" +" imported these two CSV files, you will have 4 " +"contacts \n" +" and 3 companies. (the firsts two contacts are linked " +"\n" +" to the first company). You must first import the \n" +" companies and then the persons." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:95 +#, python-format +msgid "" +"By default the Import preview is set on commas as \n" +" field separators and quotation marks as text \n" +" delimiters. If your csv file does not have these \n" +" settings, you can modify the File Format Options \n" +" (displayed under the Browse CSV file bar after you \n" +" select your file)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:73 +#, python-format +msgid "Separator:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_name:0 +msgid "File Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/models.py:80 +#: code:addons/base_import/models.py:111 +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:39 +#, python-format +msgid "File Format Options…" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:392 +#, python-format +msgid "between rows %d and %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:19 +#, python-format +msgid "or" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:223 +#, python-format +msgid "" +"As an example, here is \n" +" purchase.order_functional_error_line_cant_adpat.CSV " +"\n" +" file of some quotations you can import, based on " +"demo \n" +" data." +msgstr "" + +#. module: base_import +#: field:base_import.import,file:0 +msgid "File" +msgstr "" diff --git a/addons/base_status/i18n/nl.po b/addons/base_status/i18n/nl.po new file mode 100644 index 00000000000..fda67267cb7 --- /dev/null +++ b/addons/base_status/i18n/nl.po @@ -0,0 +1,88 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 19:38+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "Error !" +msgstr "Fout!" + +#. module: base_status +#: code:addons/base_status/base_stage.py:333 +#: code:addons/base_status/base_state.py:187 +#, python-format +msgid "%s has been opened." +msgstr "%s is geopend." + +#. module: base_status +#: code:addons/base_status/base_stage.py:357 +#: code:addons/base_status/base_state.py:220 +#, python-format +msgid "%s has been renewed." +msgstr "%s is vernieuw." + +#. module: base_status +#: code:addons/base_status/base_stage.py:215 +#, python-format +msgid "Error!" +msgstr "Fout!" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "" +"You can not escalate, you are already at the top level regarding your sales-" +"team category." +msgstr "" +"Het is niet mogelijk om verder te escaleren. U bent al op het hoogste niveau " +"van uw verkoopteam categorieën." + +#. module: base_status +#: code:addons/base_status/base_stage.py:351 +#: code:addons/base_status/base_state.py:214 +#, python-format +msgid "%s is now pending." +msgstr "" + +#. module: base_status +#: code:addons/base_status/base_stage.py:345 +#, python-format +msgid "%s has been cancelled." +msgstr "%s is geannuleerd." + +#. module: base_status +#: code:addons/base_status/base_state.py:208 +#, python-format +msgid "%s has been canceled." +msgstr "%s is geannuleerd." + +#. module: base_status +#: code:addons/base_status/base_stage.py:215 +#, python-format +msgid "" +"You are already at the top level of your sales-team category.\n" +"Therefore you cannot escalate furthermore." +msgstr "" + +#. module: base_status +#: code:addons/base_status/base_stage.py:339 +#: code:addons/base_status/base_state.py:202 +#, python-format +msgid "%s has been closed." +msgstr "%s is gesloten." diff --git a/addons/base_vat/i18n/de.po b/addons/base_vat/i18n/de.po index 77d0e735599..c4927463731 100644 --- a/addons/base_vat/i18n/de.po +++ b/addons/base_vat/i18n/de.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-01-13 19:12+0000\n" -"Last-Translator: Ferdinand @ Camptocamp \n" +"PO-Revision-Date: 2012-11-30 10:07+0000\n" +"Last-Translator: Felix Schubert \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:51+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_vat #: view:res.partner:0 @@ -34,7 +34,7 @@ msgstr "" #. module: base_vat #: sql_constraint:res.company:0 msgid "The company name must be unique !" -msgstr "Der Name der Firma darf nur einmal vorkommen!" +msgstr "Der Unternehmensname muss eindeutig sein!" #. module: base_vat #: constraint:res.partner:0 @@ -65,7 +65,7 @@ msgstr "" #. module: base_vat #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Fehler: Falscher EAN code" #. module: base_vat #: help:res.partner,vat_subjected:0 diff --git a/addons/base_vat/i18n/zh_CN.po b/addons/base_vat/i18n/zh_CN.po index 32d263a7122..ce0427f8abe 100644 --- a/addons/base_vat/i18n/zh_CN.po +++ b/addons/base_vat/i18n/zh_CN.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-10 03:41+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-30 17:41+0000\n" +"Last-Translator: ccdos \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:51+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_vat #: view:res.partner:0 msgid "Check Validity" -msgstr "" +msgstr "检查有效性" #. module: base_vat #: code:addons/base_vat/base_vat.py:147 @@ -52,18 +52,18 @@ msgstr "公司" #. module: base_vat #: constraint:res.company:0 msgid "Error! You can not create recursive companies." -msgstr "错误!您不能创建递归公司." +msgstr "错误!您不能创建循环的公司。" #. module: base_vat #: code:addons/base_vat/base_vat.py:111 #, python-format msgid "Error!" -msgstr "" +msgstr "错误!" #. module: base_vat #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: base_vat #: help:res.partner,vat_subjected:0 diff --git a/addons/board/i18n/zh_CN.po b/addons/board/i18n/zh_CN.po index 68a69317dca..816f79d0185 100644 --- a/addons/board/i18n/zh_CN.po +++ b/addons/board/i18n/zh_CN.po @@ -7,94 +7,94 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-01-23 10:14+0000\n" -"Last-Translator: Wei \"oldrev\" Li \n" +"PO-Revision-Date: 2012-11-30 17:42+0000\n" +"Last-Translator: ccdos \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:12+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: board #: model:ir.actions.act_window,name:board.action_board_create #: model:ir.ui.menu,name:board.menu_board_create msgid "Create Board" -msgstr "" +msgstr "创建仪表板" #. module: board #: view:board.create:0 msgid "Create" -msgstr "" +msgstr "创建" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:4 #, python-format msgid "Reset Layout.." -msgstr "" +msgstr "重置布局..." #. module: board #: view:board.create:0 msgid "Create New Dashboard" -msgstr "" +msgstr "创建新的仪表板" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:40 #, python-format msgid "Choose dashboard layout" -msgstr "" +msgstr "选择仪表板布局" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:70 #, python-format msgid "Add" -msgstr "" +msgstr "新增" #. module: board #. openerp-web #: code:addons/board/static/src/js/dashboard.js:139 #, python-format msgid "Are you sure you want to remove this item ?" -msgstr "" +msgstr "您确定要移除此条目吗?" #. module: board #: model:ir.model,name:board.model_board_board msgid "Board" -msgstr "控制台" +msgstr "仪表板" #. module: board #: view:board.board:0 #: model:ir.actions.act_window,name:board.open_board_my_dash_action #: model:ir.ui.menu,name:board.menu_board_my_dash msgid "My Dashboard" -msgstr "" +msgstr "我的仪表板" #. module: board #: field:board.create,name:0 msgid "Board Name" -msgstr "" +msgstr "仪表板名称" #. module: board #: model:ir.model,name:board.model_board_create msgid "Board Creation" -msgstr "" +msgstr "仪表板创建" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:67 #, python-format msgid "Add to Dashboard" -msgstr "" +msgstr "添加到仪表板" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:28 #, python-format msgid " " -msgstr "" +msgstr "不能有空格" #. module: board #: model:ir.actions.act_window,help:board.open_board_my_dash_action @@ -114,13 +114,26 @@ msgid "" " \n" " " msgstr "" +"
    \n" +"

    \n" +" 你的仪表板是空的.\n" +"

    \n" +" 你要添加你第一个报表到仪表板,进入任意菜单,\n" +" 切换到列表或者图片视图,从扩展搜索选项里单击\n" +" “添加到仪表板”\n" +"

    \n" +" 在使用搜索选项插入到仪表板之前,你能过滤并分\n" +" 组数据。\n" +"

    \n" +"
    \n" +" " #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:6 #, python-format msgid "Reset" -msgstr "" +msgstr "清空" #. module: board #: field:board.create,menu_parent_id:0 @@ -132,21 +145,21 @@ msgstr "上级菜单" #: code:addons/board/static/src/xml/board.xml:8 #, python-format msgid "Change Layout.." -msgstr "" +msgstr "更改布局..." #. module: board #. openerp-web #: code:addons/board/static/src/js/dashboard.js:93 #, python-format msgid "Edit Layout" -msgstr "" +msgstr "编辑布局" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:10 #, python-format msgid "Change Layout" -msgstr "" +msgstr "更改布局" #. module: board #: view:board.create:0 @@ -156,14 +169,14 @@ msgstr "取消" #. module: board #: view:board.create:0 msgid "or" -msgstr "" +msgstr "or" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:69 #, python-format msgid "Title of new dashboard item" -msgstr "" +msgstr "新的仪表板项目标题" #~ msgid "Author" #~ msgstr "作者" diff --git a/addons/claim_from_delivery/i18n/it.po b/addons/claim_from_delivery/i18n/it.po index da5e8074e9c..904678c797c 100644 --- a/addons/claim_from_delivery/i18n/it.po +++ b/addons/claim_from_delivery/i18n/it.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: claim_from_delivery diff --git a/addons/contacts/i18n/nl.po b/addons/contacts/i18n/nl.po new file mode 100644 index 00000000000..efc535462eb --- /dev/null +++ b/addons/contacts/i18n/nl.po @@ -0,0 +1,37 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 19:40+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\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 "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Contactpersonen" diff --git a/addons/contacts/i18n/ru.po b/addons/contacts/i18n/ru.po new file mode 100644 index 00000000000..15f41977fda --- /dev/null +++ b/addons/contacts/i18n/ru.po @@ -0,0 +1,37 @@ +# Russian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 18:01+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: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\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 "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "" diff --git a/addons/event_moodle/i18n/nl.po b/addons/event_moodle/i18n/nl.po new file mode 100644 index 00000000000..d654500cd55 --- /dev/null +++ b/addons/event_moodle/i18n/nl.po @@ -0,0 +1,190 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 20:02+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Connection with username and password" +msgstr "" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz +msgid "event.moodle.config.wiz" +msgstr "event.moodle.config.wiz" + +#. module: event_moodle +#: help:event.moodle.config.wiz,server_moodle:0 +msgid "" +"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or " +"'http://localhost'" +msgstr "" + +#. module: event_moodle +#: field:event.registration,moodle_user_password:0 +msgid "Password for Moodle User" +msgstr "Wachtwoord voor Moodle gebruiker" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_password:0 +msgid "Moodle Password" +msgstr "Moodle wachtwoord" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:137 +#, python-format +msgid "Your email '%s' is wrong." +msgstr "Uwr email '%s' is fout." + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Connection with a Token" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "" +"The easiest way to connect OpenERP with a moodle server is to create a " +"'token' in Moodle. It will be used to authenticate OpenERP as a trustable " +"application." +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,url:0 +msgid "URL to Moodle Server" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,url:0 +msgid "The url that will be used for the connection with moodle in xml-rpc" +msgstr "" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_registration +msgid "Event Registration" +msgstr "Evenementregistratie" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "" +"Another approach is to create a user for OpenERP in Moodle. If you do so, " +"make sure that this user has appropriate access rights." +msgstr "" + +#. module: event_moodle +#: field:event.registration,moodle_uid:0 +msgid "Moodle User ID" +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,server_moodle:0 +msgid "Moodle Server" +msgstr "Moodle Server" + +#. module: event_moodle +#: field:event.event,moodle_id:0 +msgid "Moodle ID" +msgstr "Moodle ID" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Server" +msgstr "Server" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:57 +#: code:addons/event_moodle/event_moodle.py:105 +#: code:addons/event_moodle/event_moodle.py:137 +#, python-format +msgid "Error!" +msgstr "Fout!" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:105 +#, python-format +msgid "You must configure your moodle connection." +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_username:0 +#: field:event.registration,moodle_username:0 +msgid "Moodle Username" +msgstr "Moodle gebruikersnaam" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +#: model:ir.actions.act_window,name:event_moodle.configure_moodle +msgid "Configure Moodle" +msgstr "Monocle instellen" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_token:0 +msgid "Moodle Token" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,moodle_username:0 +msgid "" +"You can also connect with your username that you define when you create a " +"token" +msgstr "" + +#. module: event_moodle +#: help:event.event,moodle_id:0 +msgid "The identifier of this event in Moodle" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,moodle_token:0 +msgid "Put your token that you created in your moodle server" +msgstr "" + +#. module: event_moodle +#: model:ir.ui.menu,name:event_moodle.wizard_moodle +msgid "Moodle Configuration" +msgstr "" + +#. module: event_moodle +#: constraint:event.event:0 +msgid "Error ! Closing Date cannot be set before Beginning Date." +msgstr "Fout ! Sluitingsdatum kan niet voor startdatum liggen." + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "or" +msgstr "of" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:57 +#, python-format +msgid "First configure your moodle connection." +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Apply" +msgstr "Toepassen" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Cancel" +msgstr "Annuleren" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_event +msgid "Event" +msgstr "" diff --git a/addons/event_sale/i18n/nl.po b/addons/event_sale/i18n/nl.po new file mode 100644 index 00000000000..0166c3399c8 --- /dev/null +++ b/addons/event_sale/i18n/nl.po @@ -0,0 +1,103 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 20:07+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_product_product +msgid "Product" +msgstr "Product" + +#. module: event_sale +#: help:product.product,event_ok:0 +msgid "" +"Determine if a product needs to create automatically an event registration " +"at the confirmation of a sale order line." +msgstr "" + +#. module: event_sale +#: help:sale.order.line,event_id:0 +msgid "" +"Choose an event and it will automatically create a registration for this " +"event." +msgstr "" + +#. module: event_sale +#: sql_constraint:product.product:0 +msgid "Error ! Ending Date cannot be set before Beginning Date." +msgstr "Fout! Einddatum kan niet voor de begindatum liggen." + +#. module: event_sale +#: model:event.event,name:event_sale.event_technical_training +msgid "Technical training in Grand-Rosiere" +msgstr "" + +#. module: event_sale +#: help:product.product,event_type_id:0 +msgid "" +"Filter the list of event on this category only, in the sale order lines" +msgstr "" + +#. module: event_sale +#: constraint:product.product:0 +msgid "" +"You provided an invalid \"EAN13 Barcode\" reference. You may use the " +"\"Internal Reference\" field instead." +msgstr "" +"U gebruikte een verkeerde \"EAN13 Barcode\" referentie. Hiervoor in de " +"plaats kunt u de interne referentie gebruiken." + +#. module: event_sale +#: code:addons/event_sale/event_sale.py:88 +#, python-format +msgid "The registration %s has been created from the Sale Order %s." +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_ok:0 +msgid "event_ok" +msgstr "event_ok" + +#. module: event_sale +#: field:product.product,event_ok:0 +msgid "Event Subscription" +msgstr "Evenement omschrijving" + +#. module: event_sale +#: field:product.product,event_type_id:0 +msgid "Type of Event" +msgstr "Soort evenement" + +#. module: event_sale +#: field:sale.order.line,event_type_id:0 +msgid "Event Type" +msgstr "Soort evenement" + +#. module: event_sale +#: model:product.template,name:event_sale.event_product_product_template +msgid "Technical Training" +msgstr "Technisch training" + +#. module: event_sale +#: field:sale.order.line,event_id:0 +msgid "Event" +msgstr "Evenement" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" diff --git a/addons/fleet/i18n/nl.po b/addons/fleet/i18n/nl.po new file mode 100644 index 00000000000..7c8facb4474 --- /dev/null +++ b/addons/fleet/i18n/nl.po @@ -0,0 +1,1895 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 20:38+0000\n" +"Last-Translator: FULL NAME \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: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Hybrid" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact +msgid "Compact" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_1 +msgid "A/C Compressor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,vin_sn:0 +msgid "Unique number written on the vehicle motor (VIN/SN number)" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Service" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Monthly" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:62 +#, python-format +msgid "Unknown" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_20 +msgid "Engine/Drive Belt(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicle costs" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Diesel" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:421 +#, python-format +msgid "License Plate: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_38 +msgid "Resurface Rotors" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Group By..." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_32 +msgid "Oil Pump Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_18 +msgid "Engine Belt Inspection" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "No" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,power:0 +msgid "Power in kW of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_2 +msgid "Depreciation and Interests" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,insurer_id:0 +#: field:fleet.vehicle.log.fuel,vendor_id:0 +#: field:fleet.vehicle.log.services,vendor_id:0 +msgid "Supplier" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_35 +msgid "Power Steering Hose Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Odometer details" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Has Alert(s)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,liter:0 +msgid "Liter" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fuel Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_9 +msgid "Battery Inspection" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,company_id:0 +msgid "Company" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Invoice Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Refueling Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:655 +#, python-format +msgid "%s contract(s) need(s) to be renewed and/or closed!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Indicative Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_16 +msgid "Charging System Diagnosis" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,car_value:0 +msgid "Value of the bought vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_44 +msgid "Tie Rod End Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_24 +msgid "Head Gasket(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Services" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer:0 +#: help:fleet.vehicle.cost,odometer:0 +#: help:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer measure of the vehicle at the moment of this log" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,notes:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban +msgid "Vehicles with alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu +msgid "Vehicle Costs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Total Cost" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +msgid "Both" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_id:0 +#: field:fleet.vehicle.log.fuel,cost_id:0 +#: field:fleet.vehicle.log.services,cost_id:0 +msgid "Automatically created field to link to parent fleet.vehicle.cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Terminate Contract" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,parent_id:0 +msgid "Parent cost to this current cost" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Frequency of the recuring cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_1 +msgid "Calculation Benefit In Kind" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,expiration_date:0 +msgid "" +"Date when the coverage of the contract expirates (by default, one year after " +"begin date)" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: field:fleet.vehicle.log.fuel,notes:0 +#: view:fleet.vehicle.log.services:0 +#: field:fleet.vehicle.log.services,notes:0 +msgid "Notes" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Operation not allowed!" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,vehicle_id:0 +msgid "Vehicle concerned by this log" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_amount:0 +#: field:fleet.vehicle.log.fuel,cost_amount:0 +#: field:fleet.vehicle.log.services,cost_amount:0 +msgid "Amount" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_6 +msgid "Air Filter Replacement" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_tag +msgid "fleet.vehicle.tag" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the services logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_name:0 +msgid "Name of contract to renew soon" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior +msgid "Senior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,state:0 +msgid "Choose wheter the contract is still valid or not" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Automatic" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:414 +#, python-format +msgid "Driver: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "and" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_34 +msgid "Oxygen Sensor Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Service Type" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,transmission:0 +msgid "Transmission Used by the vehicle" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:726 +#: view:fleet.vehicle.log.contract:0 +#: model:ir.actions.act_window,name:fleet.act_renew_contract +#, python-format +msgid "Renew Contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the odometer logs for this vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer_unit:0 +msgid "Unit of the odometer " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Costs Per Month" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Effective Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_8 +msgid "Repair and maintenance" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Person to which the contract is signed for" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act +msgid "" +"

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

    \n" +" Manage all your contracts (leasing, insurances, etc.) with\n" +" their related services, costs. OpenERP will automatically " +"warn\n" +" you when some contracts have to be renewed.\n" +"

    \n" +" Each contract (e.g.: leasing) may include several services\n" +" (reparation, insurances, periodic maintenance).\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_service_type +msgid "Type of services available on a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu +msgid "Service Types" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Contracts Costs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu +msgid "Vehicles Services Logs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu +msgid "Vehicles Fuel Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model.brand:0 +msgid "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Vehicles With Alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act +msgid "" +"

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

    \n" +" OpenERP helps you managing the costs for your different\n" +" vehicles. Costs are created automatically from services,\n" +" contracts (fixed or recurring) and fuel logs.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the fuel logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Contractor" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,license_plate:0 +msgid "License Plate" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Recurring Cost Frequency" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,inv_ref:0 +#: field:fleet.vehicle.log.services,inv_ref:0 +msgid "Invoice Reference" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,location:0 +msgid "Location" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Costs Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.contract.state,name:0 +msgid "Contract Status" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_total:0 +msgid "Total of contracts due or overdue minus one" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_subtype:0 +msgid "Type" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_overdue:0 +msgid "Has Contracts Overdued" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,amount:0 +msgid "Total Price" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_27 +msgid "Heater Core Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_14 +msgid "Car Wash" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,driver:0 +msgid "Driver of the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "other(s)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_refueling +msgid "Refueling" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,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: fleet +#: model:fleet.service.type,name:fleet.type_service_5 +msgid "A/C Recharge" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel +msgid "Fuel log for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Engine Options" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Costs Per Month" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan +msgid "Sedan" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,seats:0 +msgid "Seats Number" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible +msgid "Convertible" +msgstr "" + +#. module: fleet +#: model:ir.ui.menu,name:fleet.fleet_configuration +msgid "Configuration" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,sum_cost:0 +msgid "Indicative Costs Total" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior +msgid "Junior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,model_id:0 +msgid "Model of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act +msgid "" +"

    \n" +" Click to create a vehicule status.\n" +"

    \n" +" You can customize available status to track the evolution " +"of\n" +" each vehicule. Example: Active, Being Repaired, Sold.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_fuel:0 +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:409 +#: code:addons/fleet/fleet.py:413 +#: code:addons/fleet/fleet.py:417 +#: code:addons/fleet/fleet.py:420 +#, python-format +msgid "None" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs +msgid "Indicative Costs Analysis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_12 +msgid "Brake Inspection" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,state:0 +msgid "Current state of the vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Manual" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_52 +msgid "Wheel Bearing Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_subtype:0 +msgid "Cost type purchased with this cost" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Gasoline" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act +msgid "" +"

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

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,start_date:0 +msgid "Contract Start Date" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer_unit:0 +msgid "Odometer Unit" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_30 +msgid "Intake Manifold Gasket Replacement" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Daily" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_6 +msgid "Snow tires" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,date:0 +msgid "Date when the cost has been executed" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.state,sequence:0 +msgid "Order" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicles costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_services +msgid "Services for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Indicative Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_26 +msgid "Heater Control Valve Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "" +"Create a new contract automatically with all the same informations except " +"for the date that will start at the end of current contract" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "Terminated" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_cost +msgid "Cost related to a vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_33 +msgid "Other Maintenance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,brand:0 +#: view:fleet.vehicle.model.brand:0 +msgid "Model Brand" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,state:0 +#: view:fleet.vehicle.state:0 +msgid "State" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_generated:0 +msgid "Recurring Cost Amount" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_49 +msgid "Transmission Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act +msgid "" +"

    \n" +" Click to create a new fuel log. \n" +"

    \n" +" Here you can add refuelling entries for all vehicles. You " +"can\n" +" also filter logs of a particular vehicle using the search\n" +" field.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_11 +msgid "Brake Caliper Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer:0 +msgid "Last Odometer" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu +msgid "Vehicle Model" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,doors:0 +msgid "Doors Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,acquisition_date:0 +msgid "Date when the vehicle has been bought" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Models" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "amount" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,fuel_type:0 +msgid "Fuel Used by the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Set Contract In Progress" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_unit:0 +#: field:fleet.vehicle.odometer,unit:0 +msgid "Unit" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower:0 +msgid "Horsepower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,image:0 +#: field:fleet.vehicle,image_medium:0 +#: field:fleet.vehicle,image_small:0 +#: field:fleet.vehicle.model,image:0 +#: field:fleet.vehicle.model,image_medium:0 +#: field:fleet.vehicle.model,image_small:0 +#: field:fleet.vehicle.model.brand,image:0 +msgid "Logo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower_tax:0 +msgid "Horsepower Taxation" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,log_services:0 +#: view:fleet.vehicle.log.services:0 +msgid "Services Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Emptying the odometer value of a vehicle is not allowed." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_43 +msgid "Thermostat Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,category:0 +msgid "Category" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph +msgid "Fuel Costs by Month" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image:0 +msgid "" +"This field holds the image used as logo for the brand, limited to " +"1024x1024px." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_11 +msgid "Management Fee" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "All vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Additional Details" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph +msgid "Services Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_9 +msgid "Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,price_per_liter:0 +msgid "Price Per Liter" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_17 +msgid "Door Window Motor/Regulator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_46 +msgid "Tire Service" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_8 +msgid "Ball Joint Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,fuel_type:0 +msgid "Fuel Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_22 +msgid "Fuel Injector Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_50 +msgid "Water Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,location:0 +msgid "Location of the vehicle (garage, ...)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_28 +msgid "Heater Hose Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,state:0 +msgid "Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_40 +msgid "Rotor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model,brand:0 +msgid "Brand of the vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,start_date:0 +msgid "Date when the coverage of the contract begins" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Electric" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,tag_ids:0 +msgid "Tags" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_contracts:0 +msgid "Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_13 +msgid "Brake Pad(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Odometer Details" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,driver:0 +msgid "Driver" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_small:0 +msgid "" +"Small-sized photo of the brand. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fleet Dashboard" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break +msgid "Break" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_omnium +msgid "Omnium" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Details" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_15 +msgid "Residual value (Excluding VAT)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_7 +msgid "Alternator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_3 +msgid "A/C Diagnosis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_23 +msgid "Fuel Pump Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Activation Cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_4 +msgid "A/C Evaporator Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show all the costs for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Values Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_comment_ids:0 +#: help:fleet.vehicle,message_comment_ids:0 +msgid "Comments and emails" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_act +msgid "" +"

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

    \n" +" You will be able to manage your fleet by keeping track of " +"the\n" +" contracts, services, fixed and recurring costs, odometers " +"and\n" +" fuel logs associated to each vehicle.\n" +"

    \n" +" OpenERP will warn you when services or contract have to be\n" +" renewed.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_13 +msgid "Entry into service tax" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,expiration_date:0 +msgid "Contract Expiration Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Subtype" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.open_board_fleet +msgid "" +"
    \n" +"

    \n" +" Fleet dashboard is empty.\n" +"

    \n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click 'Add " +"to\n" +" Dashboard' in the extended search options.\n" +"

    \n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +"

    \n" +"
    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_12 +msgid "Rent (Excluding VAT)" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Kilometers" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Vehicle Details" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: field:fleet.vehicle.cost,contract_id:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Contract" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu +msgid "Model brand of Vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_10 +msgid "Battery Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,date:0 +#: field:fleet.vehicle.odometer,date:0 +msgid "Date" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_menu +#: model:ir.ui.menu,name:fleet.fleet_vehicles +msgid "Vehicles" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Miles" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_generated:0 +msgid "" +"Costs paid at regular intervals, depending on the cost frequency. If the " +"cost frequency is set to unique, the cost will be logged at the start date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_17 +msgid "Emissions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs_non_effective +msgid "" +"

    \n" +" OpenERP helps you managing the costs for your different vehicles\n" +" Costs are generally created from services and contract and appears " +"here.\n" +"

    \n" +"

    \n" +" Thanks to the different filters, OpenERP can only print the " +"effective\n" +" costs, sort them by type and by vehicle.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,car_value:0 +msgid "Car Value" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.open_board_fleet +#: model:ir.ui.menu,name:fleet.menu_fleet_dashboard +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting +#: model:ir.ui.menu,name:fleet.menu_root +msgid "Fleet" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_14 +msgid "Total expenses (Excluding VAT)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_45 +msgid "Tire Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.service.type:0 +msgid "Service types" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,purchaser_id:0 +#: field:fleet.vehicle.log.services,purchaser_id:0 +msgid "Purchaser" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_3 +msgid "Tax roll" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +#: field:fleet.vehicle.model,vendors:0 +msgid "Vendors" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_leasing +msgid "Leasing" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_medium:0 +msgid "" +"Medium-sized logo of the brand. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Weekly" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Logs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,acquisition_date:0 +msgid "Acquisition Date" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_odometer +msgid "Odometer log for a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_type:0 +msgid "Category of the cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_5 +#: model:fleet.service.type,name:fleet.type_service_service_7 +msgid "Summer tires" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_due_soon:0 +msgid "Has Contracts to renew" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_31 +msgid "Oil Change" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "To Close" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model_brand +msgid "Brand model of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_51 +msgid "Wheel Alignment" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased +msgid "Purchased" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act +msgid "" +"

    \n" +" Here you can add various odometer entries for all vehicles.\n" +" You can also show odometer value for a particular vehicle " +"using\n" +" the search field.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act +msgid "" +"

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

    \n" +" You can define several models (e.g. A3, A4) for each brand " +"(Audi).\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "General Properties" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_21 +msgid "Exhaust Manifold Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_47 +msgid "Transmission Filter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_10 +msgid "Replacement Vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "In Progress" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Yearly" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu +msgid "States of Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,modelname:0 +msgid "Model name" +msgstr "" + +#. module: fleet +#: view:board.board:0 +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph +msgid "Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_18 +msgid "Touring Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,power:0 +msgid "Power (kW)" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:418 +#, python-format +msgid "State: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_2 +msgid "A/C Condenser Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_19 +msgid "Engine Coolant Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:410 +#, python-format +msgid "Model: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Other" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract details" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing +msgid "Employee Car" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,auto_generated:0 +msgid "Automatically Generated" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Fuel" +msgstr "" + +#. module: fleet +#: sql_constraint:fleet.vehicle.state:0 +msgid "State name already exists" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_37 +msgid "Radiator Repair" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_contract +msgid "Contract information on a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,days_left:0 +msgid "Warning Date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_19 +msgid "Residual value in %" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Additional Properties" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_state +msgid "fleet.vehicle.state" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract Costs Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu +msgid "Vehicles Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_48 +msgid "Transmission Fluid Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,name:0 +msgid "Brand Name" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_36 +msgid "Power Steering Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,contract_id:0 +msgid "Contract attached to this cost" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:397 +#, python-format +msgid "Vehicle %s has been added to the fleet!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Price" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,vehicle_id:0 +#: field:fleet.vehicle.odometer,vehicle_id:0 +msgid "Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_ids:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Included Services" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban +msgid "" +"

    \n" +" Here are displayed vehicles for which one or more contracts need " +"to be renewed. If you see this message, then there is no contracts to " +"renew.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_15 +msgid "Catalytic Converter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_25 +msgid "Heater Blower Motor Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu +msgid "Vehicles Odometer" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,notes:0 +msgid "Write here all supplementary informations relative to this contract" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_29 +msgid "Ignition Coil Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_16 +msgid "Options" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_repairing +msgid "Repairing" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs +msgid "Costs Analysis" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,ins_ref:0 +msgid "Contract Reference" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,name:0 +#: field:fleet.vehicle,name:0 +#: field:fleet.vehicle.cost,name:0 +#: field:fleet.vehicle.log.contract,name:0 +#: field:fleet.vehicle.model,name:0 +#: field:fleet.vehicle.odometer,name:0 +#: field:fleet.vehicle.state,name:0 +#: field:fleet.vehicle.tag,name:0 +msgid "Name" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,doors:0 +msgid "Number of doors of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,transmission:0 +msgid "Transmission" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,vin_sn:0 +msgid "Chassis Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,color:0 +msgid "Color of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act +msgid "" +"

    \n" +" Click to create a new service entry. \n" +"

    \n" +" OpenERP helps you keeping track of all the services done\n" +" on your vehicle. Services can be of many type: occasional\n" +" repair, fixed maintenance, etc.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,co2:0 +msgid "CO2 Emissions" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph +msgid "Contracts Costs by Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,model_id:0 +#: view:fleet.vehicle.model:0 +msgid "Model" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_41 +msgid "Spark Plug Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle +msgid "Information on a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,co2:0 +msgid "CO2 emissions of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_53 +msgid "Windshield Wiper(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,generated_cost_ids:0 +msgid "Generated Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,color:0 +msgid "Color" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act +msgid "" +"

    \n" +" Click to create a new type of service.\n" +"

    \n" +" Each service can used in contracts, as a standalone service " +"or both.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Services Costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model +msgid "Model of a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,seats:0 +msgid "Number of seats of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer:0 +#: field:fleet.vehicle.odometer,value:0 +msgid "Odometer Value" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_39 +msgid "Rotate Tires" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_42 +msgid "Starter Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,year:0 +msgid "Year" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,license_plate:0 +msgid "License plate number of the vehicle (ie: plate number for a car)" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_contract_state +msgid "Contains the different possible status of a leasing contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the contract for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Total" +msgstr "" + +#. module: fleet +#: help:fleet.service.type,category:0 +msgid "" +"Choose wheter the service refer to contracts, vehicle services or both" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_type:0 +msgid "For internal purpose only" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.state,sequence:0 +msgid "Used to order the note stages" +msgstr "" diff --git a/addons/fleet/i18n/ru.po b/addons/fleet/i18n/ru.po new file mode 100644 index 00000000000..441dacb8cf7 --- /dev/null +++ b/addons/fleet/i18n/ru.po @@ -0,0 +1,1895 @@ +# Russian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 19:43+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: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Hybrid" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact +msgid "Compact" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_1 +msgid "A/C Compressor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,vin_sn:0 +msgid "Unique number written on the vehicle motor (VIN/SN number)" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Service" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Monthly" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:62 +#, python-format +msgid "Unknown" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_20 +msgid "Engine/Drive Belt(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicle costs" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Diesel" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:421 +#, python-format +msgid "License Plate: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_38 +msgid "Resurface Rotors" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Group By..." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_32 +msgid "Oil Pump Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_18 +msgid "Engine Belt Inspection" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "No" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,power:0 +msgid "Power in kW of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_2 +msgid "Depreciation and Interests" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,insurer_id:0 +#: field:fleet.vehicle.log.fuel,vendor_id:0 +#: field:fleet.vehicle.log.services,vendor_id:0 +msgid "Supplier" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_35 +msgid "Power Steering Hose Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Odometer details" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Has Alert(s)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,liter:0 +msgid "Liter" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fuel Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_9 +msgid "Battery Inspection" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,company_id:0 +msgid "Company" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Invoice Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Refueling Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:655 +#, python-format +msgid "%s contract(s) need(s) to be renewed and/or closed!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Indicative Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_16 +msgid "Charging System Diagnosis" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,car_value:0 +msgid "Value of the bought vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_44 +msgid "Tie Rod End Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_24 +msgid "Head Gasket(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Services" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer:0 +#: help:fleet.vehicle.cost,odometer:0 +#: help:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer measure of the vehicle at the moment of this log" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,notes:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban +msgid "Vehicles with alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu +msgid "Vehicle Costs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Total Cost" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +msgid "Both" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_id:0 +#: field:fleet.vehicle.log.fuel,cost_id:0 +#: field:fleet.vehicle.log.services,cost_id:0 +msgid "Automatically created field to link to parent fleet.vehicle.cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Terminate Contract" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,parent_id:0 +msgid "Parent cost to this current cost" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Frequency of the recuring cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_1 +msgid "Calculation Benefit In Kind" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,expiration_date:0 +msgid "" +"Date when the coverage of the contract expirates (by default, one year after " +"begin date)" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: field:fleet.vehicle.log.fuel,notes:0 +#: view:fleet.vehicle.log.services:0 +#: field:fleet.vehicle.log.services,notes:0 +msgid "Notes" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Operation not allowed!" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,vehicle_id:0 +msgid "Vehicle concerned by this log" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_amount:0 +#: field:fleet.vehicle.log.fuel,cost_amount:0 +#: field:fleet.vehicle.log.services,cost_amount:0 +msgid "Amount" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_6 +msgid "Air Filter Replacement" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_tag +msgid "fleet.vehicle.tag" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the services logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_name:0 +msgid "Name of contract to renew soon" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior +msgid "Senior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,state:0 +msgid "Choose wheter the contract is still valid or not" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Automatic" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:414 +#, python-format +msgid "Driver: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "and" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_34 +msgid "Oxygen Sensor Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Service Type" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,transmission:0 +msgid "Transmission Used by the vehicle" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:726 +#: view:fleet.vehicle.log.contract:0 +#: model:ir.actions.act_window,name:fleet.act_renew_contract +#, python-format +msgid "Renew Contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the odometer logs for this vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer_unit:0 +msgid "Unit of the odometer " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Costs Per Month" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Effective Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_8 +msgid "Repair and maintenance" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Person to which the contract is signed for" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act +msgid "" +"

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

    \n" +" Manage all your contracts (leasing, insurances, etc.) with\n" +" their related services, costs. OpenERP will automatically " +"warn\n" +" you when some contracts have to be renewed.\n" +"

    \n" +" Each contract (e.g.: leasing) may include several services\n" +" (reparation, insurances, periodic maintenance).\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_service_type +msgid "Type of services available on a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu +msgid "Service Types" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Contracts Costs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu +msgid "Vehicles Services Logs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu +msgid "Vehicles Fuel Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model.brand:0 +msgid "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Vehicles With Alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act +msgid "" +"

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

    \n" +" OpenERP helps you managing the costs for your different\n" +" vehicles. Costs are created automatically from services,\n" +" contracts (fixed or recurring) and fuel logs.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the fuel logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Contractor" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,license_plate:0 +msgid "License Plate" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Recurring Cost Frequency" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,inv_ref:0 +#: field:fleet.vehicle.log.services,inv_ref:0 +msgid "Invoice Reference" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,location:0 +msgid "Location" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Costs Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.contract.state,name:0 +msgid "Contract Status" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_total:0 +msgid "Total of contracts due or overdue minus one" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_subtype:0 +msgid "Type" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_overdue:0 +msgid "Has Contracts Overdued" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,amount:0 +msgid "Total Price" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_27 +msgid "Heater Core Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_14 +msgid "Car Wash" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,driver:0 +msgid "Driver of the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "other(s)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_refueling +msgid "Refueling" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,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: fleet +#: model:fleet.service.type,name:fleet.type_service_5 +msgid "A/C Recharge" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel +msgid "Fuel log for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Engine Options" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Costs Per Month" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan +msgid "Sedan" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,seats:0 +msgid "Seats Number" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible +msgid "Convertible" +msgstr "" + +#. module: fleet +#: model:ir.ui.menu,name:fleet.fleet_configuration +msgid "Configuration" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,sum_cost:0 +msgid "Indicative Costs Total" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior +msgid "Junior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,model_id:0 +msgid "Model of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act +msgid "" +"

    \n" +" Click to create a vehicule status.\n" +"

    \n" +" You can customize available status to track the evolution " +"of\n" +" each vehicule. Example: Active, Being Repaired, Sold.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_fuel:0 +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:409 +#: code:addons/fleet/fleet.py:413 +#: code:addons/fleet/fleet.py:417 +#: code:addons/fleet/fleet.py:420 +#, python-format +msgid "None" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs +msgid "Indicative Costs Analysis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_12 +msgid "Brake Inspection" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,state:0 +msgid "Current state of the vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Manual" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_52 +msgid "Wheel Bearing Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_subtype:0 +msgid "Cost type purchased with this cost" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Gasoline" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act +msgid "" +"

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

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,start_date:0 +msgid "Contract Start Date" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer_unit:0 +msgid "Odometer Unit" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_30 +msgid "Intake Manifold Gasket Replacement" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Daily" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_6 +msgid "Snow tires" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,date:0 +msgid "Date when the cost has been executed" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.state,sequence:0 +msgid "Order" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicles costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_services +msgid "Services for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Indicative Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_26 +msgid "Heater Control Valve Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "" +"Create a new contract automatically with all the same informations except " +"for the date that will start at the end of current contract" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "Terminated" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_cost +msgid "Cost related to a vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_33 +msgid "Other Maintenance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,brand:0 +#: view:fleet.vehicle.model.brand:0 +msgid "Model Brand" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,state:0 +#: view:fleet.vehicle.state:0 +msgid "State" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_generated:0 +msgid "Recurring Cost Amount" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_49 +msgid "Transmission Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act +msgid "" +"

    \n" +" Click to create a new fuel log. \n" +"

    \n" +" Here you can add refuelling entries for all vehicles. You " +"can\n" +" also filter logs of a particular vehicle using the search\n" +" field.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_11 +msgid "Brake Caliper Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer:0 +msgid "Last Odometer" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu +msgid "Vehicle Model" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,doors:0 +msgid "Doors Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,acquisition_date:0 +msgid "Date when the vehicle has been bought" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Models" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "amount" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,fuel_type:0 +msgid "Fuel Used by the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Set Contract In Progress" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_unit:0 +#: field:fleet.vehicle.odometer,unit:0 +msgid "Unit" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower:0 +msgid "Horsepower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,image:0 +#: field:fleet.vehicle,image_medium:0 +#: field:fleet.vehicle,image_small:0 +#: field:fleet.vehicle.model,image:0 +#: field:fleet.vehicle.model,image_medium:0 +#: field:fleet.vehicle.model,image_small:0 +#: field:fleet.vehicle.model.brand,image:0 +msgid "Logo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower_tax:0 +msgid "Horsepower Taxation" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,log_services:0 +#: view:fleet.vehicle.log.services:0 +msgid "Services Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Emptying the odometer value of a vehicle is not allowed." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_43 +msgid "Thermostat Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,category:0 +msgid "Category" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph +msgid "Fuel Costs by Month" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image:0 +msgid "" +"This field holds the image used as logo for the brand, limited to " +"1024x1024px." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_11 +msgid "Management Fee" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "All vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Additional Details" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph +msgid "Services Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_9 +msgid "Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,price_per_liter:0 +msgid "Price Per Liter" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_17 +msgid "Door Window Motor/Regulator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_46 +msgid "Tire Service" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_8 +msgid "Ball Joint Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,fuel_type:0 +msgid "Fuel Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_22 +msgid "Fuel Injector Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_50 +msgid "Water Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,location:0 +msgid "Location of the vehicle (garage, ...)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_28 +msgid "Heater Hose Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,state:0 +msgid "Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_40 +msgid "Rotor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model,brand:0 +msgid "Brand of the vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,start_date:0 +msgid "Date when the coverage of the contract begins" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Electric" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,tag_ids:0 +msgid "Tags" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_contracts:0 +msgid "Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_13 +msgid "Brake Pad(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Odometer Details" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,driver:0 +msgid "Driver" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_small:0 +msgid "" +"Small-sized photo of the brand. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fleet Dashboard" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break +msgid "Break" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_omnium +msgid "Omnium" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Details" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_15 +msgid "Residual value (Excluding VAT)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_7 +msgid "Alternator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_3 +msgid "A/C Diagnosis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_23 +msgid "Fuel Pump Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Activation Cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_4 +msgid "A/C Evaporator Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show all the costs for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Values Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_comment_ids:0 +#: help:fleet.vehicle,message_comment_ids:0 +msgid "Comments and emails" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_act +msgid "" +"

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

    \n" +" You will be able to manage your fleet by keeping track of " +"the\n" +" contracts, services, fixed and recurring costs, odometers " +"and\n" +" fuel logs associated to each vehicle.\n" +"

    \n" +" OpenERP will warn you when services or contract have to be\n" +" renewed.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_13 +msgid "Entry into service tax" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,expiration_date:0 +msgid "Contract Expiration Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Subtype" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.open_board_fleet +msgid "" +"
    \n" +"

    \n" +" Fleet dashboard is empty.\n" +"

    \n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click 'Add " +"to\n" +" Dashboard' in the extended search options.\n" +"

    \n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +"

    \n" +"
    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_12 +msgid "Rent (Excluding VAT)" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Kilometers" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Vehicle Details" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: field:fleet.vehicle.cost,contract_id:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Contract" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu +msgid "Model brand of Vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_10 +msgid "Battery Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,date:0 +#: field:fleet.vehicle.odometer,date:0 +msgid "Date" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_menu +#: model:ir.ui.menu,name:fleet.fleet_vehicles +msgid "Vehicles" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Miles" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_generated:0 +msgid "" +"Costs paid at regular intervals, depending on the cost frequency. If the " +"cost frequency is set to unique, the cost will be logged at the start date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_17 +msgid "Emissions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs_non_effective +msgid "" +"

    \n" +" OpenERP helps you managing the costs for your different vehicles\n" +" Costs are generally created from services and contract and appears " +"here.\n" +"

    \n" +"

    \n" +" Thanks to the different filters, OpenERP can only print the " +"effective\n" +" costs, sort them by type and by vehicle.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,car_value:0 +msgid "Car Value" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.open_board_fleet +#: model:ir.ui.menu,name:fleet.menu_fleet_dashboard +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting +#: model:ir.ui.menu,name:fleet.menu_root +msgid "Fleet" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_14 +msgid "Total expenses (Excluding VAT)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_45 +msgid "Tire Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.service.type:0 +msgid "Service types" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,purchaser_id:0 +#: field:fleet.vehicle.log.services,purchaser_id:0 +msgid "Purchaser" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_3 +msgid "Tax roll" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +#: field:fleet.vehicle.model,vendors:0 +msgid "Vendors" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_leasing +msgid "Leasing" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_medium:0 +msgid "" +"Medium-sized logo of the brand. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Weekly" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Logs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,acquisition_date:0 +msgid "Acquisition Date" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_odometer +msgid "Odometer log for a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_type:0 +msgid "Category of the cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_5 +#: model:fleet.service.type,name:fleet.type_service_service_7 +msgid "Summer tires" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_due_soon:0 +msgid "Has Contracts to renew" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_31 +msgid "Oil Change" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "To Close" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model_brand +msgid "Brand model of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_51 +msgid "Wheel Alignment" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased +msgid "Purchased" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act +msgid "" +"

    \n" +" Here you can add various odometer entries for all vehicles.\n" +" You can also show odometer value for a particular vehicle " +"using\n" +" the search field.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act +msgid "" +"

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

    \n" +" You can define several models (e.g. A3, A4) for each brand " +"(Audi).\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "General Properties" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_21 +msgid "Exhaust Manifold Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_47 +msgid "Transmission Filter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_10 +msgid "Replacement Vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "In Progress" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Yearly" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu +msgid "States of Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,modelname:0 +msgid "Model name" +msgstr "" + +#. module: fleet +#: view:board.board:0 +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph +msgid "Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_18 +msgid "Touring Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,power:0 +msgid "Power (kW)" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:418 +#, python-format +msgid "State: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_2 +msgid "A/C Condenser Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_19 +msgid "Engine Coolant Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:410 +#, python-format +msgid "Model: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Other" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract details" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing +msgid "Employee Car" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,auto_generated:0 +msgid "Automatically Generated" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Fuel" +msgstr "" + +#. module: fleet +#: sql_constraint:fleet.vehicle.state:0 +msgid "State name already exists" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_37 +msgid "Radiator Repair" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_contract +msgid "Contract information on a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,days_left:0 +msgid "Warning Date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_19 +msgid "Residual value in %" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Additional Properties" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_state +msgid "fleet.vehicle.state" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract Costs Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu +msgid "Vehicles Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_48 +msgid "Transmission Fluid Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,name:0 +msgid "Brand Name" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_36 +msgid "Power Steering Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,contract_id:0 +msgid "Contract attached to this cost" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:397 +#, python-format +msgid "Vehicle %s has been added to the fleet!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Price" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,vehicle_id:0 +#: field:fleet.vehicle.odometer,vehicle_id:0 +msgid "Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_ids:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Included Services" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban +msgid "" +"

    \n" +" Here are displayed vehicles for which one or more contracts need " +"to be renewed. If you see this message, then there is no contracts to " +"renew.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_15 +msgid "Catalytic Converter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_25 +msgid "Heater Blower Motor Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu +msgid "Vehicles Odometer" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,notes:0 +msgid "Write here all supplementary informations relative to this contract" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_29 +msgid "Ignition Coil Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_16 +msgid "Options" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_repairing +msgid "Repairing" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs +msgid "Costs Analysis" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,ins_ref:0 +msgid "Contract Reference" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,name:0 +#: field:fleet.vehicle,name:0 +#: field:fleet.vehicle.cost,name:0 +#: field:fleet.vehicle.log.contract,name:0 +#: field:fleet.vehicle.model,name:0 +#: field:fleet.vehicle.odometer,name:0 +#: field:fleet.vehicle.state,name:0 +#: field:fleet.vehicle.tag,name:0 +msgid "Name" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,doors:0 +msgid "Number of doors of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,transmission:0 +msgid "Transmission" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,vin_sn:0 +msgid "Chassis Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,color:0 +msgid "Color of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act +msgid "" +"

    \n" +" Click to create a new service entry. \n" +"

    \n" +" OpenERP helps you keeping track of all the services done\n" +" on your vehicle. Services can be of many type: occasional\n" +" repair, fixed maintenance, etc.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,co2:0 +msgid "CO2 Emissions" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph +msgid "Contracts Costs by Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,model_id:0 +#: view:fleet.vehicle.model:0 +msgid "Model" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_41 +msgid "Spark Plug Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle +msgid "Information on a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,co2:0 +msgid "CO2 emissions of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_53 +msgid "Windshield Wiper(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,generated_cost_ids:0 +msgid "Generated Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,color:0 +msgid "Color" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act +msgid "" +"

    \n" +" Click to create a new type of service.\n" +"

    \n" +" Each service can used in contracts, as a standalone service " +"or both.\n" +"

    \n" +" " +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Services Costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model +msgid "Model of a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,seats:0 +msgid "Number of seats of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer:0 +#: field:fleet.vehicle.odometer,value:0 +msgid "Odometer Value" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_39 +msgid "Rotate Tires" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_42 +msgid "Starter Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,year:0 +msgid "Year" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,license_plate:0 +msgid "License plate number of the vehicle (ie: plate number for a car)" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_contract_state +msgid "Contains the different possible status of a leasing contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the contract for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Total" +msgstr "" + +#. module: fleet +#: help:fleet.service.type,category:0 +msgid "" +"Choose wheter the service refer to contracts, vehicle services or both" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_type:0 +msgid "For internal purpose only" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.state,sequence:0 +msgid "Used to order the note stages" +msgstr "" diff --git a/addons/fleet/i18n/zh_CN.po b/addons/fleet/i18n/zh_CN.po index 870403f5924..deb6b1cac2f 100644 --- a/addons/fleet/i18n/zh_CN.po +++ b/addons/fleet/i18n/zh_CN.po @@ -8,271 +8,271 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-29 08:20+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-30 11:52+0000\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: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 msgid "Hybrid" -msgstr "" +msgstr "混合动力" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact msgid "Compact" -msgstr "" +msgstr "紧凑型" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_1 msgid "A/C Compressor Replacement" -msgstr "" +msgstr "A/C 压缩机更换" #. module: fleet #: help:fleet.vehicle,vin_sn:0 msgid "Unique number written on the vehicle motor (VIN/SN number)" -msgstr "" +msgstr "发动机上的唯一编号(VIN/SN 号)" #. module: fleet #: selection:fleet.service.type,category:0 #: view:fleet.vehicle.log.contract:0 #: view:fleet.vehicle.log.services:0 msgid "Service" -msgstr "" +msgstr "服务" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 msgid "Monthly" -msgstr "" +msgstr "月度" #. module: fleet #: code:addons/fleet/fleet.py:62 #, python-format msgid "Unknown" -msgstr "" +msgstr "未知" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_20 msgid "Engine/Drive Belt(s) Replacement" -msgstr "" +msgstr "发动机/传动皮带更换" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Vehicle costs" -msgstr "" +msgstr "车辆花费" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 msgid "Diesel" -msgstr "" +msgstr "柴油" #. module: fleet #: code:addons/fleet/fleet.py:421 #, python-format msgid "License Plate: from '%s' to '%s'" -msgstr "" +msgstr "车牌:从'%s'到'%s'" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_38 msgid "Resurface Rotors" -msgstr "" +msgstr "重置转轮" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Group By..." -msgstr "" +msgstr "分组于..." #. module: fleet #: model:fleet.service.type,name:fleet.type_service_32 msgid "Oil Pump Replacement" -msgstr "" +msgstr "更换油泵" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_18 msgid "Engine Belt Inspection" -msgstr "" +msgstr "引擎皮带检查" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 msgid "No" -msgstr "" +msgstr "NO" #. module: fleet #: help:fleet.vehicle,power:0 msgid "Power in kW of the vehicle" -msgstr "" +msgstr "车辆总功率" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_2 msgid "Depreciation and Interests" -msgstr "" +msgstr "折旧率" #. module: fleet #: field:fleet.vehicle.log.contract,insurer_id:0 #: field:fleet.vehicle.log.fuel,vendor_id:0 #: field:fleet.vehicle.log.services,vendor_id:0 msgid "Supplier" -msgstr "" +msgstr "供应商" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_35 msgid "Power Steering Hose Replacement" -msgstr "" +msgstr "更换驾驶盘软套" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Odometer details" -msgstr "" +msgstr "行驶里程详细信息" #. module: fleet #: view:fleet.vehicle:0 msgid "Has Alert(s)" -msgstr "" +msgstr "有警告" #. module: fleet #: field:fleet.vehicle.log.fuel,liter:0 msgid "Liter" -msgstr "" +msgstr "升" #. module: fleet #: view:fleet.vehicle.cost:0 #: field:fleet.vehicle.cost,parent_id:0 msgid "Parent" -msgstr "" +msgstr "上一级" #. module: fleet #: view:board.board:0 msgid "Fuel Costs" -msgstr "" +msgstr "燃油费用" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_9 msgid "Battery Inspection" -msgstr "" +msgstr "电池检查" #. module: fleet #: field:fleet.vehicle,company_id:0 msgid "Company" -msgstr "" +msgstr "公司" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Invoice Date" -msgstr "" +msgstr "开票日期" #. module: fleet #: view:fleet.vehicle.log.fuel:0 msgid "Refueling Details" -msgstr "" +msgstr "加油明细" #. module: fleet #: code:addons/fleet/fleet.py:655 #, python-format msgid "%s contract(s) need(s) to be renewed and/or closed!" -msgstr "" +msgstr "%s续期的合同或需要终止!" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Indicative Costs" -msgstr "" +msgstr "指示性费用" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_16 msgid "Charging System Diagnosis" -msgstr "" +msgstr "充电系统故障诊断" #. module: fleet #: help:fleet.vehicle,car_value:0 msgid "Value of the bought vehicle" -msgstr "" +msgstr "购买车辆的价钱" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_44 msgid "Tie Rod End Replacement" -msgstr "" +msgstr "万向轴更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_24 msgid "Head Gasket(s) Replacement" -msgstr "" +msgstr "HEAD GASKET更换" #. module: fleet #: view:fleet.vehicle:0 #: selection:fleet.vehicle.cost,cost_type:0 msgid "Services" -msgstr "" +msgstr "服务" #. module: fleet #: help:fleet.vehicle,odometer:0 #: help:fleet.vehicle.cost,odometer:0 #: help:fleet.vehicle.cost,odometer_id:0 msgid "Odometer measure of the vehicle at the moment of this log" -msgstr "" +msgstr "查看在此日志中为那一刻车辆的里程表" #. module: fleet #: view:fleet.vehicle.log.contract:0 #: field:fleet.vehicle.log.contract,notes:0 msgid "Terms and Conditions" -msgstr "" +msgstr "条款和条件" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban msgid "Vehicles with alerts" -msgstr "" +msgstr "车辆警告" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu msgid "Vehicle Costs" -msgstr "" +msgstr "车辆成本" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Total Cost" -msgstr "" +msgstr "合计成本" #. module: fleet #: selection:fleet.service.type,category:0 msgid "Both" -msgstr "" +msgstr "全部" #. module: fleet #: field:fleet.vehicle.log.contract,cost_id:0 #: field:fleet.vehicle.log.fuel,cost_id:0 #: field:fleet.vehicle.log.services,cost_id:0 msgid "Automatically created field to link to parent fleet.vehicle.cost" -msgstr "" +msgstr "自动创建的字段链接到上级 fleet.vehicle.cost" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Terminate Contract" -msgstr "" +msgstr "终止合同" #. module: fleet #: help:fleet.vehicle.cost,parent_id:0 msgid "Parent cost to this current cost" -msgstr "" +msgstr "对这次的上一级费用成本" #. module: fleet #: help:fleet.vehicle.log.contract,cost_frequency:0 msgid "Frequency of the recuring cost" -msgstr "" +msgstr "复发成本的频率" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_1 msgid "Calculation Benefit In Kind" -msgstr "" +msgstr "计算实际利益" #. module: fleet #: help:fleet.vehicle.log.contract,expiration_date:0 msgid "" "Date when the coverage of the contract expirates (by default, one year after " "begin date)" -msgstr "" +msgstr "合同的覆盖范围的有效日期(默认情况下,开始日期一年之后)" #. module: fleet #: view:fleet.vehicle.log.fuel:0 @@ -280,106 +280,106 @@ msgstr "" #: view:fleet.vehicle.log.services:0 #: field:fleet.vehicle.log.services,notes:0 msgid "Notes" -msgstr "" +msgstr "备注" #. module: fleet #: code:addons/fleet/fleet.py:47 #, python-format msgid "Operation not allowed!" -msgstr "" +msgstr "不允许的操作!" #. module: fleet #: field:fleet.vehicle,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: fleet #: help:fleet.vehicle.cost,vehicle_id:0 msgid "Vehicle concerned by this log" -msgstr "" +msgstr "此车辆的有关日志" #. module: fleet #: field:fleet.vehicle.log.contract,cost_amount:0 #: field:fleet.vehicle.log.fuel,cost_amount:0 #: field:fleet.vehicle.log.services,cost_amount:0 msgid "Amount" -msgstr "" +msgstr "数量" #. module: fleet #: field:fleet.vehicle,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读消息" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_6 msgid "Air Filter Replacement" -msgstr "" +msgstr "更换空气过滤器" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_tag msgid "fleet.vehicle.tag" -msgstr "" +msgstr "fleet.vehicle.tag" #. module: fleet #: view:fleet.vehicle:0 msgid "show the services logs for this vehicle" -msgstr "" +msgstr "显示该车辆的服务日志" #. module: fleet #: field:fleet.vehicle,contract_renewal_name:0 msgid "Name of contract to renew soon" -msgstr "" +msgstr "尽快更新合同名称" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior msgid "Senior" -msgstr "" +msgstr "高级" #. module: fleet #: help:fleet.vehicle.log.contract,state:0 msgid "Choose wheter the contract is still valid or not" -msgstr "" +msgstr "选择合同是否依旧有效" #. module: fleet #: selection:fleet.vehicle,transmission:0 msgid "Automatic" -msgstr "" +msgstr "自动" #. module: fleet #: help:fleet.vehicle,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "如果要求你关注新消息,勾选此项" #. module: fleet #: code:addons/fleet/fleet.py:414 #, python-format msgid "Driver: from '%s' to '%s'" -msgstr "" +msgstr "驾驶员:from'%s'to'%s'" #. module: fleet #: view:fleet.vehicle:0 msgid "and" -msgstr "" +msgstr "and" #. module: fleet #: field:fleet.vehicle.model.brand,image_medium:0 msgid "Medium-sized photo" -msgstr "" +msgstr "中等尺寸图片" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_34 msgid "Oxygen Sensor Replacement" -msgstr "" +msgstr "更换氧传感器" #. module: fleet #: view:fleet.vehicle.log.services:0 msgid "Service Type" -msgstr "" +msgstr "服务类型" #. module: fleet #: help:fleet.vehicle,transmission:0 msgid "Transmission Used by the vehicle" -msgstr "" +msgstr "车辆的变速器" #. module: fleet #: code:addons/fleet/fleet.py:726 @@ -387,37 +387,37 @@ msgstr "" #: model:ir.actions.act_window,name:fleet.act_renew_contract #, python-format msgid "Renew Contract" -msgstr "" +msgstr "合同续订" #. module: fleet #: view:fleet.vehicle:0 msgid "show the odometer logs for this vehicle" -msgstr "" +msgstr "显示辆车的里程表日志" #. module: fleet #: help:fleet.vehicle,odometer_unit:0 msgid "Unit of the odometer " -msgstr "" +msgstr "单位的里程表 " #. module: fleet #: view:fleet.vehicle.log.services:0 msgid "Services Costs Per Month" -msgstr "" +msgstr "每月的服务费用" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Effective Costs" -msgstr "" +msgstr "实际成本" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_8 msgid "Repair and maintenance" -msgstr "" +msgstr "维修及保养" #. module: fleet #: help:fleet.vehicle.log.contract,purchaser_id:0 msgid "Person to which the contract is signed for" -msgstr "" +msgstr "该合约的签署人" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act @@ -435,34 +435,44 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建一个新的合同。 \n" +"

    \n" +" 管理您所有的合同(租赁,保险等)\n" +"\t\t 与他们相关的服务费用。OpenERP会自动发出警告,\n" +" 当一些过期合同时,必须更新。\n" +"

    \n" +"\t\t 每份合同(如:租赁)可能包含多个服务\n" +" (赔偿,保险,定期维护)。\n" +" " #. module: fleet #: model:ir.model,name:fleet.model_fleet_service_type msgid "Type of services available on a vehicle" -msgstr "" +msgstr "提供的服务车辆的类型" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu msgid "Service Types" -msgstr "" +msgstr "服务类型" #. module: fleet #: view:board.board:0 msgid "Contracts Costs" -msgstr "" +msgstr "合约成本" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu msgid "Vehicles Services Logs" -msgstr "" +msgstr "车辆服务日志" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu msgid "Vehicles Fuel Logs" -msgstr "" +msgstr "车辆的加油日志" #. module: fleet #: view:fleet.vehicle.model.brand:0 @@ -470,11 +480,13 @@ msgid "" "$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " "$(this).addClass('oe_employee_picture_wide') } });" msgstr "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" #. module: fleet #: view:board.board:0 msgid "Vehicles With Alerts" -msgstr "" +msgstr "车辆通知" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act @@ -488,52 +500,55 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +"\t\t 单击,创建一个新的费用。\n" +" " #. module: fleet #: view:fleet.vehicle:0 msgid "show the fuel logs for this vehicle" -msgstr "" +msgstr "显示车辆的燃油日志" #. module: fleet #: field:fleet.vehicle.log.contract,purchaser_id:0 msgid "Contractor" -msgstr "" +msgstr "承包人" #. module: fleet #: field:fleet.vehicle,license_plate:0 msgid "License Plate" -msgstr "" +msgstr "车辆牌照" #. module: fleet #: field:fleet.vehicle.log.contract,cost_frequency:0 msgid "Recurring Cost Frequency" -msgstr "" +msgstr "周期性成本" #. module: fleet #: field:fleet.vehicle.log.fuel,inv_ref:0 #: field:fleet.vehicle.log.services,inv_ref:0 msgid "Invoice Reference" -msgstr "" +msgstr "发票参考" #. module: fleet #: field:fleet.vehicle,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "追踪" #. module: fleet #: field:fleet.vehicle,location:0 msgid "Location" -msgstr "" +msgstr "位置" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Costs Per Month" -msgstr "" +msgstr "每月的费用" #. module: fleet #: field:fleet.contract.state,name:0 msgid "Contract Status" -msgstr "" +msgstr "合同状态" #. module: fleet #: field:fleet.vehicle,contract_renewal_total:0 @@ -543,105 +558,105 @@ msgstr "" #. module: fleet #: field:fleet.vehicle.cost,cost_subtype:0 msgid "Type" -msgstr "" +msgstr "类型" #. module: fleet #: field:fleet.vehicle,contract_renewal_overdue:0 msgid "Has Contracts Overdued" -msgstr "" +msgstr "有合约逾期" #. module: fleet #: field:fleet.vehicle.cost,amount:0 msgid "Total Price" -msgstr "" +msgstr "总计" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_27 msgid "Heater Core Replacement" -msgstr "" +msgstr "更换加(散)热器芯" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_14 msgid "Car Wash" -msgstr "" +msgstr "洗车" #. module: fleet #: help:fleet.vehicle,driver:0 msgid "Driver of the vehicle" -msgstr "" +msgstr "车辆驾驶员" #. module: fleet #: view:fleet.vehicle:0 msgid "other(s)" -msgstr "" +msgstr "其他的" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_refueling msgid "Refueling" -msgstr "" +msgstr "加油" #. module: fleet #: help:fleet.vehicle,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 "" +msgstr "持有聊天者概要(消息数,...)。这份概要为直接以HTML格式至看板视图。" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_5 msgid "A/C Recharge" -msgstr "" +msgstr "A/C充电" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel msgid "Fuel log for vehicles" -msgstr "" +msgstr "车辆加油日志" #. module: fleet #: view:fleet.vehicle:0 msgid "Engine Options" -msgstr "" +msgstr "发动机选项" #. module: fleet #: view:fleet.vehicle.log.fuel:0 msgid "Fuel Costs Per Month" -msgstr "" +msgstr "每月的燃油费" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan msgid "Sedan" -msgstr "" +msgstr "轿车" #. module: fleet #: field:fleet.vehicle,seats:0 msgid "Seats Number" -msgstr "" +msgstr "座位数" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible msgid "Convertible" -msgstr "" +msgstr "可转换" #. module: fleet #: model:ir.ui.menu,name:fleet.fleet_configuration msgid "Configuration" -msgstr "" +msgstr "设置中心" #. module: fleet #: view:fleet.vehicle.log.contract:0 #: field:fleet.vehicle.log.contract,sum_cost:0 msgid "Indicative Costs Total" -msgstr "" +msgstr "所涉指示性费用总计" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior msgid "Junior" -msgstr "" +msgstr "初级" #. module: fleet #: help:fleet.vehicle,model_id:0 msgid "Model of the vehicle" -msgstr "" +msgstr "车辆型号" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act @@ -655,13 +670,19 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 点击创建车辆状况信息。\n" +"

    \n" +" 您可以自定义可用状态,跟踪每个车辆的行踪。例如:在用的,正在维修,销售出去的等。\n" +"

    \n" +" " #. module: fleet #: view:fleet.vehicle:0 #: field:fleet.vehicle,log_fuel:0 #: view:fleet.vehicle.log.fuel:0 msgid "Fuel Logs" -msgstr "" +msgstr "燃油日志" #. module: fleet #: code:addons/fleet/fleet.py:409 @@ -670,43 +691,43 @@ msgstr "" #: code:addons/fleet/fleet.py:420 #, python-format msgid "None" -msgstr "" +msgstr "无" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective #: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs msgid "Indicative Costs Analysis" -msgstr "" +msgstr "指标性成本分析" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_12 msgid "Brake Inspection" -msgstr "" +msgstr "检查制动器" #. module: fleet #: help:fleet.vehicle,state:0 msgid "Current state of the vehicle" -msgstr "" +msgstr "车辆的当前状态" #. module: fleet #: selection:fleet.vehicle,transmission:0 msgid "Manual" -msgstr "" +msgstr "手册" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_52 msgid "Wheel Bearing Replacement" -msgstr "" +msgstr "更换轮毂轴承" #. module: fleet #: help:fleet.vehicle.cost,cost_subtype:0 msgid "Cost type purchased with this cost" -msgstr "" +msgstr "本笔费用与购买的成本类型" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 msgid "Gasoline" -msgstr "" +msgstr "汽油" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act @@ -716,110 +737,114 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建一个新的品牌。\n" +"

    \n" +" " #. module: fleet #: field:fleet.vehicle.log.contract,start_date:0 msgid "Contract Start Date" -msgstr "" +msgstr "合同起始日期" #. module: fleet #: field:fleet.vehicle,odometer_unit:0 msgid "Odometer Unit" -msgstr "" +msgstr "里程表单位" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_30 msgid "Intake Manifold Gasket Replacement" -msgstr "" +msgstr "更换进气管垫圈" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 msgid "Daily" -msgstr "" +msgstr "日常" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_6 msgid "Snow tires" -msgstr "" +msgstr "雪地胎" #. module: fleet #: help:fleet.vehicle.cost,date:0 msgid "Date when the cost has been executed" -msgstr "" +msgstr "费用已形成的日期" #. module: fleet #: field:fleet.vehicle.state,sequence:0 msgid "Order" -msgstr "" +msgstr "次序" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Vehicles costs" -msgstr "" +msgstr "车辆费用" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_log_services msgid "Services for vehicles" -msgstr "" +msgstr "车辆服务" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Indicative Cost" -msgstr "" +msgstr "指标性成本" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_26 msgid "Heater Control Valve Replacement" -msgstr "" +msgstr "更换加(散)热器控制阀" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "" "Create a new contract automatically with all the same informations except " "for the date that will start at the end of current contract" -msgstr "" +msgstr "在年底开始的日期,自动创建一个新的与目前的合同相同的信息的合同" #. module: fleet #: selection:fleet.vehicle.log.contract,state:0 msgid "Terminated" -msgstr "" +msgstr "已终止" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_cost msgid "Cost related to a vehicle" -msgstr "" +msgstr "相关车辆的费用" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_33 msgid "Other Maintenance" -msgstr "" +msgstr "其他维护" #. module: fleet #: field:fleet.vehicle.model,brand:0 #: view:fleet.vehicle.model.brand:0 msgid "Model Brand" -msgstr "" +msgstr "品牌型号" #. module: fleet #: field:fleet.vehicle.model.brand,image_small:0 msgid "Smal-sized photo" -msgstr "" +msgstr "小尺寸图片" #. module: fleet #: field:fleet.vehicle,state:0 #: view:fleet.vehicle.state:0 msgid "State" -msgstr "" +msgstr "状态" #. module: fleet #: field:fleet.vehicle.log.contract,cost_generated:0 msgid "Recurring Cost Amount" -msgstr "" +msgstr "周期性成本金额" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_49 msgid "Transmission Replacement" -msgstr "" +msgstr "变速箱更换" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act @@ -834,68 +859,75 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 点击创建一个新的加油日志。 \n" +"

    \n" +" 在这里,你可以添加条目为所有车辆添加加油日志。\n" +"\t\t您也可以使用搜索领域的特殊车辆过滤加油日志。\n" +"\t\t

    \n" +" " #. module: fleet #: model:fleet.service.type,name:fleet.type_service_11 msgid "Brake Caliper Replacement" -msgstr "" +msgstr "制动钳更换" #. module: fleet #: field:fleet.vehicle,odometer:0 msgid "Last Odometer" -msgstr "" +msgstr "最新行驶里程" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu msgid "Vehicle Model" -msgstr "" +msgstr "车辆型号" #. module: fleet #: field:fleet.vehicle,doors:0 msgid "Doors Number" -msgstr "" +msgstr "车门数量" #. module: fleet #: help:fleet.vehicle,acquisition_date:0 msgid "Date when the vehicle has been bought" -msgstr "" +msgstr "车辆购买日期" #. module: fleet #: view:fleet.vehicle.model:0 msgid "Models" -msgstr "" +msgstr "型号" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "amount" -msgstr "" +msgstr "数量" #. module: fleet #: help:fleet.vehicle,fuel_type:0 msgid "Fuel Used by the vehicle" -msgstr "" +msgstr "车辆的燃料" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Set Contract In Progress" -msgstr "" +msgstr "设置合同进度" #. module: fleet #: field:fleet.vehicle.cost,odometer_unit:0 #: field:fleet.vehicle.odometer,unit:0 msgid "Unit" -msgstr "" +msgstr "单位" #. module: fleet #: field:fleet.vehicle,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "跟随者" #. module: fleet #: field:fleet.vehicle,horsepower:0 msgid "Horsepower" -msgstr "" +msgstr "马力" #. module: fleet #: field:fleet.vehicle,image:0 @@ -906,169 +938,169 @@ msgstr "" #: field:fleet.vehicle.model,image_small:0 #: field:fleet.vehicle.model.brand,image:0 msgid "Logo" -msgstr "" +msgstr "Logo标志" #. module: fleet #: field:fleet.vehicle,horsepower_tax:0 msgid "Horsepower Taxation" -msgstr "" +msgstr "车船税(应该是)" #. module: fleet #: field:fleet.vehicle,log_services:0 #: view:fleet.vehicle.log.services:0 msgid "Services Logs" -msgstr "" +msgstr "服务日志" #. module: fleet #: code:addons/fleet/fleet.py:47 #, python-format msgid "Emptying the odometer value of a vehicle is not allowed." -msgstr "" +msgstr "不允许私自清空车辆的里程表值。" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_43 msgid "Thermostat Replacement" -msgstr "" +msgstr "温控器更换" #. module: fleet #: field:fleet.service.type,category:0 msgid "Category" -msgstr "" +msgstr "类别" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph msgid "Fuel Costs by Month" -msgstr "" +msgstr "月燃油费" #. module: fleet #: help:fleet.vehicle.model.brand,image:0 msgid "" "This field holds the image used as logo for the brand, limited to " "1024x1024px." -msgstr "" +msgstr "这个字段保存的图像作为标志的品牌,尺寸你不超过1024X1024PX。" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_11 msgid "Management Fee" -msgstr "" +msgstr "管理费" #. module: fleet #: view:fleet.vehicle:0 msgid "All vehicles" -msgstr "" +msgstr "所有" #. module: fleet #: view:fleet.vehicle.log.fuel:0 #: view:fleet.vehicle.log.services:0 msgid "Additional Details" -msgstr "" +msgstr "其他详细资料" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph msgid "Services Costs by Month" -msgstr "" +msgstr "月服务费" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_9 msgid "Assistance" -msgstr "" +msgstr "帮助" #. module: fleet #: field:fleet.vehicle.log.fuel,price_per_liter:0 msgid "Price Per Liter" -msgstr "" +msgstr "每公升价格" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_17 msgid "Door Window Motor/Regulator Replacement" -msgstr "" +msgstr "门窗电机/调节器的更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_46 msgid "Tire Service" -msgstr "" +msgstr "轮胎维修" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_8 msgid "Ball Joint Replacement" -msgstr "" +msgstr "更换万向节" #. module: fleet #: field:fleet.vehicle,fuel_type:0 msgid "Fuel Type" -msgstr "" +msgstr "燃油类型" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_22 msgid "Fuel Injector Replacement" -msgstr "" +msgstr "更换化油器" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_50 msgid "Water Pump Replacement" -msgstr "" +msgstr "更换水泵" #. module: fleet #: help:fleet.vehicle,location:0 msgid "Location of the vehicle (garage, ...)" -msgstr "" +msgstr "车辆的位置(车库,...)" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_28 msgid "Heater Hose Replacement" -msgstr "" +msgstr "更换热水管" #. module: fleet #: field:fleet.vehicle.log.contract,state:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_40 msgid "Rotor Replacement" -msgstr "" +msgstr "更换转子" #. module: fleet #: help:fleet.vehicle.model,brand:0 msgid "Brand of the vehicle" -msgstr "" +msgstr "车辆的品牌" #. module: fleet #: help:fleet.vehicle.log.contract,start_date:0 msgid "Date when the coverage of the contract begins" -msgstr "" +msgstr "有效期内的合同的起始日期" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 msgid "Electric" -msgstr "" +msgstr "电启动" #. module: fleet #: field:fleet.vehicle,tag_ids:0 msgid "Tags" -msgstr "" +msgstr "Tags" #. module: fleet #: view:fleet.vehicle:0 #: field:fleet.vehicle,log_contracts:0 msgid "Contracts" -msgstr "" +msgstr "合同" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_13 msgid "Brake Pad(s) Replacement" -msgstr "" +msgstr "更换刹车片" #. module: fleet #: view:fleet.vehicle.log.fuel:0 #: view:fleet.vehicle.log.services:0 msgid "Odometer Details" -msgstr "" +msgstr "里程表详细信息" #. module: fleet #: field:fleet.vehicle,driver:0 msgid "Driver" -msgstr "" +msgstr "驾驶员" #. module: fleet #: help:fleet.vehicle.model.brand,image_small:0 @@ -1076,78 +1108,78 @@ msgid "" "Small-sized photo of the brand. It is automatically resized as a 64x64px " "image, with aspect ratio preserved. Use this field anywhere a small image is " "required." -msgstr "" +msgstr "小尺寸照片的品牌。它会自动调整大小为64X64像素的图像,保存采用宽高比。使用此字段可存放任意一个小图片。" #. module: fleet #: view:board.board:0 msgid "Fleet Dashboard" -msgstr "" +msgstr "车辆控制面板" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break msgid "Break" -msgstr "" +msgstr "坏损的" #. module: fleet #: model:fleet.service.type,name:fleet.type_contract_omnium msgid "Omnium" -msgstr "" +msgstr "z总额" #. module: fleet #: view:fleet.vehicle.log.services:0 msgid "Services Details" -msgstr "" +msgstr "服务细节" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_15 msgid "Residual value (Excluding VAT)" -msgstr "" +msgstr "残值率(不含增值税)" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_7 msgid "Alternator Replacement" -msgstr "" +msgstr "发电机更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_3 msgid "A/C Diagnosis" -msgstr "" +msgstr "A/C检查" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_23 msgid "Fuel Pump Replacement" -msgstr "" +msgstr "更换燃油泵" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Activation Cost" -msgstr "" +msgstr "激活费用" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Cost Type" -msgstr "" +msgstr "费用类型" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_4 msgid "A/C Evaporator Replacement" -msgstr "" +msgstr "A/C蒸发仪更换" #. module: fleet #: view:fleet.vehicle:0 msgid "show all the costs for this vehicle" -msgstr "" +msgstr "显示这辆车的所有费用" #. module: fleet #: view:fleet.vehicle.odometer:0 msgid "Odometer Values Per Month" -msgstr "" +msgstr "每月里程表值" #. module: fleet #: field:fleet.vehicle,message_comment_ids:0 #: help:fleet.vehicle,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_act @@ -1166,21 +1198,28 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +"\t\t点击“创建一个新的车辆信息。\n" +"

    \n" +" 您将能够管理您的车队.跟踪\n" +" 合同,服务,固定及经常性费用,里程表和\n" +" 记录相关的燃料给每台车辆。\n" +" " #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_13 msgid "Entry into service tax" -msgstr "" +msgstr "输入服务税" #. module: fleet #: field:fleet.vehicle.log.contract,expiration_date:0 msgid "Contract Expiration Date" -msgstr "" +msgstr "合同到期日期" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Cost Subtype" -msgstr "" +msgstr "费用子类型" #. module: fleet #: model:ir.actions.act_window,help:fleet.open_board_fleet @@ -1200,70 +1239,78 @@ msgid "" " \n" " " msgstr "" +"

    \n" +"

    \n" +" 车辆仪表盘是空的。\n" +"

    \n" +" 这个仪表盘添加您的首份报告,到任何\n" +" 菜单,切换到列表或图表视图,然后在扩展搜索选项中单击“添加到\n" +" 仪表盘“。\n" +" " #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_12 msgid "Rent (Excluding VAT)" -msgstr "" +msgstr "租金(不含增值税)" #. module: fleet #: selection:fleet.vehicle,odometer_unit:0 msgid "Kilometers" -msgstr "" +msgstr "公里" #. module: fleet #: view:fleet.vehicle.log.fuel:0 msgid "Vehicle Details" -msgstr "" +msgstr "车辆的详细资料" #. module: fleet #: selection:fleet.service.type,category:0 #: field:fleet.vehicle.cost,contract_id:0 #: selection:fleet.vehicle.cost,cost_type:0 msgid "Contract" -msgstr "" +msgstr "合同" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu msgid "Model brand of Vehicle" -msgstr "" +msgstr "车辆型号品牌" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_10 msgid "Battery Replacement" -msgstr "" +msgstr "更换电池" #. module: fleet #: view:fleet.vehicle.cost:0 #: field:fleet.vehicle.cost,date:0 #: field:fleet.vehicle.odometer,date:0 msgid "Date" -msgstr "" +msgstr "日期" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_menu #: model:ir.ui.menu,name:fleet.fleet_vehicles msgid "Vehicles" -msgstr "" +msgstr "汽车" #. module: fleet #: selection:fleet.vehicle,odometer_unit:0 msgid "Miles" -msgstr "" +msgstr "里程" #. module: fleet #: help:fleet.vehicle.log.contract,cost_generated:0 msgid "" "Costs paid at regular intervals, depending on the cost frequency. If the " "cost frequency is set to unique, the cost will be logged at the start date" -msgstr "" +msgstr "定期支付费用,这取决于成本的频率。]如果成本频率被设置为唯一的,其成本将被记录在开始日期内." #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_17 msgid "Emissions" -msgstr "" +msgstr "排量" #. module: fleet #: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs @@ -1281,11 +1328,20 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +"\t\tOpenERP的帮助您管理不同车辆的费用,\n" +"\t\t并在这里出现成本常规服务的创建和合同订约。\n" +"

    \n" +"

    \n" +"\t\t基于不同的过滤器,OpenERP 只能打印有效的\n" +"\t\t费用成本。并按类型和车辆对它们进行排序。\n" +"

    \n" +" " #. module: fleet #: field:fleet.vehicle,car_value:0 msgid "Car Value" -msgstr "" +msgstr "车辆价值" #. module: fleet #: model:ir.actions.act_window,name:fleet.open_board_fleet @@ -1293,49 +1349,49 @@ msgstr "" #: model:ir.ui.menu,name:fleet.menu_fleet_reporting #: model:ir.ui.menu,name:fleet.menu_root msgid "Fleet" -msgstr "" +msgstr "车辆管理" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_14 msgid "Total expenses (Excluding VAT)" -msgstr "" +msgstr "费用总计(不含税)" #. module: fleet #: field:fleet.vehicle.cost,odometer_id:0 msgid "Odometer" -msgstr "" +msgstr "里程表" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_45 msgid "Tire Replacement" -msgstr "" +msgstr "轮胎更换" #. module: fleet #: view:fleet.service.type:0 msgid "Service types" -msgstr "" +msgstr "服务类型" #. module: fleet #: field:fleet.vehicle.log.fuel,purchaser_id:0 #: field:fleet.vehicle.log.services,purchaser_id:0 msgid "Purchaser" -msgstr "" +msgstr "采购" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_3 msgid "Tax roll" -msgstr "" +msgstr "税单" #. module: fleet #: view:fleet.vehicle.model:0 #: field:fleet.vehicle.model,vendors:0 msgid "Vendors" -msgstr "" +msgstr "供应商" #. module: fleet #: model:fleet.service.type,name:fleet.type_contract_leasing msgid "Leasing" -msgstr "" +msgstr "租赁" #. module: fleet #: help:fleet.vehicle.model.brand,image_medium:0 @@ -1343,69 +1399,69 @@ msgid "" "Medium-sized logo of the brand. It is automatically resized as a 128x128px " "image, with aspect ratio preserved. Use this field in form views or some " "kanban views." -msgstr "" +msgstr "中等尺寸的商标标识。自动缩放为 128x128px,保留纵横比。用在表单视图或者一些看板视图" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 msgid "Weekly" -msgstr "" +msgstr "每周" #. module: fleet #: view:fleet.vehicle:0 #: view:fleet.vehicle.odometer:0 msgid "Odometer Logs" -msgstr "" +msgstr "里程记录" #. module: fleet #: field:fleet.vehicle,acquisition_date:0 msgid "Acquisition Date" -msgstr "" +msgstr "购买日期" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_odometer msgid "Odometer log for a vehicle" -msgstr "" +msgstr "车辆里程记录" #. module: fleet #: field:fleet.vehicle.cost,cost_type:0 msgid "Category of the cost" -msgstr "" +msgstr "费用所属类别" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_5 #: model:fleet.service.type,name:fleet.type_service_service_7 msgid "Summer tires" -msgstr "" +msgstr "夏季轮胎" #. module: fleet #: field:fleet.vehicle,contract_renewal_due_soon:0 msgid "Has Contracts to renew" -msgstr "" +msgstr "有合同待续签" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_31 msgid "Oil Change" -msgstr "" +msgstr "用油变化" #. module: fleet #: selection:fleet.vehicle.log.contract,state:0 msgid "To Close" -msgstr "" +msgstr "将关闭" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_model_brand msgid "Brand model of the vehicle" -msgstr "" +msgstr "汽车品牌型号" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_51 msgid "Wheel Alignment" -msgstr "" +msgstr "四轮定位" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased msgid "Purchased" -msgstr "" +msgstr "已采购" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act @@ -1418,6 +1474,8 @@ msgid "" "

    \n" " " msgstr "" +"在这里,您可以为添加各种车辆一天的里程项目。您也可以使用搜索字段显示为一个特定的车辆的里程计值\n" +" " #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act @@ -1430,194 +1488,200 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击添加新的型号。\n" +"

    \n" +" 你能为每个品牌(Audi)定义多个型号(例如:A3, A4)。\n" +"

    \n" +" " #. module: fleet #: view:fleet.vehicle:0 msgid "General Properties" -msgstr "" +msgstr "常规属性" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_21 msgid "Exhaust Manifold Replacement" -msgstr "" +msgstr "排气管更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_47 msgid "Transmission Filter Replacement" -msgstr "" +msgstr "滤清器更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_10 msgid "Replacement Vehicle" -msgstr "" +msgstr "更换车辆" #. module: fleet #: selection:fleet.vehicle.log.contract,state:0 msgid "In Progress" -msgstr "" +msgstr "进行中" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 msgid "Yearly" -msgstr "" +msgstr "年度" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu msgid "States of Vehicle" -msgstr "" +msgstr "车辆状态" #. module: fleet #: field:fleet.vehicle.model,modelname:0 msgid "Model name" -msgstr "" +msgstr "型号名称" #. module: fleet #: view:board.board:0 #: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph msgid "Costs by Month" -msgstr "" +msgstr "月成本" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_18 msgid "Touring Assistance" -msgstr "" +msgstr "旅游援助" #. module: fleet #: field:fleet.vehicle,power:0 msgid "Power (kW)" -msgstr "" +msgstr "动力(KW)" #. module: fleet #: code:addons/fleet/fleet.py:418 #, python-format msgid "State: from '%s' to '%s'" -msgstr "" +msgstr "状态:从 '%s' 到 '%s'" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_2 msgid "A/C Condenser Replacement" -msgstr "" +msgstr "压缩机 电容更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_19 msgid "Engine Coolant Replacement" -msgstr "" +msgstr "更换引擎冷却剂" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Cost Details" -msgstr "" +msgstr "费用明细" #. module: fleet #: code:addons/fleet/fleet.py:410 #, python-format msgid "Model: from '%s' to '%s'" -msgstr "" +msgstr "型号:从'%s'到'%s'" #. module: fleet #: selection:fleet.vehicle.cost,cost_type:0 msgid "Other" -msgstr "" +msgstr "其他" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Contract details" -msgstr "" +msgstr "合同细节" #. module: fleet #: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing msgid "Employee Car" -msgstr "" +msgstr "公司雇员轿车" #. module: fleet #: field:fleet.vehicle.cost,auto_generated:0 msgid "Automatically Generated" -msgstr "" +msgstr "自动生成" #. module: fleet #: selection:fleet.vehicle.cost,cost_type:0 msgid "Fuel" -msgstr "" +msgstr "油" #. module: fleet #: sql_constraint:fleet.vehicle.state:0 msgid "State name already exists" -msgstr "" +msgstr "状态名称已经存在" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_37 msgid "Radiator Repair" -msgstr "" +msgstr "散热器修理" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_log_contract msgid "Contract information on a vehicle" -msgstr "" +msgstr "车辆上的联系人信息" #. module: fleet #: field:fleet.vehicle.log.contract,days_left:0 msgid "Warning Date" -msgstr "" +msgstr "警告日期" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_19 msgid "Residual value in %" -msgstr "" +msgstr "剩余值%" #. module: fleet #: view:fleet.vehicle:0 msgid "Additional Properties" -msgstr "" +msgstr "附加属性" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_state msgid "fleet.vehicle.state" -msgstr "" +msgstr "fleet.vehicle.state" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Contract Costs Per Month" -msgstr "" +msgstr "每月合同成本" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu msgid "Vehicles Contracts" -msgstr "" +msgstr "车辆合同" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_48 msgid "Transmission Fluid Replacement" -msgstr "" +msgstr "传动液更换" #. module: fleet #: field:fleet.vehicle.model.brand,name:0 msgid "Brand Name" -msgstr "" +msgstr "品牌名称" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_36 msgid "Power Steering Pump Replacement" -msgstr "" +msgstr "动力转向泵更换" #. module: fleet #: help:fleet.vehicle.cost,contract_id:0 msgid "Contract attached to this cost" -msgstr "" +msgstr "合同附加成本" #. module: fleet #: code:addons/fleet/fleet.py:397 #, python-format msgid "Vehicle %s has been added to the fleet!" -msgstr "" +msgstr "车辆%s 加入车队" #. module: fleet #: view:fleet.vehicle.log.contract:0 #: view:fleet.vehicle.log.fuel:0 #: view:fleet.vehicle.log.services:0 msgid "Price" -msgstr "" +msgstr "价格" #. module: fleet #: view:fleet.vehicle:0 @@ -1625,14 +1689,14 @@ msgstr "" #: field:fleet.vehicle.cost,vehicle_id:0 #: field:fleet.vehicle.odometer,vehicle_id:0 msgid "Vehicle" -msgstr "" +msgstr "车辆" #. module: fleet #: field:fleet.vehicle.cost,cost_ids:0 #: view:fleet.vehicle.log.contract:0 #: view:fleet.vehicle.log.services:0 msgid "Included Services" -msgstr "" +msgstr "包括服务" #. module: fleet #: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban @@ -1644,53 +1708,57 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 这里显示了车辆的一个或者多个需要续签的合同。如果你看到这个信息,没有合同要续签。\n" +"

    \n" +" " #. module: fleet #: model:fleet.service.type,name:fleet.type_service_15 msgid "Catalytic Converter Replacement" -msgstr "" +msgstr "三元催化器更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_25 msgid "Heater Blower Motor Replacement" -msgstr "" +msgstr "鼓风机电动机更换" #. module: fleet #: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act #: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu msgid "Vehicles Odometer" -msgstr "" +msgstr "车辆里程表" #. module: fleet #: help:fleet.vehicle.log.contract,notes:0 msgid "Write here all supplementary informations relative to this contract" -msgstr "" +msgstr "合同有关的所有其他信息写在这里" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_29 msgid "Ignition Coil Replacement" -msgstr "" +msgstr "点火线圈更换" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_16 msgid "Options" -msgstr "" +msgstr "选项" #. module: fleet #: model:fleet.service.type,name:fleet.type_contract_repairing msgid "Repairing" -msgstr "" +msgstr "正在修复" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs #: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs msgid "Costs Analysis" -msgstr "" +msgstr "成本分析" #. module: fleet #: field:fleet.vehicle.log.contract,ins_ref:0 msgid "Contract Reference" -msgstr "" +msgstr "合同编号" #. module: fleet #: field:fleet.service.type,name:0 @@ -1702,27 +1770,27 @@ msgstr "" #: field:fleet.vehicle.state,name:0 #: field:fleet.vehicle.tag,name:0 msgid "Name" -msgstr "" +msgstr "名称" #. module: fleet #: help:fleet.vehicle,doors:0 msgid "Number of doors of the vehicle" -msgstr "" +msgstr "车辆的门数" #. module: fleet #: field:fleet.vehicle,transmission:0 msgid "Transmission" -msgstr "" +msgstr "变速器" #. module: fleet #: field:fleet.vehicle,vin_sn:0 msgid "Chassis Number" -msgstr "" +msgstr "底架号" #. module: fleet #: help:fleet.vehicle,color:0 msgid "Color of the vehicle" -msgstr "" +msgstr "车辆颜色" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act @@ -1740,69 +1808,69 @@ msgstr "" #. module: fleet #: field:fleet.vehicle,co2:0 msgid "CO2 Emissions" -msgstr "" +msgstr "二氧化碳排放量" #. module: fleet #: view:fleet.vehicle.log.contract:0 msgid "Contract logs" -msgstr "" +msgstr "合同日志" #. module: fleet #: view:fleet.vehicle:0 msgid "Costs" -msgstr "" +msgstr "费用" #. module: fleet #: field:fleet.vehicle,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: fleet #: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph msgid "Contracts Costs by Month" -msgstr "" +msgstr "按月的预估成本" #. module: fleet #: field:fleet.vehicle,model_id:0 #: view:fleet.vehicle.model:0 msgid "Model" -msgstr "" +msgstr "型号" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_41 msgid "Spark Plug Replacement" -msgstr "" +msgstr "更换火花塞" #. module: fleet #: help:fleet.vehicle,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "信息和通讯记录" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle msgid "Information on a vehicle" -msgstr "" +msgstr "车辆上的信息" #. module: fleet #: help:fleet.vehicle,co2:0 msgid "CO2 emissions of the vehicle" -msgstr "" +msgstr "车辆的CO2排放量" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_53 msgid "Windshield Wiper(s) Replacement" -msgstr "" +msgstr "更换雨刷" #. module: fleet #: view:fleet.vehicle.log.contract:0 #: field:fleet.vehicle.log.contract,generated_cost_ids:0 msgid "Generated Costs" -msgstr "" +msgstr "已产生的费用" #. module: fleet #: field:fleet.vehicle,color:0 msgid "Color" -msgstr "" +msgstr "颜色" #. module: fleet #: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act @@ -1815,81 +1883,86 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +"\t\t点击创建服务类型。\n" +"\t\t

    \n" +"\t\t每个服务都可以在合同中存在,作为一个独立的服务或两者具备同样的类型\t\t

    \n" +" " #. module: fleet #: view:board.board:0 msgid "Services Costs" -msgstr "" +msgstr "服务成本" #. module: fleet #: model:ir.model,name:fleet.model_fleet_vehicle_model msgid "Model of a vehicle" -msgstr "" +msgstr "车辆型号" #. module: fleet #: help:fleet.vehicle,seats:0 msgid "Number of seats of the vehicle" -msgstr "" +msgstr "车辆座位数" #. module: fleet #: field:fleet.vehicle.cost,odometer:0 #: field:fleet.vehicle.odometer,value:0 msgid "Odometer Value" -msgstr "" +msgstr "行驶里程数" #. module: fleet #: view:fleet.vehicle.log.services:0 msgid "Cost" -msgstr "" +msgstr "费用" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_39 msgid "Rotate Tires" -msgstr "" +msgstr "轮换车胎" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_42 msgid "Starter Replacement" -msgstr "" +msgstr "更换启动器" #. module: fleet #: view:fleet.vehicle.cost:0 #: field:fleet.vehicle.cost,year:0 msgid "Year" -msgstr "" +msgstr "年" #. module: fleet #: help:fleet.vehicle,license_plate:0 msgid "License plate number of the vehicle (ie: plate number for a car)" -msgstr "" +msgstr "车辆的车牌号(即:车的车牌号码)" #. module: fleet #: model:ir.model,name:fleet.model_fleet_contract_state msgid "Contains the different possible status of a leasing contract" -msgstr "" +msgstr "租赁合同包含了不同的可能的状态" #. module: fleet #: view:fleet.vehicle:0 msgid "show the contract for this vehicle" -msgstr "" +msgstr "显示该车辆的合同" #. module: fleet #: view:fleet.vehicle.log.services:0 msgid "Total" -msgstr "" +msgstr "合计" #. module: fleet #: help:fleet.service.type,category:0 msgid "" "Choose wheter the service refer to contracts, vehicle services or both" -msgstr "" +msgstr "选择是服务合同还是车辆服务,或两者的" #. module: fleet #: help:fleet.vehicle.cost,cost_type:0 msgid "For internal purpose only" -msgstr "" +msgstr "仅限内部用途" #. module: fleet #: help:fleet.vehicle.state,sequence:0 msgid "Used to order the note stages" -msgstr "" +msgstr "用通知阶段来排序" diff --git a/addons/hr/i18n/it.po b/addons/hr/i18n/it.po index 3678d669560..db691f597e8 100644 --- a/addons/hr/i18n/it.po +++ b/addons/hr/i18n/it.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-11-30 00:11+0000\n" -"Last-Translator: Fabio Graziosi \n" +"PO-Revision-Date: 2012-11-30 22:46+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: hr @@ -24,7 +24,7 @@ msgstr "Utente Openerp" #. module: hr #: field:hr.config.settings,module_hr_timesheet_sheet:0 msgid "Allow timesheets validation by managers" -msgstr "" +msgstr "Consenti la validazione timesheet ai manager" #. module: hr #: field:hr.job,requirements:0 @@ -63,7 +63,7 @@ msgstr "" #. module: hr #: view:hr.config.settings:0 msgid "Time Tracking" -msgstr "" +msgstr "Tracciamento Temporale" #. module: hr #: view:hr.employee:0 @@ -74,17 +74,17 @@ msgstr "Raggruppato per..." #. module: hr #: model:ir.actions.act_window,name:hr.view_department_form_installer msgid "Create Your Departments" -msgstr "" +msgstr "Crea i tuoi dipartimenti" #. module: hr #: help:hr.job,no_of_employee:0 msgid "Number of employees currently occupying this job position." -msgstr "" +msgstr "Numero di dipendenti attualmente occupanti questa posizione." #. module: hr #: field:hr.config.settings,module_hr_evaluation:0 msgid "Organize employees periodic evaluation" -msgstr "" +msgstr "Organizza la valutazione periodica dei dipendenti" #. module: hr #: view:hr.department:0 @@ -106,11 +106,13 @@ msgid "" "This field holds the image used as photo for the employee, limited to " "1024x1024px." msgstr "" +"Questo campo gestisce l'immagine usata come foto dell'impiegato, limitata a " +"1024x1024px." #. module: hr #: help:hr.config.settings,module_hr_holidays:0 msgid "This installs the module hr_holidays." -msgstr "" +msgstr "Installa il modul hr_holidays." #. module: hr #: view:hr.job:0 @@ -125,7 +127,7 @@ msgstr "In assunzione" #. module: hr #: field:hr.job,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Messaggi non letti" #. module: hr #: field:hr.department,company_id:0 @@ -143,17 +145,17 @@ msgstr "Assunti previsti" #. module: hr #: field:res.users,employee_ids:0 msgid "Related employees" -msgstr "" +msgstr "Dipendenti correlati" #. module: hr #: constraint:hr.employee.category:0 msgid "Error! You cannot create recursive Categories." -msgstr "" +msgstr "Errore! Non puoi creare categorie ricorsive." #. module: hr #: help:hr.config.settings,module_hr_recruitment:0 msgid "This installs the module hr_recruitment." -msgstr "" +msgstr "Installa il modulo hr_recruitment." #. module: hr #: view:hr.employee:0 @@ -163,12 +165,12 @@ msgstr "" #. module: hr #: field:hr.employee,last_login:0 msgid "Latest Connection" -msgstr "" +msgstr "Ultima Connessione" #. module: hr #: view:hr.job:0 msgid "Launch Recruitement" -msgstr "" +msgstr "Lancia Assunzione" #. module: hr #: model:process.transition,name:hr.process_transition_employeeuser0 @@ -183,7 +185,7 @@ msgstr "Dipartimento Superiore" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_config msgid "Leaves" -msgstr "" +msgstr "Permessi" #. module: hr #: selection:hr.employee,marital:0 @@ -193,22 +195,22 @@ msgstr "Sposato/a" #. module: hr #: field:hr.job,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Messaggi" #. module: hr #: view:hr.config.settings:0 msgid "Talent Management" -msgstr "" +msgstr "Talent Management" #. module: hr #: help:hr.config.settings,module_hr_timesheet_sheet:0 msgid "This installs the module hr_timesheet_sheet." -msgstr "" +msgstr "Installa il modulo hr_timesheet_sheet." #. module: hr #: view:hr.employee:0 msgid "Mobile:" -msgstr "" +msgstr "Cellulare:" #. module: hr #: view:hr.employee:0 @@ -253,12 +255,12 @@ msgstr "Femmina" #: model:ir.actions.act_window,name:hr.open_view_categ_form #: model:ir.ui.menu,name:hr.menu_view_employee_category_form msgid "Categories of Employees" -msgstr "" +msgstr "Categorie dei Dipendenti" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config msgid "Attendance" -msgstr "" +msgstr "Presenza" #. module: hr #: field:hr.employee,work_phone:0 @@ -284,7 +286,7 @@ msgstr "Posizione Ufficio" #. module: hr #: field:hr.job,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Followers" #. module: hr #: view:hr.employee:0 @@ -319,7 +321,7 @@ msgstr "" #. module: hr #: model:ir.actions.client,name:hr.action_client_hr_menu msgid "Open HR Menu" -msgstr "" +msgstr "Apre Menù HR" #. module: hr #: help:hr.job,message_summary:0 @@ -376,7 +378,7 @@ msgstr "" #. module: hr #: view:hr.employee:0 msgid "Tel:" -msgstr "" +msgstr "Tel:" #. module: hr #: selection:hr.employee,marital:0 diff --git a/addons/hr_evaluation/i18n/zh_CN.po b/addons/hr_evaluation/i18n/zh_CN.po index b143238c2b7..1e4f045c418 100644 --- a/addons/hr_evaluation/i18n/zh_CN.po +++ b/addons/hr_evaluation/i18n/zh_CN.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-28 15:27+0000\n" +"PO-Revision-Date: 2012-11-30 14:35+0000\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: 2012-11-29 05:15+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: hr_evaluation @@ -641,6 +641,13 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建一个新的跟个人评估关联的面谈要求。\n" +"

    \n" +" 面谈要求通常是根据员工的评估计划自动生成的。\n" +" 每个用户会自动定期收到要求评估他们的同事的Email。\n" +"

    \n" +" " #. module: hr_evaluation #: field:hr_evaluation.plan.phase,action:0 @@ -694,12 +701,12 @@ msgstr "截止日期" #. module: hr_evaluation #: help:hr_evaluation.evaluation,rating:0 msgid "This is the appreciation on which the evaluation is summarized." -msgstr "" +msgstr "这是评估总结的评价" #. module: hr_evaluation #: selection:hr_evaluation.plan.phase,action:0 msgid "Top-Down Appraisal Requests" -msgstr "自上而下的考评申请" +msgstr "自上而下的评估申请" #. module: hr_evaluation #: view:hr_evaluation.plan.phase:0 @@ -795,13 +802,13 @@ msgstr "这个月份数字描述了计划中每次考评的间距(首次之后 #. module: hr_evaluation #: selection:hr_evaluation.plan.phase,action:0 msgid "Self Appraisal Requests" -msgstr "自我考评申请" +msgstr "自我评估申请" #. module: hr_evaluation #: view:hr_evaluation.evaluation:0 #: field:hr_evaluation.evaluation,survey_request_ids:0 msgid "Appraisal Forms" -msgstr "考评表" +msgstr "评估表" #. module: hr_evaluation #: selection:hr.evaluation.report,month:0 @@ -825,6 +832,15 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建一个新的评估\n" +"

    \n" +" 每个员工被指派了一个评估计划。这样的计划定义你\n" +" 的周期性的人才测评个人的频率和方法。\n" +" 你能定义步骤和每一步伴随的面试:自底向上的、自\n" +" 上而下的、自我评价以及管理人员的最终评估。\n" +"

    \n" +" " #. module: hr_evaluation #: view:hr_evaluation.evaluation:0 diff --git a/addons/mail/i18n/pt_BR.po b/addons/mail/i18n/pt_BR.po index 771a77c6fbb..ff4fc1604c2 100644 --- a/addons/mail/i18n/pt_BR.po +++ b/addons/mail/i18n/pt_BR.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-10-17 00:25+0000\n" -"Last-Translator: Syllas F. de O. Neto \n" +"PO-Revision-Date: 2012-11-30 20:18+0000\n" +"Last-Translator: Cristiano Korndörfer \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: mail #: field:res.partner,notification_email_send:0 msgid "Receive Feeds by Email" -msgstr "" +msgstr "Receber Feeds por Email" #. module: mail #: view:mail.followers:0 @@ -36,7 +36,7 @@ msgstr "" #: field:mail.compose.message,author_id:0 #: field:mail.message,author_id:0 msgid "Author" -msgstr "" +msgstr "Autor" #. module: mail #: view:mail.mail:0 @@ -51,7 +51,7 @@ msgstr "Destinatários da mensagem" #. module: mail #: view:mail.message:0 msgid "Comments" -msgstr "" +msgstr "Comentários" #. module: mail #: view:mail.alias:0 @@ -70,7 +70,7 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:43 #, python-format msgid "Write an internal note..." -msgstr "" +msgstr "Escrever uma nota interna..." #. module: mail #: help:mail.alias,alias_name:0 @@ -91,16 +91,18 @@ msgid "" "Invalid expression, it must be a literal python dictionary definition e.g. " "\"{'field': 'value'}\"" msgstr "" +"Expressão inválida, deve ser uma definição literal de dicionário estilo " +"python como \"{'field': 'value'}\"" #. module: mail #: view:mail.group:0 msgid "Group Name" -msgstr "" +msgstr "Nome do Grupo" #. module: mail #: selection:mail.group,public:0 msgid "Public" -msgstr "" +msgstr "Público" #. module: mail #: view:mail.mail:0 @@ -110,7 +112,7 @@ msgstr "Corpo" #. module: mail #: view:mail.message:0 msgid "Show messages to read" -msgstr "" +msgstr "Mostrar mensagens não lidas" #. module: mail #: help:mail.compose.message,email_from:0 @@ -131,14 +133,14 @@ msgstr "" #: field:mail.thread,message_unread:0 #: field:res.partner,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Mensagens não lidas" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:237 #, python-format msgid "show" -msgstr "" +msgstr "mostrar" #. module: mail #: help:mail.message.subtype,default:0 @@ -155,20 +157,20 @@ msgstr "" #. module: mail #: model:ir.ui.menu,name:mail.group_all_employees_ir_ui_menu msgid "Whole Company" -msgstr "" +msgstr "Toda a Empresa" #. module: mail #. openerp-web #: code:addons/mail/static/src/js/mail.js:786 #, python-format msgid "Do you really want to delete this message?" -msgstr "" +msgstr "Deseja realmente excluir esta mensagem?" #. module: mail #: view:mail.message:0 #: field:mail.notification,read:0 msgid "Read" -msgstr "" +msgstr "Lida" #. module: mail #: view:mail.group:0 @@ -180,13 +182,13 @@ msgstr "" #: code:addons/mail/static/src/js/mail_followers.js:134 #, python-format msgid "followers" -msgstr "" +msgstr "Seguidores" #. module: mail #: code:addons/mail/mail_message.py:638 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Acesso Negado" #. module: mail #: help:mail.group,image_medium:0 @@ -239,12 +241,12 @@ msgstr "Referências" #: code:addons/mail/static/src/xml/mail.xml:171 #, python-format msgid "No messages." -msgstr "" +msgstr "Sem mensagens." #. module: mail #: model:ir.model,name:mail.model_mail_group msgid "Discussion group" -msgstr "" +msgstr "Grupo de discussão" #. module: mail #. openerp-web @@ -252,14 +254,14 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:91 #, python-format msgid "uploading" -msgstr "" +msgstr "enviando" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:202 #, python-format msgid "Set back to Inbox" -msgstr "" +msgstr "Devolva para a Caixa de Entrada" #. module: mail #: help:mail.compose.message,type:0 @@ -301,7 +303,7 @@ msgstr "Assistente para compor Email" #: help:mail.thread,message_unread:0 #: help:res.partner,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Se marcado novas mensagens requerem sua atenção" #. module: mail #: field:mail.group,image_medium:0 @@ -312,7 +314,7 @@ msgstr "" #: model:ir.actions.client,name:mail.action_mail_to_me_feeds #: model:ir.ui.menu,name:mail.mail_tomefeeds msgid "To: me" -msgstr "" +msgstr "Para: mim" #. module: mail #: field:mail.message.subtype,name:0 @@ -322,7 +324,7 @@ msgstr "Tipo de Mensagem" #. module: mail #: field:mail.mail,auto_delete:0 msgid "Auto Delete" -msgstr "Excluir automaticamente" +msgstr "Excluir Automaticamente" #. module: mail #. openerp-web @@ -330,28 +332,28 @@ msgstr "Excluir automaticamente" #: view:mail.group:0 #, python-format msgid "Unfollow" -msgstr "" +msgstr "Não seguir" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:236 #, python-format msgid "show one more message" -msgstr "" +msgstr "Mostrar mais uma mensagem" #. module: mail #: code:addons/mail/mail_mail.py:71 #: code:addons/mail/res_users.py:76 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Ação Inválida!" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:25 #, python-format msgid "User img" -msgstr "" +msgstr "Imagem do usuário" #. module: mail #: model:ir.actions.act_window,name:mail.action_view_mail_mail @@ -364,7 +366,7 @@ msgstr "Emails" #. module: mail #: field:mail.followers,partner_id:0 msgid "Related Partner" -msgstr "" +msgstr "Parceiro Relacionado" #. module: mail #: help:mail.group,message_summary:0 @@ -387,7 +389,7 @@ msgstr "" #: selection:mail.compose.message,type:0 #: selection:mail.message,type:0 msgid "System notification" -msgstr "" +msgstr "Notificação do sistema" #. module: mail #: model:ir.model,name:mail.model_res_partner @@ -398,7 +400,7 @@ msgstr "Parceiro" #. module: mail #: model:ir.ui.menu,name:mail.mail_my_stuff msgid "Organizer" -msgstr "" +msgstr "Organizador" #. module: mail #: field:mail.compose.message,subject:0 @@ -409,7 +411,7 @@ msgstr "Assunto" #. module: mail #: field:mail.wizard.invite,partner_ids:0 msgid "Partners" -msgstr "" +msgstr "Parceiros" #. module: mail #: view:mail.mail:0 @@ -456,7 +458,7 @@ msgstr "Enviar" #: code:addons/mail/static/src/js/mail_followers.js:130 #, python-format msgid "No followers" -msgstr "" +msgstr "Sem seguidores" #. module: mail #: view:mail.mail:0 @@ -466,7 +468,7 @@ msgstr "Falhou" #. module: mail #: model:mail.message.subtype,name:mail.mt_crm_won msgid "Won" -msgstr "" +msgstr "Venceu" #. module: mail #. openerp-web @@ -479,20 +481,20 @@ msgstr "" #: field:res.partner,message_follower_ids:0 #, python-format msgid "Followers" -msgstr "" +msgstr "Seguidores" #. module: mail #: model:ir.actions.client,name:mail.action_mail_archives_feeds #: model:ir.ui.menu,name:mail.mail_archivesfeeds msgid "Archives" -msgstr "" +msgstr "Arquivos" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:79 #, python-format msgid "Delete this attachment" -msgstr "" +msgstr "Excluir este anexo" #. module: mail #: field:mail.compose.message,message_id:0 @@ -505,13 +507,13 @@ msgstr "Cód da Mensagem" #: code:addons/mail/static/src/js/mail_followers.js:132 #, python-format msgid "One follower" -msgstr "" +msgstr "Um seguidor" #. module: mail #: field:mail.compose.message,type:0 #: field:mail.message,type:0 msgid "Type" -msgstr "" +msgstr "Tipo" #. module: mail #: selection:mail.compose.message,type:0 @@ -523,22 +525,22 @@ msgstr "" #. module: mail #: field:ir.ui.menu,mail_group_id:0 msgid "Mail Group" -msgstr "" +msgstr "Grupo de Email" #. module: mail #: selection:res.partner,notification_email_send:0 msgid "Comments and Emails" -msgstr "" +msgstr "Comentários e Emails" #. module: mail #: model:ir.model,name:mail.model_mail_favorite msgid "Favorite messages" -msgstr "" +msgstr "Mensagens favoritas" #. module: mail #: view:mail.mail:0 msgid "by" -msgstr "" +msgstr "por" #. module: mail #: code:addons/mail/res_users.py:97 @@ -570,17 +572,17 @@ msgstr "" #. module: mail #: field:mail.group,group_public_id:0 msgid "Authorized Group" -msgstr "" +msgstr "Grupo Autorizado" #. module: mail #: view:mail.group:0 msgid "Join Group" -msgstr "" +msgstr "Participar do Grupo" #. module: mail #: help:mail.mail,email_from:0 msgid "Message sender, taken from user preferences." -msgstr "" +msgstr "Remetente da mensagem, baseado nas preferências do usuário." #. module: mail #: code:addons/mail/wizard/invite.py:39 diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 3273870f5e0..aec106f766b 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -295,7 +295,7 @@ class mail_message(osv.Model): return {'id': message.id, 'type': message.type, - 'body': html_email_clean(message.body), + 'body': html_email_clean(message.body or ''), 'model': message.model, 'res_id': message.res_id, 'record_name': message.record_name, diff --git a/addons/note_pad/i18n/nl.po b/addons/note_pad/i18n/nl.po new file mode 100644 index 00000000000..e053e54f739 --- /dev/null +++ b/addons/note_pad/i18n/nl.po @@ -0,0 +1,28 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:53+0000\n" +"PO-Revision-Date: 2012-11-30 19:41+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: note_pad +#: model:ir.model,name:note_pad.model_note_note +msgid "Note" +msgstr "Opmerking" + +#. module: note_pad +#: field:note.note,note_pad_url:0 +msgid "Pad Url" +msgstr "Pad Url" diff --git a/addons/portal/i18n/zh_CN.po b/addons/portal/i18n/zh_CN.po index ad4cb4b2155..70c6470e354 100644 --- a/addons/portal/i18n/zh_CN.po +++ b/addons/portal/i18n/zh_CN.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:53+0000\n" -"PO-Revision-Date: 2012-11-29 15:52+0000\n" +"PO-Revision-Date: 2012-11-30 11:49+0000\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: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: portal @@ -226,7 +226,7 @@ msgstr "" #. module: portal #: field:portal.payment.acquirer,name:0 msgid "Name" -msgstr "姓名" +msgstr "名称" #. module: portal #: model:ir.model,name:portal.model_res_groups diff --git a/addons/portal_claim/i18n/nl.po b/addons/portal_claim/i18n/nl.po new file mode 100644 index 00000000000..7b98e0858de --- /dev/null +++ b/addons/portal_claim/i18n/nl.po @@ -0,0 +1,36 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:53+0000\n" +"PO-Revision-Date: 2012-11-30 19:42+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: portal_claim +#: model:ir.actions.act_window,help:portal_claim.crm_case_categ_claim0 +msgid "" +"

    \n" +" Click to register a new claim. \n" +"

    \n" +" You can track your claims from this menu and the action we\n" +" will take.\n" +"

    \n" +" " +msgstr "" + +#. module: portal_claim +#: model:ir.actions.act_window,name:portal_claim.crm_case_categ_claim0 +#: model:ir.ui.menu,name:portal_claim.portal_after_sales_claims +msgid "Claims" +msgstr "Klachtenregistratie" diff --git a/addons/portal_project/i18n/nl.po b/addons/portal_project/i18n/nl.po new file mode 100644 index 00000000000..04d64a9b0c5 --- /dev/null +++ b/addons/portal_project/i18n/nl.po @@ -0,0 +1,23 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:53+0000\n" +"PO-Revision-Date: 2012-11-30 19:42+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: portal_project +#: model:ir.ui.menu,name:portal_project.portal_services_tasks +msgid "Tasks" +msgstr "Taken" diff --git a/addons/portal_project_issue/i18n/nl.po b/addons/portal_project_issue/i18n/nl.po new file mode 100644 index 00000000000..52db96043bf --- /dev/null +++ b/addons/portal_project_issue/i18n/nl.po @@ -0,0 +1,42 @@ +# Dutch translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:53+0000\n" +"PO-Revision-Date: 2012-11-30 19:43+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: portal_project_issue +#: view:project.issue:0 +msgid "Creation:" +msgstr "Aangemakt:" + +#. module: portal_project_issue +#: model:ir.actions.act_window,name:portal_project_issue.project_issue_categ_act0 +#: model:ir.ui.menu,name:portal_project_issue.portal_after_sales_issues +msgid "Issues" +msgstr "Issues" + +#. module: portal_project_issue +#: model:ir.actions.act_window,help:portal_project_issue.project_issue_categ_act0 +msgid "" +"

    \n" +" Click to create an issue.\n" +"

    \n" +" OpenERP's kanban view will help you track easily your " +"current \n" +" pipeline of issues to fix.\n" +"

    \n" +" " +msgstr "" diff --git a/addons/product/i18n/fr.po b/addons/product/i18n/fr.po index 9a2d19629eb..01a7588d432 100644 --- a/addons/product/i18n/fr.po +++ b/addons/product/i18n/fr.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:54+0000\n" -"PO-Revision-Date: 2012-11-29 22:56+0000\n" +"PO-Revision-Date: 2012-11-30 13:11+0000\n" "Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #~ msgid "Second UoM" @@ -485,12 +485,12 @@ msgstr "Hauteur" #. module: product #: view:product.product:0 msgid "Procurements" -msgstr "" +msgstr "Approvisionnements" #. module: product #: model:res.groups,name:product.group_mrp_properties msgid "Manage Properties of Product" -msgstr "" +msgstr "Gérer les propriétés d'article" #. module: product #: help:product.uom,factor:0 @@ -543,7 +543,7 @@ msgstr "Temps de travail" #. module: product #: model:product.template,name:product.product_product_42_product_template msgid "Office Suite" -msgstr "" +msgstr "Suite Bureautique" #. module: product #: field:product.template,mes_type:0 @@ -568,6 +568,16 @@ msgid "" "Otherwise, this includes goods arriving to any Stock Location with " "'internal' type." msgstr "" +"Quantité de cet article dont l'arrivée est prévue.\n" +"Dans le contexte d'un emplacement de stock, cela tient compte des articles " +"arrivant à cet emplacement où à ses enfants.\n" +"Dans le contexte d'un entrepôt, cela tient compte des articles arrivant à " +"l'emplacement de stock de cet entrepôt ou à l'un de ses enfants.\n" +"Dans le contexte d'une boutique, cela tient compte des articles arrivant à " +"l'emplacement de stock de l'entrepôt de cette boutique, ou à l'un de ses " +"enfants.\n" +"Dans les autres cas, cela tient compte de tous les articles arrivant à des " +"emplacements de type \"interne\"." #. module: product #: constraint:product.template:0 @@ -589,7 +599,7 @@ msgstr "Boîte 20x20x40" #. module: product #: field:product.template,warranty:0 msgid "Warranty" -msgstr "" +msgstr "Garantie" #. module: product #: view:product.pricelist.item:0 @@ -606,7 +616,7 @@ msgstr "" #. module: product #: model:res.groups,name:product.group_purchase_pricelist msgid "Purchase Pricelists" -msgstr "" +msgstr "Liste de prix d'achat" #. module: product #: model:product.template,name:product.product_product_5_product_template @@ -636,7 +646,7 @@ msgstr "" #. module: product #: model:product.template,name:product.product_product_36_product_template msgid "Blank DVD-RW" -msgstr "" +msgstr "DVD-RW vierge" #. module: product #: selection:product.category,type:0 diff --git a/addons/product_expiry/i18n/zh_CN.po b/addons/product_expiry/i18n/zh_CN.po index e11740cf750..bb7fcc595ca 100644 --- a/addons/product_expiry/i18n/zh_CN.po +++ b/addons/product_expiry/i18n/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: product_expiry diff --git a/addons/project/i18n/de.po b/addons/project/i18n/de.po index 1dcaaaa40ce..eed1d7789ef 100644 --- a/addons/project/i18n/de.po +++ b/addons/project/i18n/de.po @@ -7,15 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-02-15 22:57+0000\n" -"Last-Translator: Thorsten Vocks (OpenBig.org) \n" +"PO-Revision-Date: 2012-11-30 10:24+0000\n" +"Last-Translator: Felix Schubert \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:35+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: project #: view:project.project:0 @@ -174,7 +173,7 @@ msgstr "Prozent erledigte Aufgaben zu Gesamtsumme der offenen Aufgaben." #. module: project #: model:ir.actions.client,name:project.action_client_project_menu msgid "Open Project Menu" -msgstr "" +msgstr "Projekt Menu öffnen" #. module: project #: model:ir.actions.act_window,help:project.action_project_task_user_tree @@ -261,7 +260,7 @@ msgstr "" #. module: project #: view:project.config.settings:0 msgid "Project Management" -msgstr "Projekte" +msgstr "Projekt-Management" #. module: project #: model:ir.actions.act_window,name:project.action_project_task_delegate @@ -273,7 +272,7 @@ msgstr "Delegation Projektaufgabe" #: code:addons/project/project.py:551 #, python-format msgid "Project has been created." -msgstr "" +msgstr "Projekt wurde erzeugt." #. module: project #: view:project.config.settings:0 @@ -408,7 +407,7 @@ msgstr "Der beuaftragte Benutzer muss definiert werden." #. module: project #: view:project.project:0 msgid "Project(s) Manager" -msgstr "" +msgstr "Projekt Manager" #. module: project #: selection:project.project,state:0 @@ -506,7 +505,7 @@ msgstr "" #. module: project #: view:project.project:0 msgid "Project Settings" -msgstr "" +msgstr "Projekt-Einstellungen" #. module: project #: view:report.project.task.user:0 @@ -630,6 +629,7 @@ msgstr "Keine Aufgabenvorlage" msgid "" "Follow this project to automatically follow all related tasks and issues." msgstr "" +"Folge diesem Projekt, um alle relevanten Aufgaben und Probleme zu verfolgen." #. module: project #: field:project.task,planned_hours:0 @@ -820,7 +820,7 @@ msgstr "PRÜFUNG: %s" #. module: project #: view:project.project:0 msgid "Close Project" -msgstr "" +msgstr "Projekt abschließen" #. module: project #: field:project.project,tasks:0 @@ -913,7 +913,7 @@ msgstr "" #: code:addons/project/project.py:560 #, python-format msgid "Project has been canceled." -msgstr "" +msgstr "Projekt wurde abgebrochen." #. module: project #: help:project.project,analytic_account_id:0 @@ -940,7 +940,7 @@ msgstr "Abbrechen" #: code:addons/project/project.py:563 #, python-format msgid "Project has been closed." -msgstr "" +msgstr "Projekt wurde abgeschlossen." #. module: project #: view:project.project:0 @@ -2041,7 +2041,7 @@ msgstr "" #: model:ir.actions.act_window,name:project.action_config_settings #: view:project.config.settings:0 msgid "Configure Project" -msgstr "" +msgstr "Projekt konfigurieren" #. module: project #: field:project.project,message_comment_ids:0 @@ -2087,7 +2087,7 @@ msgstr "Nicht zugewiesenen Aufgaben" #. module: project #: view:project.project:0 msgid "Projects in which I am a manager" -msgstr "Projekte, die ich manage" +msgstr "Projekte, die ich verantworte" #. module: project #: view:project.task:0 diff --git a/addons/project_issue/i18n/zh_CN.po b/addons/project_issue/i18n/zh_CN.po index 329929e1870..eaa75432ca7 100644 --- a/addons/project_issue/i18n/zh_CN.po +++ b/addons/project_issue/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-02-14 10:06+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-30 08:57+0000\n" +"Last-Translator: mrshelly \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: 2012-11-25 06:26+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: project_issue #: model:project.category,name:project_issue.project_issue_category_03 @@ -27,7 +27,7 @@ msgstr "" msgid "" "Allows you to configure your incoming mail server, and create issues from " "incoming emails." -msgstr "" +msgstr "允许直接从邮件收件服务器收到的邮件创建相关问题." #. module: project_issue #: field:project.issue.report,delay_open:0 @@ -74,7 +74,7 @@ msgstr "进度(%)" #: view:project.issue:0 #: field:project.issue,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读消息" #. module: project_issue #: code:addons/project_issue/project_issue.py:562 @@ -90,7 +90,7 @@ msgstr "关注者的电子邮件" #. module: project_issue #: help:project.issue,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "如果要求你关注新消息,勾选此项" #. module: project_issue #: help:account.analytic.account,use_issues:0 @@ -213,7 +213,7 @@ msgstr "距开始日期小时数" #. module: project_issue #: model:ir.model,name:project_issue.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "辅助核算项" #. module: project_issue #: help:project.issue,message_summary:0 @@ -288,7 +288,7 @@ msgstr "版本" #. module: project_issue #: field:project.issue,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: project_issue #: view:project.issue:0 @@ -305,7 +305,7 @@ msgstr "问题分类" #. module: project_issue #: field:project.issue,email_from:0 msgid "Email" -msgstr "电子邮件" +msgstr "Email" #. module: project_issue #: field:project.issue,channel_id:0 @@ -323,12 +323,12 @@ msgstr "最低" #: code:addons/project_issue/project_issue.py:358 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (副本)" #. module: project_issue #: model:ir.actions.server,name:project_issue.actions_server_project_issue_read msgid "Mark read" -msgstr "" +msgstr "标记为已读" #. module: project_issue #: view:project.issue:0 @@ -383,7 +383,7 @@ msgstr "七月" #. module: project_issue #: model:ir.ui.menu,name:project_issue.menu_project_issue_category_act msgid "Categories" -msgstr "类别" +msgstr "分类" #. module: project_issue #: view:project.issue:0 @@ -454,7 +454,7 @@ msgstr "十二月" #. module: project_issue #: field:project.issue,categ_ids:0 msgid "Tags" -msgstr "" +msgstr "标签" #. module: project_issue #: view:project.issue:0 @@ -464,7 +464,7 @@ msgstr "缺陷列表" #. module: project_issue #: model:project.category,name:project_issue.project_issue_category_01 msgid "Little problem" -msgstr "" +msgstr "小问题" #. module: project_issue #: view:project.project:0 @@ -484,7 +484,7 @@ msgstr "更新日期" #. module: project_issue #: view:project.issue:0 msgid "Project:" -msgstr "" +msgstr "项目:" #. module: project_issue #: view:project.issue:0 @@ -540,7 +540,7 @@ msgstr "草稿" #: selection:project.issue,priority:0 #: selection:project.issue.report,priority:0 msgid "Low" -msgstr "最低" +msgstr "低" #. module: project_issue #: field:project.issue,date_closed:0 @@ -558,7 +558,7 @@ msgstr "平均耗用天数" #: view:project.issue.report:0 #: selection:project.issue.report,state:0 msgid "Pending" -msgstr "等待中" +msgstr "待处理" #. module: project_issue #: view:project.issue:0 @@ -581,7 +581,7 @@ msgstr "八月" #: selection:project.issue,priority:0 #: selection:project.issue.report,priority:0 msgid "Normal" -msgstr "一般" +msgstr "普通" #. module: project_issue #: view:project.issue:0 @@ -596,7 +596,7 @@ msgstr "" #. module: project_issue #: view:project.issue:0 msgid "Category:" -msgstr "" +msgstr "分类:" #. module: project_issue #: selection:project.issue.report,month:0 @@ -621,7 +621,7 @@ msgstr "剩余天数" #. module: project_issue #: field:project.issue,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: project_issue #: help:project.issue,state:0 @@ -648,13 +648,13 @@ msgstr "十一月" #: code:addons/project_issue/project_issue.py:474 #, python-format msgid "Warning!" -msgstr "" +msgstr "警告!" #. module: project_issue #: field:project.issue,message_comment_ids:0 #: help:project.issue,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: project_issue #: view:project.issue.report:0 @@ -689,7 +689,7 @@ msgstr "这些人将收到电子邮件。" #. module: project_issue #: field:project.issue,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: project_issue #: field:project.issue,date:0 @@ -706,7 +706,7 @@ msgstr "指派到" #. module: project_issue #: view:project.config.settings:0 msgid "Configure" -msgstr "" +msgstr "设置" #. module: project_issue #: view:project.issue:0 @@ -726,7 +726,7 @@ msgstr "版本号" #. module: project_issue #: view:project.issue:0 msgid "Cancel" -msgstr "取消(&C)" +msgstr "取消" #. module: project_issue #: selection:project.issue.report,state:0 @@ -796,7 +796,7 @@ msgstr "问题" #: code:addons/project_issue/project_issue.py:542 #, python-format msgid "Stage changed to %s." -msgstr "" +msgstr "阶段已改为%s" #. module: project_issue #: model:project.category,name:project_issue.project_issue_category_02 diff --git a/addons/purchase/i18n/nl.po b/addons/purchase/i18n/nl.po index fb9551376f1..2d0a0f50fa4 100644 --- a/addons/purchase/i18n/nl.po +++ b/addons/purchase/i18n/nl.po @@ -7,24 +7,24 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-06-01 08:41+0000\n" +"PO-Revision-Date: 2012-11-30 19:55+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:42+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: purchase #: model:res.groups,name:purchase.group_analytic_accounting msgid "Analytic Accounting for Purchases" -msgstr "" +msgstr "Kostenplaatsen voor inkopen" #. module: purchase #: model:ir.model,name:purchase.model_account_config_settings msgid "account.config.settings" -msgstr "" +msgstr "account.config.settings" #. module: purchase #: view:board.board:0 @@ -156,7 +156,7 @@ msgstr "Order van dag" #. module: purchase #: help:purchase.order,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen." #. module: purchase #: model:ir.ui.menu,name:purchase.menu_procurement_management_inventory @@ -181,6 +181,9 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Bevat de samenvatting van de chatter (aantal berichten,...). Deze " +"samenvatting is direct in html formaat om zo in de kanban weergave te worden " +"ingevoegd." #. module: purchase #: code:addons/purchase/purchase.py:956 @@ -189,7 +192,7 @@ msgstr "" #: code:addons/purchase/wizard/purchase_order_group.py:47 #, python-format msgid "Warning!" -msgstr "" +msgstr "Waarschuwing!" #. module: purchase #: code:addons/purchase/purchase.py:556 @@ -240,7 +243,7 @@ msgstr "Gemiddelde prijs" #: code:addons/purchase/purchase.py:813 #, python-format msgid "Invoice paid." -msgstr "" +msgstr "Factuur betaald." #. module: purchase #: view:purchase.order:0 @@ -274,7 +277,7 @@ msgstr "Afleveradres :" #. module: purchase #: view:purchase.order:0 msgid "Confirm Order" -msgstr "" +msgstr "Bevestig Order" #. module: purchase #: field:purchase.config.settings,module_warning:0 @@ -291,7 +294,7 @@ msgstr "Order referentie" #. module: purchase #: view:purchase.config.settings:0 msgid "Invoicing Process" -msgstr "" +msgstr "Factureer proces" #. module: purchase #: model:process.transition,name:purchase.process_transition_approvingpurchaseorder0 @@ -341,7 +344,7 @@ msgstr "Totaalbedrag excl. belastingen" #. module: purchase #: model:ir.ui.menu,name:purchase.menu_purchase_uom_categ_form_action msgid "Unit of Measure Categories" -msgstr "" +msgstr "Maateenheid categorieën" #. module: purchase #: view:purchase.report:0 @@ -352,7 +355,7 @@ msgstr "Categorie" #. module: purchase #: view:purchase.order:0 msgid "Quotation " -msgstr "" +msgstr "Offerte " #. module: purchase #: code:addons/purchase/purchase.py:793 @@ -379,7 +382,7 @@ msgstr "" #: field:purchase.order.line,state:0 #: view:purchase.report:0 msgid "Status" -msgstr "" +msgstr "Status" #. module: purchase #: selection:purchase.report,month:0 @@ -389,7 +392,7 @@ msgstr "Augustus" #. module: purchase #: view:product.product:0 msgid "to" -msgstr "" +msgstr "t/m" #. module: purchase #: selection:purchase.report,month:0 @@ -426,7 +429,7 @@ msgstr "" #. module: purchase #: constraint:stock.move:0 msgid "You must assign a serial number for this product." -msgstr "" +msgstr "U dient een productie partij toe te wijzen voor dit product." #. module: purchase #: selection:purchase.report,month:0 @@ -442,7 +445,7 @@ msgstr "" #. module: purchase #: field:purchase.order,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Samenvatting" #. module: purchase #: model:process.transition,note:purchase.process_transition_createpackinglist0 @@ -575,6 +578,8 @@ msgid "" "Error: The default Unit of Measure and the purchase Unit of Measure must be " "in the same category." msgstr "" +"Foutmelding: de standaard maateenheid moet in dezelfde categorie vallen als " +"de inkoop maateenheid." #. module: purchase #: view:board.board:0 @@ -601,19 +606,19 @@ msgstr "De naam van het bedrijf moet uniek zijn!" #: view:product.product:0 #: field:product.template,purchase_ok:0 msgid "Can be Purchased" -msgstr "" +msgstr "Inkoop product" #. module: purchase #: model:ir.ui.menu,name:purchase.menu_action_picking_tree_in_move msgid "Incoming Products" -msgstr "" +msgstr "Inkomende producten" #. module: purchase #: view:purchase.config.settings:0 #: view:purchase.order.group:0 #: view:purchase.order.line_invoice:0 msgid "or" -msgstr "" +msgstr "of" #. module: purchase #: field:res.company,po_lead:0 @@ -623,7 +628,7 @@ msgstr "Voorbereidingstijd inkoop" #. module: purchase #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Fout: Ongeldige EAN-code" #. module: purchase #: model:process.transition,note:purchase.process_transition_invoicefrompurchase0 @@ -639,7 +644,7 @@ msgstr "" #. module: purchase #: view:purchase.config.settings:0 msgid "Apply" -msgstr "" +msgstr "Toepassen" #. module: purchase #: field:purchase.order,amount_untaxed:0 @@ -659,12 +664,12 @@ msgstr "" #. module: purchase #: view:purchase.order:0 msgid "Customer Address" -msgstr "" +msgstr "Klant adres" #. module: purchase #: selection:purchase.order,state:0 msgid "RFQ Sent" -msgstr "" +msgstr "Offerte verzonden" #. module: purchase #: view:purchase.order:0 @@ -717,12 +722,12 @@ msgstr "Inkooporders welke zich de concept fase bevinden" #. module: purchase #: view:product.product:0 msgid "Suppliers" -msgstr "" +msgstr "Leveranciers" #. module: purchase #: view:product.product:0 msgid "To Purchase" -msgstr "" +msgstr "Inkoop product" #. module: purchase #: model:ir.actions.act_window,help:purchase.purchase_form_action @@ -761,7 +766,7 @@ msgstr "" #. module: purchase #: view:purchase.order:0 msgid "(update)" -msgstr "" +msgstr "(update)" #. module: purchase #: view:purchase.order:0 @@ -838,7 +843,7 @@ msgstr "Prijslijst" #. module: purchase #: selection:purchase.order,state:0 msgid "Draft PO" -msgstr "" +msgstr "Concept inkoopporder" #. module: purchase #: model:process.node,name:purchase.process_node_draftpurchaseorder0 @@ -858,7 +863,7 @@ msgstr "Orderdatum" #. module: purchase #: field:purchase.config.settings,group_uom:0 msgid "Manage different units of measure for products" -msgstr "" +msgstr "Beheer verschillende maateenheden voor een product." #. module: purchase #: model:process.node,name:purchase.process_node_invoiceafterpacking0 @@ -906,7 +911,7 @@ msgstr "Goederenstromen" #: code:addons/purchase/purchase.py:1141 #, python-format msgid "Draft Purchase Order created" -msgstr "" +msgstr "Concept inkoopporderBeheer aangemaakt." #. module: purchase #: model:ir.ui.menu,name:purchase.menu_product_category_config_purchase @@ -916,7 +921,7 @@ msgstr "Productcategorieën" #. module: purchase #: view:purchase.order:0 msgid "Send Request for Quotation" -msgstr "" +msgstr "Verstuur inkooporder" #. module: purchase #: help:purchase.order,invoiced:0 @@ -926,12 +931,12 @@ msgstr "Dit geeft aan dat de factuur is betaald." #. module: purchase #: field:purchase.order,notes:0 msgid "Terms and Conditions" -msgstr "" +msgstr "Voorwaarden" #. module: purchase #: field:purchase.order,currency_id:0 msgid "unknown" -msgstr "" +msgstr "onbekend" #. module: purchase #: help:purchase.order,date_order:0 @@ -941,7 +946,7 @@ msgstr "Datum waarop dit document gemaakt is." #. module: purchase #: field:purchase.order,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Is een volger" #. module: purchase #: model:ir.actions.act_window,name:purchase.action_purchase_order_report_graph @@ -1008,7 +1013,7 @@ msgstr "Dagen tot goedkeuring" #. module: purchase #: view:purchase.config.settings:0 msgid "Supplier Features" -msgstr "" +msgstr "Leveranciersopties" #. module: purchase #: report:purchase.order:0 @@ -1019,7 +1024,7 @@ msgstr "Hvhd" #. module: purchase #: model:res.groups,name:purchase.group_delivery_invoice_address msgid "Addresses in Purchase Orders" -msgstr "" +msgstr "Adressen in inkooporders" #. module: purchase #: model:process.transition.action,name:purchase.process_transition_action_approvingcancelpurchaseorder0 @@ -1035,7 +1040,7 @@ msgstr "Annuleren" #: field:purchase.order,message_comment_ids:0 #: help:purchase.order,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "Opmerkingen en e-mails." #. module: purchase #: sql_constraint:purchase.order:0 @@ -1079,12 +1084,13 @@ msgstr "" #. module: purchase #: view:product.product:0 msgid "a draft purchase order" -msgstr "" +msgstr "een concept inkooporder" #. module: purchase #: constraint:stock.move:0 msgid "You try to assign a lot which is not from the same product." msgstr "" +"U probeert een partij toe te wijzen wat niet van hetzelfde product is." #. module: purchase #: view:purchase.report:0 @@ -1094,13 +1100,13 @@ msgstr "Order van jaar" #. module: purchase #: model:ir.actions.act_window,name:purchase.act_res_partner_2_purchase_order msgid "RFQs and Purchases" -msgstr "" +msgstr "Offertes en inkopen" #. module: purchase #: field:account.config.settings,group_analytic_account_for_purchases:0 #: field:purchase.config.settings,group_analytic_account_for_purchases:0 msgid "Analytic accounting for purchases" -msgstr "" +msgstr "Kostenplaatsen voor inkopen" #. module: purchase #: model:process.transition,note:purchase.process_transition_confirmingpurchaseorder1 @@ -1123,7 +1129,7 @@ msgstr "" #. module: purchase #: model:ir.model,name:purchase.model_mail_mail msgid "Outgoing Mails" -msgstr "" +msgstr "Uitgaande E-mails" #. module: purchase #: code:addons/purchase/purchase.py:420 @@ -1134,13 +1140,13 @@ msgstr "" #. module: purchase #: help:purchase.order,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Berichten en communicatie historie" #. module: purchase #: field:purchase.order,warehouse_id:0 #: field:stock.picking.in,warehouse_id:0 msgid "Destination Warehouse" -msgstr "" +msgstr "Bestemmings magazijn" #. module: purchase #: code:addons/purchase/purchase.py:956 @@ -1159,7 +1165,7 @@ msgstr "Maateenheden" #. module: purchase #: field:purchase.config.settings,group_purchase_pricelist:0 msgid "Manage pricelist per supplier" -msgstr "" +msgstr "Beheer prijslijsten per leverancier" #. module: purchase #: code:addons/purchase/purchase.py:816 @@ -1181,7 +1187,7 @@ msgstr "" #. module: purchase #: view:purchase.order:0 msgid "Approve Order" -msgstr "" +msgstr "Order goedkeuren" #. module: purchase #: help:purchase.report,date:0 @@ -1209,7 +1215,7 @@ msgstr "Inkooporder statistieken" #: view:purchase.order:0 #: field:purchase.order,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Ongelezen berichten" #. module: purchase #: view:purchase.order.line_invoice:0 @@ -1259,7 +1265,7 @@ msgstr "Voorraadmutatie" #: code:addons/purchase/purchase.py:252 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Ongeldige actie!" #. module: purchase #: field:purchase.order,validator:0 @@ -1287,7 +1293,7 @@ msgstr "Offerteaanvraag" #. module: purchase #: view:purchase.order:0 msgid "Source" -msgstr "" +msgstr "Bron" #. module: purchase #: model:ir.model,name:purchase.model_stock_picking @@ -1382,7 +1388,7 @@ msgstr "Maart" #. module: purchase #: view:purchase.order:0 msgid "Receive Invoice" -msgstr "" +msgstr "Ontvang factuur" #. module: purchase #: view:purchase.order:0 @@ -1409,7 +1415,7 @@ msgstr "Te controleren door de boekhouder." #. module: purchase #: model:ir.model,name:purchase.model_purchase_config_settings msgid "purchase.config.settings" -msgstr "" +msgstr "purchase.config.settings" #. module: purchase #: model:process.node,note:purchase.process_node_approvepurchaseorder0 @@ -1420,7 +1426,7 @@ msgstr "Status van de inkooporder." #. module: purchase #: field:purchase.order.line,product_uom:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Maateenheid product" #. module: purchase #: model:ir.actions.act_window,help:purchase.purchase_pricelist_version_action @@ -1467,7 +1473,7 @@ msgstr "" #. module: purchase #: view:purchase.order:0 msgid "Purchase Order " -msgstr "" +msgstr "InkoopporderBeheer " #. module: purchase #: view:purchase.order.line:0 @@ -1478,12 +1484,12 @@ msgstr "Handmatige facturen" #: model:ir.actions.act_window,name:purchase.action_purchase_configuration #: view:purchase.config.settings:0 msgid "Configure Purchases" -msgstr "" +msgstr "Inkopen instellen" #. module: purchase #: view:purchase.order:0 msgid "Untaxed" -msgstr "" +msgstr "Onbelast" #. module: purchase #: model:process.transition,name:purchase.process_transition_createpackinglist0 @@ -1494,7 +1500,7 @@ msgstr "Pakbon gegenereerd" #: model:ir.actions.act_window,name:purchase.purchase_line_form_action2 #: model:ir.ui.menu,name:purchase.menu_purchase_line_order_draft msgid "On Purchase Order Lines" -msgstr "" +msgstr "Op inkooporderregels" #. module: purchase #: report:purchase.quotation:0 @@ -1516,7 +1522,7 @@ msgstr "" #. module: purchase #: model:ir.ui.menu,name:purchase.menu_product_pricelist_action2_purchase_type msgid "Price Types" -msgstr "" +msgstr "Prijs types" #. module: purchase #: help:purchase.order,date_approve:0 @@ -1675,12 +1681,12 @@ msgstr "" #. module: purchase #: field:purchase.order,invoiced:0 msgid "Invoice Received" -msgstr "" +msgstr "Factuur ontvangen" #. module: purchase #: model:ir.actions.server,name:purchase.actions_server_purchase_order_unread msgid "Mark unread" -msgstr "" +msgstr "Markeer als ongelezen" #. module: purchase #: field:purchase.order,invoice_method:0 @@ -1741,7 +1747,7 @@ msgstr "" #. module: purchase #: model:ir.actions.client,name:purchase.action_client_purchase_menu msgid "Open Purchase Menu" -msgstr "" +msgstr "Inkoop menu openen" #. module: purchase #: field:purchase.order,company_id:0 @@ -1795,7 +1801,7 @@ msgstr "Ontvangsten analyse" #. module: purchase #: field:purchase.order,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Berichten" #. module: purchase #: model:ir.actions.report.xml,name:purchase.report_purchase_order @@ -1820,7 +1826,7 @@ msgstr "Inkooporder" #: code:addons/purchase/wizard/purchase_line_invoice.py:109 #, python-format msgid "Error!" -msgstr "" +msgstr "Fout!" #. module: purchase #: report:purchase.order:0 @@ -1858,13 +1864,13 @@ msgstr "Geannuleerd" #. module: purchase #: field:res.partner,purchase_order_count:0 msgid "# of Purchase Order" -msgstr "" +msgstr "# inkoopporderBeheer" #. module: purchase #: code:addons/purchase/purchase.py:810 #, python-format msgid "Shipment received." -msgstr "" +msgstr "Inkomende levering ontvangen" #. module: purchase #: report:purchase.quotation:0 @@ -1874,7 +1880,7 @@ msgstr "Tel.:" #. module: purchase #: view:purchase.order:0 msgid "Resend Purchase Order" -msgstr "" +msgstr "InkoopporderBeheer opnieuw verzenden" #. module: purchase #: help:purchase.config.settings,group_purchase_delivery_address:0 @@ -1930,7 +1936,7 @@ msgstr "" #. module: purchase #: field:purchase.order,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Volgers" #. module: purchase #: help:purchase.config.settings,module_purchase_requisition:0 @@ -1951,7 +1957,7 @@ msgstr "Factuurregels" #. module: purchase #: model:ir.actions.server,name:purchase.actions_server_purchase_order_read msgid "Mark read" -msgstr "" +msgstr "Markeer als gelezen" #. module: purchase #: model:ir.actions.act_window,help:purchase.action_purchase_order_report_all @@ -1967,7 +1973,7 @@ msgstr "" #. module: purchase #: model:email.template,report_name:purchase.email_template_edi_purchase msgid "RFQ_${(object.name or '').replace('/','_')}" -msgstr "" +msgstr "Offerte_${(object.name or '').replace('/','_')}" #. module: purchase #: code:addons/purchase/purchase.py:971 @@ -2008,7 +2014,7 @@ msgstr "EDI Prijslijst (%s)" #: view:purchase.report:0 #: field:purchase.report,product_uom:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "Maateenheid referentie" #. module: purchase #: view:purchase.report:0 @@ -2118,6 +2124,8 @@ msgstr "Januari" #: constraint:stock.move:0 msgid "You cannot move products from or to a location of the type view." msgstr "" +"Het is niet mogelijk om producten te verplaatsen naar een locatie van het " +"type 'weergave'" #. module: purchase #: help:purchase.order,invoice_method:0 @@ -2231,7 +2239,7 @@ msgstr "Totaalbedrag" #. module: purchase #: model:ir.model,name:purchase.model_product_template msgid "Product Template" -msgstr "" +msgstr "Productsjabloon" #. module: purchase #: view:purchase.order.group:0 diff --git a/addons/purchase_requisition/i18n/nl.po b/addons/purchase_requisition/i18n/nl.po index 058d44f9ba5..73d01494359 100644 --- a/addons/purchase_requisition/i18n/nl.po +++ b/addons/purchase_requisition/i18n/nl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:54+0000\n" -"PO-Revision-Date: 2012-02-13 07:36+0000\n" +"PO-Revision-Date: 2012-11-30 19:58+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -50,7 +50,7 @@ msgstr "" #. module: purchase_requisition #: field:purchase.requisition,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Ongelezen berichten" #. module: purchase_requisition #: field:purchase.requisition,company_id:0 @@ -61,7 +61,7 @@ msgstr "Bedrijf" #. module: purchase_requisition #: help:purchase.requisition,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen." #. module: purchase_requisition #: code:addons/purchase_requisition/purchase_requisition.py:153 @@ -81,7 +81,7 @@ msgstr "Aantal" #. module: purchase_requisition #: field:purchase.requisition,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Berichten" #. module: purchase_requisition #: model:ir.model,name:purchase_requisition.model_purchase_order @@ -126,6 +126,8 @@ msgid "" "You provided an invalid \"EAN13 Barcode\" reference. You may use the " "\"Internal Reference\" field instead." msgstr "" +"U gebruikte een verkeerde \"EAN13 Barcode\" referentie. Hiervoor in de " +"plaats kunt u de interne referentie gebruiken." #. module: purchase_requisition #: selection:purchase.requisition,exclusive:0 @@ -141,7 +143,7 @@ msgstr "Terugzetten naar Concept" #: code:addons/purchase_requisition/purchase_requisition.py:153 #, python-format msgid "Warning!" -msgstr "" +msgstr "Waarschuwing!" #. module: purchase_requisition #: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition @@ -165,12 +167,12 @@ msgstr "" #: report:purchase.requisition:0 #: view:purchase.requisition:0 msgid "Source" -msgstr "" +msgstr "Bron" #. module: purchase_requisition #: field:purchase.requisition,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Volgers" #. module: purchase_requisition #: field:purchase.requisition,warehouse_id:0 @@ -205,7 +207,7 @@ msgstr "Inkoopaanvraag" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Sent to Suppliers" -msgstr "" +msgstr "Stuur naar leveranciers" #. module: purchase_requisition #: help:purchase.requisition,message_summary:0 @@ -213,6 +215,9 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Bevat de samenvatting van de chatter (aantal berichten,...). Deze " +"samenvatting is direct in html formaat om zo in de kanban weergave te worden " +"ingevoegd." #. module: purchase_requisition #: view:purchase.requisition:0 @@ -222,7 +227,7 @@ msgstr "Goedgekeurd door leverancier" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Send to Suppliers" -msgstr "" +msgstr "Stuur naar leveranciers" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -278,28 +283,28 @@ msgstr "Startdatum" #. module: purchase_requisition #: view:purchase.requisition.partner:0 msgid "or" -msgstr "" +msgstr "of" #. module: purchase_requisition #: field:purchase.requisition.line,product_uom_id:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Maateenheid product" #. module: purchase_requisition #: view:purchase.requisition:0 #: field:purchase.requisition,state:0 msgid "Status" -msgstr "" +msgstr "Status" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Terms and Conditions" -msgstr "" +msgstr "Voorwaarden" #. module: purchase_requisition #: sql_constraint:product.product:0 msgid "Error ! Ending Date cannot be set before Beginning Date." -msgstr "" +msgstr "Fout! Einddatum kan niet voor de begindatum liggen." #. module: purchase_requisition #: view:purchase.order:0 @@ -319,13 +324,13 @@ msgstr "Gebruiker" #. module: purchase_requisition #: field:purchase.requisition,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Is een volger" #. module: purchase_requisition #: field:purchase.requisition,message_comment_ids:0 #: help:purchase.requisition,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "Opmerkingen en e-mails." #. module: purchase_requisition #: view:purchase.requisition:0 @@ -336,7 +341,7 @@ msgstr "Inkoopaanvragen zoeken" #: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 #, python-format msgid "No Product in Tender." -msgstr "" +msgstr "Geen product in aanvraag" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -346,7 +351,7 @@ msgstr "Verwijder Inkooporder" #. module: purchase_requisition #: field:purchase.requisition,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Samenvatting" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -421,7 +426,7 @@ msgstr "Orderreferentie moet uniek zijn per bedrijf!" #. module: purchase_requisition #: field:purchase.requisition,origin:0 msgid "Source Document" -msgstr "" +msgstr "Bron document" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -509,7 +514,7 @@ msgstr "Aanvraagdatum" #. module: purchase_requisition #: help:purchase.requisition,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Berichten en communicatie historie" #. module: purchase_requisition #: report:purchase.requisition:0 diff --git a/addons/report_intrastat/i18n/nl.po b/addons/report_intrastat/i18n/nl.po index 73f96eeb672..29ceaddc9a3 100644 --- a/addons/report_intrastat/i18n/nl.po +++ b/addons/report_intrastat/i18n/nl.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:54+0000\n" -"PO-Revision-Date: 2011-01-26 18:40+0000\n" -"Last-Translator: Douwe Wullink (Dypalio) \n" +"PO-Revision-Date: 2012-11-30 19:55+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:02+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: report_intrastat #: report:account.invoice.intrastat:0 @@ -107,6 +107,8 @@ msgid "" "Error: The default Unit of Measure and the purchase Unit of Measure must be " "in the same category." msgstr "" +"Foutmelding: de standaard maateenheid moet in dezelfde categorie vallen als " +"de inkoop maateenheid." #. module: report_intrastat #: report:account.invoice.intrastat:0 diff --git a/addons/resource/i18n/nl.po b/addons/resource/i18n/nl.po index 8a71cdde2c2..a6424c12379 100644 --- a/addons/resource/i18n/nl.po +++ b/addons/resource/i18n/nl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:54+0000\n" -"PO-Revision-Date: 2012-05-10 18:23+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-11-30 19:56+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:22+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: resource #: help:resource.calendar.leaves,resource_id:0 @@ -100,7 +100,7 @@ msgstr "" #: code:addons/resource/resource.py:310 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (kopie)" #. module: resource #: view:resource.calendar:0 @@ -134,7 +134,7 @@ msgstr "Vrijdag" #. module: resource #: view:resource.calendar.attendance:0 msgid "Hours" -msgstr "" +msgstr "Uren" #. module: resource #: view:resource.calendar.leaves:0 @@ -160,7 +160,7 @@ msgstr "Zoek afwezigheid werkperiode" #. module: resource #: field:resource.calendar.attendance,date_from:0 msgid "Starting Date" -msgstr "" +msgstr "Startdatum" #. module: resource #: field:resource.calendar,manager:0 @@ -206,7 +206,7 @@ msgstr "Werktijd" #. module: resource #: help:resource.calendar.attendance,hour_from:0 msgid "Start and End time of working." -msgstr "" +msgstr "Begin en eind werktijd" #. module: resource #: view:resource.calendar.leaves:0 @@ -349,7 +349,7 @@ msgstr "Persoon" #. module: resource #: view:resource.calendar.leaves:0 msgid "Duration" -msgstr "" +msgstr "Tijdsduur" #. module: resource #: field:resource.calendar.leaves,date_from:0 diff --git a/addons/sale/i18n/zh_CN.po b/addons/sale/i18n/zh_CN.po index f50e5cc3276..b7e9aaa23c6 100644 --- a/addons/sale/i18n/zh_CN.po +++ b/addons/sale/i18n/zh_CN.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-11-28 17:01+0000\n" +"PO-Revision-Date: 2012-11-30 17:53+0000\n" "Last-Translator: ccdos \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: sale @@ -1625,6 +1625,13 @@ msgid "" "invoice automatically.\n" " It installs the account_analytic_analysis module." msgstr "" +"允许定义你的客户合同条款:\n" +"开票方法(固定价格,根据计工单,预付款发票),\n" +"准确价格(每天每个开发人员650欧元)\n" +"期间(一年的支持合同)\n" +"你能跟踪合同的进程和自动开票。\n" +"\n" +"为此要安装模块 account_analytic_analysis module 。" #. module: sale #: model:email.template,report_name:sale.email_template_edi_sale @@ -1724,6 +1731,8 @@ msgid "" "replenishment.\n" "On order: When needed, the product is purchased or produced." msgstr "" +"从库存: 当需要时,产品从库存取得或者我们等待补充。\n" +"根据订单: 需要时,产品被采购或者生产。" #. module: sale #: selection:sale.order,state:0 @@ -2115,7 +2124,7 @@ msgstr "销售订单" #. module: sale #: field:sale.config.settings,module_account_analytic_analysis:0 msgid "Use contracts management" -msgstr "" +msgstr "使用合同管理" #. module: sale #: help:sale.order,invoiced:0 @@ -2173,7 +2182,7 @@ msgid "" " multiple invoicing as part of the same contract " "with\n" " your customer." -msgstr "" +msgstr "使用合同 管理 多次开票的服务作为你的客户的相同合同的一部分。" #. module: sale #: view:sale.order:0 @@ -2184,12 +2193,12 @@ msgstr "查找销售订单" #. module: sale #: field:sale.advance.payment.inv,advance_payment_method:0 msgid "What do you want to invoice?" -msgstr "" +msgstr "你要开什么发票?" #. module: sale #: constraint:res.partner:0 msgid "Error ! You cannot create recursive associated members." -msgstr "" +msgstr "错误,您不能创建循环引用的会员用户" #. module: sale #: field:sale.order.line,sequence:0 @@ -2205,7 +2214,7 @@ msgstr "付款条款" #. module: sale #: help:account.config.settings,module_sale_analytic_plans:0 msgid "This allows install module sale_analytic_plans." -msgstr "" +msgstr "允许安装模块sale_analytic_plans." #. module: sale #: model:ir.actions.act_window,help:sale.action_order_report_all diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 18947d5d7b4..3a072ab1a48 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -530,55 +530,17 @@ class sale_order(osv.osv): return res def action_invoice_cancel(self, cr, uid, ids, context=None): - if context is None: - context = {} - for sale in self.browse(cr, uid, ids, context=context): - for line in sale.order_line: - # - # Check if the line is invoiced (has asociated invoice - # lines from non-cancelled invoices). - # - invoiced = False - for iline in line.invoice_lines: - if iline.invoice_id and iline.invoice_id.state != 'cancel': - invoiced = True - break - # Update the line (only when needed) - if line.invoiced != invoiced: - self.pool.get('sale.order.line').write(cr, uid, [line.id], {'invoiced': invoiced}, context=context) - self.write(cr, uid, ids, {'state': 'invoice_except', 'invoice_ids': False}, context=context) + self.write(cr, uid, ids, {'state': 'invoice_except'}, context=context) return True def action_invoice_end(self, cr, uid, ids, context=None): - for order in self.browse(cr, uid, ids, context=context): - # - # Update the sale order lines state (and invoiced flag). - # - for line in order.order_line: - vals = {} - # - # Check if the line is invoiced (has asociated invoice - # lines from non-cancelled invoices). - # - invoiced = False - for iline in line.invoice_lines: - if iline.invoice_id and iline.invoice_id.state != 'cancel': - invoiced = True - break - if line.invoiced != invoiced: - vals['invoiced'] = invoiced - # If the line was in exception state, now it gets confirmed. + for this in self.browse(cr, uid, ids, context=context): + for line in this.order_line: if line.state == 'exception': - vals['state'] = 'confirmed' - # Update the line (only when needed). - if vals: - self.pool.get('sale.order.line').write(cr, uid, [line.id], vals, context=context) - # - # Update the sales order state. - # - if order.state == 'invoice_except': - self.write(cr, uid, [order.id], {'state': 'progress'}, context=context) - self.invoice_paid_send_note(cr, uid, [order.id], context=context) + line.write({'state': 'confirmed'}) + if this.state == 'invoice_except': + this.write({'state': 'progress'}) + this.invoice_paid_send_note() return True def action_cancel(self, cr, uid, ids, context=None): @@ -732,6 +694,20 @@ class sale_order_line(osv.osv): except Exception, ex: return False + def _fnct_line_invoiced(self, cr, uid, ids, field_name, args, context=None): + res = dict.fromkeys(ids, False) + for this in self.browse(cr, uid, ids, context=context): + res[this.id] = this.invoice_lines and \ + all(iline.invoice_id.state != 'cancel' for iline in this.invoice_lines) + return res + + def _order_lines_from_invoice(self, cr, uid, ids, context=None): + # direct access to the m2m table is the less convoluted way to achieve this (and is ok ACL-wise) + cr.execute("""SELECT DISTINCT sol.id FROM sale_order_invoice_rel rel JOIN + sale_order_line sol ON (sol.order_id = rel.order_id) + WHERE rel.invoice_id = ANY(%s)""", (list(ids),)) + return [i[0] for i in cr.fetchall()] + _name = 'sale.order.line' _description = 'Sales Order Line' _columns = { @@ -740,7 +716,8 @@ class sale_order_line(osv.osv): 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of sales order lines."), 'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], change_default=True), 'invoice_lines': fields.many2many('account.invoice.line', 'sale_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True), - 'invoiced': fields.boolean('Invoiced', readonly=True), + 'invoiced': fields.function(_fnct_line_invoiced, string='Invoiced', type='boolean', + store={'account.invoice': (_order_lines_from_invoice, ['state'], 10)}), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Product Price'), readonly=True, states={'draft': [('readonly', False)]}), 'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="From stock: When needed, the product is taken from the stock or we wait for replenishment.\nOn order: When needed, the product is purchased or produced."), @@ -770,7 +747,6 @@ class sale_order_line(osv.osv): 'product_uom_qty': 1, 'product_uos_qty': 1, 'sequence': 10, - 'invoiced': 0, 'state': 'draft', 'type': 'make_to_stock', 'price_unit': 0.0, @@ -853,7 +829,6 @@ class sale_order_line(osv.osv): if vals: inv_id = self.pool.get('account.invoice.line').create(cr, uid, vals, context=context) cr.execute('insert into sale_order_line_invoice_rel (order_line_id,invoice_id) values (%s,%s)', (line.id, inv_id)) - self.write(cr, uid, [line.id], {'invoiced': True}) sales.add(line.order_id.id) create_ids.append(inv_id) # Trigger workflow events @@ -901,7 +876,7 @@ class sale_order_line(osv.osv): def copy_data(self, cr, uid, id, default=None, context=None): if not default: default = {} - default.update({'state': 'draft', 'invoiced': False, 'invoice_lines': []}) + default.update({'state': 'draft', 'invoice_lines': []}) return super(sale_order_line, self).copy_data(cr, uid, id, default, context=context) def product_id_change(self, cr, uid, ids, pricelist, product, qty=0, diff --git a/addons/sale/test/cancel_order.yml b/addons/sale/test/cancel_order.yml index 6145964224a..cde3a5b34f2 100644 --- a/addons/sale/test/cancel_order.yml +++ b/addons/sale/test/cancel_order.yml @@ -75,5 +75,5 @@ for invoice in sale_order.invoice_ids: if invoice.state != 'cancel': total_order_line += len(invoice.invoice_line) - assert total_order_line == 2, "wrong number of invoice lines" + assert total_order_line == 2, "wrong number of invoice lines, got %s" % total_order_line diff --git a/addons/sale/wizard/sale_line_invoice.py b/addons/sale/wizard/sale_line_invoice.py index 360c42ceb51..54001f645c8 100644 --- a/addons/sale/wizard/sale_line_invoice.py +++ b/addons/sale/wizard/sale_line_invoice.py @@ -88,8 +88,6 @@ class sale_order_line_make_invoice(osv.osv_memory): [line.id]) for lid in line_id: invoices[line.order_id.id].append((line, lid)) - sales_order_line_obj.write(cr, uid, [line.id], - {'invoiced': True}) for result in invoices.values(): order = result[0][0].order_id il = map(lambda x: x[1], result) diff --git a/addons/sale_stock/stock.py b/addons/sale_stock/stock.py index 6fc5c061dda..e621d63fede 100644 --- a/addons/sale_stock/stock.py +++ b/addons/sale_stock/stock.py @@ -100,14 +100,8 @@ class stock_picking(osv.osv): return super(stock_picking, self)._get_account_analytic_invoice(cursor, user, picking, move_line) def _invoice_line_hook(self, cursor, user, move_line, invoice_line_id): - sale_line_obj = self.pool.get('sale.order.line') - invoice_line_obj = self.pool.get('account.invoice.line') if move_line.sale_line_id: - sale_line_obj.write(cursor, user, [move_line.sale_line_id.id], - { - 'invoiced': True, - 'invoice_lines': [(4, invoice_line_id)], - }) + move_line.sale_line_id.write({'invoice_lines': [(4, invoice_line_id)]}) return super(stock_picking, self)._invoice_line_hook(cursor, user, move_line, invoice_line_id) def _invoice_hook(self, cursor, user, picking, invoice_id): @@ -180,10 +174,7 @@ class stock_picking(osv.osv): vals['account_analytic_id'] = self._get_account_analytic_invoice(cursor, user, picking, sale_line) vals['invoice_id'] = invoices[result[picking.id]].id invoice_line_id = invoice_line_obj.create(cursor, user, vals, context=context) - order_line_obj.write(cursor, user, [sale_line.id], { - 'invoiced': True, - 'invoice_lines': [(6, 0, [invoice_line_id])], - }) + sale_line.write({'invoice_lines': [(4, invoice_line_id)]}) return result # Redefinition of the new field in order to update the model stock.picking.out in the orm diff --git a/addons/web_linkedin/i18n/pt_BR.po b/addons/web_linkedin/i18n/pt_BR.po index a8a22b15f71..8b1b777cfad 100644 --- a/addons/web_linkedin/i18n/pt_BR.po +++ b/addons/web_linkedin/i18n/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: web_linkedin diff --git a/addons/web_shortcuts/i18n/pt_BR.po b/addons/web_shortcuts/i18n/pt_BR.po index 738cc5689a7..8aa3d4bc930 100644 --- a/addons/web_shortcuts/i18n/pt_BR.po +++ b/addons/web_shortcuts/i18n/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" "X-Generator: Launchpad (build 16319)\n" #. module: web_shortcuts