[MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20121220091908-7qy8excmhe3ussi0
This commit is contained in:
commit
fa36ac76ee
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 15:25+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 23:16+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-19 05:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -2524,7 +2524,7 @@ msgstr "Offene Rechnungen"
|
|||
#: model:ir.model,name:account.model_account_treasury_report
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_treasury_report_all
|
||||
msgid "Treasury Analysis"
|
||||
msgstr "Analyse Liquidität"
|
||||
msgstr "Statistik Finanzmittel"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_journal_sale_purchase
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:33+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 19:59+0000\n"
|
||||
"Last-Translator: Ahti Hinnov <sipelgas@gmail.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-12-04 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -1775,7 +1775,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.config.settings,group_analytic_accounting:0
|
||||
msgid "Analytic accounting"
|
||||
msgstr ""
|
||||
msgstr "Analüütiline raamatupidamine"
|
||||
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
|
@ -1946,6 +1946,8 @@ msgid ""
|
|||
"Select a configuration package to setup automatically your\n"
|
||||
" taxes and chart of accounts."
|
||||
msgstr ""
|
||||
"Vali raamatupidamise pakett, et automaatselt seadistada\n"
|
||||
" maksud ja kontoplaan."
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -2139,7 +2141,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr "Vale kreedit või deebeti raamatupidamise sisend !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -2298,7 +2300,7 @@ msgstr "Maksu definitsioon"
|
|||
#: view:account.config.settings:0
|
||||
#: model:ir.actions.act_window,name:account.action_account_config
|
||||
msgid "Configure Accounting"
|
||||
msgstr ""
|
||||
msgstr "Seadista raamatupidamine"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.report,uom_name:0
|
||||
|
@ -2493,7 +2495,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
msgid "Customer Code"
|
||||
msgstr ""
|
||||
msgstr "Kliendi kood"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account.type:0
|
||||
|
@ -5850,7 +5852,7 @@ msgstr "Analüütilised kontod"
|
|||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
msgid "Customer Invoices And Refunds"
|
||||
msgstr ""
|
||||
msgstr "Müügiarved ja hüvitised"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,amount_currency:0
|
||||
|
@ -6388,7 +6390,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:product.template,taxes_id:0
|
||||
msgid "Customer Taxes"
|
||||
msgstr "Kliendi maksud"
|
||||
msgstr "Müügimaksud"
|
||||
|
||||
#. module: account
|
||||
#: help:account.model,name:0
|
||||
|
@ -6577,7 +6579,7 @@ msgstr ""
|
|||
#: code:addons/account/installer.py:48
|
||||
#, python-format
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
msgstr "Kohandatud"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -6939,7 +6941,7 @@ msgstr ""
|
|||
#: code:addons/account/account_invoice.py:1321
|
||||
#, python-format
|
||||
msgid "Customer invoice"
|
||||
msgstr ""
|
||||
msgstr "Müügiarve"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,report_type:0
|
||||
|
@ -7289,7 +7291,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:account.action_invoice_tree1
|
||||
#: model:ir.ui.menu,name:account.menu_action_invoice_tree1
|
||||
msgid "Customer Invoices"
|
||||
msgstr "Kliendi arved"
|
||||
msgstr "Müügiarved"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
|
@ -7428,7 +7430,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Customer Reference"
|
||||
msgstr ""
|
||||
msgstr "Kliendi viide"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account.template,parent_id:0
|
||||
|
@ -8085,7 +8087,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.installer,charts:0
|
||||
msgid "Accounting Package"
|
||||
msgstr ""
|
||||
msgstr "Raamatupidamise pakett"
|
||||
|
||||
#. module: account
|
||||
#: report:account.third_party_ledger:0
|
||||
|
@ -9199,7 +9201,7 @@ msgstr "Loo arve"
|
|||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_configuration_installer
|
||||
msgid "Configure Accounting Data"
|
||||
msgstr ""
|
||||
msgstr "Seadista raamatupidamise andmed"
|
||||
|
||||
#. module: account
|
||||
#: field:wizard.multi.charts.accounts,purchase_tax_rate:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 18:03+0000\n"
|
||||
"Last-Translator: Pierre Lamarche (www.savoirfairelinux.com) "
|
||||
"<pierre.lamarche@savoirfairelinux.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:40+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-19 05:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -152,7 +152,7 @@ msgstr "Importer depuis une facture ou un règlement"
|
|||
#: code:addons/account/account_move_line.py:1198
|
||||
#, python-format
|
||||
msgid "Bad Account!"
|
||||
msgstr ""
|
||||
msgstr "Mauvais compte!"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
|
@ -175,6 +175,8 @@ msgid ""
|
|||
"Error!\n"
|
||||
"You cannot create recursive account templates."
|
||||
msgstr ""
|
||||
"Erreur!\n"
|
||||
"Vous ne pouvez pas créer de modèles de compte récursifs."
|
||||
|
||||
#. module: account
|
||||
#. openerp-web
|
||||
|
@ -265,6 +267,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliquez pour ajouter une période fiscale.\n"
|
||||
" </p><p>\n"
|
||||
" Une période comptable couvre habituellement un mois,\n"
|
||||
" ou un trimestre. Elle coïncide souvent avec les échéances\n"
|
||||
" des déclarations de taxes.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
|
||||
|
@ -279,7 +289,7 @@ msgstr "Titre de colonne"
|
|||
#. module: account
|
||||
#: help:account.config.settings,code_digits:0
|
||||
msgid "No. of digits to use for account code"
|
||||
msgstr ""
|
||||
msgstr "Nombre de chiffres à utiliser pour le code des comptes"
|
||||
|
||||
#. module: account
|
||||
#: help:account.analytic.journal,type:0
|
||||
|
@ -332,7 +342,7 @@ msgstr "Rapports belges"
|
|||
#. module: account
|
||||
#: model:account.account.type,name:account.account_type_income_view1
|
||||
msgid "Income View"
|
||||
msgstr ""
|
||||
msgstr "Vue des revenus"
|
||||
|
||||
#. module: account
|
||||
#: help:account.account,user_type:0
|
||||
|
@ -349,7 +359,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.config.settings,sale_refund_sequence_next:0
|
||||
msgid "Next credit note number"
|
||||
msgstr ""
|
||||
msgstr "Prochain numéro d'avoir"
|
||||
|
||||
#. module: account
|
||||
#: help:account.config.settings,module_account_voucher:0
|
||||
|
@ -389,6 +399,17 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliquez pour ajouter un remboursement à un client.\n"
|
||||
" </p><p>\n"
|
||||
" Un remboursement est un document qui crédite une facture\n"
|
||||
" complètement ou partiellement.\n"
|
||||
" </p><p>\n"
|
||||
" Au lieu de créer manuellement un remboursement client, vous\n"
|
||||
" pouvez le générer directement depuis la facture client\n"
|
||||
" correspondante.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account
|
||||
#: help:account.installer,charts:0
|
||||
|
@ -408,7 +429,7 @@ msgstr "Annuler le lettrage"
|
|||
#. module: account
|
||||
#: field:account.config.settings,module_account_budget:0
|
||||
msgid "Budget management"
|
||||
msgstr ""
|
||||
msgstr "Gestion du budget"
|
||||
|
||||
#. module: account
|
||||
#: view:product.template:0
|
||||
|
@ -429,7 +450,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.config.settings,group_multi_currency:0
|
||||
msgid "Allow multi currencies"
|
||||
msgstr ""
|
||||
msgstr "Autoriser devises multiples"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:73
|
||||
|
@ -450,12 +471,12 @@ msgstr "Juin"
|
|||
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
||||
#, python-format
|
||||
msgid "You must select accounts to reconcile."
|
||||
msgstr ""
|
||||
msgstr "Vous devez sélectionner les comptes à réconcilier."
|
||||
|
||||
#. module: account
|
||||
#: help:account.config.settings,group_analytic_accounting:0
|
||||
msgid "Allows you to use the analytic accounting."
|
||||
msgstr ""
|
||||
msgstr "Vous permet d'utiliser la comptabilité analytique"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
|
@ -529,7 +550,7 @@ msgstr ""
|
|||
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:8
|
||||
#, python-format
|
||||
msgid "Period :"
|
||||
msgstr ""
|
||||
msgstr "Période:"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account.template,chart_template_id:0
|
||||
|
@ -565,7 +586,7 @@ msgstr "Le montant exprimé dans une autre devise optionelle."
|
|||
#. module: account
|
||||
#: view:account.journal:0
|
||||
msgid "Available Coins"
|
||||
msgstr ""
|
||||
msgstr "Monnaie disponible"
|
||||
|
||||
#. module: account
|
||||
#: field:accounting.report,enable_filter:0
|
||||
|
@ -618,7 +639,7 @@ msgstr "Cible parent"
|
|||
#. module: account
|
||||
#: help:account.invoice.line,sequence:0
|
||||
msgid "Gives the sequence of this line when displaying the invoice."
|
||||
msgstr ""
|
||||
msgstr "Donne la séquence de cette ligne lors de l'affichage de la facture"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement,account_id:0
|
||||
|
@ -687,12 +708,12 @@ msgstr "Le comptable confirme le relevé."
|
|||
#: code:addons/account/static/src/xml/account_move_reconciliation.xml:31
|
||||
#, python-format
|
||||
msgid "Nothing to reconcile"
|
||||
msgstr ""
|
||||
msgstr "Rien à réconcilier"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.settings,decimal_precision:0
|
||||
msgid "Decimal precision on journal entries"
|
||||
msgstr ""
|
||||
msgstr "Précision décimale pour les entrées de journal"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.config.settings,period:0
|
||||
|
@ -750,12 +771,12 @@ msgstr ""
|
|||
#: code:addons/account/wizard/account_change_currency.py:70
|
||||
#, python-format
|
||||
msgid "Current currency is not configured properly."
|
||||
msgstr ""
|
||||
msgstr "La devise actuelle n'est pas configurée correctement"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,profit_account_id:0
|
||||
msgid "Profit Account"
|
||||
msgstr ""
|
||||
msgstr "Compte de résultat"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1144
|
||||
|
@ -1339,7 +1360,7 @@ msgstr "Début de période"
|
|||
#. module: account
|
||||
#: view:account.tax:0
|
||||
msgid "Refunds"
|
||||
msgstr ""
|
||||
msgstr "Remboursements"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_confirmstatementfromdraft0
|
||||
|
@ -1629,7 +1650,7 @@ msgstr "Compte client"
|
|||
#: code:addons/account/account.py:767
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
msgstr "%s (copie)"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.balance.report,display_account:0
|
||||
|
@ -6621,7 +6642,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:product.template,taxes_id:0
|
||||
msgid "Customer Taxes"
|
||||
msgstr "Taxes a la vente"
|
||||
msgstr "Taxes à la vente"
|
||||
|
||||
#. module: account
|
||||
#: help:account.model,name:0
|
||||
|
@ -9720,7 +9741,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.config.settings,purchase_sequence_next:0
|
||||
msgid "Next supplier invoice number"
|
||||
msgstr ""
|
||||
msgstr "Prochain numéro de facture fournisseur"
|
||||
|
||||
#. module: account
|
||||
#: help:account.config.settings,module_account_payment:0
|
||||
|
@ -9828,7 +9849,7 @@ msgstr "Filtrés par"
|
|||
#: field:account.cashbox.line,number_closing:0
|
||||
#: field:account.cashbox.line,number_opening:0
|
||||
msgid "Number of Units"
|
||||
msgstr ""
|
||||
msgstr "Nombre d'unités"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_manually0
|
||||
|
@ -9853,12 +9874,12 @@ msgstr "N° d'écriture"
|
|||
#: code:addons/account/wizard/account_period_close.py:51
|
||||
#, python-format
|
||||
msgid "Invalid Action!"
|
||||
msgstr ""
|
||||
msgstr "Action invalide!"
|
||||
|
||||
#. module: account
|
||||
#: view:account.bank.statement:0
|
||||
msgid "Date / Period"
|
||||
msgstr ""
|
||||
msgstr "Date / Période"
|
||||
|
||||
#. module: account
|
||||
#: report:account.central.journal:0
|
||||
|
@ -9899,7 +9920,7 @@ msgstr "Crée un compte avec le modèle sélectionné sous le parent existant."
|
|||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Origine"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.model.line,date_maturity:0
|
||||
|
@ -9916,7 +9937,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.invoice,sent:0
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
msgstr "Envoyé"
|
||||
|
||||
#. module: account
|
||||
#: view:account.unreconcile.reconcile:0
|
||||
|
@ -9932,7 +9953,7 @@ msgstr "Rapport"
|
|||
#: field:account.config.settings,default_sale_tax:0
|
||||
#: field:account.config.settings,sale_tax:0
|
||||
msgid "Default sale tax"
|
||||
msgstr ""
|
||||
msgstr "Taxe de vente par défaut"
|
||||
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
|
@ -10019,7 +10040,7 @@ msgstr "Période de fin"
|
|||
#. module: account
|
||||
#: model:account.account.type,name:account.account_type_expense_view1
|
||||
msgid "Expense View"
|
||||
msgstr ""
|
||||
msgstr "Vue des dépenses"
|
||||
|
||||
#. module: account
|
||||
#: field:account.move.line,date_maturity:0
|
||||
|
@ -10114,7 +10135,7 @@ msgstr "Factures en brouillon"
|
|||
#: view:cash.box.in:0
|
||||
#: model:ir.actions.act_window,name:account.action_cash_box_in
|
||||
msgid "Put Money In"
|
||||
msgstr ""
|
||||
msgstr "Faire une entrée de liquidité"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,close_method:0
|
||||
|
@ -10175,7 +10196,7 @@ msgstr "Depuis les comptes analytiques"
|
|||
#. module: account
|
||||
#: view:account.installer:0
|
||||
msgid "Configure your Fiscal Year"
|
||||
msgstr ""
|
||||
msgstr "Paramétrer votre année fiscale"
|
||||
|
||||
#. module: account
|
||||
#: field:account.period,name:0
|
||||
|
@ -10189,6 +10210,8 @@ msgid ""
|
|||
"Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' "
|
||||
"or 'Done' state."
|
||||
msgstr ""
|
||||
"La/Les facture(s) sélectionnée(s) ne peuvent être annulée(s) car elle sont "
|
||||
"déjà dans un état 'Annulée' ou 'Terminée'."
|
||||
|
||||
#. module: account
|
||||
#: report:account.analytic.account.quantity_cost_ledger:0
|
||||
|
@ -10223,6 +10246,10 @@ msgid ""
|
|||
"some non legal fields or you must unconfirm the journal entry first.\n"
|
||||
"%s."
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas appliquer cette modification sur un élément confirmé. "
|
||||
"Vous pouvez uniquement changer les champs non légaux, ou alors vous devez "
|
||||
"préalablement annuler la confirmation de cette entrée de journal.\n"
|
||||
"%s"
|
||||
|
||||
#. module: account
|
||||
#: help:account.config.settings,module_account_budget:0
|
||||
|
@ -10285,7 +10312,7 @@ msgstr "Crédit"
|
|||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Draft Invoice "
|
||||
msgstr ""
|
||||
msgstr "Facture brouillon "
|
||||
|
||||
#. module: account
|
||||
#: selection:account.invoice.refund,filter_refund:0
|
||||
|
@ -10306,7 +10333,7 @@ msgstr "Modèle de pièce comptable"
|
|||
#: code:addons/account/account.py:1058
|
||||
#, python-format
|
||||
msgid "Start period should precede then end period."
|
||||
msgstr ""
|
||||
msgstr "La période de début doit précéder la période de fin."
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,number:0
|
||||
|
@ -10391,7 +10418,7 @@ msgstr "Bénéfice (perte) à reporter"
|
|||
#: code:addons/account/account_invoice.py:368
|
||||
#, python-format
|
||||
msgid "There is no Sale/Purchase Journal(s) defined."
|
||||
msgstr ""
|
||||
msgstr "Il n'y a pas de journal(s) de vente ou d'achat de défini."
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.line.reconcile.select:0
|
||||
|
@ -10592,7 +10619,7 @@ msgstr "Total"
|
|||
#: code:addons/account/wizard/account_invoice_refund.py:109
|
||||
#, python-format
|
||||
msgid "Cannot %s draft/proforma/cancel invoice."
|
||||
msgstr ""
|
||||
msgstr "Impossible de %s une facture brouillon/proforma/annulée"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,account_analytic_paid_id:0
|
||||
|
@ -10664,7 +10691,7 @@ msgstr "Date d'échéance"
|
|||
#: field:cash.box.in,name:0
|
||||
#: field:cash.box.out,name:0
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
msgstr "Motif"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.partner.ledger,filter:0
|
||||
|
@ -10722,7 +10749,7 @@ msgstr "Comptes vides ? "
|
|||
#: code:addons/account/account_move_line.py:1046
|
||||
#, python-format
|
||||
msgid "Unable to change tax!"
|
||||
msgstr ""
|
||||
msgstr "Impossible de changer la taxe!"
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.bank.statement:0
|
||||
|
@ -10751,6 +10778,9 @@ msgid ""
|
|||
"customer. The tool search can also be used to personalise your Invoices "
|
||||
"reports and so, match this analysis to your needs."
|
||||
msgstr ""
|
||||
"À partir de ce rapport, vous avez un aperçu du montant facturé à votre "
|
||||
"client. L'outil de recherche peut aussi être utilisé pour personnaliser "
|
||||
"l'analyse des factures, et ainsi mieux correspondre à votre besoin."
|
||||
|
||||
#. module: account
|
||||
#: view:account.partner.reconcile.process:0
|
||||
|
@ -10847,7 +10877,7 @@ msgstr "Compte client"
|
|||
#: code:addons/account/account_move_line.py:776
|
||||
#, python-format
|
||||
msgid "Already reconciled."
|
||||
msgstr ""
|
||||
msgstr "Déjà lettré."
|
||||
|
||||
#. module: account
|
||||
#: selection:account.model.line,date_maturity:0
|
||||
|
@ -11047,7 +11077,7 @@ msgstr "Le compte de revenu ou de dépense associé à l'article sélectionné."
|
|||
#. module: account
|
||||
#: view:account.config.settings:0
|
||||
msgid "Install more chart templates"
|
||||
msgstr ""
|
||||
msgstr "Ajouter plus de modèles de plan comptable"
|
||||
|
||||
#. module: account
|
||||
#: report:account.general.journal:0
|
||||
|
@ -11095,6 +11125,8 @@ msgid ""
|
|||
"You cannot remove/deactivate an account which is set on a customer or "
|
||||
"supplier."
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas supprimer/désactiver un compte qui est associé à un "
|
||||
"client ou à un fournisseur."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_validate_account_move_lines
|
||||
|
@ -11106,6 +11138,8 @@ msgstr "Valider les lignes d'écriture"
|
|||
msgid ""
|
||||
"The fiscal position will determine taxes and accounts used for the partner."
|
||||
msgstr ""
|
||||
"La position fiscale déterminera les taxes et les comptes comptables utilisés "
|
||||
"par le partneraire"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_supplierpaidinvoice0
|
||||
|
@ -11121,7 +11155,7 @@ msgstr "Dés que le rapprochement est réalisé, la facture peut être payée."
|
|||
#: code:addons/account/wizard/account_change_currency.py:59
|
||||
#, python-format
|
||||
msgid "New currency is not configured properly."
|
||||
msgstr ""
|
||||
msgstr "La nouvelle devise n'est pas configurée correctement."
|
||||
|
||||
#. module: account
|
||||
#: view:account.account.template:0
|
||||
|
@ -11150,7 +11184,7 @@ msgstr "Parent Droit"
|
|||
#: code:addons/account/static/src/js/account_move_reconciliation.js:80
|
||||
#, python-format
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Jamais"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_addtmpl_wizard
|
||||
|
@ -11171,7 +11205,7 @@ msgstr "Du partenaire"
|
|||
#. module: account
|
||||
#: field:account.account,note:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "Notes internes"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_fiscalyear
|
||||
|
@ -11204,7 +11238,7 @@ msgstr "Modèle de Compte"
|
|||
#: code:addons/account/account_cash_statement.py:292
|
||||
#, python-format
|
||||
msgid "Loss"
|
||||
msgstr ""
|
||||
msgstr "Pertes"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.entries.report,month:0
|
||||
|
@ -11295,7 +11329,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: selection:account.config.settings,tax_calculation_rounding_method:0
|
||||
msgid "Round per line"
|
||||
msgstr ""
|
||||
msgstr "Arrondir par ligne"
|
||||
|
||||
#. module: account
|
||||
#: help:account.move.line,amount_residual_currency:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-16 21:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:42+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\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-12-17 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -1285,6 +1285,16 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kliknij, aby utworzyć nowy raport kasowy.\n"
|
||||
" </p><p>\n"
|
||||
" Raport kasowy pozwala rejestrować operacje kasowe.\n"
|
||||
" Służy do obsługi codziennych płatności w gotówce.\n"
|
||||
" Po utworzeniu raportu, na początku możesz wprowadzić\n"
|
||||
" banknoty i monety, które posiadasz w kasetce. A następnie\n"
|
||||
" rejestrować każdą operację wpłaty i wypłaty.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.data_account_type_bank
|
||||
|
@ -2964,6 +2974,21 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kliknij, aby utworzyć zapis księgowy.\n"
|
||||
" </p><p>\n"
|
||||
" Zapis księgowy zawiera kilka pozycji. Każda z nich jest "
|
||||
"transakcją\n"
|
||||
" po albo stronie Winien, albo po stronie Ma.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP tworzy automatycznie zapisy przy zatwierdzaniu "
|
||||
"wielu\n"
|
||||
" dokumentów: faktur, korekt, płatności, wyciągów bankowych, "
|
||||
"itp.\n"
|
||||
" Ręcznie powinieneś wprowadzać zapisy tylko dla nietypowych\n"
|
||||
" operacji.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account
|
||||
#: help:account.invoice,date_due:0
|
||||
|
@ -3860,6 +3885,10 @@ msgid ""
|
|||
"quotations with a button \"Pay with Paypal\" in automated emails or through "
|
||||
"the OpenERP portal."
|
||||
msgstr ""
|
||||
"Konto paypal (adres email) do otrzymywania płatności online (kartami "
|
||||
"kredytowymi, itp). Jeśli ustawisz konto paypal, to klient będzie mógł "
|
||||
"zapłacić za fakturę lub wpłacić przedpłatę przyciskiem \"Płać przez PayPal\" "
|
||||
"automatycznymi mailami lub w portalu OpenERP."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:535
|
||||
|
@ -3870,6 +3899,10 @@ msgid ""
|
|||
"You can create one in the menu: \n"
|
||||
"Configuration/Journals/Journals."
|
||||
msgstr ""
|
||||
"Nie można znaleźć dziennika typu %s dla tej firmy.\n"
|
||||
"\n"
|
||||
"Utwórz go w menu: \n"
|
||||
"Konfiguracja/Dzienniki/Dzienniki."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_unreconcile
|
||||
|
@ -3920,6 +3953,10 @@ msgid ""
|
|||
"by\n"
|
||||
" your supplier/customer."
|
||||
msgstr ""
|
||||
"Będziesz mógł edytować i zatwierdzić\n"
|
||||
" tę korektę od razu lub trzymac ją w \n"
|
||||
" stanie Projekt do czasu otrzymania\n"
|
||||
" dokumentu od partnera."
|
||||
|
||||
#. module: account
|
||||
#: view:validate.account.move.lines:0
|
||||
|
@ -4486,6 +4523,8 @@ msgid ""
|
|||
"Value of Loss or Gain due to changes in exchange rate when doing multi-"
|
||||
"currency transactions."
|
||||
msgstr ""
|
||||
"Wartości zysków i strat w zależności od zmian w kursie walut przy transakcja "
|
||||
"wielowalutowych."
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
|
@ -4568,7 +4607,7 @@ msgstr "(Faktura musi mieć skasowane uzgodnienia, jeśli chcesz ją otworzyć)"
|
|||
#. module: account
|
||||
#: field:account.tax,account_analytic_collected_id:0
|
||||
msgid "Invoice Tax Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Konto analityczne podatku faktury"
|
||||
|
||||
#. module: account
|
||||
#: field:account.chart,period_from:0
|
||||
|
@ -5282,7 +5321,7 @@ msgstr "Czek"
|
|||
#: view:validate.account.move:0
|
||||
#: view:validate.account.move.lines:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "lub"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -6485,6 +6524,10 @@ msgid ""
|
|||
"created by the system on document validation (invoices, bank statements...) "
|
||||
"and will be created in 'Posted' status."
|
||||
msgstr ""
|
||||
"Wszystkie ręcznie utworzone zapisy mają zwykle stan 'Niezaksięgowane', ale "
|
||||
"możesz ustawić opcję w dzienniku, że zapisy będą automatycznie księgowane po "
|
||||
"wprowadzeniu. Będą się w tedy zachowywały jak zapisy przy fakturach i "
|
||||
"wyciągach bankowych i przechodziły w stan 'Zaksięgowano'."
|
||||
|
||||
#. module: account
|
||||
#: field:account.payment.term.line,days:0
|
||||
|
@ -7034,6 +7077,8 @@ msgid ""
|
|||
"the tool search to analyse information about analytic entries generated in "
|
||||
"the system."
|
||||
msgstr ""
|
||||
"W tym widoku masz analizę zapisów analitycznych na kontach analitycznych. "
|
||||
"Konta odzwierciedlają twoje biznesowe potrzeby analityczne."
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:account.journal:0
|
||||
|
@ -7043,7 +7088,7 @@ msgstr "Nazwa dziennika musi być unikalna w ramach firmy !"
|
|||
#. module: account
|
||||
#: field:account.account.template,nocreate:0
|
||||
msgid "Optional create"
|
||||
msgstr ""
|
||||
msgstr "Opcjonalne tworzenie"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:685
|
||||
|
@ -7099,7 +7144,7 @@ msgstr "Grupuj wg..."
|
|||
#. module: account
|
||||
#: view:account.payment.term.line:0
|
||||
msgid " Valuation: Balance"
|
||||
msgstr ""
|
||||
msgstr " Wartość: Saldo"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,product_uom_id:0
|
||||
|
@ -7150,6 +7195,8 @@ msgid ""
|
|||
"Percentages for Payment Term Line must be between 0 and 1, Example: 0.02 for "
|
||||
"2%."
|
||||
msgstr ""
|
||||
"Oprocentowanie w pozycji warunku płatności musi być jako liczba między 0 a "
|
||||
"1, Na przykład: 0.02 oznacza 2%."
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
|
@ -7601,6 +7648,9 @@ msgid ""
|
|||
"Make sure you have configured payment terms properly.\n"
|
||||
"The latest payment term line should be of the \"Balance\" type."
|
||||
msgstr ""
|
||||
"Nie możesz zatwierdzić niezbilansowanego zapisu.\n"
|
||||
"Upewnij się, że warunki płatności są poprawne.\n"
|
||||
"Ostatnia pozycja warunków płatności powinna być typu 'Saldo'."
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_invoicemanually0
|
||||
|
@ -8165,7 +8215,7 @@ msgstr "Do"
|
|||
#: code:addons/account/account.py:1497
|
||||
#, python-format
|
||||
msgid "Currency Adjustment"
|
||||
msgstr ""
|
||||
msgstr "Poprawka walutowa"
|
||||
|
||||
#. module: account
|
||||
#: field:account.fiscalyear.close,fy_id:0
|
||||
|
@ -8894,7 +8944,7 @@ msgstr "Automatyczny import wyciągu bankowego"
|
|||
#: code:addons/account/account_invoice.py:370
|
||||
#, python-format
|
||||
msgid "Unknown Error!"
|
||||
msgstr ""
|
||||
msgstr "Nieznany błąd!"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_bank_reconcile
|
||||
|
@ -8920,11 +8970,13 @@ msgid ""
|
|||
"You cannot use this general account in this journal, check the tab 'Entry "
|
||||
"Controls' on the related journal."
|
||||
msgstr ""
|
||||
"Nie możesz stosować tego konta w tym dzienniku. Sprawdź zakładkę 'Kontrola "
|
||||
"zapisów' w dzienniku."
|
||||
|
||||
#. module: account
|
||||
#: view:account.payment.term.line:0
|
||||
msgid " Value amount: n.a"
|
||||
msgstr ""
|
||||
msgstr " Wartość: nd."
|
||||
|
||||
#. module: account
|
||||
#: view:account.automatic.reconcile:0
|
||||
|
@ -9304,6 +9356,9 @@ msgid ""
|
|||
"created. If you leave that field empty, it will use the same journal as the "
|
||||
"current invoice."
|
||||
msgstr ""
|
||||
"Możesz wybrać dziennik dla tworzonej korekty. Jeśli pozostawisz to pole "
|
||||
"puste, to do korekty będzie stosowany ten sam dzinnik co do oryginalnej "
|
||||
"faktury."
|
||||
|
||||
#. module: account
|
||||
#: help:account.bank.statement.line,sequence:0
|
||||
|
@ -9352,6 +9407,9 @@ msgid ""
|
|||
"some non legal fields or you must unreconcile first.\n"
|
||||
"%s."
|
||||
msgstr ""
|
||||
"Nie możesz modyfikować uzgodnionego zapisu. Możesz zmieniać jedynie pola "
|
||||
"nieistotne księgowo lub najpierw musisz skasować uzgodnienie.\n"
|
||||
"%s."
|
||||
|
||||
#. module: account
|
||||
#: help:account.financial.report,sign:0
|
||||
|
@ -9511,6 +9569,10 @@ msgid ""
|
|||
"chart\n"
|
||||
" of accounts."
|
||||
msgstr ""
|
||||
"Kiedy projekt faktury zostanie zatwierdzony, to nie\n"
|
||||
" będziesz mógł go modyfikować. Faktura otrzyma\n"
|
||||
" unikalny numer i zostanie utworzony zapis\n"
|
||||
" księgowy."
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_bankstatement0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-14 15:57+0000\n"
|
||||
"Last-Translator: digitalsatori <digisatori@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 06:55+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.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-12-15 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -1551,7 +1551,7 @@ msgstr "应收科目"
|
|||
#: code:addons/account/account.py:767
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
msgstr "%s (副本)"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.balance.report,display_account:0
|
||||
|
@ -2169,6 +2169,12 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 单击以便一张新的供应商发票。\n"
|
||||
" </p><p>\n"
|
||||
" 你可以根据从供应商处所采购或收到的货物来管理发票。OpenERP也可以根据采购订单或者收货自动生成一张草稿状态的发票。\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:account.move.line:0
|
||||
|
|
|
@ -119,12 +119,16 @@ class account_common_report(osv.osv_memory):
|
|||
return accounts and accounts[0] or False
|
||||
|
||||
def _get_fiscalyear(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
now = time.strftime('%Y-%m-%d')
|
||||
company_id = False
|
||||
ids = context.get('active_ids', [])
|
||||
domain = [('date_start', '<', now), ('date_stop', '>', now)]
|
||||
if ids and context.get('active_model') == 'account.account':
|
||||
company_id = self.pool.get('account.account').browse(cr, uid, ids[0], context=context).company_id.id
|
||||
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, [('date_start', '<', now), ('date_stop', '>', now), ('company_id', '=', company_id)], limit=1)
|
||||
domain += [('company_id', '=', company_id)]
|
||||
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
|
||||
return fiscalyears and fiscalyears[0] or False
|
||||
|
||||
def _get_all_journal(self, cr, uid, context=None):
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-02-18 23:15+0000\n"
|
||||
"Last-Translator: Pierre Burnier <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:53+0000\n"
|
||||
"Last-Translator: Nicolas JEUDY <njeudy@tuxservices.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-12-04 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -29,12 +29,12 @@ msgstr "Regrouper par..."
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "To Invoice"
|
||||
msgstr ""
|
||||
msgstr "À facturer"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Remaining"
|
||||
msgstr ""
|
||||
msgstr "Restant"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -73,7 +73,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "⇒ Invoice"
|
||||
msgstr ""
|
||||
msgstr "⇒ Facturer"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_invoiced:0
|
||||
|
@ -88,7 +88,7 @@ msgstr "Date du dernier coût facturé"
|
|||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,fix_price_to_invoice:0
|
||||
msgid "Sum of quotations for this contract."
|
||||
msgstr ""
|
||||
msgstr "Total des devis pour ce contrat."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,ca_invoiced:0
|
||||
|
@ -113,7 +113,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
msgstr "Partenaire"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -158,11 +158,12 @@ msgstr ""
|
|||
#: help:account.analytic.account,remaining_hours_to_invoice:0
|
||||
msgid "Computed using the formula: Maximum Time - Total Invoiced Time"
|
||||
msgstr ""
|
||||
"Calculé en utilisant cette formule: Temps maximum - Total du temps facturé"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Expected"
|
||||
msgstr ""
|
||||
msgstr "Attendu"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -176,6 +177,7 @@ msgstr "Compte analytique"
|
|||
#: help:account.analytic.account,theorical_margin:0
|
||||
msgid "Computed using the formula: Theoretical Revenue - Total Costs"
|
||||
msgstr ""
|
||||
"Calculé en appliquant la formule: Revenus Théorique - Total des dépenses"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_qtt_invoiced:0
|
||||
|
@ -196,6 +198,8 @@ msgid ""
|
|||
"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
|
||||
"'normal','template'])]}"
|
||||
msgstr ""
|
||||
"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
|
||||
"'normal','template'])]}"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin_rate:0
|
||||
|
@ -226,7 +230,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action
|
||||
msgid "Template of Contract"
|
||||
msgstr ""
|
||||
msgstr "Modèle de contrat"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:res.groups,name:account_analytic_analysis.group_template_required
|
||||
|
@ -236,7 +240,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_quantity:0
|
||||
msgid "Total Worked Time"
|
||||
msgstr ""
|
||||
msgstr "Total du temps passé"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin:0
|
||||
|
@ -256,7 +260,7 @@ msgstr "Calculé selon la formule : (Marge réelle / Coûts totaux) * 100"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "or view"
|
||||
msgstr ""
|
||||
msgstr "ou afficher"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -273,7 +277,7 @@ msgstr "Mois"
|
|||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
|
||||
msgid "Time & Materials to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Temps & Matériel à facturer"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
|
||||
|
@ -284,12 +288,12 @@ msgstr "Contrats"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
msgstr "Date de début"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Facturé"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -308,7 +312,7 @@ msgstr "Contrats en attente de renouvellement avec votre client"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Feuilles de temps"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:461
|
||||
|
@ -329,7 +333,7 @@ msgstr "Nombre d'arriérés"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_theorical:0
|
||||
|
@ -351,7 +355,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
|
||||
msgid "Sales Orders"
|
||||
msgstr ""
|
||||
msgstr "Commandes"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_invoice_date:0
|
||||
|
|
|
@ -7,19 +7,20 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-10 14:08+0000\n"
|
||||
"Last-Translator: Projetaty Soluções OpenSource <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:08+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\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-12-11 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "No order to invoice, create"
|
||||
msgstr "Não existe pedido para faturar, crie."
|
||||
msgstr "Não existe pedido para faturar, crie um"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -39,7 +40,7 @@ msgstr "Restante"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Contracts in progress"
|
||||
msgstr "Contratos em progresso"
|
||||
msgstr "Contratos em andamento"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_worked_invoiced_date:0
|
||||
|
@ -47,18 +48,18 @@ msgid ""
|
|||
"If invoice from the costs, this is the date of the latest work or cost that "
|
||||
"have been invoiced."
|
||||
msgstr ""
|
||||
"Se for uma fatura a partir dos custos, esta é a data do último trabalho ou "
|
||||
"custo que foi faturado."
|
||||
"Se faturar a partir dos custos, esta é a data do último trabalho ou custo "
|
||||
"que foi faturado."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,last_worked_date:0
|
||||
msgid "Date of Last Cost/Work"
|
||||
msgstr "Data da Ultima Despesa/Atividade"
|
||||
msgstr "Data da Última Despesa/Atividade"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_to_invoice:0
|
||||
msgid "Uninvoiced Amount"
|
||||
msgstr "Valor não faturado"
|
||||
msgstr "Valor não Faturado"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-05 09:24+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:41+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-12-06 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account4_ids:0
|
||||
|
@ -133,7 +133,7 @@ msgstr "Ne pas afficher les lignes vides"
|
|||
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61
|
||||
#, python-format
|
||||
msgid "There are no analytic lines related to account %s."
|
||||
msgstr ""
|
||||
msgstr "Il n'y a pas de lignes analytiques relatives au compte %s."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account3_ids:0
|
||||
|
@ -349,7 +349,7 @@ msgstr "Journal"
|
|||
#: code:addons/account_analytic_plans/account_analytic_plans.py:486
|
||||
#, python-format
|
||||
msgid "You have to define an analytic journal on the '%s' journal."
|
||||
msgstr ""
|
||||
msgstr "Vous devez définir un journal analytique pour le journal '%s'."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:342
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 20:57+0000\n"
|
||||
"Last-Translator: Dusan Laznik <laznik@mentis.si>\n"
|
||||
"PO-Revision-Date: 2012-12-19 14:20+0000\n"
|
||||
"Last-Translator: Stanko Zvonar <stanko.zvonar@mentis.si>\n"
|
||||
"Language-Team: Slovenian <sl@li.org>\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-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_asset
|
||||
|
@ -58,7 +58,7 @@ msgstr "Bruto vrednost"
|
|||
#: field:asset.asset.report,asset_id:0
|
||||
#: model:ir.model,name:account_asset.model_account_asset_asset
|
||||
msgid "Asset"
|
||||
msgstr "Premoženje"
|
||||
msgstr "Osnovna sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,prorata:0
|
||||
|
@ -141,19 +141,19 @@ msgstr "Amortizacijske vrstice"
|
|||
#. module: account_asset
|
||||
#: help:account.asset.asset,salvage_value:0
|
||||
msgid "It is the amount you plan to have that you cannot depreciate."
|
||||
msgstr ""
|
||||
msgstr "Planirana vrednost,ki se ne amortizira"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,depreciation_date:0
|
||||
#: view:asset.asset.report:0
|
||||
#: field:asset.asset.report,depreciation_date:0
|
||||
msgid "Depreciation Date"
|
||||
msgstr ""
|
||||
msgstr "Datum amortizacije"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.asset.asset:0
|
||||
msgid "Error ! You cannot create recursive assets."
|
||||
msgstr ""
|
||||
msgstr "Napaka! Ne moreš kreirati rekurzivnega osnovnega sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.asset.report,posted_value:0
|
||||
|
@ -193,12 +193,12 @@ msgstr ""
|
|||
#: view:asset.asset.report:0
|
||||
#: field:asset.asset.report,nbr:0
|
||||
msgid "# of Depreciation Lines"
|
||||
msgstr ""
|
||||
msgstr "Amortizacijska vrsta"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_period:0
|
||||
msgid "Number of Months in a Period"
|
||||
msgstr ""
|
||||
msgstr "Število mesecev v obdobju"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
|
@ -246,12 +246,12 @@ msgstr "Osnutek"
|
|||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Date of asset purchase"
|
||||
msgstr ""
|
||||
msgstr "Datum nabave osnovnega sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_number:0
|
||||
msgid "Calculates Depreciation within specified interval"
|
||||
msgstr ""
|
||||
msgstr "Izračun amortizacije v določenem intervalu"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,active:0
|
||||
|
@ -261,12 +261,12 @@ msgstr "Aktivno"
|
|||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Change Duration"
|
||||
msgstr ""
|
||||
msgstr "Spremeni trajanje"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Analytic Information"
|
||||
msgstr ""
|
||||
msgstr "Analitika"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_analytic_id:0
|
||||
|
@ -277,12 +277,12 @@ msgstr "Analitični konto"
|
|||
#: field:account.asset.asset,method:0
|
||||
#: field:account.asset.category,method:0
|
||||
msgid "Computation Method"
|
||||
msgstr ""
|
||||
msgstr "Metoda izračuna"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_period:0
|
||||
msgid "State here the time during 2 depreciations, in months"
|
||||
msgstr ""
|
||||
msgstr "Čas med dvema amortizacijama( v mesecih)"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.asset.asset:0
|
||||
|
@ -304,19 +304,19 @@ msgstr ""
|
|||
#. module: account_asset
|
||||
#: help:account.asset.history,method_period:0
|
||||
msgid "Time in month between two depreciations"
|
||||
msgstr ""
|
||||
msgstr "Čas v mesecih med dvema amortizacijama"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
#: model:ir.actions.act_window,name:account_asset.action_asset_modify
|
||||
#: model:ir.model,name:account_asset.model_asset_modify
|
||||
msgid "Modify Asset"
|
||||
msgstr ""
|
||||
msgstr "Spremeni Osnovno sredstvo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,salvage_value:0
|
||||
msgid "Salvage Value"
|
||||
msgstr ""
|
||||
msgstr "Ostanek vrednosti"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,category_id:0
|
||||
|
@ -324,7 +324,7 @@ msgstr ""
|
|||
#: field:account.invoice.line,asset_category_id:0
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Asset Category"
|
||||
msgstr ""
|
||||
msgstr "Kategorija Osnovnega sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
|
@ -334,18 +334,18 @@ msgstr ""
|
|||
#. module: account_asset
|
||||
#: field:account.asset.asset,parent_id:0
|
||||
msgid "Parent Asset"
|
||||
msgstr ""
|
||||
msgstr "Nadrejeno osnovno sredstvo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.history:0
|
||||
#: model:ir.model,name:account_asset.model_account_asset_history
|
||||
msgid "Asset history"
|
||||
msgstr ""
|
||||
msgstr "Zgodovina osnovnega sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Search Asset Category"
|
||||
msgstr ""
|
||||
msgstr "Iskanje po kategoriji osnovnega sredstva"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_invoice_line
|
||||
|
@ -372,13 +372,13 @@ msgstr ""
|
|||
#: field:account.asset.category,method_time:0
|
||||
#: field:account.asset.history,method_time:0
|
||||
msgid "Time Method"
|
||||
msgstr ""
|
||||
msgstr "Časovna metoda"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
#: view:asset.modify:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "ali"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,note:0
|
||||
|
@ -432,7 +432,7 @@ msgstr ""
|
|||
#: field:account.asset.asset,state:0
|
||||
#: field:asset.asset.report,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Status"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,partner_id:0
|
||||
|
@ -515,7 +515,7 @@ msgstr "Zgodovina"
|
|||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
msgid "Compute Asset"
|
||||
msgstr ""
|
||||
msgstr "Izračunaj amortizacijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.depreciation.confirmation.wizard,period_id:0
|
||||
|
|
|
@ -7,14 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-04 07:23+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 19:08+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-05 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.analytic:0
|
||||
|
@ -367,6 +368,22 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" Ein Budget ist eine Planung der Erlöse und Aufwendungen "
|
||||
"einer\n"
|
||||
" zukünftigen Periode. Ein Budget wird definiert für eine "
|
||||
"beliebige \n"
|
||||
" Auswahl Konten und/oder Kostenstellen (die Projekte, \n"
|
||||
" Abteilungen,Produktkategorien entsprechen)\n"
|
||||
" </p><p>\n"
|
||||
" Durch Verfolgen der Finanztransaktionen, reduzieren Sie das\n"
|
||||
" Risiko einer Zahlungsunfähigkeit. Prognostizieren Sie Ihre "
|
||||
"Umsätze\n"
|
||||
" nach Kostenstellen und verfolgen Sie dabei die Entwicklung "
|
||||
"im \n"
|
||||
" Zeit- oder Plan-Istvergleich.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_budget
|
||||
#: report:account.budget:0
|
||||
|
|
|
@ -7,14 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 16:58+0000\n"
|
||||
"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:42+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-04 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.analytic:0
|
||||
|
@ -367,6 +368,25 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" Un budget est une prévision des revenus et dépenses de votre "
|
||||
"société\n"
|
||||
" attendus dans une période à venir. Un budget est défini sur\n"
|
||||
" certains comptes comptables ou analytiques (qui peuvent "
|
||||
"représenter\n"
|
||||
" des projets, des filiales, des catégories d'articles, etc.)\n"
|
||||
" </p><p>\n"
|
||||
" En surveillant où va votre argent, vous pourrez éviter\n"
|
||||
" certaines dépenses superflues, et vous aurez plus de chances "
|
||||
"d'atteindre vos\n"
|
||||
" objectifs financiers. Prévoyez votre budget en détaillant "
|
||||
"les chiffres d'affaires attendus\n"
|
||||
" pour chaque compte analytique : vous pourrez ensuite "
|
||||
"surveiller son évolution en\n"
|
||||
" fonction des chiffres effectivement réalisées pendant la "
|
||||
"période.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_budget
|
||||
#: report:account.budget:0
|
||||
|
|
|
@ -8,15 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-03 20:39+0000\n"
|
||||
"Last-Translator: Frederic Clementi - Camptocamp.com "
|
||||
"<frederic.clementi@camptocamp.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:43+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-04 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
|
@ -108,6 +107,18 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliquez pour créer un nouveau chèque. \n"
|
||||
" </p><p>\n"
|
||||
" Le formulaire de paiement par chèque vous permet de suivre "
|
||||
"les paiements que\n"
|
||||
" vous faites à vos fournisseurs par chèque. Lorsque vous "
|
||||
"sélectionnez un fournisseur, la\n"
|
||||
" méthode de paiement et le montant payé, OpenERP propose\n"
|
||||
" de rapprocher votre paiement et les factures fournisseur "
|
||||
"ouvertes.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.voucher,allow_check:0
|
||||
|
|
|
@ -7,25 +7,25 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-07 20:51+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:01+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-08 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.bank.statement.line,voucher_id:0
|
||||
msgid "Reconciliation"
|
||||
msgstr ""
|
||||
msgstr "Ausgleichen"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
msgstr "account.config.settings"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/account_voucher.py:348
|
||||
|
@ -73,6 +73,8 @@ msgid ""
|
|||
"You have to delete the bank statement line which the payment was reconciled "
|
||||
"to manually. Please check the payment of the partner %s by the amount of %s."
|
||||
msgstr ""
|
||||
"Sie müssen Bankauszug Positionen für manuell abgeglichen Positionen löschen. "
|
||||
"Bitte überprüfen Sie die Zahlung des Partners % s in Höhe des Betrag % s."
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
|
@ -409,7 +411,7 @@ msgstr "Buchen von Ausgaben"
|
|||
#. module: account_voucher
|
||||
#: field:account.voucher,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Followers"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.voucher.line,type:0
|
||||
|
@ -501,6 +503,13 @@ msgid ""
|
|||
"\n"
|
||||
"* The 'Cancelled' status is used when user cancel voucher."
|
||||
msgstr ""
|
||||
" * Ein Zahlungsbeleg befindet sich unmittelbar nach der Erstellung im "
|
||||
"\"Entwurf\" Zustand.\n"
|
||||
"* Durch Änderung auf den Status \"Pro-Forma\" wird der Status geändert, aber "
|
||||
"keine Belegnummer vergeben.\n"
|
||||
"* Der Status \"Gebucht\" wird angewendet, wenn ein Benutzer einen "
|
||||
"Zahlungsbeleg mitsamt Belegnummer vollständig gebucht hat.\n"
|
||||
"* Der Zustand \"Abgebrochen\" kennzeichnet den Abbruch eines Zahlungsbelegs."
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,writeoff_amount:0
|
||||
|
@ -777,7 +786,7 @@ msgstr "Bezahlt"
|
|||
#. module: account_voucher
|
||||
#: field:account.voucher,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Ist ein Follower"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,analytic_id:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-05 09:22+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:43+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\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-12-06 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.bank.statement.line,voucher_id:0
|
||||
|
@ -166,6 +166,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliquez pour enregistrer un reçu d'achat. \n"
|
||||
" </p><p>\n"
|
||||
" Quand le reçu d'achat sera confirmé, vous pourrez "
|
||||
"enregistrer\n"
|
||||
" les paiements fournisseur en rapport avec ce reçu d'achat.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"PO-Revision-Date: 2012-12-19 15:44+0000\n"
|
||||
"Last-Translator: Florian Hatat <Unknown>\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:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
|
||||
|
@ -24,7 +24,7 @@ msgstr "ir.model.fields.anonymize.wizard"
|
|||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_migration_fix
|
||||
msgid "ir.model.fields.anonymization.migration.fix"
|
||||
msgstr ""
|
||||
msgstr "ir.model.fields.anonymization.migration.fix"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,target_version:0
|
||||
|
@ -61,7 +61,7 @@ msgstr "ir.model.fields.anonymization"
|
|||
#: field:ir.model.fields.anonymization.history,state:0
|
||||
#: field:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,direction:0
|
||||
|
@ -134,7 +134,7 @@ msgstr "Masquer la base"
|
|||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.migration.fix,query_type:0
|
||||
msgid "python"
|
||||
msgstr ""
|
||||
msgstr "python"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
|
@ -188,7 +188,7 @@ msgstr "Historique du masquage"
|
|||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,model_name:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
msgstr "Modèle"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
|
||||
|
@ -216,7 +216,7 @@ msgstr "Nom du fichier"
|
|||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-19 21:10+0000\n"
|
||||
"Last-Translator: Andrea Cometa <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\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:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
|
||||
|
@ -253,6 +253,7 @@ msgstr "Messaggio"
|
|||
#, python-format
|
||||
msgid "You cannot have two fields with the same name on the same object!"
|
||||
msgstr ""
|
||||
"Non è possibile avere due campi con lo stesso nome nello stesso oggetto!"
|
||||
|
||||
#~ msgid "Database anonymization module"
|
||||
#~ msgstr "Modulo anonimizza database"
|
||||
|
|
|
@ -0,0 +1,135 @@
|
|||
# German 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 14:45+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,validation_endpoint:0
|
||||
msgid "Validation URL"
|
||||
msgstr "Validierungs URL"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,auth_endpoint:0
|
||||
msgid "Authentication URL"
|
||||
msgstr "Authorisierungs URL"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: model:ir.model,name:auth_oauth.model_base_config_settings
|
||||
msgid "base.config.settings"
|
||||
msgstr "base.config.settings"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,name:0
|
||||
msgid "Provider name"
|
||||
msgstr "Provider Name"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,scope:0
|
||||
msgid "Scope"
|
||||
msgstr "Gültigkeitsbereich"
|
||||
|
||||
#. 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 "Nachricht"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: model:ir.model,name:auth_oauth.model_res_users
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,sequence:0
|
||||
msgid "unknown"
|
||||
msgstr "unbekannt"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:res.users,oauth_access_token:0
|
||||
msgid "OAuth Access Token"
|
||||
msgstr "OAuth Zugangs 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 "Erlaube Benutzer mit Facebook Konto einzuloggen"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "OAuth UID must be unique per provider"
|
||||
msgstr "OAuth UID muss je Provider eindeutig sein"
|
||||
|
||||
#. 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 "Daten URL"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: view:auth.oauth.provider:0
|
||||
msgid "arch"
|
||||
msgstr "Arch"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider
|
||||
msgid "Providers"
|
||||
msgstr "Provider"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:base.config.settings,auth_oauth_google_enabled:0
|
||||
msgid "Allow users to sign in with Google"
|
||||
msgstr "Erlaube Benutzer mit Google Konto einzuloggen"
|
||||
|
||||
#. module: auth_oauth
|
||||
#: field:auth.oauth.provider,enabled:0
|
||||
msgid "Allowed"
|
||||
msgstr "Erlaubt"
|
|
@ -0,0 +1,268 @@
|
|||
# German 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-04 14:41+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 14:58+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:base.config.settings,auth_signup_uninvited:0
|
||||
msgid "Allow external users to sign up"
|
||||
msgstr "Erlaube Login von externen Benutzern"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16
|
||||
#, python-format
|
||||
msgid "Confirm Password"
|
||||
msgstr "Passwort bestätigen"
|
||||
|
||||
#. module: auth_signup
|
||||
#: help:base.config.settings,auth_signup_uninvited:0
|
||||
msgid "If unchecked, only invited users may sign up."
|
||||
msgstr "Falls leer, dürfen nur eingeladene Benutzer einloggen"
|
||||
|
||||
#. module: auth_signup
|
||||
#: model:ir.model,name:auth_signup.model_base_config_settings
|
||||
msgid "base.config.settings"
|
||||
msgstr "base.config.settings"
|
||||
|
||||
#. module: auth_signup
|
||||
#: code:addons/auth_signup/res_users.py:248
|
||||
#, python-format
|
||||
msgid "Cannot send email: user has no email address."
|
||||
msgstr "Kann keine EMail senden, weil der Benutzer keine EMail Adresse hat"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:25
|
||||
#, python-format
|
||||
msgid "Reset password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:base.config.settings,auth_signup_template_user_id:0
|
||||
msgid "Template user for new users created through signup"
|
||||
msgstr "Vorlage Benutzer für neu Benutzer"
|
||||
|
||||
#. module: auth_signup
|
||||
#: model:email.template,subject:auth_signup.reset_password_email
|
||||
msgid "Password reset"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:120
|
||||
#, python-format
|
||||
msgid "Please enter a password and confirm it."
|
||||
msgstr "Bitte ein Passwort eintragen und bestätigen"
|
||||
|
||||
#. module: auth_signup
|
||||
#: view:res.users:0
|
||||
msgid "Send an email to the user to (re)set their password."
|
||||
msgstr ""
|
||||
"Sende eine Mail an den Benutzer um das Passwort zu setzen oder zurückzusetzen"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23
|
||||
#, python-format
|
||||
msgid "Sign Up"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#. module: auth_signup
|
||||
#: selection:res.users,state:0
|
||||
msgid "New"
|
||||
msgstr "Neu"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:res.users,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: auth_signup
|
||||
#: model:email.template,body_html:auth_signup.reset_password_email
|
||||
msgid ""
|
||||
"\n"
|
||||
"<p>A password reset was requested for the OpenERP account linked to this "
|
||||
"email.</p>\n"
|
||||
"\n"
|
||||
"<p>You may change your password by following <a "
|
||||
"href=\"${object.signup_url}\">this link</a>.</p>\n"
|
||||
"\n"
|
||||
"<p>Note: If you do not expect this, you can safely ignore this email.</p>"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"<p>Ein Zurücksetzen des Passwortes für diese EMail-Adresse wurde verlangt "
|
||||
".</p>\n"
|
||||
"\n"
|
||||
"<p>Sie können das Passwort mit diesem Link <a "
|
||||
"href=\"${object.signup_url}\">zurücksetzen</a>.</p>\n"
|
||||
"\n"
|
||||
"<p>Anmerkung: Wenn Sie dieses Mail nicht erwartet/beantragt habe, könne Sie "
|
||||
"es einfach ignorieren </p>"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:114
|
||||
#, python-format
|
||||
msgid "Please enter a name."
|
||||
msgstr "Bitte geben Sie einen Namen ein."
|
||||
|
||||
#. module: auth_signup
|
||||
#: model:ir.model,name:auth_signup.model_res_users
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:res.partner,signup_url:0
|
||||
msgid "Signup URL"
|
||||
msgstr "Registrierungs URL"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:117
|
||||
#, python-format
|
||||
msgid "Please enter a username."
|
||||
msgstr "Bitte Benutzernamen eingeben."
|
||||
|
||||
#. module: auth_signup
|
||||
#: selection:res.users,state:0
|
||||
msgid "Active"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12
|
||||
#, python-format
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:160
|
||||
#, python-format
|
||||
msgid "Please enter a username or email address."
|
||||
msgstr "Bitte Benutzername oder EMail Adresse eingeben"
|
||||
|
||||
#. module: auth_signup
|
||||
#: selection:res.users,state:0
|
||||
msgid "Resetting Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13
|
||||
#, python-format
|
||||
msgid "Username (Email)"
|
||||
msgstr "Benutzername (EMail)"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:res.partner,signup_expiration:0
|
||||
msgid "Signup Expiration"
|
||||
msgstr "Ablauf der Registritung"
|
||||
|
||||
#. module: auth_signup
|
||||
#: help:base.config.settings,auth_signup_reset_password:0
|
||||
msgid "This allows users to trigger a password reset from the Login page."
|
||||
msgstr "Dies erlaubt Benutzern ein Zurücksetzen des Passwortes zu verlangen."
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:21
|
||||
#, python-format
|
||||
msgid "Log in"
|
||||
msgstr "Login"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:res.partner,signup_valid:0
|
||||
msgid "Signup Token is Valid"
|
||||
msgstr "Anmeldungs Token ist gültig"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:111
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:114
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:117
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:120
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:123
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:157
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:160
|
||||
#, python-format
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:94
|
||||
#, python-format
|
||||
msgid "Invalid signup token"
|
||||
msgstr "Anmeldungs Token ist ungültig"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:123
|
||||
#, python-format
|
||||
msgid "Passwords do not match; please retype them."
|
||||
msgstr "Passworte stimmen nicht überein, bitte neu eingeben"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:111
|
||||
#: code:addons/auth_signup/static/src/js/auth_signup.js:157
|
||||
#, python-format
|
||||
msgid "No database selected !"
|
||||
msgstr "Keine Datenbank ausgewählt-"
|
||||
|
||||
#. module: auth_signup
|
||||
#: view:res.users:0
|
||||
msgid "Reset Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:base.config.settings,auth_signup_reset_password:0
|
||||
msgid "Enable password reset from Login page"
|
||||
msgstr "Erlaube Passwort zurücksetzen von der Login-Seite"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24
|
||||
#, python-format
|
||||
msgid "Back to Login"
|
||||
msgstr "Zurück zur Anmeldung"
|
||||
|
||||
#. module: auth_signup
|
||||
#. openerp-web
|
||||
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22
|
||||
#, python-format
|
||||
msgid "Sign up"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#. module: auth_signup
|
||||
#: model:ir.model,name:auth_signup.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: auth_signup
|
||||
#: field:res.partner,signup_token:0
|
||||
msgid "Signup Token"
|
||||
msgstr "Anmelde Token"
|
|
@ -7,20 +7,20 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-17 21:56+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:29+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\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-18 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_followers:0
|
||||
msgid "Set Followers"
|
||||
msgstr ""
|
||||
msgstr "Setze Followers"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
|
@ -45,7 +45,7 @@ msgstr "Verantwortlicher"
|
|||
#. module: base_action_rule
|
||||
#: model:ir.model,name:base_action_rule.model_ir_actions_server
|
||||
msgid "ir.actions.server"
|
||||
msgstr ""
|
||||
msgstr "ir.actions.server"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
|
@ -301,6 +301,18 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Klicken Sie zur Erstellung einer neuen automatischen Abfolge Regel.\n"
|
||||
"\n"
|
||||
"Benutzen Sie automatische Abfolge Regeln um diverse Voränge verschiedener "
|
||||
"Formulare \n"
|
||||
"für verschiedene Ansichten auszulösen. Zum Beispiel: Ein Interessent, der "
|
||||
"durch einen\n"
|
||||
"speziellen Benutzer angelegt wurde, wird einem bestimmten Team zugewiesen, "
|
||||
"oder ein Vorgang\n"
|
||||
"der nach 14 Tagen immer noch den Status Wiedervorlage ausweist, löst eine "
|
||||
"automatisch E-Mail \n"
|
||||
"Erinnerung aus.\n"
|
||||
" "
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_type:0
|
||||
|
@ -330,7 +342,7 @@ msgstr "Auslösetermin"
|
|||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Server Actions"
|
||||
msgstr ""
|
||||
msgstr "Server-Aktion"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Check this if you want the rule to send an email to the responsible person."
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-11 12:28+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 21:06+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\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-12 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_followers:0
|
||||
|
@ -28,6 +28,9 @@ msgid ""
|
|||
"The rule uses the AND operator. The model must match all non-empty fields so "
|
||||
"that the rule executes the action described in the 'Actions' tab."
|
||||
msgstr ""
|
||||
"La regola usa l'operatore AND. Nel modello devono corrispondere tutti i "
|
||||
"campi non vuoti cosicché la regola esegua l'azione descritta nella scheda "
|
||||
"'Azioni'."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: model:ir.model,name:base_action_rule.model_base_action_rule
|
||||
|
@ -60,6 +63,8 @@ msgid ""
|
|||
"Server Actions to be Triggered (eg. Email Reminder, Call Object Method, "
|
||||
"etc...)"
|
||||
msgstr ""
|
||||
"Azioni Server da Eseguire Automaticamente (es. Email di Promemoria, Chiamata "
|
||||
"a Metodo di un Oggetto, ecc...)"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,trg_date_range:0
|
||||
|
@ -219,7 +224,7 @@ msgstr "Attivo"
|
|||
#. module: base_action_rule
|
||||
#: field:base.action.rule,regex_name:0
|
||||
msgid "Regex on Resource Name"
|
||||
msgstr ""
|
||||
msgstr "Regex sul nome risorsa"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_type:0
|
||||
|
|
|
@ -8,14 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-16 11:41+0000\n"
|
||||
"Last-Translator: Felix Schubert <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 19:47+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\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-17 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:res.company:0
|
||||
|
@ -51,7 +52,7 @@ msgstr "base.gengo.translations"
|
|||
#. module: base_gengo
|
||||
#: help:res.company,gengo_auto_approve:0
|
||||
msgid "Jobs are Automatically Approved by Gengo."
|
||||
msgstr ""
|
||||
msgstr "Jobs werden automatisch durch Gengo geprüft."
|
||||
|
||||
#. module: base_gengo
|
||||
#: field:base.gengo.translations,lang_id:0
|
||||
|
@ -61,13 +62,13 @@ msgstr "Sprache"
|
|||
#. module: base_gengo
|
||||
#: field:ir.translation,gengo_comment:0
|
||||
msgid "Comments & Activity Linked to Gengo"
|
||||
msgstr ""
|
||||
msgstr "Kommentare & Gengo Aktivitäten"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:124
|
||||
#, python-format
|
||||
msgid "Gengo Sync Translation (Response)"
|
||||
msgstr ""
|
||||
msgstr "Gengo Synch Übersetzung (Antwort)"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:72
|
||||
|
@ -76,11 +77,14 @@ msgid ""
|
|||
"Gengo `Public Key` or `Private Key` are missing. Enter your Gengo "
|
||||
"authentication parameters under `Settings > Companies > Gengo Parameters`."
|
||||
msgstr ""
|
||||
"Es fehlen der Gengo `Public Key` oder `Private Key' zur Anmeldung. Geben "
|
||||
"Sie Ihre Gengko Parameter unter Konfiguration / Unternehmens "
|
||||
"Authentifizierung an unter"
|
||||
|
||||
#. module: base_gengo
|
||||
#: selection:ir.translation,gengo_translation:0
|
||||
msgid "Translation By Machine"
|
||||
msgstr ""
|
||||
msgstr "Maschinelle Vorhersage"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:155
|
||||
|
@ -91,11 +95,15 @@ msgid ""
|
|||
"--\n"
|
||||
" Commented on %s by %s."
|
||||
msgstr ""
|
||||
"%s\n"
|
||||
"\n"
|
||||
"--\n"
|
||||
" Kommentar zu Schritt %s by %s."
|
||||
|
||||
#. module: base_gengo
|
||||
#: field:ir.translation,gengo_translation:0
|
||||
msgid "Gengo Translation Service Level"
|
||||
msgstr ""
|
||||
msgstr "Gengo Übersetzungssergvice"
|
||||
|
||||
#. module: base_gengo
|
||||
#: constraint:ir.translation:0
|
||||
|
@ -106,7 +114,7 @@ msgstr ""
|
|||
#. module: base_gengo
|
||||
#: selection:ir.translation,gengo_translation:0
|
||||
msgid "Standard"
|
||||
msgstr ""
|
||||
msgstr "Standard"
|
||||
|
||||
#. module: base_gengo
|
||||
#: help:ir.translation,gengo_translation:0
|
||||
|
@ -114,65 +122,67 @@ msgid ""
|
|||
"You can select here the service level you want for an automatic translation "
|
||||
"using Gengo."
|
||||
msgstr ""
|
||||
"Sie können die Dienstleistungen für eine automatische Übersetzung dieser "
|
||||
"Gruppe einfach beauftragen."
|
||||
|
||||
#. module: base_gengo
|
||||
#: field:base.gengo.translations,restart_send_job:0
|
||||
msgid "Restart Sending Job"
|
||||
msgstr ""
|
||||
msgstr "Erneut senden"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:ir.translation:0
|
||||
msgid "To Approve In Gengo"
|
||||
msgstr ""
|
||||
msgstr "In Gengo genehmigen"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:res.company:0
|
||||
msgid "Private Key"
|
||||
msgstr ""
|
||||
msgstr "Privater Schlüssel"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:res.company:0
|
||||
msgid "Public Key"
|
||||
msgstr ""
|
||||
msgstr "Öffentlicher Schlüssel"
|
||||
|
||||
#. module: base_gengo
|
||||
#: field:res.company,gengo_public_key:0
|
||||
msgid "Gengo Public Key"
|
||||
msgstr ""
|
||||
msgstr "Öffentlicher Schlüssel in Gengo"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:123
|
||||
#, python-format
|
||||
msgid "Gengo Sync Translation (Request)"
|
||||
msgstr ""
|
||||
msgstr "Gengomit mit Übersetzungen (Anfragen)"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:ir.translation:0
|
||||
msgid "Translations"
|
||||
msgstr ""
|
||||
msgstr "Übersetzungen"
|
||||
|
||||
#. module: base_gengo
|
||||
#: field:res.company,gengo_auto_approve:0
|
||||
msgid "Auto Approve Translation ?"
|
||||
msgstr ""
|
||||
msgstr "Übersetzung automatisch genehmigen ?"
|
||||
|
||||
#. module: base_gengo
|
||||
#: model:ir.actions.act_window,name:base_gengo.action_wizard_base_gengo_translations
|
||||
#: model:ir.ui.menu,name:base_gengo.menu_action_wizard_base_gengo_translations
|
||||
msgid "Gengo: Manual Request of Translation"
|
||||
msgstr ""
|
||||
msgstr "Gengo: Manuelle Erstellung einer Anfrage"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/ir_translation.py:62
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:109
|
||||
#, python-format
|
||||
msgid "Gengo Authentication Error"
|
||||
msgstr ""
|
||||
msgstr "Gengo Authentifizierung Fehler"
|
||||
|
||||
#. module: base_gengo
|
||||
#: model:ir.model,name:base_gengo.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:ir.translation:0
|
||||
|
@ -181,6 +191,9 @@ msgid ""
|
|||
"translation has to be approved to be uploaded in this system. You are "
|
||||
"supposed to do that directly by using your Gengo Account"
|
||||
msgstr ""
|
||||
"Hinweis: Insoweit der Status 'in Bearbeitung' ist, bedeutet dieses, daß "
|
||||
"diese Dienstleistung zuerst für einen Upload genehmigt werden muss. Sie "
|
||||
"können dies mit Ihrem Gengo Konto direkt vornehmen."
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:82
|
||||
|
@ -189,16 +202,18 @@ msgid ""
|
|||
"Gengo connection failed with this message:\n"
|
||||
"``%s``"
|
||||
msgstr ""
|
||||
"Die Verbindung scheitert mit dieser Gengo Nachricht: '\n"
|
||||
"''%s''"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:res.company:0
|
||||
msgid "Gengo Parameters"
|
||||
msgstr ""
|
||||
msgstr "Gengo Parameter"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:base.gengo.translations:0
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
msgstr "Senden"
|
||||
|
||||
#. module: base_gengo
|
||||
#: selection:ir.translation,gengo_translation:0
|
||||
|
@ -213,37 +228,37 @@ msgstr ""
|
|||
#. module: base_gengo
|
||||
#: view:ir.translation:0
|
||||
msgid "Gengo Translation Service"
|
||||
msgstr ""
|
||||
msgstr "Gengo Übersetzungsservice"
|
||||
|
||||
#. module: base_gengo
|
||||
#: selection:ir.translation,gengo_translation:0
|
||||
msgid "Pro"
|
||||
msgstr ""
|
||||
msgstr "Pro"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:base.gengo.translations:0
|
||||
msgid "Gengo Request Form"
|
||||
msgstr ""
|
||||
msgstr "Gengo Formular für Angebote"
|
||||
|
||||
#. module: base_gengo
|
||||
#: code:addons/base_gengo/wizard/base_gengo_translations.py:114
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Warnung"
|
||||
|
||||
#. module: base_gengo
|
||||
#: help:res.company,gengo_comment:0
|
||||
msgid ""
|
||||
"This comment will be automatically be enclosed in each an every request sent "
|
||||
"to Gengo"
|
||||
msgstr ""
|
||||
msgstr "Dieser Kommentar wurde automatisch mitgesendet werden"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:base.gengo.translations:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. module: base_gengo
|
||||
#: view:base.gengo.translations:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "oder"
|
||||
|
|
|
@ -8,13 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 15:45+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-19 21:57+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\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-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_import
|
||||
|
@ -22,14 +23,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:420
|
||||
#, python-format
|
||||
msgid "Get all possible values"
|
||||
msgstr ""
|
||||
msgstr "Alle möglichen Werte holen"
|
||||
|
||||
#. 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 ""
|
||||
msgstr "Müssen Daten aus einer anderen Anwendung importiert werden?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -47,6 +48,13 @@ msgid ""
|
|||
"give \n"
|
||||
" you an example for Products and their Categories."
|
||||
msgstr ""
|
||||
"Wenn Sie externe Schlüssel verwenden, können sie CSV Dateien einlesen\n"
|
||||
" mittels der Spalte \"Externer Schlüssel\", um den externen "
|
||||
"Schlüssel eines jeden Datensatzes festzulegen.\n"
|
||||
" Dann können Sie sich mit Spalten wie \"Feld/Externer "
|
||||
"Schlüssel\" auf diesen Satz auf diesen Satz beziehen.\n"
|
||||
" Die folgenden beiden CSV-Dateien dienen Ihnen hierzu als "
|
||||
"Beispiel für Produkte und deren Kategorien."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -56,13 +64,15 @@ msgid ""
|
|||
"How to export/import different tables from an SQL \n"
|
||||
" application to OpenERP?"
|
||||
msgstr ""
|
||||
"Wie können verschiedene Tabellen mit einer SQL-Anwendung ausgetauscht werden "
|
||||
"(Im-/Export)?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:310
|
||||
#, python-format
|
||||
msgid "Relation Fields"
|
||||
msgstr ""
|
||||
msgstr "Beziehungsfelder"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -72,6 +82,9 @@ msgid ""
|
|||
"Country/Database ID: the unique OpenERP ID for a \n"
|
||||
" record, defined by the ID postgresql column"
|
||||
msgstr ""
|
||||
"Land/Datenbankschlüssel: Der eindeutige OpenERP-Schlüssel eines "
|
||||
"Datensatzes,\n"
|
||||
" wie er ineiner postgresql-Spalte festgelegt wurde"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -95,7 +108,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"For the country \n"
|
||||
" Belgium, you can use one of these 3 ways to import:"
|
||||
msgstr ""
|
||||
msgstr "Für das Land"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -121,13 +134,17 @@ msgid ""
|
|||
"companies) TO \n"
|
||||
" '/tmp/company.csv' with CSV HEADER;"
|
||||
msgstr ""
|
||||
"kopiere\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;"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:206
|
||||
#, python-format
|
||||
msgid "CSV file for Manufacturer, Retailer"
|
||||
msgstr ""
|
||||
msgstr "CSV-Datei für Hersteller, Wiederverkäufer"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -139,6 +156,9 @@ msgid ""
|
|||
"\n"
|
||||
" data from a third party application."
|
||||
msgstr ""
|
||||
"Verwenden Sie\n"
|
||||
" Land/Externer Schlüssel: Externer Schlüssel verwenden, wenn Daten einer "
|
||||
"Drittanwendung importiert werden sollen."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -159,14 +179,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:351
|
||||
#, python-format
|
||||
msgid "Don't Import"
|
||||
msgstr ""
|
||||
msgstr "Nicht importieren"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:24
|
||||
#, python-format
|
||||
msgid "Select the"
|
||||
msgstr ""
|
||||
msgstr "Auswahl von"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -187,7 +207,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:141
|
||||
#, python-format
|
||||
msgid "Country: the name or code of the country"
|
||||
msgstr ""
|
||||
msgstr "Land: Die Bezeichnung oder das Kürzel für das Land"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_o2m_child
|
||||
|
@ -199,21 +219,21 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:239
|
||||
#, python-format
|
||||
msgid "Can I import several times the same record?"
|
||||
msgstr ""
|
||||
msgstr "Kann ich mehrfach den selben Artikel einlesen ?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:15
|
||||
#, python-format
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:55
|
||||
#, python-format
|
||||
msgid "Map your data to OpenERP"
|
||||
msgstr ""
|
||||
msgstr "Zuordnung Ihrer Daten zu OpenERP"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -224,6 +244,10 @@ msgid ""
|
|||
" the easiest way when your data come from CSV files \n"
|
||||
" that have been created manually."
|
||||
msgstr ""
|
||||
"Benutze das Land: Es ist\n"
|
||||
" der einfachste Weg, wenn Ihre Daten aus externen . "
|
||||
"csv Dateien bestehen, die\n"
|
||||
" per Hand eingegeben wurden."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -233,6 +257,8 @@ msgid ""
|
|||
"What's the difference between Database ID and \n"
|
||||
" External ID?"
|
||||
msgstr ""
|
||||
"Was ist der Unterschied zwischen einer 'Database ID' und einer 'External ID' "
|
||||
"?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -244,13 +270,16 @@ msgid ""
|
|||
"\n"
|
||||
" you 3 different fields to import:"
|
||||
msgstr ""
|
||||
"Um sich für einen Import auf das Land \n"
|
||||
" für einen Kontakt zu beziehen, schlägt\n"
|
||||
" OpenERP drei verschiedene Möglichkeiten vor:"
|
||||
|
||||
#. 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 ""
|
||||
msgstr "Was kann getan werden, wenn mehrere identische Treffer passend sind."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -262,7 +291,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,somevalue:0
|
||||
msgid "Some Value"
|
||||
msgstr ""
|
||||
msgstr "Irgendein Wert"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -272,6 +301,9 @@ msgid ""
|
|||
"The following CSV file shows how to import \n"
|
||||
" suppliers and their respective contacts"
|
||||
msgstr ""
|
||||
"Die folgende .csv Datei soll exemplarisch zeigen, wie Sie Lieferanten und "
|
||||
"deren Ansprechpartner\n"
|
||||
"importieren können."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -281,6 +313,9 @@ msgid ""
|
|||
"How can I change the CSV file format options when \n"
|
||||
" saving in my spreadsheet application?"
|
||||
msgstr ""
|
||||
"Wie kann ich mein .csv Datei Format passend auswählen, wenn ich die Daten in "
|
||||
"einer Tabellenkalkulation\n"
|
||||
" bearbeiten möchte und die Änderungen speichern möchte ?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -301,6 +336,14 @@ msgid ""
|
|||
"orignial \n"
|
||||
" database)."
|
||||
msgstr ""
|
||||
"Wie Sie in dieser Datei sehen können, arbeiten Fabien und Laurence\n"
|
||||
"für die Bigees Firma (company_1), während Eric für die Firma Organi tätig\n"
|
||||
"ist. Die Beziehung zwischen Personen und Unternehmen erfolgt über die\n"
|
||||
"Externe ID der Unternehmen. Wir haben als eindeutiges Präfix \n"
|
||||
"vor der \"Externen ID\" den Namen der Tabelle ergänzt, um über diesen Weg \n"
|
||||
"einen Konflikt der ID zwischen Personen und Unternehmen zu vermeiden.\n"
|
||||
"(person_1 und company_1, die sich gemeinsam die ID 1 in der Datenbank "
|
||||
"teilen)."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -321,7 +364,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:148
|
||||
#, python-format
|
||||
msgid "Country: Belgium"
|
||||
msgstr ""
|
||||
msgstr "Land: Belgien"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_stillreadonly
|
||||
|
@ -336,13 +379,15 @@ msgid ""
|
|||
"External ID,Name,Is a \n"
|
||||
" Company,Related Company/External ID"
|
||||
msgstr ""
|
||||
"External ID,Name ... ist \n"
|
||||
" Company,Related Company/External ID"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:233
|
||||
#, python-format
|
||||
msgid "Suppliers and their respective contacts"
|
||||
msgstr ""
|
||||
msgstr "Lieferanten und seine korrespondierenden Ansprechpartner"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -375,6 +420,10 @@ msgid ""
|
|||
"\n"
|
||||
" PSQL:"
|
||||
msgstr ""
|
||||
"Zur Erstellung einer .csv Datei für Ansprechpartner, die eine Verknüpfung zu "
|
||||
"einem Unternehmen haben,\n"
|
||||
" können wir folgendes PSQL Kommando zu dessen "
|
||||
"Erstellung verwenden."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -386,11 +435,14 @@ msgid ""
|
|||
" (in 'Save As' dialog box > click 'Tools' dropdown \n"
|
||||
" list > Encoding tab)."
|
||||
msgstr ""
|
||||
"Excel ermöglicht Ihnen die Daten zu bearbeiten, die Sie vorher abgespeichert "
|
||||
"haben. \n"
|
||||
"(unter 'Speichern Unter' > Extra > Werkzeuge > Daten bearbeiten Aktenreiter)."
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,othervalue:0
|
||||
msgid "Other Variable"
|
||||
msgstr ""
|
||||
msgstr "Andere Variable"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -402,6 +454,8 @@ msgid ""
|
|||
" later, it's thus good practice to specify it\n"
|
||||
" whenever possible"
|
||||
msgstr ""
|
||||
"wird außerdem benötigt, um bestehende Daten zu einem späteren Zeitpunkt zu "
|
||||
"aktualisieren."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -411,6 +465,10 @@ msgid ""
|
|||
"file to import. If you need a sample importable file, you\n"
|
||||
" can use the export tool to generate one."
|
||||
msgstr ""
|
||||
"zu importierende Datei. Sollten Sie eine Beispieldatei benötigen, können "
|
||||
"Sie\n"
|
||||
"eine Tabellenkalkulation dazu benutzen, einfach eine .csv Datei zu "
|
||||
"erstellen."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -429,14 +487,14 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: help:base_import.import,file:0
|
||||
msgid "File to check and/or import, raw binary (not base64)"
|
||||
msgstr ""
|
||||
msgstr "Zu prüfende Datei und/oder Import, raw binary (not base64))"
|
||||
|
||||
#. 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 ""
|
||||
msgstr "Bestellungen mit seinen einzelnen Positionen"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -448,13 +506,19 @@ msgid ""
|
|||
" field corresponding to the column. This makes imports\n"
|
||||
" simpler especially when the file has many columns."
|
||||
msgstr ""
|
||||
"Für eine Datei\n"
|
||||
" mit existierenden Spaltenbeschriftungen, kann OpenERP "
|
||||
"eine automatische\n"
|
||||
" Datenerkennung über die Spalten vonehmen. Dadurch wird "
|
||||
"ein Dateinmport mit zahlreichen\n"
|
||||
" Spalten vereinfacht."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:26
|
||||
#, python-format
|
||||
msgid ".CSV"
|
||||
msgstr ""
|
||||
msgstr ".csv"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -464,6 +528,8 @@ msgid ""
|
|||
". The issue is\n"
|
||||
" usually an incorrect file encoding."
|
||||
msgstr ""
|
||||
"Das Problem sollte\n"
|
||||
" im Normallfall ein korrektes Dateiformat abgespeichert werden."
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required
|
||||
|
@ -478,6 +544,9 @@ msgid ""
|
|||
"How can I import a one2many relationship (e.g. several \n"
|
||||
" Order Lines of a Sale Order)?"
|
||||
msgstr ""
|
||||
"Wie kann ich eine one2many Beziehung importieren (z.B. verschiedene "
|
||||
"Auftragspositionen\n"
|
||||
" zu einem Auftrag) ?"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly
|
||||
|
@ -505,7 +574,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:30
|
||||
#, python-format
|
||||
msgid "CSV File:"
|
||||
msgstr ""
|
||||
msgstr ".csv Datei:"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_preview
|
||||
|
@ -528,19 +597,19 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:313
|
||||
#, python-format
|
||||
msgid "It will produce the following CSV file:"
|
||||
msgstr ""
|
||||
msgstr "hierdurch wird folgende .csv Datei erzeugt:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:362
|
||||
#, python-format
|
||||
msgid "Here is the start of the file we could not import:"
|
||||
msgstr ""
|
||||
msgstr "Hier ist der Beginn der Zeile, die nicht gelesen werden konnte."
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.import,file_type:0
|
||||
msgid "File Type"
|
||||
msgstr ""
|
||||
msgstr "Datei Format"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_import
|
||||
|
@ -557,7 +626,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:360
|
||||
#, python-format
|
||||
msgid "Import preview failed due to:"
|
||||
msgstr ""
|
||||
msgstr "Importiere Voransicht mit Fehler"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -569,13 +638,16 @@ msgid ""
|
|||
"\n"
|
||||
" that imported it)"
|
||||
msgstr ""
|
||||
"Country/External ID: Die ID für diesen Ansatz wird in einer anderen "
|
||||
"Anwendung referenziert sein (oder zu .xml die\n"
|
||||
"importiert wurde)."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:35
|
||||
#, python-format
|
||||
msgid "Reload data to check changes."
|
||||
msgstr ""
|
||||
msgstr "Erneut Ansicht laden, um Änderungen anzuwenden."
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly
|
||||
|
@ -615,7 +687,7 @@ msgstr ""
|
|||
#: code:addons/base_import/models.py:264
|
||||
#, python-format
|
||||
msgid "You must configure at least one field to import"
|
||||
msgstr ""
|
||||
msgstr "Sie müssen mindestens ein Feld für einen Import konfigurieren."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -631,7 +703,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"The first row of the\n"
|
||||
" file contains the label of the column"
|
||||
msgstr ""
|
||||
msgstr "Die erste Zeile, der Datei beinhaltet immer eine Zeile."
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_states
|
||||
|
@ -643,14 +715,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:7
|
||||
#, python-format
|
||||
msgid "Import a CSV File"
|
||||
msgstr ""
|
||||
msgstr "Importiere .csv Datei"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:74
|
||||
#, python-format
|
||||
msgid "Quoting:"
|
||||
msgstr ""
|
||||
msgstr "Angebot:"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related
|
||||
|
@ -670,21 +742,21 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:396
|
||||
#, python-format
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
msgstr "Importieren"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:407
|
||||
#, python-format
|
||||
msgid "Here are the possible values:"
|
||||
msgstr ""
|
||||
msgstr "Hier sind die möglichen Werte"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:82
|
||||
#, python-format
|
||||
msgid "The"
|
||||
msgstr ""
|
||||
msgstr "Der"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -700,14 +772,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:293
|
||||
#, python-format
|
||||
msgid "dump of such a PostgreSQL database"
|
||||
msgstr ""
|
||||
msgstr "dump einer Postgres-Datenbank"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:301
|
||||
#, python-format
|
||||
msgid "This SQL command will create the following CSV file:"
|
||||
msgstr ""
|
||||
msgstr "Ein SQL Kommando, könnte folgendes .csv erstellen."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -717,6 +789,9 @@ msgid ""
|
|||
"The following CSV file shows how to import purchase \n"
|
||||
" orders with their respective purchase order lines:"
|
||||
msgstr ""
|
||||
"Die folgende .csv Datei zeigt exemplarisch, wie eine Bestellung im Einkauf "
|
||||
"mit seinen Einzelposition\n"
|
||||
"importiert wird."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -726,6 +801,8 @@ msgid ""
|
|||
"What can I do when the Import preview table isn't \n"
|
||||
" displayed correctly?"
|
||||
msgstr ""
|
||||
"Was sollte ich tun, wenn die Voransicht beim Import nicht wie gewünscht "
|
||||
"angezeigt wird."
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.tests.models.char,value:0
|
||||
|
@ -742,7 +819,7 @@ msgstr ""
|
|||
#: field:base_import.tests.models.o2m.child,parent_id:0
|
||||
#: field:base_import.tests.models.o2m.child,value:0
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
msgstr "unbekannt"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -784,14 +861,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:227
|
||||
#, python-format
|
||||
msgid "File for some Quotations"
|
||||
msgstr ""
|
||||
msgstr "Datei für einige Angebote"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:72
|
||||
#, python-format
|
||||
msgid "Encoding:"
|
||||
msgstr ""
|
||||
msgstr "Eingabe"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -821,13 +898,15 @@ msgid ""
|
|||
" \"External ID\". In PSQL, write the following "
|
||||
"command:"
|
||||
msgstr ""
|
||||
"Zuerst exportieren wir alle Unternehmen mit seiner \"Externen ID\".\n"
|
||||
"In PSQL erfolgt das durch das aktive Kommando:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:373
|
||||
#, python-format
|
||||
msgid "Everything seems valid."
|
||||
msgstr ""
|
||||
msgstr "Alles scheint o.k. zu sein."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -840,13 +919,18 @@ msgid ""
|
|||
" use make use of the external ID for this field \n"
|
||||
" 'Category'."
|
||||
msgstr ""
|
||||
"Inwsoweit Sie keine Änderung bei der\n"
|
||||
" Konfiguration der Produkt Kategorien "
|
||||
"wünschen,empfehlen wir\n"
|
||||
" Ihnen die Externe ID für das Feld 'Kategorie' "
|
||||
"einzusetzen."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:390
|
||||
#, python-format
|
||||
msgid "at row %d"
|
||||
msgstr ""
|
||||
msgstr "in Zeile %d"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -856,6 +940,8 @@ msgid ""
|
|||
"How can I import a many2many relationship field \n"
|
||||
" (e.g. a customer that has multiple tags)?"
|
||||
msgstr ""
|
||||
"Wie kann eine many2many Relation importiert werden ?\n"
|
||||
" (z.B. ein Kunde mit mehreren Kennzeichen)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -918,7 +1004,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:20
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -928,13 +1014,14 @@ msgid ""
|
|||
"What happens if I do not provide a value for a \n"
|
||||
" specific field?"
|
||||
msgstr ""
|
||||
"Was passiert wenn Sie in bestimmten Feldern keinen Eintrag vornehmen ?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:68
|
||||
#, python-format
|
||||
msgid "Frequently Asked Questions"
|
||||
msgstr ""
|
||||
msgstr "Häufig gestellte Fragen"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -991,7 +1078,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:169
|
||||
#, python-format
|
||||
msgid "CSV file for categories"
|
||||
msgstr ""
|
||||
msgstr ".csv Dateien für Kategorien"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1016,7 +1103,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:170
|
||||
#, python-format
|
||||
msgid "CSV file for Products"
|
||||
msgstr ""
|
||||
msgstr ".csv Datei für Produkte"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1107,12 +1194,12 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:73
|
||||
#, python-format
|
||||
msgid "Separator:"
|
||||
msgstr ""
|
||||
msgstr "Trennzeichen"
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.import,file_name:0
|
||||
msgid "File Name"
|
||||
msgstr ""
|
||||
msgstr "Dateiname"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1129,21 +1216,21 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:39
|
||||
#, python-format
|
||||
msgid "File Format Options…"
|
||||
msgstr ""
|
||||
msgstr "Datei Format Optionen"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:392
|
||||
#, python-format
|
||||
msgid "between rows %d and %d"
|
||||
msgstr ""
|
||||
msgstr "zwischen Zeilen %d und %d"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:19
|
||||
#, python-format
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "oder"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1161,4 +1248,4 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.import,file:0
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Datei"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_import
|
||||
|
|
|
@ -8,28 +8,28 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-12-12 18:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:54+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\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-13 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:420
|
||||
#, python-format
|
||||
msgid "Get all possible values"
|
||||
msgstr ""
|
||||
msgstr "Pobierz wszystkie możliwe wartości"
|
||||
|
||||
#. 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 ""
|
||||
msgstr "Chcesz importować dane z innej aplikacji?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -62,7 +62,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:310
|
||||
#, python-format
|
||||
msgid "Relation Fields"
|
||||
msgstr ""
|
||||
msgstr "Pola relacyjne"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -166,7 +166,7 @@ msgstr "Nie importuj"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:24
|
||||
#, python-format
|
||||
msgid "Select the"
|
||||
msgstr ""
|
||||
msgstr "Wybierz"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -199,21 +199,21 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:239
|
||||
#, python-format
|
||||
msgid "Can I import several times the same record?"
|
||||
msgstr ""
|
||||
msgstr "Mogę importować kilka razy ten sam rekord?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:15
|
||||
#, python-format
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
msgstr "Zatwierdź"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:55
|
||||
#, python-format
|
||||
msgid "Map your data to OpenERP"
|
||||
msgstr ""
|
||||
msgstr "Mapuj swoje dane do OpenERP"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -250,7 +250,7 @@ msgstr ""
|
|||
#: 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 ""
|
||||
msgstr "Co mogę zrobić w przypadku wielokrotnych zgodności dla pola?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -262,7 +262,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,somevalue:0
|
||||
msgid "Some Value"
|
||||
msgstr ""
|
||||
msgstr "Jakaś wartość"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -390,7 +390,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,othervalue:0
|
||||
msgid "Other Variable"
|
||||
msgstr ""
|
||||
msgstr "Inna zmienna"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -505,7 +505,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:30
|
||||
#, python-format
|
||||
msgid "CSV File:"
|
||||
msgstr ""
|
||||
msgstr "Plik CSV:"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_preview
|
||||
|
@ -521,7 +521,7 @@ msgstr ""
|
|||
#: code:addons/base_import/models.py:112
|
||||
#, python-format
|
||||
msgid "Database ID"
|
||||
msgstr ""
|
||||
msgstr "ID bazy danych"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -540,7 +540,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.import,file_type:0
|
||||
msgid "File Type"
|
||||
msgstr ""
|
||||
msgstr "Typ pliku"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_import
|
||||
|
@ -557,7 +557,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:360
|
||||
#, python-format
|
||||
msgid "Import preview failed due to:"
|
||||
msgstr ""
|
||||
msgstr "Podgląd niemożliwy ponieważ:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -575,7 +575,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:35
|
||||
#, python-format
|
||||
msgid "Reload data to check changes."
|
||||
msgstr ""
|
||||
msgstr "Przełąduj dane, aby sprawdzić zmiany."
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly
|
||||
|
@ -615,7 +615,7 @@ msgstr ""
|
|||
#: code:addons/base_import/models.py:264
|
||||
#, python-format
|
||||
msgid "You must configure at least one field to import"
|
||||
msgstr ""
|
||||
msgstr "Musisz skonfigurować co najmniej jedno pole do importu"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -670,7 +670,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:396
|
||||
#, python-format
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
msgstr "Importuj"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -742,7 +742,7 @@ msgstr ""
|
|||
#: field:base_import.tests.models.o2m.child,parent_id:0
|
||||
#: field:base_import.tests.models.o2m.child,value:0
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
msgstr "nieznane"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -777,7 +777,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:396
|
||||
#, python-format
|
||||
msgid "(%d more)"
|
||||
msgstr ""
|
||||
msgstr "(%d więcej)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -791,7 +791,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:72
|
||||
#, python-format
|
||||
msgid "Encoding:"
|
||||
msgstr ""
|
||||
msgstr "Kodowanie:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -827,7 +827,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:373
|
||||
#, python-format
|
||||
msgid "Everything seems valid."
|
||||
msgstr ""
|
||||
msgstr "Wszystko wygląda poprawnie."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -846,7 +846,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:390
|
||||
#, python-format
|
||||
msgid "at row %d"
|
||||
msgstr ""
|
||||
msgstr "w wierszu %d"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -918,7 +918,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:20
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Anuluj"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -934,7 +934,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:68
|
||||
#, python-format
|
||||
msgid "Frequently Asked Questions"
|
||||
msgstr ""
|
||||
msgstr "Najczęściej zadawane pytania"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1045,7 +1045,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1064,7 +1064,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.import,res_model:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
msgstr "Model"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1072,7 +1072,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:82
|
||||
#, python-format
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1107,12 +1107,12 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:73
|
||||
#, python-format
|
||||
msgid "Separator:"
|
||||
msgstr ""
|
||||
msgstr "Separator:"
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.import,file_name:0
|
||||
msgid "File Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa pliku"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1122,7 +1122,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:82
|
||||
#, python-format
|
||||
msgid "External ID"
|
||||
msgstr ""
|
||||
msgstr "Identyfikator zewnętrzny"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1136,14 +1136,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:392
|
||||
#, python-format
|
||||
msgid "between rows %d and %d"
|
||||
msgstr ""
|
||||
msgstr "pomiędzy wierszami %d a %d"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:19
|
||||
#, python-format
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "lub"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1161,4 +1161,4 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.import,file:0
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Plik"
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-12-14 14:17+0000\n"
|
||||
"Last-Translator: nmglyy <nmglyy@163.com>\n"
|
||||
"PO-Revision-Date: 2012-12-20 03:03+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\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-15 05:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -47,6 +47,12 @@ msgid ""
|
|||
"give \n"
|
||||
" you an example for Products and their Categories."
|
||||
msgstr ""
|
||||
"当你使用External IDs,导入CSV文件\n"
|
||||
"你导入的每一条记录得External\n"
|
||||
"ID 用 \"External ID\" 列来定义 . 然后, \n"
|
||||
"你将用一个列为\"Field/External ID\" 的\n"
|
||||
"数据记录做参考. 下面的两个 CSV 文件\n"
|
||||
"给你一个产品和产品类别的例子。"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -87,6 +93,11 @@ msgid ""
|
|||
"\n"
|
||||
" have a unique Database ID)"
|
||||
msgstr ""
|
||||
"使用\n"
|
||||
"Country/Database ID: 你将很少用这中\n"
|
||||
"标记法. 这种标记法对开发者用来不产生\n"
|
||||
"冲突有好处 (可能有些记录有相同的名\n"
|
||||
"但它们有不同的Database ID)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -121,6 +132,10 @@ msgid ""
|
|||
"companies) TO \n"
|
||||
" '/tmp/company.csv' with CSV HEADER;"
|
||||
msgstr ""
|
||||
"复制\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"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -181,6 +196,11 @@ msgid ""
|
|||
"\n"
|
||||
" See the following question."
|
||||
msgstr ""
|
||||
"注意 如果你的CSV文件\n"
|
||||
"一个制表符作为分隔符,OpenERP的将不\n"
|
||||
"检测隔开。您需要通过你的电子表格应用\n"
|
||||
"程序的文件格式选项来修改。\n"
|
||||
"请参阅下面的问题"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -224,6 +244,9 @@ msgid ""
|
|||
" the easiest way when your data come from CSV files \n"
|
||||
" that have been created manually."
|
||||
msgstr ""
|
||||
"使用国家: \n"
|
||||
"当你数据从CSV文件手动创建,这是\n"
|
||||
"最简单的方法."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -232,7 +255,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"What's the difference between Database ID and \n"
|
||||
" External ID?"
|
||||
msgstr ""
|
||||
msgstr "数据库ID和外部ID之间的区别是什么?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -244,13 +267,16 @@ msgid ""
|
|||
"\n"
|
||||
" you 3 different fields to import:"
|
||||
msgstr ""
|
||||
"例如,要\n"
|
||||
"引用国家的关系,OpenERP给\n"
|
||||
"你3个不同字段的导入"
|
||||
|
||||
#. 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 ""
|
||||
msgstr "如果我有多对一的字段怎么做?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -262,7 +288,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,somevalue:0
|
||||
msgid "Some Value"
|
||||
msgstr ""
|
||||
msgstr "一些值"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -342,7 +368,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:233
|
||||
#, python-format
|
||||
msgid "Suppliers and their respective contacts"
|
||||
msgstr ""
|
||||
msgstr "供应商和他们各自的联系人"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -390,7 +416,7 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,othervalue:0
|
||||
msgid "Other Variable"
|
||||
msgstr ""
|
||||
msgstr "其它变量"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
|
|
@ -7,13 +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-12-18 07:09+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 19:54+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_report_designer
|
||||
|
@ -24,7 +25,7 @@ msgstr "base.report.sxw"
|
|||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
msgid "OpenERP Report Designer Configuration"
|
||||
msgstr "Konfiguration Report Designer"
|
||||
msgstr "Konfiguration Designer"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
|
@ -38,7 +39,7 @@ msgstr ""
|
|||
#. module: base_report_designer
|
||||
#: view:base.report.sxw:0
|
||||
msgid "Upload the modified report"
|
||||
msgstr "Upload Reportmodifikation"
|
||||
msgstr "Upload Report Modifikation"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
|
@ -69,7 +70,7 @@ msgstr "Titel"
|
|||
#: field:base.report.file.sxw,report_id:0
|
||||
#: field:base.report.sxw,report_id:0
|
||||
msgid "Report"
|
||||
msgstr "Bericht"
|
||||
msgstr "Report"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.rml.save:0
|
||||
|
@ -84,13 +85,13 @@ msgstr "Berichte Report Designer"
|
|||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,name:0
|
||||
msgid "File name"
|
||||
msgstr "Datei Name"
|
||||
msgstr "Dateiname"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
#: view:base.report.sxw:0
|
||||
msgid "Get a report"
|
||||
msgstr "Generiere Report"
|
||||
msgstr "Generiere einen Bericht"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
|
@ -114,13 +115,13 @@ msgid ""
|
|||
"OpenObject Report Designer plug-in file. Save as this file and install this "
|
||||
"plug-in in OpenOffice."
|
||||
msgstr ""
|
||||
"OpenObject Report Designer Plug In Datei. Speichern Sie die Datei und "
|
||||
"installieren Sie dann als OpenOffice Plug In."
|
||||
"Report Designer Erweiterung. Speichern Sie die Datei und installieren Sie "
|
||||
"diese bitte in OpenOffice."
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.rml.save:0
|
||||
msgid "Save RML FIle"
|
||||
msgstr "Speichern .RML Datei"
|
||||
msgstr "Speichern .rml Datei"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base.report.file.sxw,file_sxw:0
|
||||
|
@ -131,7 +132,7 @@ msgstr "Ihre .SXW Datei"
|
|||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
msgid "Installation and Configuration Steps"
|
||||
msgstr "Installation und Konfiguration Abfolge"
|
||||
msgstr "Abfolge Installation und Konfiguration"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,description:0
|
||||
|
@ -146,7 +147,7 @@ msgid ""
|
|||
"Don't forget to install the OpenERP SA OpenOffice package to modify it.\n"
|
||||
"Once it is modified, re-upload it in OpenERP using this wizard."
|
||||
msgstr ""
|
||||
"Dieses ist die Vorlage des von Ihnen angefragten Reports.\n"
|
||||
"Dies ist die Vorlage des von Ihnen angefragten Reports.\n"
|
||||
"Speichern Sie die .SXW Datei und öffnen Sie diese mit OpenOffice.\n"
|
||||
"Vergessen Sie nicht die Installation von OpenERP SA OpenOffice Paket um die "
|
||||
"Vorlage zu modifizieren.\n"
|
||||
|
@ -156,7 +157,7 @@ msgstr ""
|
|||
#. module: base_report_designer
|
||||
#: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw
|
||||
msgid "Base Report sxw"
|
||||
msgstr "Basis Report sxw"
|
||||
msgstr "Base Report sxw"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: model:ir.model,name:base_report_designer.model_base_report_file_sxw
|
||||
|
@ -176,7 +177,7 @@ msgstr "OpenERP Report Designer Installation"
|
|||
#. module: base_report_designer
|
||||
#: view:base.report.sxw:0
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.sxw:0
|
||||
|
|
|
@ -7,14 +7,15 @@ 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-12-16 12:02+0000\n"
|
||||
"Last-Translator: Felix Schubert <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 22:09+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-17 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
|
@ -40,9 +41,7 @@ msgstr "base.config.settings"
|
|||
#: field:base.config.settings,module_auth_oauth:0
|
||||
msgid ""
|
||||
"Use external authentication providers, sign in with google, facebook, ..."
|
||||
msgstr ""
|
||||
"Benutzen Sie eine externe Authentifizierung, z.B. von Anbietern wie Google, "
|
||||
"Facebook, ..."
|
||||
msgstr "Externe Benutzer Authentifizierung, z.B. mit google Konto"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
|
@ -56,16 +55,16 @@ msgid ""
|
|||
"OpenERP using specific\n"
|
||||
" plugins for your preferred email application."
|
||||
msgstr ""
|
||||
"OpenERP ermöglicht die automatische Erstellung von Leads (und anderen "
|
||||
"Belegen)\n"
|
||||
" aus eingehenden E-Mails. Sie können "
|
||||
"Ihren E-Mail Posteingang regelmässig synchronisieren, indem\n"
|
||||
"OpenERP ermöglicht die automatische Erstellung von Interessenten (und "
|
||||
"anderen Belegen)\n"
|
||||
" aus eingehenden EMails. Sie können Ihren "
|
||||
"EMail Posteingang regelmässig synchronisieren, indem\n"
|
||||
" Sie hierzu Ihre POP/IMAP Konten anbinden "
|
||||
"und dann ein Script zur E-Mail Integration \n"
|
||||
" aktivieren oder indem Sie selektiv mit "
|
||||
"Hilfe eines Plugins für Ihre E-Mail Anwendung\n"
|
||||
" bestimmte E-Mails nach OpenERP "
|
||||
"transferieren."
|
||||
"und dann ein Script zur direkten EMail Integration \n"
|
||||
" regelmässig anwenden, oder indem Sie "
|
||||
"selektiv mit Hilfe eines Plugins für Ihre persönliche Arbeitsplatz \n"
|
||||
" Mailanwendung bestimmte EMails nach "
|
||||
"OpenERP transferieren."
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
|
@ -92,7 +91,7 @@ msgstr "Angebote und Aufträge"
|
|||
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
|
||||
#: model:ir.ui.menu,name:base_setup.menu_general_configuration
|
||||
msgid "General Settings"
|
||||
msgstr "Grundeinstellungen"
|
||||
msgstr "Allgemeine Einstellungen"
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
|
@ -102,7 +101,7 @@ msgstr "Spender"
|
|||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
msgid "Email"
|
||||
msgstr "E-Mail:"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_crm:0
|
||||
|
@ -137,7 +136,7 @@ msgstr "Anbindung E-Mail Anwendung"
|
|||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_web_linkedin:0
|
||||
msgid "Get contacts automatically from linkedIn"
|
||||
msgstr "Kontakte von Linkdin importieren"
|
||||
msgstr "Kontakte aus linkedin importieren"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_plugin_thunderbird:0
|
||||
|
@ -152,7 +151,7 @@ msgstr "res_config_contents"
|
|||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Customer Features"
|
||||
msgstr "Kunden Features"
|
||||
msgstr "Kunden Anwendungen"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
|
@ -162,7 +161,7 @@ msgstr "Import / Export"
|
|||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Sale Features"
|
||||
msgstr "Verkauf Features"
|
||||
msgstr "Verkauf Anwendungen"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_plugin_outlook:0
|
||||
|
@ -175,8 +174,6 @@ msgid ""
|
|||
"You can use this wizard to change the terminologies for customers in the "
|
||||
"whole application."
|
||||
msgstr ""
|
||||
"Mit diesem Assistenten können Sie die verwendete Terminologie des gesamten "
|
||||
"Systems im Sinne der Kunden verändern."
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
|
@ -186,7 +183,7 @@ msgstr "Mieter"
|
|||
#. module: base_setup
|
||||
#: help:base.config.settings,module_share:0
|
||||
msgid "Share or embbed any screen of openerp."
|
||||
msgstr "Teilen oder einbetten von OpenERP Ansichten"
|
||||
msgstr "Teilen oder einbetten von Bildschirmansichten"
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
|
@ -311,7 +308,7 @@ msgstr ""
|
|||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
msgid "Options"
|
||||
msgstr "Optionen"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:base.config.settings,module_portal:0
|
||||
|
|
|
@ -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-12-07 10:32+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:45+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-12-08 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
|
@ -90,7 +90,7 @@ msgstr "Donateur"
|
|||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
msgstr "Courriel"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_crm:0
|
||||
|
|
|
@ -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-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-02-27 10:27+0000\n"
|
||||
"Last-Translator: GaCriv <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:48+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-12-04 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: base_vat
|
||||
#: view:res.partner:0
|
||||
msgid "Check Validity"
|
||||
msgstr ""
|
||||
msgstr "Vérifier la validité"
|
||||
|
||||
#. module: base_vat
|
||||
#: code:addons/base_vat/base_vat.py:147
|
||||
|
@ -45,7 +45,7 @@ msgstr "Sociétés"
|
|||
#: code:addons/base_vat/base_vat.py:111
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Erreur!"
|
||||
|
||||
#. module: base_vat
|
||||
#: help:res.partner,vat_subjected:0
|
||||
|
|
|
@ -7,20 +7,21 @@ 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-12-16 12:23+0000\n"
|
||||
"Last-Translator: Felix Schubert <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 22:20+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-17 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\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 "Erzeuge Tafel"
|
||||
|
||||
#. module: board
|
||||
#: view:board.create:0
|
||||
|
@ -37,14 +38,14 @@ msgstr "Layout zurücksetzen"
|
|||
#. module: board
|
||||
#: view:board.create:0
|
||||
msgid "Create New Dashboard"
|
||||
msgstr "Neues Dashboard anlegen"
|
||||
msgstr "Neue Anzeigetafel anlegen"
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
#: code:addons/board/static/src/xml/board.xml:40
|
||||
#, python-format
|
||||
msgid "Choose dashboard layout"
|
||||
msgstr "Wählen Sie das Dashboard Layout"
|
||||
msgstr "Wählen Sie das Anzeigetafel Layout"
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
|
@ -63,31 +64,31 @@ msgstr "Wollen Sie dieses Element wirklich löschen?"
|
|||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_board
|
||||
msgid "Board"
|
||||
msgstr "Pinnwand"
|
||||
msgstr "Anzeigetafel"
|
||||
|
||||
#. 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 "Mein Dashboard"
|
||||
msgstr "Eigene Anzeigetafel"
|
||||
|
||||
#. module: board
|
||||
#: field:board.create,name:0
|
||||
msgid "Board Name"
|
||||
msgstr ""
|
||||
msgstr "Name der Tafel"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_create
|
||||
msgid "Board Creation"
|
||||
msgstr ""
|
||||
msgstr "Tafel Erzeugen"
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
#: code:addons/board/static/src/xml/board.xml:67
|
||||
#, python-format
|
||||
msgid "Add to Dashboard"
|
||||
msgstr "Zu Dashboard hinzufügen"
|
||||
msgstr "Zur Anzeigetafel hinzufügen"
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
|
@ -114,6 +115,21 @@ msgid ""
|
|||
" </div>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<div class=\"oe_empty_custom_dashboard\">\n"
|
||||
" <p>\n"
|
||||
" <b>Ihre eigene Anzeigetafel ist noch frei,</b>\n"
|
||||
" </p><p>\n"
|
||||
" Um Ihren ersten Bericht auf Ihrer Anzeigetafel zu "
|
||||
"ergänzen \n"
|
||||
" klicken Sie <i>'Tafel erstellen'</i> in den erweiterten "
|
||||
"Suchoptionen.\n"
|
||||
" </p><p>\n"
|
||||
" Sie können dann die Daten noch filtern und gruppieren, "
|
||||
"bevor Sie\n"
|
||||
" die Auswertung zur Tafel hinzufügen.\n"
|
||||
" </p>\n"
|
||||
" </div>\n"
|
||||
" "
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
|
@ -132,7 +148,7 @@ msgstr "Übergeordnetes Menü"
|
|||
#: code:addons/board/static/src/xml/board.xml:8
|
||||
#, python-format
|
||||
msgid "Change Layout.."
|
||||
msgstr "Layout ändern"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#. openerp-web
|
||||
|
@ -163,7 +179,7 @@ msgstr "oder"
|
|||
#: code:addons/board/static/src/xml/board.xml:69
|
||||
#, python-format
|
||||
msgid "Title of new dashboard item"
|
||||
msgstr "Titel des neuen Dashboard Elements"
|
||||
msgstr "Titel der neuen Anzeigetafel"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
|
|
|
@ -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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: claim_from_delivery
|
||||
|
|
|
@ -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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: contacts
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-05 16:32+0000\n"
|
||||
"Last-Translator: jerryzhang <jerry.zhangzhe@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 07:22+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.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-12-06 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -62,7 +62,7 @@ msgstr ""
|
|||
#: model:res.groups,name:crm.group_fund_raising
|
||||
#: field:sale.config.settings,group_fund_raising:0
|
||||
msgid "Manage Fund Raising"
|
||||
msgstr ""
|
||||
msgstr "管理集资"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead2opportunity.partner.mass:0
|
||||
|
@ -79,7 +79,7 @@ msgstr "延迟关闭"
|
|||
#: code:addons/crm/crm_lead.py:888
|
||||
#, python-format
|
||||
msgid "Lead has been <b>converted to an opportunity</b>."
|
||||
msgstr ""
|
||||
msgstr "销售线索<b>已转换为商机</b>。"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -97,7 +97,7 @@ msgstr "CRM 线索分析"
|
|||
#. module: crm
|
||||
#: model:ir.actions.server,subject:crm.action_email_reminder_customer_lead
|
||||
msgid "Reminder on Lead: [[object.id ]]"
|
||||
msgstr ""
|
||||
msgstr "线索提醒:[[object.id ]]"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -120,7 +120,7 @@ msgstr "培训"
|
|||
#: model:ir.actions.act_window,name:crm.crm_lead_categ_action
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_lead_categ
|
||||
msgid "Sales Tags"
|
||||
msgstr ""
|
||||
msgstr "销售标签"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -216,7 +216,7 @@ msgstr "退订"
|
|||
#. module: crm
|
||||
#: field:crm.case.stage,fold:0
|
||||
msgid "Hide in Views when Empty"
|
||||
msgstr ""
|
||||
msgstr "当空的时候在视图中隐藏"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.server,name:crm.action_email_reminder_lead
|
||||
|
@ -369,6 +369,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 单击以便创建一个关联到此客户的商机。\n"
|
||||
" </p><p>\n"
|
||||
" 使用商机来跟踪你的销售漏斗,把握潜在销售机会并且更好地预测未来产值。\n"
|
||||
" </p><p>\n"
|
||||
" 您可以从商机中安排会面和电话沟通,并把商机转换为报价单、附加到相关文档、跟踪所有讨论和更多功能。\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead7
|
||||
|
@ -433,7 +441,7 @@ msgstr ""
|
|||
#: field:crm.lead2opportunity.partner,name:0
|
||||
#: field:crm.lead2opportunity.partner.mass,name:0
|
||||
msgid "Conversion Action"
|
||||
msgstr ""
|
||||
msgstr "转换操作"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.crm_case_section_act
|
||||
|
@ -693,7 +701,7 @@ msgstr "统计控制台"
|
|||
#: code:addons/crm/crm_lead.py:853
|
||||
#, python-format
|
||||
msgid "Stage changed to <b>%s</b>."
|
||||
msgstr ""
|
||||
msgstr "阶段已改为 <b>%s</b>"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_lead.py:755
|
||||
|
@ -713,7 +721,7 @@ msgstr "商机"
|
|||
#: code:addons/crm/crm_meeting.py:62
|
||||
#, python-format
|
||||
msgid "A meeting has been <b>scheduled</b> on <em>%s</em>."
|
||||
msgstr ""
|
||||
msgstr "已为 <em>%s</em> 安排了一次会议。"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead7
|
||||
|
@ -895,7 +903,7 @@ msgstr "失去标记"
|
|||
#. module: crm
|
||||
#: model:ir.filters,name:crm.filter_draft_lead
|
||||
msgid "Draft Leads"
|
||||
msgstr ""
|
||||
msgstr "线索草稿"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead.report,creation_month:0
|
||||
|
@ -907,7 +915,7 @@ msgstr "3月"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Send Email"
|
||||
msgstr ""
|
||||
msgstr "发送电子邮件"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/crm_lead_to_opportunity.py:100
|
||||
|
@ -935,7 +943,7 @@ msgstr "手机"
|
|||
#: code:addons/crm/crm_phonecall.py:270
|
||||
#, python-format
|
||||
msgid "Phonecall has been <b>reset and set as open</b>."
|
||||
msgstr ""
|
||||
msgstr "电话沟通已经被重置并设置为打开状态。"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,ref:0
|
||||
|
@ -1062,7 +1070,7 @@ msgstr "创建日期"
|
|||
#: code:addons/crm/crm_lead.py:862
|
||||
#, python-format
|
||||
msgid "%s has been <b>created</b>."
|
||||
msgstr ""
|
||||
msgstr "%s<b>已创建</b>。"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.segmentation.line,expr_name:0
|
||||
|
@ -1086,7 +1094,7 @@ msgstr "阶段"
|
|||
#. module: crm
|
||||
#: view:crm.phonecall.report:0
|
||||
msgid "Phone Calls that are assigned to me"
|
||||
msgstr ""
|
||||
msgstr "指派给我的电话沟通"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,user_login:0
|
||||
|
@ -1113,12 +1121,12 @@ msgstr "阶段"
|
|||
msgid ""
|
||||
"Allows you to communicate with Customer, process Customer query, and "
|
||||
"provide better help and support. This installs the module crm_helpdesk."
|
||||
msgstr ""
|
||||
msgstr "安装 crm_helpdesk 模块能够允许你与客户沟通,处理客户查询,并且提供更好的帮助与支持。"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "删除"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,planned_revenue:0
|
||||
|
@ -1136,7 +1144,7 @@ msgstr ""
|
|||
#: code:addons/crm/crm_lead.py:867
|
||||
#, python-format
|
||||
msgid "Opportunity has been <b>lost</b>."
|
||||
msgstr ""
|
||||
msgstr "商机<b>已丢失</b>。"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead.report,creation_month:0
|
||||
|
@ -1148,7 +1156,7 @@ msgstr "9月"
|
|||
#. module: crm
|
||||
#: help:crm.lead,email_from:0
|
||||
msgid "Email address of the contact"
|
||||
msgstr ""
|
||||
msgstr "联系人邮箱地址"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.segmentation,partner_id:0
|
||||
|
@ -1165,12 +1173,12 @@ msgstr "设置为这个阶段,会自动改变商机的成功可能性"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "oe_kanban_text_red"
|
||||
msgstr ""
|
||||
msgstr "oe_kanban_text_red"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act
|
||||
msgid "Payment Modes"
|
||||
msgstr ""
|
||||
msgstr "付款方式"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead.report,opening_date:0
|
||||
|
@ -1181,7 +1189,7 @@ msgstr "开启日期"
|
|||
#. module: crm
|
||||
#: field:crm.lead,company_currency:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
msgstr "币种"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.channel,name:0
|
||||
|
@ -1280,12 +1288,12 @@ msgstr "日期"
|
|||
#: field:crm.lead,message_is_follower:0
|
||||
#: field:crm.phonecall,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "是一个关注者"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.crm_case_section_4
|
||||
msgid "Online Support"
|
||||
msgstr ""
|
||||
msgstr "在线支持"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -1336,7 +1344,7 @@ msgstr "细分说明"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Description"
|
||||
msgstr ""
|
||||
msgstr "销售线索描述"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_lead.py:491
|
||||
|
@ -1347,7 +1355,7 @@ msgstr "合并商机"
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor7
|
||||
msgid "Consulting"
|
||||
msgstr ""
|
||||
msgstr "咨询"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,code:0
|
||||
|
@ -1357,7 +1365,7 @@ msgstr "编码"
|
|||
#. module: crm
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
msgstr "特性"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,child_ids:0
|
||||
|
@ -1372,7 +1380,7 @@ msgstr "待处理通话记录"
|
|||
#. module: crm
|
||||
#: field:crm.lead2opportunity.partner.mass,user_ids:0
|
||||
msgid "Salesmen"
|
||||
msgstr ""
|
||||
msgstr "销售员"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -1397,12 +1405,12 @@ msgstr "取消"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Opportunities Assigned to Me or My Team(s)"
|
||||
msgstr ""
|
||||
msgstr "指派给我或我的团队的商机"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor4
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
msgstr "资料"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -1434,12 +1442,12 @@ msgstr "线索/商机"
|
|||
#: model:ir.actions.act_window,name:crm.action_merge_opportunities
|
||||
#: model:ir.actions.act_window,name:crm.merge_opportunity_act
|
||||
msgid "Merge leads/opportunities"
|
||||
msgstr ""
|
||||
msgstr "合并线索与商机"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.stage,sequence:0
|
||||
msgid "Used to order stages. Lower is better."
|
||||
msgstr ""
|
||||
msgstr "用于阶段的排序,数字越小越好。"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action
|
||||
|
@ -1454,7 +1462,7 @@ msgstr "线索/正在处理的商机"
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_res_users
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
msgstr "用户"
|
||||
|
||||
#. module: crm
|
||||
#: constraint:crm.case.section:0
|
||||
|
@ -1499,7 +1507,7 @@ msgstr "名称"
|
|||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
msgid "Leads/Opportunities that are assigned to me"
|
||||
msgstr ""
|
||||
msgstr "指派给我的线索和商机"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -1511,7 +1519,7 @@ msgstr "我的业务"
|
|||
#: help:crm.lead,message_ids:0
|
||||
#: help:crm.phonecall,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "信息和通信历史记录"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -1541,17 +1549,17 @@ msgstr "把潜在客户转成业务伙伴"
|
|||
#: code:addons/crm/crm_lead.py:871
|
||||
#, python-format
|
||||
msgid "Opportunity has been <b>won</b>."
|
||||
msgstr ""
|
||||
msgstr "<b>已赢得</b>商机。"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Phone Calls that are assigned to me or to my team(s)"
|
||||
msgstr ""
|
||||
msgstr "指派给我或我的团队的电话沟通"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_payment_mode
|
||||
msgid "CRM Payment Mode"
|
||||
msgstr ""
|
||||
msgstr "CRM 付款模式"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -1574,7 +1582,7 @@ msgstr "分组于"
|
|||
#. module: crm
|
||||
#: view:crm.merge.opportunity:0
|
||||
msgid "Merge Leads/Opportunities"
|
||||
msgstr ""
|
||||
msgstr "合并线索和商机"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,parent_id:0
|
||||
|
@ -1585,7 +1593,7 @@ msgstr "父团队"
|
|||
#: selection:crm.lead2opportunity.partner,action:0
|
||||
#: selection:crm.lead2opportunity.partner.mass,action:0
|
||||
msgid "Do not link to a customer"
|
||||
msgstr ""
|
||||
msgstr "不要链接到某个客户"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,date_action:0
|
||||
|
@ -1608,7 +1616,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead2opportunity.partner.mass:0
|
||||
msgid "Assign opportunities to"
|
||||
msgstr ""
|
||||
msgstr "指派商机给"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,zip:0
|
||||
|
@ -1634,7 +1642,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: field:sale.config.settings,module_crm_claim:0
|
||||
msgid "Manage Customer Claims"
|
||||
msgstr ""
|
||||
msgstr "管理客户请求"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.action_report_crm_lead
|
||||
|
@ -1647,7 +1655,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor3
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
msgstr "服务"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead,priority:0
|
||||
|
@ -1692,7 +1700,7 @@ msgstr "回复到"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Display"
|
||||
msgstr ""
|
||||
msgstr "显示"
|
||||
|
||||
#. module: crm
|
||||
#: view:board.board:0
|
||||
|
@ -1707,7 +1715,7 @@ msgstr "潜在客户转换为业务伙伴"
|
|||
#. module: crm
|
||||
#: model:ir.actions.server,name:crm.actions_server_crm_lead_unread
|
||||
msgid "CRM Lead: Mark unread"
|
||||
msgstr ""
|
||||
msgstr "CRM 线索:标记为未读"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.channel:0
|
||||
|
@ -1733,12 +1741,12 @@ msgstr "额外信息"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Fund Raising"
|
||||
msgstr ""
|
||||
msgstr "集资"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
msgstr "编辑..."
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead5
|
||||
|
@ -1769,14 +1777,14 @@ msgstr "线索转换为业务伙伴或商机"
|
|||
#. module: crm
|
||||
#: help:crm.lead,partner_id:0
|
||||
msgid "Linked partner (optional). Usually created when converting the lead."
|
||||
msgstr ""
|
||||
msgstr "关联业务伙伴(可选), 通常用于在线索转换时自动创建业务伙伴."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,payment_mode:0
|
||||
#: view:crm.payment.mode:0
|
||||
#: model:ir.actions.act_window,name:crm.action_crm_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
msgstr "付款方式"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass
|
||||
|
@ -1786,13 +1794,13 @@ msgstr "批量转换线索为商机业务伙伴"
|
|||
#. module: crm
|
||||
#: view:sale.config.settings:0
|
||||
msgid "On Mail Server"
|
||||
msgstr ""
|
||||
msgstr "在邮件服务器"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.open_board_statistical_dash
|
||||
#: model:ir.ui.menu,name:crm.menu_board_statistics_dash
|
||||
msgid "CRM"
|
||||
msgstr ""
|
||||
msgstr "CRM"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act
|
||||
|
@ -1813,7 +1821,7 @@ msgstr "电话销售"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Leads Assigned to Me or My Team(s)"
|
||||
msgstr ""
|
||||
msgstr "指派给我或我的团队的线索"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_segmentation_line
|
||||
|
@ -1862,7 +1870,7 @@ msgstr "线索/客户"
|
|||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.crm_case_section_2
|
||||
msgid "Support Department"
|
||||
msgstr ""
|
||||
msgstr "支持部门"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
|
@ -1902,7 +1910,7 @@ msgstr "线索/新建的商机"
|
|||
#: code:addons/crm/crm_lead.py:883
|
||||
#, python-format
|
||||
msgid "%s <b>partner</b> is now set to <em>%s</em>."
|
||||
msgstr ""
|
||||
msgstr "<b>业务伙伴</b>%s已设置为<em>%s</em>."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.phonecall,state:0
|
||||
|
@ -1939,13 +1947,13 @@ msgstr "线索"
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor5
|
||||
msgid "Design"
|
||||
msgstr ""
|
||||
msgstr "设计"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead2opportunity.partner,name:0
|
||||
#: selection:crm.lead2opportunity.partner.mass,name:0
|
||||
msgid "Merge with existing opportunities"
|
||||
msgstr ""
|
||||
msgstr "与已存在的商机合并"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11
|
||||
|
@ -1979,7 +1987,7 @@ msgstr "用户电子邮件"
|
|||
msgid ""
|
||||
"The name of the future partner company that will be created while converting "
|
||||
"the lead into opportunity"
|
||||
msgstr ""
|
||||
msgstr "在销售线索转化为商机时对应创建业务伙伴的公司名称."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.opportunity2phonecall,note:0
|
||||
|
@ -2013,7 +2021,7 @@ msgstr "打开商机"
|
|||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead2
|
||||
msgid "Email Campaign - Services"
|
||||
msgstr ""
|
||||
msgstr "邮件营销 - 服务"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.stage,state:0
|
||||
|
@ -2100,13 +2108,13 @@ msgstr "强制的表达式1"
|
|||
#: selection:crm.lead2partner,action:0
|
||||
#: selection:crm.phonecall2partner,action:0
|
||||
msgid "Create a new customer"
|
||||
msgstr ""
|
||||
msgstr "创建新客户"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead2opportunity.partner,action:0
|
||||
#: field:crm.lead2opportunity.partner.mass,action:0
|
||||
msgid "Related Customer"
|
||||
msgstr ""
|
||||
msgstr "相关客户"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead.report,deadline_day:0
|
||||
|
@ -2116,7 +2124,7 @@ msgstr "预期结束日期"
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor2
|
||||
msgid "Software"
|
||||
msgstr ""
|
||||
msgstr "软件"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,change_responsible:0
|
||||
|
@ -2154,12 +2162,12 @@ msgstr "城市"
|
|||
#. module: crm
|
||||
#: selection:crm.case.stage,type:0
|
||||
msgid "Both"
|
||||
msgstr ""
|
||||
msgstr "全部"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Call Done"
|
||||
msgstr ""
|
||||
msgstr "呼叫完成"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
|
@ -2170,23 +2178,23 @@ msgstr "负责人"
|
|||
#. module: crm
|
||||
#: model:ir.actions.server,name:crm.action_email_reminder_customer_lead
|
||||
msgid "Reminder to Customer"
|
||||
msgstr ""
|
||||
msgstr "提醒客户"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.crm_case_section_3
|
||||
msgid "Direct Marketing"
|
||||
msgstr ""
|
||||
msgstr "直销"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor1
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
msgstr "产品"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_phonecall.py:284
|
||||
#, python-format
|
||||
msgid "Phonecall has been <b>created and opened</b>."
|
||||
msgstr ""
|
||||
msgstr "电话沟通已创建并打开。"
|
||||
|
||||
#. module: crm
|
||||
#: field:base.action.rule,trg_max_history:0
|
||||
|
@ -2196,12 +2204,12 @@ msgstr "最大的沟通日志"
|
|||
#. module: crm
|
||||
#: view:crm.lead2opportunity.partner.mass:0
|
||||
msgid "Conversion Options"
|
||||
msgstr ""
|
||||
msgstr "转换选项"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
msgstr "地址"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,alias_id:0
|
||||
|
@ -2266,7 +2274,7 @@ msgstr "继续处理"
|
|||
#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner
|
||||
#: model:ir.actions.act_window,name:crm.phonecall2opportunity_act
|
||||
msgid "Convert to opportunity"
|
||||
msgstr ""
|
||||
msgstr "转换为商机"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.opportunity2phonecall,user_id:0
|
||||
|
@ -2323,12 +2331,12 @@ msgstr "销售团队属于那个业务"
|
|||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead6
|
||||
msgid "Banner Ads"
|
||||
msgstr ""
|
||||
msgstr "横幅广告"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.merge.opportunity,opportunity_ids:0
|
||||
msgid "Leads/Opportunities"
|
||||
msgstr ""
|
||||
msgstr "线索/商机"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,fax:0
|
||||
|
@ -2348,7 +2356,7 @@ msgstr "公司"
|
|||
#. module: crm
|
||||
#: view:base.action.rule:0
|
||||
msgid "Conditions on Communication History"
|
||||
msgstr ""
|
||||
msgstr "沟通记录的条件"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -2363,17 +2371,17 @@ msgstr "对象名"
|
|||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Phone Calls Assigned to Me or My Team(s)"
|
||||
msgstr ""
|
||||
msgstr "指派给我和我的团队的电话沟通"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
msgstr "重置"
|
||||
|
||||
#. module: crm
|
||||
#: view:sale.config.settings:0
|
||||
msgid "After-Sale Services"
|
||||
msgstr ""
|
||||
msgstr "售后服务"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.server,message:crm.action_email_reminder_customer_lead
|
||||
|
@ -2389,6 +2397,18 @@ msgid ""
|
|||
"Thanks,\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"[[object.partner_id and object.partner_id.name or '']],您好:\n"
|
||||
"\n"
|
||||
"您下面的销售线索已经有 5 天没有打开了。 \n"
|
||||
"\n"
|
||||
"线索:[[object.id ]]\n"
|
||||
"描述:\n"
|
||||
"\n"
|
||||
" [[object.description]]\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"谢谢!\n"
|
||||
" "
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall2opportunity:0
|
||||
|
@ -2439,7 +2459,7 @@ msgstr "在这报表中,你能分析你的销售团队在电话访问上的业
|
|||
#. module: crm
|
||||
#: field:crm.case.stage,state:0
|
||||
msgid "Related Status"
|
||||
msgstr ""
|
||||
msgstr "相关状态"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.phonecall,name:0
|
||||
|
@ -2460,7 +2480,7 @@ msgstr "计划/电话访问的记录"
|
|||
#. module: crm
|
||||
#: view:crm.merge.opportunity:0
|
||||
msgid "Select Leads/Opportunities"
|
||||
msgstr ""
|
||||
msgstr "选择商机/线索"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.phonecall,state:0
|
||||
|
@ -2480,7 +2500,7 @@ msgstr "确定"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Unread messages"
|
||||
msgstr ""
|
||||
msgstr "未读消息"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.phonecall.report,section_id:0
|
||||
|
@ -2497,7 +2517,7 @@ msgstr "可选表达式"
|
|||
#: field:crm.lead,message_follower_ids:0
|
||||
#: field:crm.phonecall,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "关注者"
|
||||
|
||||
#. module: crm
|
||||
#: field:sale.config.settings,fetchmail_lead:0
|
||||
|
@ -2551,7 +2571,7 @@ msgstr "从线索创建商机"
|
|||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead3
|
||||
msgid "Email Campaign - Products"
|
||||
msgstr ""
|
||||
msgstr "电邮广告-产品"
|
||||
|
||||
#. module: crm
|
||||
#: field:base.action.rule,act_categ_id:0
|
||||
|
@ -2584,7 +2604,7 @@ msgstr "第一次与新的潜在客户接触"
|
|||
#. module: crm
|
||||
#: view:res.partner:0
|
||||
msgid "Calls"
|
||||
msgstr ""
|
||||
msgstr "通话"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.stage,on_change:0
|
||||
|
@ -2594,7 +2614,7 @@ msgstr "自动修改概率"
|
|||
#. module: crm
|
||||
#: view:crm.phonecall.report:0
|
||||
msgid "My Phone Calls"
|
||||
msgstr ""
|
||||
msgstr "我的电话沟通"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead3
|
||||
|
@ -2678,7 +2698,7 @@ msgstr "预期结束年数"
|
|||
#. module: crm
|
||||
#: model:ir.actions.client,name:crm.action_client_crm_menu
|
||||
msgid "Open Sale Menu"
|
||||
msgstr ""
|
||||
msgstr "打开销售菜单"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,date_open:0
|
||||
|
@ -2706,7 +2726,7 @@ msgstr "计划成本"
|
|||
#. module: crm
|
||||
#: help:crm.lead,date_deadline:0
|
||||
msgid "Estimate of the date on which the opportunity will be won."
|
||||
msgstr ""
|
||||
msgstr "预计商机落单日期."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.lead,email_cc:0
|
||||
|
@ -2780,7 +2800,7 @@ msgstr "街道 2"
|
|||
#. module: crm
|
||||
#: field:sale.config.settings,module_crm_helpdesk:0
|
||||
msgid "Manage Helpdesk and Support"
|
||||
msgstr ""
|
||||
msgstr "管理帮助平台与客户支持"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall2partner:0
|
||||
|
@ -2813,7 +2833,7 @@ msgstr "11月"
|
|||
#: field:crm.phonecall,message_comment_ids:0
|
||||
#: help:crm.phonecall,message_comment_ids:0
|
||||
msgid "Comments and emails"
|
||||
msgstr ""
|
||||
msgstr "评论和电子邮件"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead5
|
||||
|
@ -2861,7 +2881,7 @@ msgstr "计划收入"
|
|||
#. module: crm
|
||||
#: model:ir.actions.server,name:crm.actions_server_crm_lead_read
|
||||
msgid "CRM Lead: Mark read"
|
||||
msgstr ""
|
||||
msgstr "CRM 线索:标记为已读"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_phonecall2phonecall
|
||||
|
@ -2903,7 +2923,7 @@ msgstr "动作规则"
|
|||
#. module: crm
|
||||
#: help:sale.config.settings,group_fund_raising:0
|
||||
msgid "Allows you to trace and manage your activities for fund raising."
|
||||
msgstr ""
|
||||
msgstr "允许跟踪及管理您的集资活动。"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,phonecall_id:0
|
||||
|
@ -2996,7 +3016,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "内部备注"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -3066,7 +3086,7 @@ msgstr "丢失"
|
|||
#: code:addons/crm/wizard/crm_lead_to_opportunity.py:100
|
||||
#, python-format
|
||||
msgid "Closed/Cancelled leads cannot be converted into opportunities."
|
||||
msgstr ""
|
||||
msgstr "已关闭或已取消的销售线索不能被转换为商机。"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,country_id:0
|
||||
|
|
|
@ -7,14 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-16 16:13+0000\n"
|
||||
"Last-Translator: Felix Schubert <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:17+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\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-17 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,fold:0
|
||||
|
@ -22,25 +23,24 @@ msgid ""
|
|||
"This stage is not visible, for example in status bar or kanban view, when "
|
||||
"there are no records in that stage to display."
|
||||
msgstr ""
|
||||
"Die Stufe wird in bestimmten Ansichten verborgen, z.B. in der "
|
||||
"Fortschrittsanzeige oder den Kanban Karten, wenn es keine Datensätze in "
|
||||
"dieser Stufe gibt."
|
||||
"Die Stufe ist unsichtbar, z.B. in der Fortschrittsanzeige oder Kanban "
|
||||
"Ansicht, wenn es keine Datensätze in dieser Stufe gibt."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,nbr:0
|
||||
msgid "# of Cases"
|
||||
msgstr "# Vorgänge"
|
||||
msgstr "Anzahl Vorgänge"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Group By..."
|
||||
msgstr "Gruppiere..."
|
||||
msgstr "Gruppierung ..."
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Responsibilities"
|
||||
msgstr "Zuständigkeiten"
|
||||
msgstr "Verantwortlichkeit"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:sale.config.settings,fetchmail_claim:0
|
||||
|
@ -69,12 +69,12 @@ msgstr "Dauer für Beendigung"
|
|||
#. module: crm_claim
|
||||
#: field:crm.claim,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr "Ungelesene Mitteilungen"
|
||||
msgstr "Ungelesene Nachrichten"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,resolution:0
|
||||
msgid "Resolution"
|
||||
msgstr "Lösung"
|
||||
msgstr "Behebung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,company_id:0
|
||||
|
@ -96,23 +96,20 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a claim category.\n"
|
||||
" Klicken Sie zur Erstellung einer Reklamationen Kategorie.\n"
|
||||
" </p><p>\n"
|
||||
" Klicken Sie, um neue Kategorien für Ihre Reklamationen zu "
|
||||
"erstellen.\n"
|
||||
" </ p>\n"
|
||||
" Durch Kategorien haben Sie die Möglichkeit Ihre "
|
||||
"Reklamationen zu koordinieren.\n"
|
||||
" Beispiele für Reklamationen können folgende sein : "
|
||||
"Austausch, Reparatur, \n"
|
||||
" Kulanzvorfall u.s.w.\n"
|
||||
" Kulanzvorfall u.s.w.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "#Claim"
|
||||
msgstr "# Reklamation"
|
||||
msgstr "Anzahl Reklamationen"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,name:0
|
||||
|
@ -159,7 +156,7 @@ msgstr "Nachrichten"
|
|||
#. module: crm_claim
|
||||
#: model:crm.case.categ,name:crm_claim.categ_claim1
|
||||
msgid "Factual Claims"
|
||||
msgstr "Reklamation e. Schadens"
|
||||
msgstr "Schadensprüfung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,state:0
|
||||
|
@ -176,7 +173,7 @@ msgstr "Schadensprävention"
|
|||
#. module: crm_claim
|
||||
#: help:crm.claim,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Wenn aktiviert, erfordern neue Nachrichten Ihr Handeln"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,date_closed:0
|
||||
|
@ -186,7 +183,7 @@ msgstr "Datum Beendigung"
|
|||
#. module: crm_claim
|
||||
#: view:res.partner:0
|
||||
msgid "False"
|
||||
msgstr "trifft nicht zu"
|
||||
msgstr "Ungültig"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,ref:0
|
||||
|
@ -201,7 +198,7 @@ msgstr "Datum des Antrags"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "# Mails"
|
||||
msgstr "# E-Mails"
|
||||
msgstr "E-Mail Anzahl"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,message_summary:0
|
||||
|
@ -209,9 +206,8 @@ msgid ""
|
|||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Beinhaltet die Chatter Zusammenfassung (Anzahl der Nachrichten, ...). Diese "
|
||||
"Zusammenfassung ist im HTML-Format, um in Kanban Karten Ansichten eingefügt "
|
||||
"zu werden."
|
||||
"Hier finden Sie die Nachrichtenübersicht (Anzahl Nachrichten etc., ...) im "
|
||||
"html Format, um Sie später in einer Kanban Ansicht einfügen zu können."
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
|
@ -294,7 +290,7 @@ msgstr "Sektionen"
|
|||
#. module: crm_claim
|
||||
#: field:crm.claim,email_from:0
|
||||
msgid "Email"
|
||||
msgstr "E-Mail:"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
|
@ -310,17 +306,17 @@ msgstr "Nächste Aktion"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My Sales Team(s)"
|
||||
msgstr "Mein(e) Verkaufsteam(s)"
|
||||
msgstr "Eigene Teams"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Erstellung am"
|
||||
msgstr "Datum Erstellung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,name:0
|
||||
msgid "Claim Subject"
|
||||
msgstr "Reklamationsursache"
|
||||
msgstr "Reklamation Begründung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.claim.stage,name:crm_claim.stage_claim3
|
||||
|
@ -411,7 +407,7 @@ msgstr "Statistik Reklamationen"
|
|||
#. module: crm_claim
|
||||
#: help:crm.claim.report,delay_close:0
|
||||
msgid "Number of Days to close the case"
|
||||
msgstr "Anzahl Tage für Vorgangsende"
|
||||
msgstr "Tage bis Beendigung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.model,name:crm_claim.model_crm_claim_report
|
||||
|
@ -426,7 +422,7 @@ msgstr "Einstellungen"
|
|||
#. module: crm_claim
|
||||
#: model:crm.case.resource.type,name:crm_claim.type_claim1
|
||||
msgid "Corrective"
|
||||
msgstr "Verbesserung"
|
||||
msgstr "Behebung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
|
@ -449,12 +445,12 @@ msgstr "Monat"
|
|||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,type_action:0
|
||||
msgid "Action Type"
|
||||
msgstr "Aktionstyp"
|
||||
msgstr "Aktion Typ"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr "Update Datum"
|
||||
msgstr "Aktualisierungsdatum"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
|
@ -467,8 +463,8 @@ msgid ""
|
|||
"If you check this field, this stage will be proposed by default on each "
|
||||
"sales team. It will not assign this stage to existing teams."
|
||||
msgstr ""
|
||||
"Durch Aktivierung wird diese Stufe automatisch dem Verkaufsteam zugeordnet. "
|
||||
"Dieses wird nicht unmittelbar für die bereits bestehenden Teams übernommen."
|
||||
"Durch Aktivierung wird diese Stufe automatisch dem Team zugeordnet. Dieses "
|
||||
"wird nicht unmittelbar für die bereits existierenden Teams übernommen."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,categ_id:0
|
||||
|
@ -480,12 +476,12 @@ msgstr "Kategorie"
|
|||
#. module: crm_claim
|
||||
#: model:crm.case.categ,name:crm_claim.categ_claim2
|
||||
msgid "Value Claims"
|
||||
msgstr "Wert der Reklamation"
|
||||
msgstr "Reklamation wert"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Responsible User"
|
||||
msgstr "Verantw. Benutzer"
|
||||
msgstr "Verantwortl. Benutzer"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,email_cc:0
|
||||
|
@ -579,17 +575,17 @@ msgstr "Juni"
|
|||
#. module: crm_claim
|
||||
#: field:crm.claim,id:0
|
||||
msgid "ID"
|
||||
msgstr "Kurz"
|
||||
msgstr "Kürzel"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,partner_phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Tel."
|
||||
msgstr "Telefon"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Ist ein Follower"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,user_id:0
|
||||
|
@ -634,6 +630,11 @@ msgid ""
|
|||
"the case needs to be reviewed then the status is set "
|
||||
"to 'Pending'."
|
||||
msgstr ""
|
||||
"Der Status wird auf 'Entwurf' geändert, wenn der Vorfall gespeichert wurde. "
|
||||
"Durch die Vorgangsbearbeitung ändert sich der Status auf 'In Bearbeitung'. "
|
||||
"Durch Abschluss wird der Status auf 'Erledigt' geändert. Wenn der Vorfall "
|
||||
"eine weitere Bearbeitung zu einem späteren Zeitpunkt erfordert, ändert man "
|
||||
"den Status am Besten auf 'Wiedervorlage'."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,active:0
|
||||
|
@ -659,7 +660,7 @@ msgstr "Kommentare und E-Mails"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Closure"
|
||||
msgstr "Abschluss"
|
||||
msgstr "Beendigung"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,section_id:0
|
||||
|
@ -667,8 +668,8 @@ msgid ""
|
|||
"Responsible sales team. Define Responsible user and Email account for mail "
|
||||
"gateway."
|
||||
msgstr ""
|
||||
"Verantwortliches Verkaufsteam. Definieren Sie den Teamleiter und das E-Mail "
|
||||
"Konto, dessen Posteingang überwacht wird."
|
||||
"Verantwortliches Team. Definieren Sie den Teamleiter und das E-Mail Konto, "
|
||||
"dessen Posteingang überwacht wird."
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
|
@ -788,7 +789,7 @@ msgstr "Suche"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Unassigned Claims"
|
||||
msgstr "Nicht zugeordnete Anträge"
|
||||
msgstr "Nicht zugeordnete Reklamationen"
|
||||
|
||||
#. module: crm_claim
|
||||
#: code:addons/crm_claim/crm_claim.py:247
|
||||
|
@ -898,12 +899,12 @@ msgstr "April"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My Case(s)"
|
||||
msgstr "Meine Fälle"
|
||||
msgstr "Eigene Vorfälle"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.claim.stage,name:crm_claim.stage_claim2
|
||||
msgid "Settled"
|
||||
msgstr ""
|
||||
msgstr "Bestätigt"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,message_ids:0
|
||||
|
@ -923,7 +924,7 @@ msgstr "Reihenfolge"
|
|||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Actions"
|
||||
msgstr "Lösungsvorgänge"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
|
|
|
@ -7,14 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-04 10:30+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:49+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-05 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,fold:0
|
||||
|
@ -394,7 +395,7 @@ msgstr "Rapport des réclamations (CRM)"
|
|||
#. module: crm_claim
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
msgstr "Configurer"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.resource.type,name:crm_claim.type_claim1
|
||||
|
@ -559,7 +560,7 @@ msgstr "Téléphone"
|
|||
#. module: crm_claim
|
||||
#: field:crm.claim,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Est un abonné"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,user_id:0
|
||||
|
|
|
@ -88,6 +88,9 @@
|
|||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<filter string="Salesperson" position="after">
|
||||
<filter string="Activation" context="{'group_by' : 'activation'}" domain="[]" icon="terp-personal" />
|
||||
</filter>
|
||||
<field name="category_id" position="after">
|
||||
<field name="grade_id"/>
|
||||
</field>
|
||||
|
@ -165,16 +168,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_res_partner_filter_group_activation" model="ir.ui.view">
|
||||
<field name="name">res.partner.geo.inherit.search</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<filter string="Salesperson" position="after">
|
||||
<filter string="Activation" context="{'group_by' : 'activation'}" domain="[]" icon="terp-personal" />
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,15 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:46+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:50+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-04 05:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm_profiling.questionnaire:0
|
||||
|
@ -152,7 +152,7 @@ msgstr "Utiliser les Règles d'Analyse"
|
|||
#. module: crm_profiling
|
||||
#: constraint:crm.segmentation:0
|
||||
msgid "Error ! You cannot create recursive profiles."
|
||||
msgstr ""
|
||||
msgstr "Erreur! Vous ne pouvez pas créer de profils récursifs."
|
||||
|
||||
#. module: crm_profiling
|
||||
#: field:crm.segmentation,answer_yes:0
|
||||
|
@ -201,7 +201,7 @@ msgstr "Sauvegarder les Données"
|
|||
#. module: crm_profiling
|
||||
#: view:open.questionnaire:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "ou"
|
||||
|
||||
#~ msgid "Error ! You can not create recursive profiles."
|
||||
#~ msgstr "Erreur ! Vous ne pouvez pas créer des profils récursifs."
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-02-22 09:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:50+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.com>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-04 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_project_task
|
||||
|
@ -30,7 +30,7 @@ msgstr "Zone de temps"
|
|||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead"
|
||||
msgstr ""
|
||||
msgstr "Piste"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
|
@ -67,7 +67,7 @@ msgstr "Annuler"
|
|||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_crm_lead
|
||||
msgid "Lead/Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Piste/opportunité"
|
||||
|
||||
#. module: crm_todo
|
||||
#: field:project.task,lead_id:0
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
To be done:
|
||||
-----------
|
||||
|
||||
* Test to not create several times the same file / directory
|
||||
-> May be put a sql_constraints uniq on several files
|
||||
-> test through remove or put
|
||||
|
||||
* Retest everything
|
|
@ -21,10 +21,6 @@
|
|||
|
||||
import content_index
|
||||
import std_index
|
||||
import document_storage
|
||||
import document_directory
|
||||
import directory_content
|
||||
import directory_report
|
||||
import document
|
||||
import report
|
||||
import wizard
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
'description': """
|
||||
This is a complete document management system.
|
||||
==============================================
|
||||
|
||||
* User Authentication
|
||||
* Document Indexation:- .pptx and .docx files are not supported in Windows platform.
|
||||
* Dashboard for Document that includes:
|
||||
|
@ -35,17 +34,10 @@ This is a complete document management system.
|
|||
* Files by Resource Type (graph)
|
||||
* Files by Partner (graph)
|
||||
* Files Size by Month (graph)
|
||||
|
||||
ATTENTION:
|
||||
----------
|
||||
- When you install this module in a running company that have already PDF
|
||||
files stored into the database, you will lose them all.
|
||||
- After installing this module PDF's are no longer stored into the database,
|
||||
but in the servers rootpad like /server/bin/filestore.
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['process','board', 'knowledge'],
|
||||
'depends': ['knowledge'],
|
||||
'data': [
|
||||
'security/document_security.xml',
|
||||
'document_view.xml',
|
||||
|
@ -53,9 +45,8 @@ ATTENTION:
|
|||
'wizard/document_configuration_view.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'report/document_report_view.xml',
|
||||
'board_document_view.xml',
|
||||
],
|
||||
'demo': [ 'document_demo.xml','board_document_demo.xml'],
|
||||
'demo': [ 'document_demo.xml' ],
|
||||
'test': ['test/document_test2.yml'],
|
||||
'js': ['static/src/js/document.js'],
|
||||
'installable': True,
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<!--
|
||||
Administrator shortcut
|
||||
Demo user startup menu
|
||||
-->
|
||||
<!-- <record model="ir.ui.view_sc" id="sc_document_dash">
|
||||
<field name="name">Documents dashboard</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="resource">ir.ui.menu</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="res_id" ref="menu_board_document_manager"/>
|
||||
</record> -->
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,41 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="board_document_manager_form">
|
||||
<field name="name">board.document.manager.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Document board" version="7.0">
|
||||
<board style="2-1" >
|
||||
<column>
|
||||
<action string="Files by Month"
|
||||
name="%(document.action_view_files_by_month_graph)d"
|
||||
view_mode="graph,tree"/>
|
||||
</column>
|
||||
<column>
|
||||
<action string="Files by user"
|
||||
name="%(document.action_view_files_by_user_graph)d"
|
||||
view_mode="graph,tree"/>
|
||||
</column>
|
||||
</board>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="open_board_document_manager">
|
||||
<field name="name">Knowledge</field>
|
||||
<field name="res_model">board.board</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="board_document_manager_form"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_reports_document"
|
||||
parent="base.menu_reporting_dashboard"
|
||||
sequence="55"
|
||||
action="open_board_document_manager"
|
||||
icon="terp-graph"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,14 +0,0 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<record model="res.groups" id="group_compta_user">
|
||||
<field name="name">grcompta</field>
|
||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||
</record>
|
||||
<record model="res.groups" id="group_compta_admin">
|
||||
<field name="name">grcomptaadmin</field>
|
||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||
</record>
|
||||
<menuitem name="Administration" groups="admin,grcomptaadmin" icon="terp-stock" id="menu_admin_compta"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
# Copyright P. Christeas <p_christ@hol.gr> 2008-2010
|
||||
# Copyright 2010 OpenERP SA. http://www.openerp.com
|
||||
#
|
||||
# This program is Free Software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public License
|
||||
# as published by the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# 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 Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
###############################################################################
|
||||
|
||||
|
||||
def dict_merge(*dicts):
|
||||
""" Return a dict with all values of dicts
|
||||
"""
|
||||
res = {}
|
||||
for d in dicts:
|
||||
res.update(d)
|
||||
return res
|
||||
|
||||
def dict_merge2(*dicts):
|
||||
""" Return a dict with all values of dicts.
|
||||
If some key appears twice and contains iterable objects, the values
|
||||
are merged (instead of overwritten).
|
||||
"""
|
||||
res = {}
|
||||
for d in dicts:
|
||||
for k in d.keys():
|
||||
if k in res and isinstance(res[k], (list, tuple)):
|
||||
res[k] = res[k] + d[k]
|
||||
elif k in res and isinstance(res[k], dict):
|
||||
res[k].update(d[k])
|
||||
else:
|
||||
res[k] = d[k]
|
||||
return res
|
||||
|
||||
def dict_filter(srcdic, keys, res=None):
|
||||
''' Return a copy of srcdic that has only keys set.
|
||||
If any of keys are missing from srcdic, the result won't have them,
|
||||
either.
|
||||
@param res If given, result will be updated there, instead of a new dict.
|
||||
'''
|
||||
if res is None:
|
||||
res = {}
|
||||
for k in keys:
|
||||
if k in srcdic:
|
||||
res[k] = srcdic[k]
|
||||
return res
|
||||
|
||||
#eof
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,124 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
from openerp import netsvc
|
||||
# import os
|
||||
import nodes
|
||||
# import StringIO
|
||||
|
||||
class document_directory_content_type(osv.osv):
|
||||
_name = 'document.directory.content.type'
|
||||
_description = 'Directory Content Type'
|
||||
_columns = {
|
||||
'name': fields.char('Content Type', size=64, required=True),
|
||||
'code': fields.char('Extension', size=4),
|
||||
'active': fields.boolean('Active'),
|
||||
'mimetype': fields.char('Mime Type',size=32)
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *args: 1
|
||||
}
|
||||
document_directory_content_type()
|
||||
|
||||
class document_directory_content(osv.osv):
|
||||
_name = 'document.directory.content'
|
||||
_description = 'Directory Content'
|
||||
_order = "sequence"
|
||||
def _extension_get(self, cr, uid, context=None):
|
||||
cr.execute('select code,name from document_directory_content_type where active')
|
||||
res = cr.fetchall()
|
||||
return res
|
||||
_columns = {
|
||||
'name': fields.char('Content Name', size=64, required=True),
|
||||
'sequence': fields.integer('Sequence', size=16),
|
||||
'prefix': fields.char('Prefix', size=16),
|
||||
'suffix': fields.char('Suffix', size=16),
|
||||
'report_id': fields.many2one('ir.actions.report.xml', 'Report'),
|
||||
'extension': fields.selection(_extension_get, 'Document Type', required=True, size=4),
|
||||
'include_name': fields.boolean('Include Record Name',
|
||||
help="Check this field if you want that the name of the file to contain the record name." \
|
||||
"\nIf set, the directory will have to be a resource one."),
|
||||
'directory_id': fields.many2one('document.directory', 'Directory'),
|
||||
}
|
||||
_defaults = {
|
||||
'extension': lambda *args: '.pdf',
|
||||
'sequence': lambda *args: 1,
|
||||
'include_name': lambda *args: 1,
|
||||
}
|
||||
|
||||
def _file_get(self, cr, node, nodename, content, context=None):
|
||||
""" return the nodes of a <node> parent having a <content> content
|
||||
The return value MUST be false or a list of node_class objects.
|
||||
"""
|
||||
|
||||
# TODO: respect the context!
|
||||
model = node.res_model
|
||||
if content.include_name and not model:
|
||||
return False
|
||||
|
||||
res2 = []
|
||||
tname = ''
|
||||
if content.include_name:
|
||||
content_name = node.displayname or ''
|
||||
# obj = node.context._dirobj.pool.get(model)
|
||||
if content_name:
|
||||
tname = (content.prefix or '') + content_name + (content.suffix or '') + (content.extension or '')
|
||||
else:
|
||||
tname = (content.prefix or '') + (content.suffix or '') + (content.extension or '')
|
||||
if tname.find('/'):
|
||||
tname=tname.replace('/', '_')
|
||||
act_id = False
|
||||
if 'dctx_res_id' in node.dctx:
|
||||
act_id = node.dctx['dctx_res_id']
|
||||
elif hasattr(node, 'res_id'):
|
||||
act_id = node.res_id
|
||||
else:
|
||||
act_id = node.context.context.get('res_id',False)
|
||||
if not nodename:
|
||||
n = nodes.node_content(tname, node, node.context,content, act_id=act_id)
|
||||
res2.append( n)
|
||||
else:
|
||||
if nodename == tname:
|
||||
n = nodes.node_content(tname, node, node.context,content, act_id=act_id)
|
||||
n.fill_fields(cr)
|
||||
res2.append(n)
|
||||
return res2
|
||||
|
||||
def process_write(self, cr, uid, node, data, context=None):
|
||||
if node.extension != '.pdf':
|
||||
raise Exception("Invalid content: %s" % node.extension)
|
||||
return True
|
||||
|
||||
def process_read(self, cr, uid, node, context=None):
|
||||
if node.extension != '.pdf':
|
||||
raise Exception("Invalid content: %s" % node.extension)
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, node.report_id, context=context)
|
||||
srv = netsvc.Service._services['report.'+report.report_name]
|
||||
ctx = node.context.context.copy()
|
||||
ctx.update(node.dctx)
|
||||
pdf,pdftype = srv.create(cr, uid, [node.act_id,], {}, context=ctx)
|
||||
return pdf
|
||||
document_directory_content()
|
||||
|
||||
#eof
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,64 +0,0 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
class ir_action_report_xml(osv.osv):
|
||||
_name="ir.actions.report.xml"
|
||||
_inherit ="ir.actions.report.xml"
|
||||
|
||||
def _model_get(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
model_pool = self.pool.get('ir.model')
|
||||
for data in self.read(cr, uid, ids, ['model']):
|
||||
model = data.get('model',False)
|
||||
if model:
|
||||
model_id =model_pool.search(cr, uid, [('model','=',model)])
|
||||
if model_id:
|
||||
res[data.get('id')] = model_id[0]
|
||||
else:
|
||||
res[data.get('id')] = False
|
||||
return res
|
||||
|
||||
def _model_search(self, cr, uid, obj, name, args, context=None):
|
||||
if not len(args):
|
||||
return []
|
||||
assert len(args) == 1 and args[0][1] == '=', 'expression is not what we expect: %r' % args
|
||||
model_id= args[0][2]
|
||||
if not model_id:
|
||||
# a deviation from standard behavior: when searching model_id = False
|
||||
# we return *all* reports, not just ones with empty model.
|
||||
# One reason is that 'model' is a required field so far
|
||||
return []
|
||||
model = self.pool.get('ir.model').read(cr, uid, [model_id])[0]['model']
|
||||
report_id = self.search(cr, uid, [('model','=',model)])
|
||||
if not report_id:
|
||||
return [('id','=','0')]
|
||||
return [('id','in',report_id)]
|
||||
|
||||
_columns={
|
||||
'model_id' : fields.function(_model_get, fnct_search=_model_search, string='Model Id'),
|
||||
}
|
||||
|
||||
ir_action_report_xml()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
File diff suppressed because it is too large
Load Diff
|
@ -1,17 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="document.storage" id="storage_default">
|
||||
<field name="name">Database storage</field>
|
||||
<field name="type">db</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_root">
|
||||
<field name="name">Documents</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="storage_id" ref="storage_default"/>
|
||||
<field name="ressource_id">0</field>
|
||||
</record>
|
||||
|
||||
|
@ -20,7 +12,6 @@
|
|||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
</data>
|
||||
|
||||
|
@ -31,26 +22,13 @@
|
|||
<field name="mimetype">application/pdf</field>
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_partner_category">
|
||||
<field name="name">Partners by Category</field>
|
||||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="type">ressource</field>
|
||||
<field name="ressource_tree">1</field>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
<field name="ressource_type_id" search="[('model','=','res.partner.category')]" />
|
||||
<field name="user_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_partner">
|
||||
<field name="name">Partners</field>
|
||||
<field name="type">ressource</field>
|
||||
<field name="domain">[('category_id','in',[active_id])]</field>
|
||||
<field name="ressource_type_id" search="[('model','=','res.partner')]" />
|
||||
<field name="ressource_parent_type_id" search="[('model','=','res.partner.category')]" />
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_personnal_folder">
|
||||
|
@ -62,47 +40,5 @@
|
|||
<field name="ressource_id">0</field>
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_product">
|
||||
<field name="name">Products</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_sale_order">
|
||||
<field name="name">Sales Order</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_sale_order_all">
|
||||
<field name="name">All Sales Order</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_sale_order"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_sale_order_quote">
|
||||
<field name="name">Quotations</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_sale_order"/>
|
||||
<field name="ressource_id">0</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="document.directory" id="dir_project">
|
||||
<field name="name">Projects</field>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="parent_id" ref="dir_root"/>
|
||||
<field name="ressource_id">0</field>
|
||||
</record>
|
||||
|
||||
<!-- After we have setup the root directory, migrate the attachments
|
||||
to point to that. -->
|
||||
<function model="ir.attachment" name="_attach_parent_id"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -4,6 +4,5 @@
|
|||
<record id="base.user_demo" model="res.users">
|
||||
<field eval="[(4, ref('base.group_document_user'))]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,308 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.osv.orm import except_orm
|
||||
import logging
|
||||
import nodes
|
||||
from openerp.tools.translate import _
|
||||
_logger = logging.getLogger(__name__)
|
||||
class document_directory(osv.osv):
|
||||
_name = 'document.directory'
|
||||
_description = 'Directory'
|
||||
_order = 'name'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, select=1),
|
||||
'write_date': fields.datetime('Date Modified', readonly=True),
|
||||
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
|
||||
'create_date': fields.datetime('Date Created', readonly=True),
|
||||
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
|
||||
'domain': fields.char('Domain', size=128, help="Use a domain if you want to apply an automatic filter on visible resources."),
|
||||
'user_id': fields.many2one('res.users', 'Owner'),
|
||||
'storage_id': fields.many2one('document.storage', 'Storage', change_default=True),
|
||||
'group_ids': fields.many2many('res.groups', 'document_directory_group_rel', 'item_id', 'group_id', 'Groups'),
|
||||
'parent_id': fields.many2one('document.directory', 'Parent Directory', select=1, change_default=True),
|
||||
'child_ids': fields.one2many('document.directory', 'parent_id', 'Children'),
|
||||
'file_ids': fields.one2many('ir.attachment', 'parent_id', 'Files'),
|
||||
'content_ids': fields.one2many('document.directory.content', 'directory_id', 'Virtual Files'),
|
||||
'type': fields.selection([
|
||||
('directory','Static Directory'),
|
||||
('ressource','Folders per resource'),
|
||||
],
|
||||
'Type', required=True, select=1, change_default=True,
|
||||
help="Each directory can either have the type Static or be linked to another resource. A static directory, as with Operating Systems, is the classic directory that can contain a set of files. The directories linked to systems resources automatically possess sub-directories for each of resource types defined in the parent directory."),
|
||||
'ressource_type_id': fields.many2one('ir.model', 'Resource model', change_default=True,
|
||||
help="Select an object here and there will be one folder per record of that resource."),
|
||||
'resource_field': fields.many2one('ir.model.fields', 'Name field', help='Field to be used as name on resource directories. If empty, the "name" will be used.'),
|
||||
'resource_find_all': fields.boolean('Find all resources',
|
||||
help="If true, all attachments that match this resource will " \
|
||||
" be located. If false, only ones that have this as parent." ),
|
||||
'ressource_parent_type_id': fields.many2one('ir.model', 'Parent Model', change_default=True,
|
||||
help="If you put an object here, this directory template will appear bellow all of these objects. " \
|
||||
"Such directories are \"attached\" to the specific model or record, just like attachments. " \
|
||||
"Don't put a parent directory if you select a parent model."),
|
||||
'ressource_id': fields.integer('Resource ID',
|
||||
help="Along with Parent Model, this ID attaches this folder to a specific record of Parent Model."),
|
||||
'ressource_tree': fields.boolean('Tree Structure',
|
||||
help="Check this if you want to use the same tree structure as the object selected in the system."),
|
||||
'dctx_ids': fields.one2many('document.directory.dctx', 'dir_id', 'Context fields'),
|
||||
'company_id': fields.many2one('res.company', 'Company', change_default=True),
|
||||
}
|
||||
|
||||
|
||||
def _get_root_directory(self, cr, uid, context=None):
|
||||
objid=self.pool.get('ir.model.data')
|
||||
try:
|
||||
mid = objid._get_id(cr, uid, 'document', 'dir_root')
|
||||
if not mid:
|
||||
return False
|
||||
root_id = objid.read(cr, uid, mid, ['res_id'])['res_id']
|
||||
return root_id
|
||||
except Exception:
|
||||
return False
|
||||
return objid.browse(cr, uid, mid, context=context).res_id
|
||||
|
||||
def _get_def_storage(self, cr, uid, context=None):
|
||||
if context and context.has_key('default_parent_id'):
|
||||
# Use the same storage as the parent..
|
||||
diro = self.browse(cr, uid, context['default_parent_id'])
|
||||
if diro.storage_id:
|
||||
return diro.storage_id.id
|
||||
objid=self.pool.get('ir.model.data')
|
||||
try:
|
||||
mid = objid._get_id(cr, uid, 'document', 'storage_default')
|
||||
return objid.browse(cr, uid, mid, context=context).res_id
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
_defaults = {
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'document.directory', context=c),
|
||||
'user_id': lambda self,cr,uid,ctx: uid,
|
||||
'domain': '[]',
|
||||
'type': 'directory',
|
||||
'ressource_id': 0,
|
||||
'storage_id': _get_def_storage, # Still, it is bad practice to set it everywhere.
|
||||
'resource_find_all': True,
|
||||
}
|
||||
_sql_constraints = [
|
||||
('dirname_uniq', 'unique (name,parent_id,ressource_id,ressource_parent_type_id)', 'The directory name must be unique !'),
|
||||
('no_selfparent', 'check(parent_id <> id)', 'Directory cannot be parent of itself!'),
|
||||
('dir_parented', 'check(parent_id IS NOT NULL OR storage_id IS NOT NULL)', 'Directory must have a parent or a storage.')
|
||||
]
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
if not self.search(cr,uid,[('id','in',ids)]):
|
||||
ids = []
|
||||
for d in self.browse(cr, uid, ids, context=context):
|
||||
s = ''
|
||||
d2 = d
|
||||
while d2 and d2.parent_id:
|
||||
s = d2.name + (s and ('/' + s) or '')
|
||||
d2 = d2.parent_id
|
||||
res.append((d.id, s or d.name))
|
||||
return res
|
||||
|
||||
def get_full_path(self, cr, uid, dir_id, context=None):
|
||||
""" Return the full path to this directory, in a list, root first
|
||||
"""
|
||||
if isinstance(dir_id, (tuple, list)):
|
||||
assert len(dir_id) == 1
|
||||
dir_id = dir_id[0]
|
||||
|
||||
def _parent(dir_id, path):
|
||||
parent=self.browse(cr, uid, dir_id)
|
||||
if parent.parent_id and not parent.ressource_parent_type_id:
|
||||
_parent(parent.parent_id.id,path)
|
||||
path.append(parent.name)
|
||||
else:
|
||||
path.append(parent.name)
|
||||
return path
|
||||
path = []
|
||||
_parent(dir_id, path)
|
||||
return path
|
||||
|
||||
def _check_recursion(self, cr, uid, ids, context=None):
|
||||
level = 100
|
||||
while len(ids):
|
||||
cr.execute('select distinct parent_id from document_directory where id in ('+','.join(map(str,ids))+')')
|
||||
ids = filter(None, map(lambda x:x[0], cr.fetchall()))
|
||||
if not level:
|
||||
return False
|
||||
level -= 1
|
||||
return True
|
||||
|
||||
_constraints = [
|
||||
(_check_recursion, 'Error! You cannot create recursive directories.', ['parent_id'])
|
||||
]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(document_directory, self).__init__(*args, **kwargs)
|
||||
|
||||
def onchange_content_id(self, cr, uid, ids, ressource_type_id):
|
||||
return {}
|
||||
|
||||
"""
|
||||
PRE:
|
||||
uri: of the form "Sales Order/SO001"
|
||||
PORT:
|
||||
uri
|
||||
object: the object.directory or object.directory.content
|
||||
object2: the other object linked (if object.directory.content)
|
||||
"""
|
||||
def get_object(self, cr, uid, uri, context=None):
|
||||
""" Return a node object for the given uri.
|
||||
This fn merely passes the call to node_context
|
||||
"""
|
||||
|
||||
return nodes.get_node_context(cr, uid, context).get_uri(cr, uri)
|
||||
|
||||
def get_node_class(self, cr, uid, ids, dbro=None, dynamic=False, context=None):
|
||||
"""Retrieve the class of nodes for this directory
|
||||
|
||||
This function can be overriden by inherited classes ;)
|
||||
@param dbro The browse object, if caller already has it
|
||||
"""
|
||||
if dbro is None:
|
||||
dbro = self.browse(cr, uid, ids, context=context)
|
||||
|
||||
if dynamic:
|
||||
return nodes.node_res_obj
|
||||
elif dbro.type == 'directory':
|
||||
return nodes.node_dir
|
||||
elif dbro.type == 'ressource':
|
||||
return nodes.node_res_dir
|
||||
else:
|
||||
raise ValueError("dir node for %s type.", dbro.type)
|
||||
|
||||
def _prepare_context(self, cr, uid, nctx, context=None):
|
||||
""" Fill nctx with properties for this database
|
||||
@param nctx instance of nodes.node_context, to be filled
|
||||
@param context ORM context (dict) for us
|
||||
|
||||
Note that this function is called *without* a list of ids,
|
||||
it should behave the same for the whole database (based on the
|
||||
ORM instance of document.directory).
|
||||
|
||||
Some databases may override this and attach properties to the
|
||||
node_context. See WebDAV, CalDAV.
|
||||
"""
|
||||
return
|
||||
|
||||
def get_dir_permissions(self, cr, uid, ids, context=None):
|
||||
"""Check what permission user 'uid' has on directory 'id'
|
||||
"""
|
||||
assert len(ids) == 1
|
||||
|
||||
res = 0
|
||||
for pperms in [('read', 5), ('write', 2), ('unlink', 8)]:
|
||||
try:
|
||||
self.check_access_rule(cr, uid, ids, pperms[0], context=context)
|
||||
res |= pperms[1]
|
||||
except except_orm:
|
||||
pass
|
||||
return res
|
||||
|
||||
def _locate_child(self, cr, uid, root_id, uri, nparent, ncontext):
|
||||
""" try to locate the node in uri,
|
||||
Return a tuple (node_dir, remaining_path)
|
||||
"""
|
||||
return (nodes.node_database(context=ncontext), uri)
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if not default:
|
||||
default ={}
|
||||
name = self.read(cr, uid, [id])[0]['name']
|
||||
default.update(name=_("%s (copy)") % (name))
|
||||
return super(document_directory,self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def _check_duplication(self, cr, uid, vals, ids=None, op='create'):
|
||||
name=vals.get('name',False)
|
||||
parent_id=vals.get('parent_id',False)
|
||||
ressource_parent_type_id=vals.get('ressource_parent_type_id',False)
|
||||
ressource_id=vals.get('ressource_id',0)
|
||||
if op=='write':
|
||||
for directory in self.browse(cr, uid, ids):
|
||||
if not name:
|
||||
name=directory.name
|
||||
if not parent_id:
|
||||
parent_id=directory.parent_id and directory.parent_id.id or False
|
||||
# TODO fix algo
|
||||
if not ressource_parent_type_id:
|
||||
ressource_parent_type_id=directory.ressource_parent_type_id and directory.ressource_parent_type_id.id or False
|
||||
if not ressource_id:
|
||||
ressource_id=directory.ressource_id and directory.ressource_id or 0
|
||||
res=self.search(cr,uid,[('id','<>',directory.id),('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
|
||||
if len(res):
|
||||
return False
|
||||
if op=='create':
|
||||
res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
|
||||
if len(res):
|
||||
return False
|
||||
return True
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if not self._check_duplication(cr, uid, vals, ids, op='write'):
|
||||
raise osv.except_osv(_('ValidateError'), _('Directory name must be unique!'))
|
||||
return super(document_directory,self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if not self._check_duplication(cr, uid, vals):
|
||||
raise osv.except_osv(_('ValidateError'), _('Directory name must be unique!'))
|
||||
newname = vals.get('name',False)
|
||||
if newname:
|
||||
for illeg in ('/', '@', '$', '#'):
|
||||
if illeg in newname:
|
||||
raise osv.except_osv(_('ValidateError'), _('Directory name contains special characters!'))
|
||||
return super(document_directory,self).create(cr, uid, vals, context)
|
||||
|
||||
# TODO def unlink(...
|
||||
|
||||
document_directory()
|
||||
|
||||
class document_directory_dctx(osv.osv):
|
||||
""" In order to evaluate dynamic folders, child items could have a limiting
|
||||
domain expression. For that, their parents will export a context where useful
|
||||
information will be passed on.
|
||||
If you define sth like "s_id" = "this.id" at a folder iterating over sales, its
|
||||
children could have a domain like [('sale_id', = ,dctx_s_id )]
|
||||
This system should be used recursively, that is, parent dynamic context will be
|
||||
appended to all children down the tree.
|
||||
"""
|
||||
_name = 'document.directory.dctx'
|
||||
_description = 'Directory Dynamic Context'
|
||||
_columns = {
|
||||
'dir_id': fields.many2one('document.directory', 'Directory', required=True, ondelete="cascade"),
|
||||
'field': fields.char('Field', size=20, required=True, select=1, help="The name of the field. Note that the prefix \"dctx_\" will be prepended to what is typed here."),
|
||||
'expr': fields.char('Expression', size=64, required=True, help="A python expression used to evaluate the field.\n" + \
|
||||
"You can use 'dir_id' for current dir, 'res_id', 'res_model' as a reference to the current record, in dynamic folders"),
|
||||
}
|
||||
|
||||
document_directory_dctx()
|
||||
|
||||
|
||||
class document_directory_node(osv.osv):
|
||||
_inherit = 'process.node'
|
||||
_columns = {
|
||||
'directory_id': fields.many2one('document.directory', 'Document directory', ondelete="set null"),
|
||||
}
|
||||
document_directory_node()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,786 +0,0 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
#
|
||||
# Copyright (C) P. Christeas, 2009, all rights reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
import os
|
||||
from openerp import tools
|
||||
import base64
|
||||
import errno
|
||||
import logging
|
||||
import shutil
|
||||
from StringIO import StringIO
|
||||
import psycopg2
|
||||
from openerp.tools.misc import ustr
|
||||
from openerp.tools.translate import _
|
||||
from openerp.osv.orm import except_orm
|
||||
import random
|
||||
import string
|
||||
from openerp import pooler
|
||||
import nodes
|
||||
from content_index import cntIndex
|
||||
_logger = logging.getLogger(__name__)
|
||||
DMS_ROOT_PATH = tools.config.get('document_path', os.path.join(tools.config.get('root_path'), 'filestore'))
|
||||
|
||||
|
||||
""" The algorithm of data storage
|
||||
|
||||
We have to consider 3 cases of data /retrieval/:
|
||||
Given (context,path) we need to access the file (aka. node).
|
||||
given (directory, context), we need one of its children (for listings, views)
|
||||
given (ir.attachment, context), we need its data and metadata (node).
|
||||
|
||||
For data /storage/ we have the cases:
|
||||
Have (ir.attachment, context), we modify the file (save, update, rename etc).
|
||||
Have (directory, context), we create a file.
|
||||
Have (path, context), we create or modify a file.
|
||||
|
||||
Note that in all above cases, we don't explicitly choose the storage media,
|
||||
but always require a context to be present.
|
||||
|
||||
Note that a node will not always have a corresponding ir.attachment. Dynamic
|
||||
nodes, for once, won't. Their metadata will be computed by the parent storage
|
||||
media + directory.
|
||||
|
||||
The algorithm says that in any of the above cases, our first goal is to locate
|
||||
the node for any combination of search criteria. It would be wise NOT to
|
||||
represent each node in the path (like node[/] + node[/dir1] + node[/dir1/dir2])
|
||||
but directly jump to the end node (like node[/dir1/dir2]) whenever possible.
|
||||
|
||||
We also contain all the parenting loop code in one function. This is intentional,
|
||||
because one day this will be optimized in the db (Pg 8.4).
|
||||
|
||||
|
||||
"""
|
||||
|
||||
def random_name():
|
||||
random.seed()
|
||||
d = [random.choice(string.ascii_letters) for x in xrange(10) ]
|
||||
name = "".join(d)
|
||||
return name
|
||||
|
||||
INVALID_CHARS = {'*':str(hash('*')), '|':str(hash('|')) , "\\":str(hash("\\")), '/':'__', ':':str(hash(':')), '"':str(hash('"')), '<':str(hash('<')) , '>':str(hash('>')) , '?':str(hash('?'))}
|
||||
|
||||
|
||||
def create_directory(path):
|
||||
dir_name = random_name()
|
||||
path = os.path.join(path, dir_name)
|
||||
os.makedirs(path)
|
||||
return dir_name
|
||||
|
||||
class nodefd_file(nodes.node_descriptor):
|
||||
""" A descriptor to a real file
|
||||
|
||||
Inheriting directly from file doesn't work, since file exports
|
||||
some read-only attributes (like 'name') that we don't like.
|
||||
"""
|
||||
def __init__(self, parent, path, mode):
|
||||
nodes.node_descriptor.__init__(self, parent)
|
||||
self.__file = open(path, mode)
|
||||
if mode.endswith('b'):
|
||||
mode = mode[:-1]
|
||||
self.mode = mode
|
||||
self._size = os.stat(path).st_size
|
||||
|
||||
for attr in ('closed', 'read', 'write', 'seek', 'tell', 'next'):
|
||||
setattr(self,attr, getattr(self.__file, attr))
|
||||
|
||||
def size(self):
|
||||
return self._size
|
||||
|
||||
def __iter__(self):
|
||||
return self
|
||||
|
||||
def close(self):
|
||||
# TODO: locking in init, close()
|
||||
fname = self.__file.name
|
||||
self.__file.close()
|
||||
|
||||
if self.mode in ('w', 'w+', 'r+'):
|
||||
par = self._get_parent()
|
||||
cr = pooler.get_db(par.context.dbname).cursor()
|
||||
icont = ''
|
||||
mime = ''
|
||||
filename = par.path
|
||||
if isinstance(filename, (tuple, list)):
|
||||
filename = '/'.join(filename)
|
||||
|
||||
try:
|
||||
mime, icont = cntIndex.doIndex(None, filename=filename,
|
||||
content_type=None, realfname=fname)
|
||||
except Exception:
|
||||
_logger.debug('Cannot index file:', exc_info=True)
|
||||
pass
|
||||
|
||||
try:
|
||||
icont_u = ustr(icont)
|
||||
except UnicodeError:
|
||||
icont_u = ''
|
||||
|
||||
try:
|
||||
fsize = os.stat(fname).st_size
|
||||
cr.execute("UPDATE ir_attachment " \
|
||||
" SET index_content = %s, file_type = %s, " \
|
||||
" file_size = %s " \
|
||||
" WHERE id = %s",
|
||||
(icont_u, mime, fsize, par.file_id))
|
||||
par.content_length = fsize
|
||||
par.content_type = mime
|
||||
cr.commit()
|
||||
cr.close()
|
||||
except Exception:
|
||||
_logger.warning('Cannot save file indexed content:', exc_info=True)
|
||||
|
||||
elif self.mode in ('a', 'a+' ):
|
||||
try:
|
||||
par = self._get_parent()
|
||||
cr = pooler.get_db(par.context.dbname).cursor()
|
||||
fsize = os.stat(fname).st_size
|
||||
cr.execute("UPDATE ir_attachment SET file_size = %s " \
|
||||
" WHERE id = %s",
|
||||
(fsize, par.file_id))
|
||||
par.content_length = fsize
|
||||
cr.commit()
|
||||
cr.close()
|
||||
except Exception:
|
||||
_logger.warning('Cannot save file appended content:', exc_info=True)
|
||||
|
||||
|
||||
|
||||
class nodefd_db(StringIO, nodes.node_descriptor):
|
||||
""" A descriptor to db data
|
||||
"""
|
||||
def __init__(self, parent, ira_browse, mode):
|
||||
nodes.node_descriptor.__init__(self, parent)
|
||||
self._size = 0L
|
||||
if mode.endswith('b'):
|
||||
mode = mode[:-1]
|
||||
|
||||
if mode in ('r', 'r+'):
|
||||
cr = ira_browse._cr # reuse the cursor of the browse object, just now
|
||||
cr.execute('SELECT db_datas FROM ir_attachment WHERE id = %s',(ira_browse.id,))
|
||||
data = cr.fetchone()[0]
|
||||
if data:
|
||||
self._size = len(data)
|
||||
StringIO.__init__(self, data)
|
||||
elif mode in ('w', 'w+'):
|
||||
StringIO.__init__(self, None)
|
||||
# at write, we start at 0 (= overwrite), but have the original
|
||||
# data available, in case of a seek()
|
||||
elif mode == 'a':
|
||||
StringIO.__init__(self, None)
|
||||
else:
|
||||
_logger.error("Incorrect mode %s is specified.", mode)
|
||||
raise IOError(errno.EINVAL, "Invalid file mode.")
|
||||
self.mode = mode
|
||||
|
||||
def size(self):
|
||||
return self._size
|
||||
|
||||
def close(self):
|
||||
# we now open a *separate* cursor, to update the data.
|
||||
# FIXME: this may be improved, for concurrency handling
|
||||
par = self._get_parent()
|
||||
# uid = par.context.uid
|
||||
cr = pooler.get_db(par.context.dbname).cursor()
|
||||
try:
|
||||
if self.mode in ('w', 'w+', 'r+'):
|
||||
data = self.getvalue()
|
||||
icont = ''
|
||||
mime = ''
|
||||
filename = par.path
|
||||
if isinstance(filename, (tuple, list)):
|
||||
filename = '/'.join(filename)
|
||||
|
||||
try:
|
||||
mime, icont = cntIndex.doIndex(data, filename=filename,
|
||||
content_type=None, realfname=None)
|
||||
except Exception:
|
||||
_logger.debug('Cannot index file:', exc_info=True)
|
||||
pass
|
||||
|
||||
try:
|
||||
icont_u = ustr(icont)
|
||||
except UnicodeError:
|
||||
icont_u = ''
|
||||
|
||||
out = psycopg2.Binary(data)
|
||||
cr.execute("UPDATE ir_attachment " \
|
||||
"SET db_datas = %s, file_size=%s, " \
|
||||
" index_content= %s, file_type=%s " \
|
||||
" WHERE id = %s",
|
||||
(out, len(data), icont_u, mime, par.file_id))
|
||||
elif self.mode == 'a':
|
||||
data = self.getvalue()
|
||||
out = psycopg2.Binary(data)
|
||||
cr.execute("UPDATE ir_attachment " \
|
||||
"SET db_datas = COALESCE(db_datas,'') || %s, " \
|
||||
" file_size = COALESCE(file_size, 0) + %s " \
|
||||
" WHERE id = %s",
|
||||
(out, len(data), par.file_id))
|
||||
cr.commit()
|
||||
except Exception:
|
||||
_logger.exception('Cannot update db file #%d for close.', par.file_id)
|
||||
raise
|
||||
finally:
|
||||
cr.close()
|
||||
StringIO.close(self)
|
||||
|
||||
class nodefd_db64(StringIO, nodes.node_descriptor):
|
||||
""" A descriptor to db data, base64 (the old way)
|
||||
|
||||
It stores the data in base64 encoding at the db. Not optimal, but
|
||||
the transparent compression of Postgres will save the day.
|
||||
"""
|
||||
def __init__(self, parent, ira_browse, mode):
|
||||
nodes.node_descriptor.__init__(self, parent)
|
||||
self._size = 0L
|
||||
if mode.endswith('b'):
|
||||
mode = mode[:-1]
|
||||
|
||||
if mode in ('r', 'r+'):
|
||||
data = base64.decodestring(ira_browse.db_datas)
|
||||
if data:
|
||||
self._size = len(data)
|
||||
StringIO.__init__(self, data)
|
||||
elif mode in ('w', 'w+'):
|
||||
StringIO.__init__(self, None)
|
||||
# at write, we start at 0 (= overwrite), but have the original
|
||||
# data available, in case of a seek()
|
||||
elif mode == 'a':
|
||||
StringIO.__init__(self, None)
|
||||
else:
|
||||
_logger.error("Incorrect mode %s is specified.", mode)
|
||||
raise IOError(errno.EINVAL, "Invalid file mode.")
|
||||
self.mode = mode
|
||||
|
||||
def size(self):
|
||||
return self._size
|
||||
|
||||
def close(self):
|
||||
# we now open a *separate* cursor, to update the data.
|
||||
# FIXME: this may be improved, for concurrency handling
|
||||
par = self._get_parent()
|
||||
# uid = par.context.uid
|
||||
cr = pooler.get_db(par.context.dbname).cursor()
|
||||
try:
|
||||
if self.mode in ('w', 'w+', 'r+'):
|
||||
data = self.getvalue()
|
||||
icont = ''
|
||||
mime = ''
|
||||
filename = par.path
|
||||
if isinstance(filename, (tuple, list)):
|
||||
filename = '/'.join(filename)
|
||||
|
||||
try:
|
||||
mime, icont = cntIndex.doIndex(data, filename=filename,
|
||||
content_type=None, realfname=None)
|
||||
except Exception:
|
||||
self.logger.debug('Cannot index file:', exc_info=True)
|
||||
pass
|
||||
|
||||
try:
|
||||
icont_u = ustr(icont)
|
||||
except UnicodeError:
|
||||
icont_u = ''
|
||||
|
||||
cr.execute('UPDATE ir_attachment SET db_datas = %s::bytea, file_size=%s, ' \
|
||||
'index_content = %s, file_type = %s ' \
|
||||
'WHERE id = %s',
|
||||
(base64.encodestring(data), len(data), icont_u, mime, par.file_id))
|
||||
elif self.mode == 'a':
|
||||
data = self.getvalue()
|
||||
# Yes, we're obviously using the wrong representation for storing our
|
||||
# data as base64-in-bytea
|
||||
cr.execute("UPDATE ir_attachment " \
|
||||
"SET db_datas = encode( (COALESCE(decode(encode(db_datas,'escape'),'base64'),'') || decode(%s, 'base64')),'base64')::bytea , " \
|
||||
" file_size = COALESCE(file_size, 0) + %s " \
|
||||
" WHERE id = %s",
|
||||
(base64.encodestring(data), len(data), par.file_id))
|
||||
cr.commit()
|
||||
except Exception:
|
||||
_logger.exception('Cannot update db file #%d for close.', par.file_id)
|
||||
raise
|
||||
finally:
|
||||
cr.close()
|
||||
StringIO.close(self)
|
||||
|
||||
class document_storage(osv.osv):
|
||||
""" The primary object for data storage.
|
||||
Each instance of this object is a storage media, in which our application
|
||||
can store contents. The object here controls the behaviour of the storage
|
||||
media.
|
||||
The referring document.directory-ies will control the placement of data
|
||||
into the storage.
|
||||
|
||||
It is a bad idea to have multiple document.storage objects pointing to
|
||||
the same tree of filesystem storage.
|
||||
"""
|
||||
_name = 'document.storage'
|
||||
_description = 'Storage Media'
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, select=1),
|
||||
'write_date': fields.datetime('Date Modified', readonly=True),
|
||||
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
|
||||
'create_date': fields.datetime('Date Created', readonly=True),
|
||||
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
|
||||
'user_id': fields.many2one('res.users', 'Owner'),
|
||||
'group_ids': fields.many2many('res.groups', 'document_storage_group_rel', 'item_id', 'group_id', 'Groups'),
|
||||
'dir_ids': fields.one2many('document.directory', 'parent_id', 'Directories'),
|
||||
'type': fields.selection([('db', 'Database'), ('filestore', 'Internal File storage'),
|
||||
('realstore','External file storage'),], 'Type', required=True),
|
||||
'path': fields.char('Path', size=250, select=1, help="For file storage, the root path of the storage"),
|
||||
'online': fields.boolean('Online', help="If not checked, media is currently offline and its contents not available"),
|
||||
'readonly': fields.boolean('Read Only', help="If set, media is for reading only"),
|
||||
}
|
||||
|
||||
def _get_rootpath(self, cr, uid, context=None):
|
||||
return os.path.join(DMS_ROOT_PATH, cr.dbname)
|
||||
|
||||
_defaults = {
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
'online': lambda *args: True,
|
||||
'readonly': lambda *args: False,
|
||||
# Note: the defaults below should only be used ONCE for the default
|
||||
# storage media. All other times, we should create different paths at least.
|
||||
'type': lambda *args: 'filestore',
|
||||
'path': _get_rootpath,
|
||||
}
|
||||
_sql_constraints = [
|
||||
# SQL note: a path = NULL doesn't have to be unique.
|
||||
('path_uniq', 'UNIQUE(type,path)', "The storage path must be unique!")
|
||||
]
|
||||
|
||||
def __get_random_fname(self, path):
|
||||
flag = None
|
||||
# This can be improved
|
||||
if os.path.isdir(path):
|
||||
for dirs in os.listdir(path):
|
||||
if os.path.isdir(os.path.join(path, dirs)) and len(os.listdir(os.path.join(path, dirs))) < 4000:
|
||||
flag = dirs
|
||||
break
|
||||
flag = flag or create_directory(path)
|
||||
filename = random_name()
|
||||
return os.path.join(flag, filename)
|
||||
|
||||
def __prepare_realpath(self, cr, file_node, ira, store_path, do_create=True):
|
||||
""" Cleanup path for realstore, create dirs if needed
|
||||
|
||||
@param file_node the node
|
||||
@param ira ir.attachment browse of the file_node
|
||||
@param store_path the path of the parent storage object, list
|
||||
@param do_create create the directories, if needed
|
||||
|
||||
@return tuple(path "/var/filestore/real/dir/", npath ['dir','fname.ext'] )
|
||||
"""
|
||||
file_node.fix_ppath(cr, ira)
|
||||
npath = file_node.full_path() or []
|
||||
# npath may contain empty elements, for root directory etc.
|
||||
npath = filter(lambda x: x is not None, npath)
|
||||
|
||||
# if self._debug:
|
||||
# self._logger.debug('Npath: %s', npath)
|
||||
for n in npath:
|
||||
if n == '..':
|
||||
raise ValueError("Invalid '..' element in path.")
|
||||
for ch in ('*', '|', "\\", '/', ':', '"', '<', '>', '?',):
|
||||
if ch in n:
|
||||
raise ValueError("Invalid char %s in path %s." %(ch, n))
|
||||
dpath = [store_path,]
|
||||
dpath += npath[:-1]
|
||||
path = os.path.join(*dpath)
|
||||
if not os.path.isdir(path):
|
||||
_logger.debug("Create dirs: %s", path)
|
||||
os.makedirs(path)
|
||||
return path, npath
|
||||
|
||||
def get_data(self, cr, uid, id, file_node, context=None, fil_obj=None):
|
||||
""" retrieve the contents of some file_node having storage_id = id
|
||||
optionally, fil_obj could point to the browse object of the file
|
||||
(ir.attachment)
|
||||
"""
|
||||
boo = self.browse(cr, uid, id, context=context)
|
||||
if not boo.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if fil_obj:
|
||||
ira = fil_obj
|
||||
else:
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
return self.__get_data_3(cr, uid, boo, ira, context)
|
||||
|
||||
def get_file(self, cr, uid, id, file_node, mode, context=None):
|
||||
""" Return a file-like object for the contents of some node
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
boo = self.browse(cr, uid, id, context=context)
|
||||
if not boo.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if boo.readonly and mode not in ('r', 'rb'):
|
||||
raise IOError(errno.EPERM, "Readonly medium.")
|
||||
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
if boo.type == 'filestore':
|
||||
if not ira.store_fname:
|
||||
# On a migrated db, some files may have the wrong storage type
|
||||
# try to fix their directory.
|
||||
if mode in ('r','r+'):
|
||||
if ira.file_size:
|
||||
_logger.warning( "ir.attachment #%d does not have a filename, but is at filestore. This should get fixed." % ira.id)
|
||||
raise IOError(errno.ENOENT, 'No file can be located.')
|
||||
else:
|
||||
store_fname = self.__get_random_fname(boo.path)
|
||||
cr.execute('UPDATE ir_attachment SET store_fname = %s WHERE id = %s',
|
||||
(store_fname, ira.id))
|
||||
fpath = os.path.join(boo.path, store_fname)
|
||||
else:
|
||||
fpath = os.path.join(boo.path, ira.store_fname)
|
||||
return nodefd_file(file_node, path=fpath, mode=mode)
|
||||
|
||||
elif boo.type == 'db':
|
||||
# TODO: we need a better api for large files
|
||||
return nodefd_db(file_node, ira_browse=ira, mode=mode)
|
||||
|
||||
elif boo.type == 'db64':
|
||||
return nodefd_db64(file_node, ira_browse=ira, mode=mode)
|
||||
|
||||
elif boo.type == 'realstore':
|
||||
path, npath = self.__prepare_realpath(cr, file_node, ira, boo.path,
|
||||
do_create = (mode[0] in ('w','a')) )
|
||||
fpath = os.path.join(path, npath[-1])
|
||||
if (not os.path.exists(fpath)) and mode[0] == 'r':
|
||||
raise IOError("File not found: %s." % fpath)
|
||||
elif mode[0] in ('w', 'a') and not ira.store_fname:
|
||||
store_fname = os.path.join(*npath)
|
||||
cr.execute('UPDATE ir_attachment SET store_fname = %s WHERE id = %s',
|
||||
(store_fname, ira.id))
|
||||
return nodefd_file(file_node, path=fpath, mode=mode)
|
||||
|
||||
elif boo.type == 'virtual':
|
||||
raise ValueError('Virtual storage does not support static file(s).')
|
||||
|
||||
else:
|
||||
raise TypeError("No %s storage." % boo.type)
|
||||
|
||||
def __get_data_3(self, cr, uid, boo, ira, context):
|
||||
if boo.type == 'filestore':
|
||||
if not ira.store_fname:
|
||||
# On a migrated db, some files may have the wrong storage type
|
||||
# try to fix their directory.
|
||||
if ira.file_size:
|
||||
_logger.warning( "ir.attachment #%d does not have a filename, but is at filestore. This should get fixed." % ira.id)
|
||||
return None
|
||||
fpath = os.path.join(boo.path, ira.store_fname)
|
||||
return file(fpath, 'rb').read()
|
||||
elif boo.type == 'db64':
|
||||
# TODO: we need a better api for large files
|
||||
if ira.db_datas:
|
||||
out = base64.decodestring(ira.db_datas)
|
||||
else:
|
||||
out = ''
|
||||
return out
|
||||
elif boo.type == 'db':
|
||||
# We do an explicit query, to avoid type transformations.
|
||||
cr.execute('SELECT db_datas FROM ir_attachment WHERE id = %s', (ira.id,))
|
||||
res = cr.fetchone()
|
||||
if res:
|
||||
return res[0]
|
||||
else:
|
||||
return ''
|
||||
elif boo.type == 'realstore':
|
||||
if not ira.store_fname:
|
||||
# On a migrated db, some files may have the wrong storage type
|
||||
# try to fix their directory.
|
||||
if ira.file_size:
|
||||
_logger.warning("ir.attachment #%d does not have a filename, trying the name." %ira.id)
|
||||
# sfname = ira.name
|
||||
fpath = os.path.join(boo.path,ira.store_fname or ira.name)
|
||||
if os.path.exists(fpath):
|
||||
return file(fpath,'rb').read()
|
||||
elif not ira.store_fname:
|
||||
return None
|
||||
else:
|
||||
raise IOError(errno.ENOENT, "File not found: %s." % fpath)
|
||||
|
||||
elif boo.type == 'virtual':
|
||||
raise ValueError('Virtual storage does not support static file(s).')
|
||||
|
||||
else:
|
||||
raise TypeError("No %s storage!" % boo.type)
|
||||
|
||||
def set_data(self, cr, uid, id, file_node, data, context=None, fil_obj=None):
|
||||
""" store the data.
|
||||
This function MUST be used from an ir.attachment. It wouldn't make sense
|
||||
to store things persistently for other types (dynamic).
|
||||
"""
|
||||
boo = self.browse(cr, uid, id, context=context)
|
||||
if fil_obj:
|
||||
ira = fil_obj
|
||||
else:
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
|
||||
if not boo.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if boo.readonly:
|
||||
raise IOError(errno.EPERM, "Readonly medium.")
|
||||
|
||||
_logger.debug( "Store data for ir.attachment #%d." % ira.id)
|
||||
store_fname = None
|
||||
fname = None
|
||||
if boo.type == 'filestore':
|
||||
path = boo.path
|
||||
try:
|
||||
store_fname = self.__get_random_fname(path)
|
||||
fname = os.path.join(path, store_fname)
|
||||
fp = open(fname, 'wb')
|
||||
try:
|
||||
fp.write(data)
|
||||
finally:
|
||||
fp.close()
|
||||
_logger.debug( "Saved data to %s." % fname)
|
||||
filesize = len(data) # os.stat(fname).st_size
|
||||
|
||||
# TODO Here, an old file would be left hanging.
|
||||
|
||||
except Exception, e:
|
||||
_logger.warning( "Cannot save data to %s.", path, exc_info=True)
|
||||
raise except_orm(_('Error!'), str(e))
|
||||
elif boo.type == 'db':
|
||||
filesize = len(data)
|
||||
# will that work for huge data?
|
||||
out = psycopg2.Binary(data)
|
||||
cr.execute('UPDATE ir_attachment SET db_datas = %s WHERE id = %s',
|
||||
(out, file_node.file_id))
|
||||
elif boo.type == 'db64':
|
||||
filesize = len(data)
|
||||
# will that work for huge data?
|
||||
out = base64.encodestring(data)
|
||||
cr.execute('UPDATE ir_attachment SET db_datas = %s WHERE id = %s',
|
||||
(out, file_node.file_id))
|
||||
elif boo.type == 'realstore':
|
||||
try:
|
||||
path, npath = self.__prepare_realpath(cr, file_node, ira, boo.path, do_create=True)
|
||||
fname = os.path.join(path, npath[-1])
|
||||
fp = open(fname,'wb')
|
||||
try:
|
||||
fp.write(data)
|
||||
finally:
|
||||
fp.close()
|
||||
_logger.debug("Saved data to %s.", fname)
|
||||
filesize = len(data) # os.stat(fname).st_size
|
||||
store_fname = os.path.join(*npath)
|
||||
# TODO Here, an old file would be left hanging.
|
||||
except Exception,e :
|
||||
_logger.warning("Cannot save data.", exc_info=True)
|
||||
raise except_orm(_('Error!'), str(e))
|
||||
|
||||
elif boo.type == 'virtual':
|
||||
raise ValueError('Virtual storage does not support static file(s).')
|
||||
|
||||
else:
|
||||
raise TypeError("No %s storage!" % boo.type)
|
||||
|
||||
# 2nd phase: store the metadata
|
||||
try:
|
||||
icont = ''
|
||||
mime = ira.file_type
|
||||
if not mime:
|
||||
mime = ""
|
||||
try:
|
||||
mime, icont = cntIndex.doIndex(data, ira.datas_fname,
|
||||
ira.file_type or None, fname)
|
||||
except Exception:
|
||||
_logger.debug('Cannot index file.', exc_info=True)
|
||||
pass
|
||||
|
||||
try:
|
||||
icont_u = ustr(icont)
|
||||
except UnicodeError:
|
||||
icont_u = ''
|
||||
|
||||
# a hack: /assume/ that the calling write operation will not try
|
||||
# to write the fname and size, and update them in the db concurrently.
|
||||
# We cannot use a write() here, because we are already in one.
|
||||
cr.execute('UPDATE ir_attachment SET store_fname = %s, file_size = %s, index_content = %s, file_type = %s WHERE id = %s',
|
||||
(store_fname, filesize, icont_u, mime, file_node.file_id))
|
||||
file_node.content_length = filesize
|
||||
file_node.content_type = mime
|
||||
return True
|
||||
except Exception, e :
|
||||
self._logger.warning("Cannot save data.", exc_info=True)
|
||||
# should we really rollback once we have written the actual data?
|
||||
# at the db case (only), that rollback would be safe
|
||||
raise except_orm(_('Error at doc write!'), str(e))
|
||||
|
||||
def prepare_unlink(self, cr, uid, storage_bo, fil_bo):
|
||||
""" Before we unlink a file (fil_boo), prepare the list of real
|
||||
files that have to be removed, too. """
|
||||
|
||||
if not storage_bo.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if storage_bo.readonly:
|
||||
raise IOError(errno.EPERM, "Readonly medium.")
|
||||
|
||||
if storage_bo.type == 'filestore':
|
||||
fname = fil_bo.store_fname
|
||||
if not fname:
|
||||
return None
|
||||
path = storage_bo.path
|
||||
return (storage_bo.id, 'file', os.path.join(path, fname))
|
||||
elif storage_bo.type in ('db', 'db64'):
|
||||
return None
|
||||
elif storage_bo.type == 'realstore':
|
||||
fname = fil_bo.store_fname
|
||||
if not fname:
|
||||
return None
|
||||
path = storage_bo.path
|
||||
return ( storage_bo.id, 'file', os.path.join(path, fname))
|
||||
else:
|
||||
raise TypeError("No %s storage!" % storage_bo.type)
|
||||
|
||||
def do_unlink(self, cr, uid, unres):
|
||||
for id, ktype, fname in unres:
|
||||
if ktype == 'file':
|
||||
try:
|
||||
os.unlink(fname)
|
||||
except Exception:
|
||||
_logger.warning("Cannot remove file %s, please remove it manually.", fname, exc_info=True)
|
||||
else:
|
||||
_logger.warning("Unlink unknown key %s." % ktype)
|
||||
|
||||
return True
|
||||
|
||||
def simple_rename(self, cr, uid, file_node, new_name, context=None):
|
||||
""" A preparation for a file rename.
|
||||
It will not affect the database, but merely check and perhaps
|
||||
rename the realstore file.
|
||||
|
||||
@return the dict of values that can safely be be stored in the db.
|
||||
"""
|
||||
sbro = self.browse(cr, uid, file_node.storage_id, context=context)
|
||||
assert sbro, "The file #%d didn't provide storage" % file_node.file_id
|
||||
|
||||
if not sbro.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if sbro.readonly:
|
||||
raise IOError(errno.EPERM, "Readonly medium.")
|
||||
|
||||
if sbro.type in ('filestore', 'db', 'db64'):
|
||||
# nothing to do for a rename, allow to change the db field
|
||||
return { 'name': new_name, 'datas_fname': new_name }
|
||||
elif sbro.type == 'realstore':
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
|
||||
path, npath = self.__prepare_realpath(cr, file_node, ira, sbro.path, do_create=False)
|
||||
fname = ira.store_fname
|
||||
|
||||
if not fname:
|
||||
_logger.warning("Trying to rename a non-stored file.")
|
||||
if fname != os.path.join(*npath):
|
||||
_logger.warning("Inconsistency to realstore: %s != %s." , fname, repr(npath))
|
||||
|
||||
oldpath = os.path.join(path, npath[-1])
|
||||
newpath = os.path.join(path, new_name)
|
||||
os.rename(oldpath, newpath)
|
||||
store_path = npath[:-1]
|
||||
store_path.append(new_name)
|
||||
store_fname = os.path.join(*store_path)
|
||||
return { 'name': new_name, 'datas_fname': new_name, 'store_fname': store_fname }
|
||||
else:
|
||||
raise TypeError("No %s storage!" % sbro.type)
|
||||
|
||||
def simple_move(self, cr, uid, file_node, ndir_bro, context=None):
|
||||
""" A preparation for a file move.
|
||||
It will not affect the database, but merely check and perhaps
|
||||
move the realstore file.
|
||||
|
||||
@param ndir_bro a browse object of document.directory, where this
|
||||
file should move to.
|
||||
@return the dict of values that can safely be be stored in the db.
|
||||
"""
|
||||
sbro = self.browse(cr, uid, file_node.storage_id, context=context)
|
||||
assert sbro, "The file #%d didn't provide storage" % file_node.file_id
|
||||
|
||||
if not sbro.online:
|
||||
raise IOError(errno.EREMOTE, 'Medium offline.')
|
||||
|
||||
if sbro.readonly:
|
||||
raise IOError(errno.EPERM, "Readonly medium.")
|
||||
|
||||
par = ndir_bro
|
||||
psto = None
|
||||
while par:
|
||||
if par.storage_id:
|
||||
psto = par.storage_id.id
|
||||
break
|
||||
par = par.parent_id
|
||||
if file_node.storage_id != psto:
|
||||
_logger.debug('Cannot move file %r from %r to %r.', file_node, file_node.parent, ndir_bro.name)
|
||||
raise NotImplementedError('Cannot move file(s) between storage media.')
|
||||
|
||||
if sbro.type in ('filestore', 'db', 'db64'):
|
||||
# nothing to do for a rename, allow to change the db field
|
||||
return { 'parent_id': ndir_bro.id }
|
||||
elif sbro.type == 'realstore':
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
|
||||
path, opath = self.__prepare_realpath(cr, file_node, ira, sbro.path, do_create=False)
|
||||
fname = ira.store_fname
|
||||
|
||||
if not fname:
|
||||
_logger.warning("Trying to rename a non-stored file.")
|
||||
if fname != os.path.join(*opath):
|
||||
_logger.warning("Inconsistency to realstore: %s != %s." , fname, repr(opath))
|
||||
|
||||
oldpath = os.path.join(path, opath[-1])
|
||||
|
||||
npath = [sbro.path,] + (ndir_bro.get_full_path() or [])
|
||||
npath = filter(lambda x: x is not None, npath)
|
||||
newdir = os.path.join(*npath)
|
||||
if not os.path.isdir(newdir):
|
||||
_logger.debug("Must create dir %s.", newdir)
|
||||
os.makedirs(newdir)
|
||||
npath.append(opath[-1])
|
||||
newpath = os.path.join(*npath)
|
||||
|
||||
_logger.debug("Going to move %s from %s to %s.", opath[-1], oldpath, newpath)
|
||||
shutil.move(oldpath, newpath)
|
||||
|
||||
store_path = npath[1:] + [opath[-1],]
|
||||
store_fname = os.path.join(*store_path)
|
||||
|
||||
return { 'store_fname': store_fname }
|
||||
else:
|
||||
raise TypeError("No %s storage." % sbro.type)
|
||||
|
||||
|
||||
document_storage()
|
||||
|
||||
|
||||
#eof
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -3,64 +3,6 @@
|
|||
<data>
|
||||
<menuitem name="Document Management" id="menu_document_management_configuration" parent="knowledge.menu_document_configuration" sequence="1"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_document_storage_form">
|
||||
<field name="name">document.storage</field>
|
||||
<field name="model">document.storage</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Storage Media">
|
||||
<group col="4">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="type"/>
|
||||
<field name="user_id"/>
|
||||
<field name="online"/>
|
||||
<field name="readonly"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('type','in',['db', 'db64'])]}">
|
||||
<field name="path"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_document_storage_tree">
|
||||
<field name="name">document.storage</field>
|
||||
<field name="model">document.storage</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Storage Media" toolbar="1">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_document_storage_filter" model="ir.ui.view">
|
||||
<field name="name">Search View: Document Storage</field>
|
||||
<field name="model">document.storage</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Document Storage">
|
||||
<field name="name" string="Document Storage"/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_document_storage_form">
|
||||
<field name="name">Storage Media</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">document.storage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_document_storage_filter"/>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Storage Media"
|
||||
action="action_document_storage_form"
|
||||
id="menu_document_storage_media"
|
||||
groups="base.group_no_one"
|
||||
parent="menu_document_management_configuration"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_document_directory_form">
|
||||
<field name="name">document.directory</field>
|
||||
<field name="model">document.directory</field>
|
||||
|
@ -69,7 +11,6 @@
|
|||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="storage_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
|
@ -153,7 +94,6 @@
|
|||
<field name="type"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="storage_id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
</tree>
|
||||
|
@ -161,25 +101,23 @@
|
|||
</record>
|
||||
|
||||
<record id="view_document_directory_filter" model="ir.ui.view">
|
||||
<field name="name">Search View: Document Directory</field>
|
||||
<field name="model">document.directory</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Document Directory">
|
||||
<field name="name" string="Document Directory"/>
|
||||
<filter string="Static" domain="[('type','=','directory')]"/>
|
||||
<filter string="Resources" icon="terp-personal" domain="[('type','=','ressource')]"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="storage_id" />
|
||||
<field name="user_id" />
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Storage" domain="[]" icon="terp-accessories-archiver" context="{'group_by':'storage_id'}"/>
|
||||
<filter string="Company" domain="[]" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<field name="name">Search View: Document Directory</field>
|
||||
<field name="model">document.directory</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Document Directory">
|
||||
<field name="name" string="Document Directory"/>
|
||||
<filter string="Static" domain="[('type','=','directory')]"/>
|
||||
<filter string="Resources" icon="terp-personal" domain="[('type','=','ressource')]"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="user_id" />
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Company" domain="[]" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_document_directory_form">
|
||||
<field name="name">Directories</field>
|
||||
|
@ -268,10 +206,7 @@
|
|||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_attach_filter_inherit2" model="ir.ui.view">
|
||||
|
||||
<field name="name">IR Attachment2</field>
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="inherit_id" ref="base.view_attachment_search"/>
|
||||
|
@ -342,32 +277,6 @@
|
|||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_process_node_form_inherit1">
|
||||
<field name="name">process.node.form</field>
|
||||
<field name="model">process.node</field>
|
||||
<field name="inherit_id" ref="process.view_process_node_form"/>
|
||||
<field name="priority" eval="1"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="subflow_id" position="after">
|
||||
<field name="directory_id" string="Document Directory" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
|
||||
<newline/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_process_form_inherit1">
|
||||
<field name="name">process.process.form</field>
|
||||
<field name="model">process.process</field>
|
||||
<field name="inherit_id" ref="process.view_process_form"/>
|
||||
<field name="priority" eval="1"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="subflow_id" position="after">
|
||||
<field name="directory_id" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
|
||||
<newline/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id)]"
|
||||
context="{'default_partner_id': active_id}"
|
||||
id="act_res_partner_document" name="Related Documents"
|
||||
|
|
|
@ -7,13 +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-12-18 18:20+0000\n"
|
||||
"Last-Translator: Nicolas JEUDY <njeudy@tuxservices.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:51+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: document
|
||||
|
@ -557,7 +558,7 @@ msgstr "Inclure le Nom de l'Enregistrement"
|
|||
#. module: document
|
||||
#: field:ir.actions.report.xml,model_id:0
|
||||
msgid "Model Id"
|
||||
msgstr "Id du Modèle"
|
||||
msgstr "Identifiant du modèle"
|
||||
|
||||
#. module: document
|
||||
#: field:document.storage,online:0
|
||||
|
@ -877,7 +878,7 @@ msgstr "# de Fichiers"
|
|||
#. module: document
|
||||
#: view:document.storage:0
|
||||
msgid "Search Document Storage"
|
||||
msgstr "Chercher le Stockage du Fichier"
|
||||
msgstr "Chercher dans le stockage de fichiers"
|
||||
|
||||
#. module: document
|
||||
#: view:document.directory:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,9 +6,6 @@ access_document_directory_content_all,document.directory.content all,model_docum
|
|||
access_document_directory_content_group_document_manager,document.directory.content document manager,model_document_directory_content,base.group_system,1,1,1,1
|
||||
access_document_directory_content_type_group_document_manager,document.directory.content.type document manager,model_document_directory_content_type,base.group_system,1,1,1,1
|
||||
access_document_directory_content_type_group_system,document.directory.content.type group system,model_document_directory_content_type,base.group_user,1,0,0,0
|
||||
access_document_storage_group_document_manager,document.storage document manager,model_document_storage,base.group_system,1,1,1,1
|
||||
access_document_storage_group_system,document.storage group system,model_document_storage,base.group_user,1,0,0,0
|
||||
access_document_storage_group_user,document.storage group user,model_document_storage,base.group_document_user,1,1,1,1
|
||||
access_ir_attachment_group_user,ir.attachment user,base.model_ir_attachment,base.group_document_user,1,1,1,1
|
||||
access_ir_attachment_group_system,ir.attachment system,base.model_ir_attachment,base.group_system,1,0,0,0
|
||||
access_res_partner_group_user,res.partner user,base.model_res_partner,base.group_document_user,1,1,1,0
|
||||
|
|
|
|
@ -5,7 +5,6 @@
|
|||
-
|
||||
!record {model: 'document.directory', id: dir_partner_label}:
|
||||
name : "Partner Labels"
|
||||
storage_id : storage_default
|
||||
type : ressource
|
||||
content_ids:
|
||||
- name: "Label"
|
||||
|
@ -18,11 +17,10 @@
|
|||
id = self.write(cr, uid, [ref("dir_partner_label")], {'ressource_type_id' : ids[0]}, context)
|
||||
-
|
||||
In order to check static directory in OpenERP which is the real directory just like system's local folders,
|
||||
First I create a directory in OpenERP named "Directory 1" with storage as "Default File storage" and type as "Static Directory"
|
||||
First I create a directory in OpenERP named "Directory 1" with type as "Static Directory"
|
||||
-
|
||||
!record {model: 'document.directory', id: directory_1}:
|
||||
name : "Directory 1"
|
||||
storage_id : storage_default
|
||||
type : directory
|
||||
-
|
||||
In order to make a directory hierarchy in OpenERP I will make other static directory "Directory 2" and I put its Parent Item as "Directory 1",
|
||||
|
@ -30,7 +28,6 @@
|
|||
-
|
||||
!record {model: 'document.directory', id: directory_2}:
|
||||
name : "Directory 2"
|
||||
storage_id : storage_default
|
||||
type : directory
|
||||
parent_id : directory_1
|
||||
-
|
||||
|
|
|
@ -1,13 +1,3 @@
|
|||
-
|
||||
In order to test the document management I make sure the default installation has some storage.
|
||||
-
|
||||
!assert {model: document.storage, id: storage_default }:
|
||||
- id != False
|
||||
-
|
||||
I make sure the default installation has some root directory.
|
||||
-
|
||||
!assert {model: document.directory, id: dir_root}:
|
||||
- storage_id != False
|
||||
-
|
||||
I create a "Testing" folder where all the test data will go.
|
||||
-
|
||||
|
@ -42,7 +32,6 @@
|
|||
!assert {model: ir.attachment, id: file_test2 }:
|
||||
- datas == "YWJjZA==\n"
|
||||
- file_size == 4
|
||||
- file_type == 'text/plain'
|
||||
-
|
||||
I rename the attachment.
|
||||
-
|
||||
|
|
|
@ -12,7 +12,8 @@ import fnmatch
|
|||
from openerp import pooler, netsvc, sql_db
|
||||
from openerp.service import security
|
||||
from openerp.osv import osv
|
||||
from document.nodes import get_node_context
|
||||
|
||||
from document.document import get_node_context
|
||||
|
||||
def _get_month_name(month):
|
||||
month=int(month)
|
||||
|
|
|
@ -235,43 +235,37 @@
|
|||
-
|
||||
I check that test3.txt is removed.
|
||||
-
|
||||
I create 200 files through FTP
|
||||
I create 5 files through FTP
|
||||
-
|
||||
!python {model: ir.attachment}: |
|
||||
from document_ftp import test_easyftp as te
|
||||
from cStringIO import StringIO
|
||||
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
|
||||
fdata = StringIO('abcd')
|
||||
# TODO speed
|
||||
for i in range(0, 200):
|
||||
for i in range(0, 5):
|
||||
fdata.seek(0)
|
||||
ftp.storbinary('STOR test-name%s.txt' %i, fdata)
|
||||
ftp.close()
|
||||
-
|
||||
I list the 200 files, check speed
|
||||
I list the 5 files, check speed
|
||||
-
|
||||
!python {model: ir.attachment}: |
|
||||
from document_ftp import test_easyftp as te
|
||||
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
|
||||
# TODO speed
|
||||
assert len(ftp.nlst()) >= 200, "We haven't managed to store 200 files!"
|
||||
assert len(ftp.nlst()) >= 5, "We haven't managed to store 5 files!"
|
||||
-
|
||||
I read the 200 files, check speed
|
||||
# TODO
|
||||
I read the 5 files, check speed
|
||||
-
|
||||
I move the 200 files to 'Test-Folder2'
|
||||
# TODO
|
||||
|
||||
I move the 5 files to 'Test-Folder2'
|
||||
-
|
||||
I delete the 200 files
|
||||
I delete the 5 files
|
||||
-
|
||||
!python {model: ir.attachment}: |
|
||||
from document_ftp import test_easyftp as te
|
||||
from cStringIO import StringIO
|
||||
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
|
||||
# TODO speed
|
||||
ftp.delete('test3.txt')
|
||||
for i in range(0, 200):
|
||||
for i in range(0, 5):
|
||||
ftp.delete('test-name%s.txt' %i)
|
||||
ftp.close()
|
||||
|
||||
|
@ -282,11 +276,9 @@
|
|||
from document_ftp import test_easyftp as te
|
||||
from cStringIO import StringIO
|
||||
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
|
||||
# TODO speed
|
||||
ftp.delete('test.txt')
|
||||
ftp.delete('test-renamed.txt')
|
||||
ftp.close()
|
||||
|
||||
ftp.close()
|
||||
-
|
||||
I remove the 'Test-Folder2'
|
||||
-
|
||||
|
|
|
@ -13,7 +13,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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: document_page
|
||||
|
|
|
@ -24,5 +24,4 @@ import webdav
|
|||
import webdav_server
|
||||
import document_webdav
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -39,7 +39,6 @@ except ImportError:
|
|||
import openerp
|
||||
from openerp import pooler, sql_db, netsvc
|
||||
from openerp.tools import misc
|
||||
from openerp.addons.document.dict_tools import dict_merge2
|
||||
|
||||
from cache import memoize
|
||||
from webdav import mk_lock_response
|
||||
|
@ -54,6 +53,22 @@ day_names = { 0: 'Mon', 1: 'Tue' , 2: 'Wed', 3: 'Thu', 4: 'Fri', 5: 'Sat', 6: 'S
|
|||
month_names = { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun',
|
||||
7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec' }
|
||||
|
||||
def dict_merge2(*dicts):
|
||||
""" Return a dict with all values of dicts.
|
||||
If some key appears twice and contains iterable objects, the values
|
||||
are merged (instead of overwritten).
|
||||
"""
|
||||
res = {}
|
||||
for d in dicts:
|
||||
for k in d.keys():
|
||||
if k in res and isinstance(res[k], (list, tuple)):
|
||||
res[k] = res[k] + d[k]
|
||||
elif k in res and isinstance(res[k], dict):
|
||||
res[k].update(d[k])
|
||||
else:
|
||||
res[k] = d[k]
|
||||
return res
|
||||
|
||||
class DAV_NotFound2(DAV_NotFound):
|
||||
"""404 exception, that accepts our list uris
|
||||
"""
|
||||
|
@ -709,7 +724,6 @@ class openerp_dav_handler(dav_interface):
|
|||
if not dir_node:
|
||||
cr.close()
|
||||
raise DAV_NotFound('Parent folder not found.')
|
||||
|
||||
newchild = self._try_function(dir_node.create_child, (cr, objname, data),
|
||||
"create %s" % objname, cr=cr)
|
||||
if not newchild:
|
||||
|
|
|
@ -65,8 +65,6 @@ class document_davdir(osv.osv):
|
|||
"""
|
||||
return (nodes.node_database(context=ncontext), uri)
|
||||
|
||||
document_davdir()
|
||||
|
||||
class dav_dir_property(osv.osv):
|
||||
""" Arbitrary WebDAV properties, attached to document.directories.
|
||||
|
||||
|
@ -97,8 +95,6 @@ class dav_dir_property(osv.osv):
|
|||
'do_subst': False,
|
||||
}
|
||||
|
||||
dav_dir_property()
|
||||
|
||||
class dav_file_property(osv.osv):
|
||||
""" Arbitrary WebDAV properties, attached to ir.attachments.
|
||||
|
||||
|
@ -127,7 +123,5 @@ class dav_file_property(osv.osv):
|
|||
'do_subst': False,
|
||||
}
|
||||
|
||||
dav_file_property()
|
||||
|
||||
#eof
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -20,17 +20,25 @@
|
|||
##############################################################################
|
||||
|
||||
|
||||
from document import nodes
|
||||
from document import document as nodes
|
||||
from openerp.tools.safe_eval import safe_eval as eval
|
||||
import time
|
||||
import urllib
|
||||
import uuid
|
||||
from openerp import SUPERUSER_ID
|
||||
|
||||
try:
|
||||
from tools.dict_tools import dict_filter
|
||||
except ImportError:
|
||||
from document.dict_tools import dict_filter
|
||||
def dict_filter(srcdic, keys, res=None):
|
||||
''' Return a copy of srcdic that has only keys set.
|
||||
If any of keys are missing from srcdic, the result won't have them,
|
||||
either.
|
||||
@param res If given, result will be updated there, instead of a new dict.
|
||||
'''
|
||||
if res is None:
|
||||
res = {}
|
||||
for k in keys:
|
||||
if k in srcdic:
|
||||
res[k] = srcdic[k]
|
||||
return res
|
||||
|
||||
class node_acl_mixin(object):
|
||||
def _get_dav_owner(self, cr):
|
||||
|
|
|
@ -57,6 +57,7 @@ import re
|
|||
import time
|
||||
from string import atoi
|
||||
import addons
|
||||
import socket
|
||||
# from DAV.constants import DAV_VERSION_1, DAV_VERSION_2
|
||||
from xml.dom import minidom
|
||||
from redirect import RedirectHTTPHandler
|
||||
|
@ -87,6 +88,12 @@ class DAVHandler(DAVRequestHandler, HttpOptions, FixSendError):
|
|||
'DELETE', 'TRACE', 'REPORT', ]
|
||||
}
|
||||
|
||||
def __init__(self, request, client_address, server):
|
||||
self.request = request
|
||||
self.client_address = client_address
|
||||
self.server = server
|
||||
self.setup()
|
||||
|
||||
def get_userinfo(self, user, pw):
|
||||
return False
|
||||
|
||||
|
@ -118,15 +125,9 @@ class DAVHandler(DAVRequestHandler, HttpOptions, FixSendError):
|
|||
return res
|
||||
|
||||
def setup(self):
|
||||
DAVRequestHandler.setup(self)
|
||||
self.davpath = '/'+config.get_misc('webdav','vdir','webdav')
|
||||
addr, port = self.server.server_name, self.server.server_port
|
||||
server_proto = getattr(self.server,'proto', 'http').lower()
|
||||
try:
|
||||
if hasattr(self.request, 'getsockname'):
|
||||
addr, port = self.request.getsockname()
|
||||
except Exception, e:
|
||||
self.log_error("Cannot calculate own address: %s" , e)
|
||||
# Too early here to use self.headers
|
||||
self.baseuri = "%s://%s:%d/"% (server_proto, addr, port)
|
||||
self.IFACE_CLASS = openerp_dav_handler(self, self.verbose)
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">principals</field>
|
||||
|
@ -27,7 +26,6 @@
|
|||
<field name="user_id" eval="False"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">groups</field>
|
||||
|
@ -39,7 +37,6 @@
|
|||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">resources</field>
|
||||
|
@ -52,7 +49,6 @@
|
|||
<field name="resource_field" ref="base.field_res_users_login"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">ressource</field>
|
||||
<field name="ressource_type_id" ref="base.model_res_users"/>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
|
@ -66,7 +62,6 @@
|
|||
<field name="resource_field" ref="base.field_res_users_login"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">ressource</field>
|
||||
<field name="ressource_type_id" ref="base.model_res_users"/>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
|
@ -78,7 +73,6 @@
|
|||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="storage_id" ref="document.storage_default"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">locations</field>
|
||||
|
|
|
@ -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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: edi
|
||||
|
|
|
@ -7,15 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2011-01-18 16:47+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:51+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-12-04 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
@ -703,7 +703,7 @@ msgstr "Évènements"
|
|||
#: view:event.registration:0
|
||||
#: field:event.registration,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,city:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 15:18+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:58+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\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-12-04 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
@ -414,7 +414,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: field:event.registration,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Data creazione"
|
||||
msgstr "Data di Creazione"
|
||||
|
||||
#. module: event
|
||||
#: view:report.event.registration:0
|
||||
|
@ -1138,7 +1138,7 @@ msgstr ""
|
|||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event.act_register_event_partner
|
||||
msgid "Subscribe"
|
||||
msgstr ""
|
||||
msgstr "Iscriviti"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
|
|
@ -8,14 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 15:35+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:52+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.com>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-04 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: event_sale
|
||||
#: model:ir.model,name:event_sale.model_product_product
|
||||
|
@ -28,6 +29,8 @@ msgid ""
|
|||
"Determine if a product needs to create automatically an event registration "
|
||||
"at the confirmation of a sale order line."
|
||||
msgstr ""
|
||||
"Détermine si un article doit créer automatiquement un enregistrement "
|
||||
"d’événement à la confirmation de la ligne de commande."
|
||||
|
||||
#. module: event_sale
|
||||
#: help:sale.order.line,event_id:0
|
||||
|
|
|
@ -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-12-18 23:07+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:52+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-12-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: fetchmail
|
||||
|
@ -102,7 +102,7 @@ msgstr "Serveur local"
|
|||
#. module: fetchmail
|
||||
#: field:fetchmail.server,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.model,name:fetchmail.model_fetchmail_server
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,13 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 22:24+0000\n"
|
||||
"Last-Translator: Nicolas JEUDY <njeudy@tuxservices.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 15:53+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.com>\n"
|
||||
"Language-Team: French <fr@li.org>\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-19 05:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: fleet
|
||||
|
@ -30,7 +31,7 @@ msgstr "Compacte"
|
|||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_1
|
||||
msgid "A/C Compressor Replacement"
|
||||
msgstr ""
|
||||
msgstr "Remplacement du compresseur de l'air climatisé"
|
||||
|
||||
#. module: fleet
|
||||
#: help:fleet.vehicle,vin_sn:0
|
||||
|
@ -79,7 +80,7 @@ msgstr "Plaque d'immatriculation: du %s au %s"
|
|||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_38
|
||||
msgid "Resurface Rotors"
|
||||
msgstr ""
|
||||
msgstr "Machiner les rotors"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.cost:0
|
||||
|
@ -109,7 +110,7 @@ msgstr ""
|
|||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_service_2
|
||||
msgid "Depreciation and Interests"
|
||||
msgstr ""
|
||||
msgstr "Dépréciation et intérêts"
|
||||
|
||||
#. module: fleet
|
||||
#: field:fleet.vehicle.log.contract,insurer_id:0
|
||||
|
@ -121,7 +122,7 @@ msgstr "Fournisseur"
|
|||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_35
|
||||
msgid "Power Steering Hose Replacement"
|
||||
msgstr ""
|
||||
msgstr "Remplacement du tuyau de direction assistée"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.log.contract:0
|
||||
|
|
|
@ -0,0 +1,230 @@
|
|||
# French 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 16:01+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.com>\n"
|
||||
"Language-Team: French <fr@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:136
|
||||
#, python-format
|
||||
msgid "Key Error!"
|
||||
msgstr "Erreur de clé!"
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`"
|
||||
msgstr ""
|
||||
"pour une présentation (diaporama) ayant une url "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, l'ID est `presentation:123456789`"
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`"
|
||||
msgstr ""
|
||||
"pour un document ayant l'url "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, l'ID est "
|
||||
"`document:123456789`"
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,gdocs_resource_id:0
|
||||
msgid "Google Resource ID to Use as Template"
|
||||
msgstr "L'identifiant Google de la ressource à utiliser comme modèle"
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`"
|
||||
msgstr ""
|
||||
"pour un dessin ayant l'url "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, l'ID est "
|
||||
"`drawings:123456789`"
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/xml/gdocs.xml:6
|
||||
#, python-format
|
||||
msgid "Add Google Doc..."
|
||||
msgstr "Ajouter un document Google..."
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL:"
|
||||
msgstr ""
|
||||
"Ceci est l'identifiant du modèle de document, du côté de Google. Vous pouvez "
|
||||
"le trouver grâce à son url:"
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_google_docs_config
|
||||
msgid "Google Docs templates config"
|
||||
msgstr "Configuration des modèles de documents Google"
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:25
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The user google credentials are not set yet. Contact your administrator for "
|
||||
"help."
|
||||
msgstr ""
|
||||
"Vous n'avez pas renseigné les identifiants Google sur votre compte "
|
||||
"utilisateur. Contactez votre administrateur si vous souhaitez de l'aide."
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`"
|
||||
msgstr ""
|
||||
"pour un document tableur ayant l'url "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
" l'ID est `spreadsheet:123456789`"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:98
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your resource id is not correct. You can find the id in the google docs URL."
|
||||
msgstr ""
|
||||
"L'identifiant de la ressource est incorrecte. Vous pouvez le trouver dans "
|
||||
"l'url associée document Google."
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:122
|
||||
#, python-format
|
||||
msgid "Creating google docs may only be done by one at a time."
|
||||
msgstr "Vous ne pouvez créer qu'un seul document google à la fois."
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:53
|
||||
#: code:addons/google_docs/google_docs.py:98
|
||||
#: code:addons/google_docs/google_docs.py:122
|
||||
#, python-format
|
||||
msgid "Google Docs Error!"
|
||||
msgstr "Erreur Google Docs!"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:53
|
||||
#, python-format
|
||||
msgid "Check your google configuration in Users/Users/Synchronization tab."
|
||||
msgstr ""
|
||||
"Vérifiez votre configuration Google dans l'onglet Synchronisation du "
|
||||
"formulaire Utilisateurs"
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_config
|
||||
msgid "Google Docs configuration"
|
||||
msgstr "Configuration Google Documents"
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config
|
||||
msgid "Models configuration"
|
||||
msgstr "Configuration des Modèles"
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,model_id:0
|
||||
msgid "Model"
|
||||
msgstr "Modèles"
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:28
|
||||
#, python-format
|
||||
msgid "User Google credentials are not yet set."
|
||||
msgstr ""
|
||||
"Les paramètres d'authentification Google de l'utilisateur n'ont pas encoré "
|
||||
"été configurés"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:136
|
||||
#, python-format
|
||||
msgid "Your Google Doc Name Pattern's key does not found in object."
|
||||
msgstr "Le nom du document google associé n'a pas été trouvé dans cet objet."
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,name_template:0
|
||||
msgid ""
|
||||
"Choose how the new google docs will be named, on google side. Eg. "
|
||||
"gdoc_%(field_name)s"
|
||||
msgstr ""
|
||||
"Choisissez le nom du nouveau document google sur les serveurs Google. ex: "
|
||||
"gdoc_%(field_name)s"
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid "Google Docs Configuration"
|
||||
msgstr "Configuration de Google documents"
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,gdocs_resource_id:0
|
||||
msgid ""
|
||||
"\n"
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL: \n"
|
||||
"*for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`\n"
|
||||
"*for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`\n"
|
||||
"*for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`\n"
|
||||
"*for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`\n"
|
||||
"...\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Ceci est l'identifiant du modèle de document, du côté de Google. Vous pouvez "
|
||||
"le trouver grâce à son URL: \n"
|
||||
" \n"
|
||||
"*Pour un document texte dont l'url est "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, l'ID est "
|
||||
"`document:123456789`\n"
|
||||
"*Pour un document tableur dont l'url est "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"l'ID est `spreadsheet:123456789`\n"
|
||||
"*Pour une présentation dont l'url est "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, l'ID est `presentation:123456789`\n"
|
||||
"* Pour un dessin dont l'url est "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, l'ID est "
|
||||
"`drawings:123456789`\n"
|
||||
"...\n"
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_ir_attachment
|
||||
msgid "ir.attachment"
|
||||
msgstr "ir.attachment"
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,name_template:0
|
||||
msgid "Google Doc Name Pattern"
|
||||
msgstr ""
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-15 09:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 19:47+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <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-12-16 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.node,name:hr.process_node_openerpuser0
|
||||
|
@ -336,8 +336,6 @@ msgid ""
|
|||
"This installs the module account_analytic_analysis, which will install sales "
|
||||
"management too."
|
||||
msgstr ""
|
||||
"Installa il modulo account_analytic_analysis, che installerà anche la "
|
||||
"gestione vendite."
|
||||
|
||||
#. module: hr
|
||||
#: view:board.board:0
|
||||
|
@ -374,7 +372,7 @@ msgstr "Modulo dipendenti e struttura"
|
|||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_expense:0
|
||||
msgid "Manage employees expenses"
|
||||
msgstr "Gestisce i rimborsi ai dipendenti"
|
||||
msgstr "Gestisci i rimborsi ai dipendenti"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.job,expected_employees:0
|
||||
|
@ -549,7 +547,7 @@ msgstr "Informazioni Contatto"
|
|||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_holidays:0
|
||||
msgid "Manage holidays, leaves and allocation requests"
|
||||
msgstr "Gestisce richieste ferie e permessi"
|
||||
msgstr "Gestisci richieste ferie e permessi"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,child_ids:0
|
||||
|
@ -596,7 +594,7 @@ msgstr "E' un Follower"
|
|||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_recruitment:0
|
||||
msgid "Manage the recruitment process"
|
||||
msgstr "Gestisce il processo di assunzione"
|
||||
msgstr "Gestisci il processo di assunzione"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -819,7 +817,7 @@ msgstr "Indirizzo abitazione"
|
|||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_timesheet:0
|
||||
msgid "Manage timesheets"
|
||||
msgstr "Gestisce i timesheets"
|
||||
msgstr "Gestisci i timesheets"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.open_payroll_modules
|
||||
|
@ -849,7 +847,7 @@ msgstr "Installa il modulo hr_payroll."
|
|||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_contract:0
|
||||
msgid "Record contracts per employee"
|
||||
msgstr "Gestisci i contratti del dipendente"
|
||||
msgstr "Gestisci contratti del dipendente"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
|
|
|
@ -8,15 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-10 15:40+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 23:18+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\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-11 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,send_anonymous_manager:0
|
||||
|
@ -697,7 +697,7 @@ msgstr "Beurteilung Erwartet"
|
|||
#: model:ir.actions.act_window,name:hr_evaluation.action_evaluation_report_all
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_evaluation_report_all
|
||||
msgid "Appraisal Analysis"
|
||||
msgstr "Beurteilungsanalyse"
|
||||
msgstr "Statistik Beurteilungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,date:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:38+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:51+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\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-12-04 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -36,23 +36,23 @@ msgstr "Księgowość zwraca wydatki"
|
|||
#: field:hr.expense.expense,date_confirm:0
|
||||
#: field:hr.expense.report,date_confirm:0
|
||||
msgid "Confirmation Date"
|
||||
msgstr ""
|
||||
msgstr "Data potwierdzenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Grupuj wg..."
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:product.template,name:hr_expense.air_ticket_product_template
|
||||
msgid "Air Ticket"
|
||||
msgstr ""
|
||||
msgstr "Bilet lotniczy"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
msgid "Validated By"
|
||||
msgstr ""
|
||||
msgstr "Zatwierdzone przez"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -60,35 +60,35 @@ msgstr ""
|
|||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,department_id:0
|
||||
msgid "Department"
|
||||
msgstr ""
|
||||
msgstr "Dział"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "New Expense"
|
||||
msgstr ""
|
||||
msgstr "Nowy Wydatek"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.line,uom_id:0
|
||||
#: view:product.product:0
|
||||
msgid "Unit of Measure"
|
||||
msgstr ""
|
||||
msgstr "Jednostka Miary"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "Marzec"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Nieprzeczytane wiadomości"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,company_id:0
|
||||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -98,23 +98,23 @@ msgstr "Ustaw na projekt"
|
|||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "To Pay"
|
||||
msgstr ""
|
||||
msgstr "Do zapłacenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:ir.model,name:hr_expense.model_hr_expense_report
|
||||
msgid "Expenses Statistics"
|
||||
msgstr ""
|
||||
msgstr "Statystyka wydatków"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Open Receipt"
|
||||
msgstr ""
|
||||
msgstr "Otwarte potwierdzenie"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,day:0
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
msgstr "Dzień"
|
||||
|
||||
#. module: hr_expense
|
||||
#: help:hr.expense.expense,date_valid:0
|
||||
|
@ -122,6 +122,8 @@ msgid ""
|
|||
"Date of the acceptation of the sheet expense. It's filled when the button "
|
||||
"Accept is pressed."
|
||||
msgstr ""
|
||||
"Data akceptacji arkusza wydatków. To pole jest wypełniane po naciśnięciu "
|
||||
"przycisku Akceptuj."
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -131,25 +133,25 @@ msgstr "Uwagi"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
msgstr "Wiadomości"
|
||||
|
||||
#. module: hr_expense
|
||||
#: code:addons/hr_expense/hr_expense.py:179
|
||||
#: code:addons/hr_expense/hr_expense.py:195
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Błąd!"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:ir.actions.act_window,name:hr_expense.hr_expense_product
|
||||
#: view:product.product:0
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
msgstr "Produkty"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Confirm Expenses"
|
||||
msgstr ""
|
||||
msgstr "Potwierdż wydatki"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,state:0
|
||||
|
@ -164,7 +166,7 @@ msgstr "Bezpośredni przełożony odrzuca delegację. Ustaw na projekt."
|
|||
#. module: hr_expense
|
||||
#: help:hr.expense.expense,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Jeśli zaznaczone, to wiadomość wymaga twojej uwagi."
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,state:0
|
||||
|
@ -207,7 +209,7 @@ msgstr ""
|
|||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,nbr:0
|
||||
msgid "# of Lines"
|
||||
msgstr ""
|
||||
msgstr "# wierszy"
|
||||
|
||||
#. module: hr_expense
|
||||
#: help:hr.expense.expense,message_summary:0
|
||||
|
@ -215,12 +217,15 @@ msgid ""
|
|||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Zawiera podsumowanie wypowiedzi (liczbę wiadomości, ...). To podsumowanie "
|
||||
"jest bezpośrednio w formacie html, aby można je było stosować w widokach "
|
||||
"kanban."
|
||||
|
||||
#. module: hr_expense
|
||||
#: code:addons/hr_expense/hr_expense.py:300
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Ostrzeżenie"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -240,7 +245,7 @@ msgstr "Odmów wydatku"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,price_average:0
|
||||
msgid "Average Price"
|
||||
msgstr ""
|
||||
msgstr "Cena przeciętna"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -256,7 +261,7 @@ msgstr "Księgowy zatwierdza delegację"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,delay_valid:0
|
||||
msgid "Delay to Valid"
|
||||
msgstr ""
|
||||
msgstr "Czas do zatiwerdzenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: help:hr.expense.line,sequence:0
|
||||
|
@ -268,7 +273,7 @@ msgstr ""
|
|||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Stan"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.line,analytic_account:0
|
||||
|
@ -280,17 +285,17 @@ msgstr "Konto analityczne"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,date:0
|
||||
msgid "Date "
|
||||
msgstr ""
|
||||
msgstr "Data "
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
msgstr "Oczekiwanie"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Obserwatorzy"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -304,7 +309,7 @@ msgstr "Pracownik"
|
|||
#: view:hr.expense.expense:0
|
||||
#: selection:hr.expense.expense,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Nowe"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -327,7 +332,7 @@ msgstr "Część kosztów może być refakturowana na klienta"
|
|||
#: code:addons/hr_expense/hr_expense.py:195
|
||||
#, python-format
|
||||
msgid "The employee must have a home address."
|
||||
msgstr ""
|
||||
msgstr "Pracownik musi mieć adres domowy"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:board.board:0
|
||||
|
@ -339,12 +344,12 @@ msgstr "Moje wydatki"
|
|||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
msgstr "Data utworzenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:ir.actions.report.xml,name:hr_expense.hr_expenses
|
||||
msgid "HR expenses"
|
||||
msgstr ""
|
||||
msgstr "Wydatki personalne"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,id:0
|
||||
|
@ -366,12 +371,12 @@ msgstr "Wymuś dziennik"
|
|||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,no_of_products:0
|
||||
msgid "# of Products"
|
||||
msgstr ""
|
||||
msgstr "# Produktów"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "Lipiec"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.transition,note:hr_expense.process_transition_reimburseexpense0
|
||||
|
@ -382,7 +387,7 @@ msgstr "Po utworzeniu faktury zwrot wydatków"
|
|||
#: code:addons/hr_expense/hr_expense.py:106
|
||||
#, python-format
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
msgstr "Ostrzeżenie !"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,name:hr_expense.process_node_reimbursement0
|
||||
|
@ -393,20 +398,20 @@ msgstr "Zwrot wydatków"
|
|||
#: field:hr.expense.expense,date_valid:0
|
||||
#: field:hr.expense.report,date_valid:0
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
msgstr "Data zatwierdzenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: code:addons/hr_expense/hr_expense.py:225
|
||||
#, python-format
|
||||
msgid "Expense Receipt"
|
||||
msgstr ""
|
||||
msgstr "Potwierdzenie wydatku"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_report_all
|
||||
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_report_all
|
||||
msgid "Expenses Analysis"
|
||||
msgstr ""
|
||||
msgstr "Analiza wydatków"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -426,24 +431,24 @@ msgstr "Pozycja wydatków"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,delay_confirm:0
|
||||
msgid "Delay to Confirm"
|
||||
msgstr ""
|
||||
msgstr "Czas do potwierdzenia"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "Wrzesień"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
msgstr "Grudzień"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Miesiąc"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,currency_id:0
|
||||
|
@ -459,12 +464,12 @@ msgstr "Użytkownik"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,voucher_id:0
|
||||
msgid "Employee's Receipt"
|
||||
msgstr ""
|
||||
msgstr "Potwierdzenie pracownika"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.expense,state:0
|
||||
msgid "Waiting Approval"
|
||||
msgstr ""
|
||||
msgstr "Oczekuje na aprobatę"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,note:hr_expense.process_node_draftexpenses0
|
||||
|
@ -478,11 +483,13 @@ msgid ""
|
|||
"Selected Unit of Measure does not belong to the same category as the product "
|
||||
"Unit of Measure"
|
||||
msgstr ""
|
||||
"Wybrana jednostka miary nie należy do tej samej kategorii co jednostka miary "
|
||||
"produktu."
|
||||
|
||||
#. module: hr_expense
|
||||
#: help:hr.expense.expense,journal_id:0
|
||||
msgid "The journal used when the expense is done."
|
||||
msgstr ""
|
||||
msgstr "Dziennik stosowany kiedy wydatek jest zatwierdzany."
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,note:0
|
||||
|
@ -515,7 +522,7 @@ msgstr "Wydatek zatwierdzono."
|
|||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
msgstr "Sierpień"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,note:hr_expense.process_node_approved0
|
||||
|
@ -530,7 +537,7 @@ msgstr "Suma kwot"
|
|||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "Czerwiec"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,name:hr_expense.process_node_draftexpenses0
|
||||
|
@ -540,12 +547,12 @@ msgstr "Projekt wydatków"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Jest obserwatorem"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:ir.actions.act_window,name:hr_expense.product_normal_form_view_installer
|
||||
msgid "Review Your Expenses Products"
|
||||
msgstr ""
|
||||
msgstr "Przgląd produktów wydatkowych"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -557,23 +564,23 @@ msgstr "Data"
|
|||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
msgstr "Listopad"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
msgstr "Rozszerzone filtry..."
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_comment_ids:0
|
||||
#: help:hr.expense.expense,message_comment_ids:0
|
||||
msgid "Comments and emails"
|
||||
msgstr ""
|
||||
msgstr "Komentarze i emaile"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "Październik"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:ir.actions.act_window,help:hr_expense.expense_all
|
||||
|
@ -590,16 +597,25 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kliknij, aby zarejestrować nowy wydatek. \n"
|
||||
" </p><p>\n"
|
||||
" OpenERP zapewni następne kroki w procesie; arkusz\n"
|
||||
" wydatków będzie zatwierdzany przez menedżerów, a\n"
|
||||
" pracownik dostanie zwrot swoich wydatków. Część z\n"
|
||||
" tych wydatków musi być refakturowana na klienta.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Generate Accounting Entries"
|
||||
msgstr ""
|
||||
msgstr "Generuj zapisy księgowe"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
msgstr "Styczeń"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -609,22 +625,22 @@ msgstr "Wydatki pracowników"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Podsumowanie"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:product.template,name:hr_expense.car_travel_product_template
|
||||
msgid "Car Travel Expenses"
|
||||
msgstr ""
|
||||
msgstr "Wydatki na samochód"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Submit to Manager"
|
||||
msgstr ""
|
||||
msgstr "Wyślij do menedżera"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Done Expenses"
|
||||
msgstr ""
|
||||
msgstr "Wydatki wykonane"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,note:hr_expense.process_node_confirmedexpenses0
|
||||
|
@ -634,7 +650,7 @@ msgstr "Pracownik potwierdza swoje rozliczenie"
|
|||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Expenses to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Wydatki do zafakturowania"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.node,name:hr_expense.process_node_supplierinvoice0
|
||||
|
@ -650,12 +666,12 @@ msgstr "Rozliczenie wydatków (Delegacja)"
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,voucher_id:0
|
||||
msgid "Receipt"
|
||||
msgstr ""
|
||||
msgstr "Potwierdzenie"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
msgid "Approved Expenses"
|
||||
msgstr ""
|
||||
msgstr "Aprobowane wydatki"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -668,7 +684,7 @@ msgstr "Cena jedn."
|
|||
#: view:hr.expense.report:0
|
||||
#: selection:hr.expense.report,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Wykonano"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.transition.action,name:hr_expense.process_transition_action_supplierinvoice0
|
||||
|
@ -679,7 +695,7 @@ msgstr "Faktura"
|
|||
#: view:hr.expense.report:0
|
||||
#: field:hr.expense.report,year:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
msgstr "Rok"
|
||||
|
||||
#. module: hr_expense
|
||||
#: model:process.transition,name:hr_expense.process_transition_reimbursereinvoice0
|
||||
|
@ -689,12 +705,12 @@ msgstr "Refakturuj"
|
|||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Expense Date"
|
||||
msgstr ""
|
||||
msgstr "Data Wydatku"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,user_valid:0
|
||||
msgid "Validation By"
|
||||
msgstr ""
|
||||
msgstr "Zatwierdzone przez"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
@ -736,6 +752,11 @@ msgid ""
|
|||
"based on real costs, set the cost at 0.00. The user will set the real price "
|
||||
"when recording his expense sheet."
|
||||
msgstr ""
|
||||
"Definiuj jeden produkt dla każdego typu wydatku dozwolonego dla pracowników "
|
||||
"(użycie samochodu, hotel, dieta, itp.). Jeśli refundujesz pracownikom "
|
||||
"wydatki według stałych stawek, to ustaw koszt i jednostkę miary w produkcie. "
|
||||
"Jeśli refundujesz rzeczywiste koszty, to ustaw koszt na 0,00. Użytkownik "
|
||||
"wprowadzi rzeczywiste ceny przy wypełnianiu arkusza wydatków."
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.expense,state:0
|
||||
|
@ -763,7 +784,7 @@ msgstr "Opis"
|
|||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
msgstr "Maj"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.line,unit_quantity:0
|
||||
|
@ -773,12 +794,12 @@ msgstr "Ilości"
|
|||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Cena"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.report,no_of_account:0
|
||||
msgid "# of Accounts"
|
||||
msgstr ""
|
||||
msgstr "# kont"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.expense,state:0
|
||||
|
@ -799,7 +820,7 @@ msgstr "Odn."
|
|||
#. module: hr_expense
|
||||
#: field:hr.expense.report,employee_id:0
|
||||
msgid "Employee's Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwisko pracownika"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.report:0
|
||||
|
@ -815,7 +836,7 @@ msgstr "Dane księgowe"
|
|||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
msgstr "Luty"
|
||||
|
||||
#. module: hr_expense
|
||||
#: report:hr.expense:0
|
||||
|
@ -826,7 +847,7 @@ msgstr "Nazwa"
|
|||
#: code:addons/hr_expense/hr_expense.py:106
|
||||
#, python-format
|
||||
msgid "You can only delete draft expenses!"
|
||||
msgstr ""
|
||||
msgstr "Możesz usuwać jedynie projekty wydatków!"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.expense,account_move_id:0
|
||||
|
@ -841,27 +862,27 @@ msgstr "Tworzy fakturę od dostawcy"
|
|||
#. module: hr_expense
|
||||
#: model:product.template,name:hr_expense.hotel_rent_product_template
|
||||
msgid "Hotel Accommodation"
|
||||
msgstr ""
|
||||
msgstr "Nocleg"
|
||||
|
||||
#. module: hr_expense
|
||||
#: selection:hr.expense.report,month:0
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
msgstr "Kwiecień"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.line,name:0
|
||||
msgid "Expense Note"
|
||||
msgstr ""
|
||||
msgstr "Notatka do wydatku"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Approve"
|
||||
msgstr ""
|
||||
msgstr "Aprobuj"
|
||||
|
||||
#. module: hr_expense
|
||||
#: help:hr.expense.expense,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "Wiadomości i historia komunikacji"
|
||||
|
||||
#. module: hr_expense
|
||||
#: field:hr.expense.line,sequence:0
|
||||
|
@ -895,12 +916,12 @@ msgstr ""
|
|||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "Accounting"
|
||||
msgstr ""
|
||||
msgstr "Księgowość"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
msgid "To Approve"
|
||||
msgstr ""
|
||||
msgstr "Do aprobaty"
|
||||
|
||||
#. module: hr_expense
|
||||
#: view:hr.expense.expense:0
|
||||
|
|
|
@ -7,15 +7,15 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-10 17:23+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 23:20+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-12-11 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
|
@ -833,7 +833,7 @@ msgstr "Hellgelb"
|
|||
#: model:ir.actions.act_window,name:hr_holidays.action_hr_available_holidays_report
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_hr_available_holidays_report_tree
|
||||
msgid "Leaves Analysis"
|
||||
msgstr "Analyse Abwesenheit"
|
||||
msgstr "Statistik Abwesenheit"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays.summary.dept:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 04:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:59+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\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-12-04 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
|
@ -934,7 +934,7 @@ msgstr ""
|
|||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Approve"
|
||||
msgstr ""
|
||||
msgstr "Approva"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: help:hr.holidays,message_ids:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-10-25 17:20+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 07:13+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.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-12-04 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,help:hr_timesheet.act_analytic_cost_revenue
|
||||
|
@ -74,7 +74,7 @@ msgstr ""
|
|||
#. module: hr_timesheet
|
||||
#: field:hr.employee,uom_id:0
|
||||
msgid "Unit of Measure"
|
||||
msgstr ""
|
||||
msgstr "计量单位"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.employee,journal_id:0
|
||||
|
@ -102,7 +102,7 @@ msgstr "计工单"
|
|||
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
|
||||
#, python-format
|
||||
msgid "Please define employee for this user!"
|
||||
msgstr ""
|
||||
msgstr "请为此用户定义员工信息。"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
|
@ -128,7 +128,7 @@ msgstr "周五"
|
|||
#: model:ir.actions.act_window,name:hr_timesheet.act_hr_timesheet_line_evry1_all_form
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_working_hours
|
||||
msgid "Timesheet Activities"
|
||||
msgstr ""
|
||||
msgstr "时间表活动"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,analytic_amount:0
|
||||
|
@ -165,12 +165,12 @@ msgstr "打印员工计工单"
|
|||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
|
||||
#, python-format
|
||||
msgid "Please define employee for your user."
|
||||
msgstr ""
|
||||
msgstr "请为你的用户定义员工信息。"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.act_analytic_cost_revenue
|
||||
msgid "Costs & Revenues"
|
||||
msgstr ""
|
||||
msgstr "收支情况"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
|
@ -187,7 +187,7 @@ msgstr "辅助核算项"
|
|||
#. module: hr_timesheet
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Costs and Revenues"
|
||||
msgstr ""
|
||||
msgstr "收支情况"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:141
|
||||
|
@ -197,7 +197,7 @@ msgstr ""
|
|||
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
|
||||
#, python-format
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
msgstr "警告!"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytic.timesheet,partner_id:0
|
||||
|
@ -253,7 +253,7 @@ msgstr "打印"
|
|||
#. module: hr_timesheet
|
||||
#: help:account.analytic.account,use_timesheets:0
|
||||
msgid "Check this field if this project manages timesheets"
|
||||
msgstr ""
|
||||
msgstr "如果此项目需要管理时间表的话请选中此字段"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
|
@ -279,7 +279,7 @@ msgstr "开始日期"
|
|||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
|
||||
#, python-format
|
||||
msgid "Please define cost unit for this employee."
|
||||
msgstr ""
|
||||
msgstr "请定义此员工的成本单位"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: help:hr.employee,product_id:0
|
||||
|
@ -347,7 +347,7 @@ msgstr "工作说明"
|
|||
#: view:hr.sign.in.project:0
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "或"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: xsl:hr.analytical.timesheet:0
|
||||
|
@ -429,7 +429,7 @@ msgstr "6月"
|
|||
#: field:hr.sign.in.project,state:0
|
||||
#: field:hr.sign.out.project,state:0
|
||||
msgid "Current Status"
|
||||
msgstr ""
|
||||
msgstr "当前状态"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
|
@ -607,7 +607,7 @@ msgstr "项目签出"
|
|||
msgid ""
|
||||
"Please create an employee for this user, using the menu: Human Resources > "
|
||||
"Employees."
|
||||
msgstr ""
|
||||
msgstr "请为此用户创建一个员工档案,使用菜单:”人力资源“ > ”员工“。"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
|
@ -637,7 +637,7 @@ msgstr "4月"
|
|||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
|
||||
#, python-format
|
||||
msgid "User Error!"
|
||||
msgstr ""
|
||||
msgstr "用户错误!"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 14:35+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 16:04+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\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-12-04 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
#: view:report.timesheet.line:0
|
||||
|
@ -38,6 +38,8 @@ msgid ""
|
|||
"The product to invoice is defined on the employee form, the price will be "
|
||||
"deducted by this pricelist on the product."
|
||||
msgstr ""
|
||||
"L'article à facturer est défini sur le formulaire de l'employé ; le prix "
|
||||
"sera déduit grâce aux listes de prix de l'article."
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py:58
|
||||
|
@ -142,6 +144,9 @@ msgid ""
|
|||
"Fill this field only if you want to force to use a specific product. Keep "
|
||||
"empty to use the real product that comes from the cost."
|
||||
msgstr ""
|
||||
"Ne remplissez ce champ que si vous souhaitez forcer l'utilisation d'un "
|
||||
"article spécifique. Laissez vide pour utiliser l'article réel provenant des "
|
||||
"coûts."
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
#: model:ir.actions.act_window,help:hr_timesheet_invoice.action_hr_timesheet_invoice_factor_form
|
||||
|
@ -294,7 +299,7 @@ msgstr "Coûts à facturer"
|
|||
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:267
|
||||
#, python-format
|
||||
msgid "Please define income account for product '%s'."
|
||||
msgstr ""
|
||||
msgstr "Veuillez définir le compte de revenus de l'article \"%s\"."
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
#: field:report.account.analytic.line.to.invoice,account_id:0
|
||||
|
@ -355,7 +360,7 @@ msgstr "Profit sur la feuille de temps"
|
|||
#. module: hr_timesheet_invoice
|
||||
#: field:hr.timesheet.invoice.create,product:0
|
||||
msgid "Force Product"
|
||||
msgstr ""
|
||||
msgstr "Forcer l'article"
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
#: view:account.analytic.account:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 15:11+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 16:05+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\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-12-04 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: hr_timesheet_sheet
|
||||
#: field:hr.analytic.timesheet,sheet_id:0
|
||||
|
@ -507,6 +507,8 @@ msgid ""
|
|||
"In order to create a timesheet for this employee, you must link the employee "
|
||||
"to a product, like 'Consultant'."
|
||||
msgstr ""
|
||||
"Pour créer une feuille de temps pour cet employé, vous devez lier l'employé "
|
||||
"à un article, comme par exemple \"Consultant\"."
|
||||
|
||||
#. module: hr_timesheet_sheet
|
||||
#: selection:hr.timesheet.report,month:0
|
||||
|
@ -558,6 +560,8 @@ msgid ""
|
|||
"In order to create a timesheet for this employee, you must link the employee "
|
||||
"to a product."
|
||||
msgstr ""
|
||||
"Pour créer une feuille de temps pour cet employé, vous devez lier l'employé "
|
||||
"à un article."
|
||||
|
||||
#. module: hr_timesheet_sheet
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
|
||||
"PO-Revision-Date: 2012-12-12 15:09+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 11:34+0000\n"
|
||||
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
|
||||
"Language-Team: Spanish <es@li.org>\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-13 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: l10n_be_invoice_bba
|
||||
#: sql_constraint:account.invoice:0
|
||||
|
@ -107,7 +107,7 @@ msgstr "¡Advertencia!"
|
|||
#. module: l10n_be_invoice_bba
|
||||
#: selection:res.partner,out_inv_comm_algorithm:0
|
||||
msgid "Customer Reference"
|
||||
msgstr "Referencia cliente"
|
||||
msgstr "Referencia del cliente"
|
||||
|
||||
#. module: l10n_be_invoice_bba
|
||||
#: field:res.partner,out_inv_comm_type:0
|
||||
|
|
|
@ -8,33 +8,33 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-01-10 13:46+0000\n"
|
||||
"Last-Translator: Yury Tello <ytello@cubicerp.com>\n"
|
||||
"PO-Revision-Date: 2012-12-19 21:41+0000\n"
|
||||
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
|
||||
"Language-Team: Spanish <es@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-01-15 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: l10n_ar
|
||||
#: model:ir.module.module,description:l10n_ar.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" Bolivian Accounting : chart of Account\n"
|
||||
" Argentinian Accounting : chart of Account\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Contabilidad Peruana : Plan de cuentas\n"
|
||||
" Contabilidad argentina : Plan de cuentas\n"
|
||||
" "
|
||||
|
||||
#. module: l10n_bo
|
||||
#: model:ir.module.module,shortdesc:l10n_bo.module_meta_information
|
||||
msgid "Bolivian Chart of Account"
|
||||
msgstr "Plan de cuentas de Boliviana"
|
||||
#. module: l10n_ar
|
||||
#: model:ir.module.module,shortdesc:l10n_ar.module_meta_information
|
||||
msgid "Argentinian Chart of Account"
|
||||
msgstr "Plan de cuentas de Argentina"
|
||||
|
||||
#. module: l10n_bo
|
||||
#: model:ir.actions.todo,note:l10n_bo.config_call_account_template_in_minimal
|
||||
#. module: l10n_ar
|
||||
#: model:ir.actions.todo,note:l10n_ar.config_call_account_template_in_minimal
|
||||
msgid ""
|
||||
"Generate Chart of Accounts from a Chart Template. You will be asked to pass "
|
||||
"the name of the company, the chart template to follow, the no. of digits to "
|
||||
|
@ -45,28 +45,10 @@ msgid ""
|
|||
"Chart of Accounts from a Chart Template."
|
||||
msgstr ""
|
||||
"Generar el plan contable a partir de una plantilla de plan contable. Se le "
|
||||
"pedirá el nombre de la compañia, la plantilla de plan contable a utilizar, "
|
||||
"pedirá el nombre de la compañía, la plantilla de plan contable a utilizar, "
|
||||
"el número de dígitos para generar el código de las cuentas y de la cuenta "
|
||||
"bancaria, la moneda para crear los diarios. Así pues, se genere una copia "
|
||||
"bancaria, la moneda para crear los diarios. Así pues, se genera una copia "
|
||||
"exacta de la plantilla de plan contable.\n"
|
||||
"\tEste es el mismo asistente que se ejecuta desde Contabilidad y finanzas / "
|
||||
"\tÉste es el mismo asistente que se ejecuta desde Contabilidad / "
|
||||
"Configuración / Contabilidad financiera / Cuentas financieras / Generar el "
|
||||
"plan contable a partir de una plantilla de plan contable."
|
||||
|
||||
#~ msgid "Liability"
|
||||
#~ msgstr "Pasivo"
|
||||
|
||||
#~ msgid "Asset"
|
||||
#~ msgstr "Activo"
|
||||
|
||||
#~ msgid "Closed"
|
||||
#~ msgstr "Cerrado"
|
||||
|
||||
#~ msgid "Income"
|
||||
#~ msgstr "Ingreso"
|
||||
|
||||
#~ msgid "Expense"
|
||||
#~ msgstr "Gasto"
|
||||
|
||||
#~ msgid "View"
|
||||
#~ msgstr "Vista"
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
|
||||
"PO-Revision-Date: 2012-12-13 16:00+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:44+0000\n"
|
||||
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
|
||||
"Language-Team: Spanish <es@li.org>\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-14 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16369)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: l10n_in_hr_payroll
|
||||
#: report:salary.detail.byyear:0
|
||||
|
@ -30,7 +30,7 @@ msgstr "Cuenta bancaria del empleado"
|
|||
#. module: l10n_in_hr_payroll
|
||||
#: view:payment.advice.report:0
|
||||
msgid "Payment Advices which are in draft state"
|
||||
msgstr ""
|
||||
msgstr "Avisos de pago que se encuentran en estado borrador"
|
||||
|
||||
#. module: l10n_in_hr_payroll
|
||||
#: report:salary.detail.byyear:0
|
||||
|
@ -40,12 +40,12 @@ msgstr "Título"
|
|||
#. module: l10n_in_hr_payroll
|
||||
#: report:payroll.advice:0
|
||||
msgid "Payment Advice from"
|
||||
msgstr ""
|
||||
msgstr "Aviso de pago de"
|
||||
|
||||
#. module: l10n_in_hr_payroll
|
||||
#: model:ir.model,name:l10n_in_hr_payroll.model_yearly_salary_detail
|
||||
msgid "Hr Salary Employee By Category Report"
|
||||
msgstr ""
|
||||
msgstr "Informe de salario del empleado por categoría"
|
||||
|
||||
#. module: l10n_in_hr_payroll
|
||||
#: view:payslip.report:0
|
||||
|
@ -62,7 +62,7 @@ msgstr "Agrupar por ..."
|
|||
#. module: l10n_in_hr_payroll
|
||||
#: report:salary.detail.byyear:0
|
||||
msgid "Allowances with Basic:"
|
||||
msgstr ""
|
||||
msgstr "Derechos de emisión con base:"
|
||||
|
||||
#. module: l10n_in_hr_payroll
|
||||
#: view:payslip.report:0
|
||||
|
|
|
@ -326,7 +326,7 @@
|
|||
<field name='date'/>
|
||||
</group>
|
||||
</group>
|
||||
<field name='alerts' attrs="{'invisible': ['|',('state','!=','new'),('alerts','=','')]}" class="oe_inline oe_lunch_alert"/>
|
||||
<field name='alerts' attrs="{'invisible': ['|',('state','!=','new'),('alerts','=',False)]}" class="oe_inline oe_lunch_alert"/>
|
||||
<div name="preferences">
|
||||
</div>
|
||||
<separator string='Select your order'/>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-17 17:59+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 20:42+0000\n"
|
||||
"Last-Translator: Ahti Hinnov <sipelgas@gmail.com>\n"
|
||||
"Language-Team: Estonian <et@li.org>\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-18 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: mail
|
||||
#: field:res.partner,notification_email_send:0
|
||||
|
@ -688,7 +688,7 @@ msgstr ""
|
|||
#: code:addons/mail/static/src/xml/mail.xml:44
|
||||
#, python-format
|
||||
msgid "Share with my followers..."
|
||||
msgstr ""
|
||||
msgstr "Jaga minu jälgijatega..."
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.notification,partner_id:0
|
||||
|
@ -1120,7 +1120,7 @@ msgstr ""
|
|||
#: code:addons/mail/static/src/xml/mail.xml:213
|
||||
#, python-format
|
||||
msgid "Mark as Todo"
|
||||
msgstr ""
|
||||
msgstr "Märgi tegemist vajavaks"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,message_summary:0
|
||||
|
@ -1160,7 +1160,7 @@ msgstr ""
|
|||
#: code:addons/mail/static/src/xml/mail_followers.xml:13
|
||||
#, python-format
|
||||
msgid "Following"
|
||||
msgstr ""
|
||||
msgstr "Jälgin"
|
||||
|
||||
#. module: mail
|
||||
#: sql_constraint:mail.alias:0
|
||||
|
@ -1321,7 +1321,7 @@ msgstr ""
|
|||
#: code:addons/mail/static/src/xml/mail_followers.xml:22
|
||||
#, python-format
|
||||
msgid "Invite others"
|
||||
msgstr ""
|
||||
msgstr "Kutsu teisi"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.group,public:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 15:06+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-19 16:07+0000\n"
|
||||
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-12-04 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: membership
|
||||
|
@ -110,7 +110,7 @@ msgstr ""
|
|||
#: field:report.membership,user_id:0
|
||||
#: view:res.partner:0
|
||||
msgid "Salesperson"
|
||||
msgstr ""
|
||||
msgstr "Vendeur"
|
||||
|
||||
#. module: membership
|
||||
#: model:process.transition,name:membership.process_transition_waitingtoinvoice0
|
||||
|
@ -137,7 +137,7 @@ msgstr "Non membre"
|
|||
#. module: membership
|
||||
#: view:product.product:0
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
msgstr "Taxes"
|
||||
|
||||
#. module: membership
|
||||
#: view:res.partner:0
|
||||
|
@ -149,7 +149,7 @@ msgstr "Tous les membres"
|
|||
#: code:addons/membership/membership.py:413
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Erreur!"
|
||||
|
||||
#. module: membership
|
||||
#: model:process.transition,name:membership.process_transition_producttomember0
|
||||
|
@ -433,7 +433,7 @@ msgstr "Catégorie"
|
|||
#. module: membership
|
||||
#: view:res.partner:0
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
msgstr "Contacts"
|
||||
|
||||
#. module: membership
|
||||
#: view:report.membership:0
|
||||
|
@ -478,7 +478,7 @@ msgstr "Clients"
|
|||
#. module: membership
|
||||
#: view:membership.invoice:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "ou"
|
||||
|
||||
#. module: membership
|
||||
#: selection:report.membership,month:0
|
||||
|
@ -505,7 +505,7 @@ msgstr "Juin"
|
|||
#. module: membership
|
||||
#: help:product.product,membership:0
|
||||
msgid "Check if the product is eligible for membership."
|
||||
msgstr ""
|
||||
msgstr "Cochez si l'article est éligible pour l'adhésion"
|
||||
|
||||
#. module: membership
|
||||
#: selection:membership.membership_line,state:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
|
||||
"PO-Revision-Date: 2012-12-18 21:34+0000\n"
|
||||
"Last-Translator: Dusan Laznik <laznik@mentis.si>\n"
|
||||
"PO-Revision-Date: 2012-12-19 13:57+0000\n"
|
||||
"Last-Translator: Vida Potočnik <vida.potocnik@mentis.si>\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-12-19 05:15+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: mrp
|
||||
|
@ -820,7 +820,7 @@ msgstr "Datum izpisa"
|
|||
#: model:process.node,name:mrp.process_node_orderrfq0
|
||||
#: model:process.node,name:mrp.process_node_rfq0
|
||||
msgid "RFQ"
|
||||
msgstr ""
|
||||
msgstr "Zahteva za ponudbo"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_producttostockrules0
|
||||
|
@ -913,7 +913,7 @@ msgstr ""
|
|||
#: field:mrp.production,message_is_follower:0
|
||||
#: field:mrp.production.workcenter.line,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Je sledilec"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
|
@ -964,7 +964,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
msgstr "Podjetja"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/mrp.py:649
|
||||
|
@ -1112,7 +1112,7 @@ msgstr ""
|
|||
#: help:mrp.production,message_ids:0
|
||||
#: help:mrp.production.workcenter.line,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "Sporočila in zgodovina sporočil"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter.load,measure_unit:0
|
||||
|
@ -1163,7 +1163,7 @@ msgstr ""
|
|||
#: view:mrp.routing:0
|
||||
#: view:mrp.workcenter:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Združi po..."
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/report/price.py:130
|
||||
|
@ -1221,7 +1221,7 @@ msgstr ""
|
|||
#: field:mrp.production,message_unread:0
|
||||
#: field:mrp.production.workcenter.line,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Neprebrana sporočila"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,note:mrp.process_transition_stockmts0
|
||||
|
@ -1251,7 +1251,7 @@ msgstr ""
|
|||
#: field:mrp.production,bom_id:0
|
||||
#: model:process.node,name:mrp.process_node_billofmaterial0
|
||||
msgid "Bill of Material"
|
||||
msgstr ""
|
||||
msgstr "Kosovnica"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.workcenter.load:0
|
||||
|
@ -1264,7 +1264,7 @@ msgstr ""
|
|||
#: model:ir.ui.menu,name:mrp.menu_mrp_product_form
|
||||
#: view:mrp.config.settings:0
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
msgstr "Izdelki"
|
||||
|
||||
#. module: mrp
|
||||
#: view:report.workcenter.load:0
|
||||
|
@ -1274,7 +1274,7 @@ msgstr "Zasedenost delovne faze"
|
|||
#. module: mrp
|
||||
#: help:mrp.production,location_dest_id:0
|
||||
msgid "Location where the system will stock the finished products."
|
||||
msgstr ""
|
||||
msgstr "Lokacija gotovih izdelkov"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.routing.workcenter,routing_id:0
|
||||
|
@ -1318,7 +1318,7 @@ msgstr "Prioriteta"
|
|||
#: model:ir.model,name:mrp.model_stock_picking
|
||||
#: field:mrp.production,picking_id:0
|
||||
msgid "Picking List"
|
||||
msgstr ""
|
||||
msgstr "Prevzemnica"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.production,bom_id:0
|
||||
|
@ -1359,7 +1359,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: constraint:mrp.production:0
|
||||
msgid "Order quantity cannot be negative or zero!"
|
||||
msgstr ""
|
||||
msgstr "Naročena količina mora biti večja od 0"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,note:mrp.process_transition_stockrfq0
|
||||
|
@ -1441,7 +1441,7 @@ msgstr ""
|
|||
#: field:mrp.production,product_uom:0
|
||||
#: field:mrp.production.product.line,product_uom:0
|
||||
msgid "Product Unit of Measure"
|
||||
msgstr ""
|
||||
msgstr "Enota mere izdelka"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
|
@ -1578,7 +1578,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: field:mrp.production,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
msgstr "Odgovoren"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_production_action2
|
||||
|
@ -1632,7 +1632,7 @@ msgstr ""
|
|||
#: field:mrp.bom,product_uos:0
|
||||
#: field:mrp.production.product.line,product_uos:0
|
||||
msgid "Product UOS"
|
||||
msgstr ""
|
||||
msgstr "Prodajna ME proizvoda"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
|
@ -1668,7 +1668,7 @@ msgstr "Končni datum"
|
|||
#. module: mrp
|
||||
#: field:mrp.workcenter,resource_id:0
|
||||
msgid "Resource"
|
||||
msgstr ""
|
||||
msgstr "Vir"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.bom,date_start:0
|
||||
|
@ -1729,7 +1729,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: model:res.groups,name:mrp.group_mrp_manager
|
||||
msgid "Manager"
|
||||
msgstr ""
|
||||
msgstr "Vodja"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
|
@ -1769,17 +1769,17 @@ msgstr ""
|
|||
#: model:process.node,name:mrp.process_node_serviceproduct0
|
||||
#: model:process.node,name:mrp.process_node_serviceproduct1
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
msgstr "Storitev"
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.production,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
msgstr "Preklicano"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
msgid "(Update)"
|
||||
msgstr ""
|
||||
msgstr "(Posodobi)"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.config.settings,module_mrp_operations:0
|
||||
|
@ -1812,12 +1812,12 @@ msgstr ""
|
|||
#: field:mrp.routing.workcenter,company_id:0
|
||||
#: view:mrp.workcenter:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
msgstr "Podjetje"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
msgid "Default Unit of Measure"
|
||||
msgstr ""
|
||||
msgstr "Privzeta EM"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,time_cycle:0
|
||||
|
@ -1843,7 +1843,7 @@ msgstr ""
|
|||
#: field:mrp.production,message_ids:0
|
||||
#: field:mrp.production.workcenter.line,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
msgstr "Sporočila"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
|
@ -1856,7 +1856,7 @@ msgstr ""
|
|||
#: code:addons/mrp/wizard/change_production_qty.py:88
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Napaka!"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/report/price.py:139
|
||||
|
@ -1900,7 +1900,7 @@ msgstr ""
|
|||
#: code:addons/mrp/mrp.py:284
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Opozorilo"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,product_uos_qty:0
|
||||
|
@ -1935,7 +1935,7 @@ msgstr ""
|
|||
#: field:mrp.production,message_follower_ids:0
|
||||
#: field:mrp.production.workcenter.line,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Sledilci"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.bom,active:0
|
||||
|
@ -1952,7 +1952,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: selection:mrp.production,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Nov"
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.product.produce,mode:0
|
||||
|
@ -2119,7 +2119,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: model:res.groups,name:mrp.group_mrp_user
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Uporabnik"
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.product.produce,mode:0
|
||||
|
@ -2144,7 +2144,7 @@ msgstr ""
|
|||
#: field:mrp.production.workcenter.line,message_comment_ids:0
|
||||
#: help:mrp.production.workcenter.line,message_comment_ids:0
|
||||
msgid "Comments and emails"
|
||||
msgstr ""
|
||||
msgstr "Pripombe in e-pošta"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/mrp.py:784
|
||||
|
@ -2353,7 +2353,7 @@ msgstr ""
|
|||
#: field:mrp.production,message_summary:0
|
||||
#: field:mrp.production.workcenter.line,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Povzetek"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_purchaseprocure0
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
# Polish 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:56+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: note_pad
|
||||
#: model:ir.model,name:note_pad.model_note_note
|
||||
msgid "Note"
|
||||
msgstr "Notatka"
|
||||
|
||||
#. module: note_pad
|
||||
#: field:note.note,note_pad_url:0
|
||||
msgid "Pad Url"
|
||||
msgstr ""
|
|
@ -0,0 +1,69 @@
|
|||
# Polish 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:56+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: pad
|
||||
#. openerp-web
|
||||
#: code:addons/pad/static/src/xml/pad.xml:27
|
||||
#, python-format
|
||||
msgid "Ñ"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: model:ir.model,name:pad.model_pad_common
|
||||
msgid "pad.common"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: help:res.company,pad_key:0
|
||||
msgid "Etherpad lite api key."
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: model:ir.model,name:pad.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Firmy"
|
||||
|
||||
#. module: pad
|
||||
#. openerp-web
|
||||
#: code:addons/pad/static/src/xml/pad.xml:10
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You must configure the etherpad through the menu Setting > Companies > "
|
||||
"Companies, in the configuration tab of your company."
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: view:res.company:0
|
||||
msgid "Pads"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: field:res.company,pad_server:0
|
||||
msgid "Pad Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: field:res.company,pad_key:0
|
||||
msgid "Pad Api Key"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad
|
||||
#: help:res.company,pad_server:0
|
||||
msgid "Etherpad lite server. Example: beta.primarypad.com"
|
||||
msgstr ""
|
|
@ -0,0 +1,38 @@
|
|||
# Polish 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 17:56+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\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-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: pad_project
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! Task end-date must be greater then task start-date"
|
||||
msgstr "Błąd ! Data końcowa musi być późniejsza niż data początkowa"
|
||||
|
||||
#. module: pad_project
|
||||
#: field:project.task,description_pad:0
|
||||
msgid "Description PAD"
|
||||
msgstr ""
|
||||
|
||||
#. module: pad_project
|
||||
#: model:ir.model,name:pad_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Zadanie"
|
||||
|
||||
#. module: pad_project
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! You cannot create recursive tasks."
|
||||
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych zadań."
|
|
@ -8,24 +8,24 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
|
||||
"PO-Revision-Date: 2012-02-09 15:38+0000\n"
|
||||
"PO-Revision-Date: 2012-12-19 14:35+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\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:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-20 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: field:outlook.installer,plugin32:0
|
||||
msgid "Outlook Plug-in 32bits"
|
||||
msgstr ""
|
||||
msgstr "Outlook Plug-in 32bits"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Download and install the plug-in"
|
||||
msgstr ""
|
||||
msgstr "Herunterladen und Installieren des Plug-Ins"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: model:ir.model,name:plugin_outlook.model_outlook_installer
|
||||
|
@ -35,7 +35,7 @@ msgstr "outlook.installer"
|
|||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
msgid "MS .Net Framework 3.5 or above."
|
||||
msgstr ""
|
||||
msgstr "MS .Net Framework 3.5 oder höher."
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: model:ir.actions.act_window,name:plugin_outlook.action_outlook_installer
|
||||
|
@ -48,7 +48,7 @@ msgstr "Installiere Outlook Plugin"
|
|||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
msgid "System requirements:"
|
||||
msgstr ""
|
||||
msgstr "System Voraussetzungen"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
|
@ -61,21 +61,23 @@ msgid ""
|
|||
"Click on the link above to download the installer for either 32 or 64 bits, "
|
||||
"and execute it."
|
||||
msgstr ""
|
||||
"Klicken Sie auf den obigen Link um die 32 oder 64 bit version zu laden und "
|
||||
"danach installieren."
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
msgid "MS Outlook 2005 or above."
|
||||
msgstr ""
|
||||
msgstr "MS Outlook 2005 oder höher."
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "Schließen"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: field:outlook.installer,plugin64:0
|
||||
msgid "Outlook Plug-in 64bits"
|
||||
msgstr ""
|
||||
msgstr "Outlook Plug-in 64bits"
|
||||
|
||||
#. module: plugin_outlook
|
||||
#: view:outlook.installer:0
|
||||
|
@ -87,6 +89,8 @@ msgstr "Abfolge Installation und Konfiguration"
|
|||
#: help:outlook.installer,plugin64:0
|
||||
msgid "Outlook plug-in file. Save this file and install it in Outlook."
|
||||
msgstr ""
|
||||
"Outlook plug-in Datei. Speichern Sie diese Datei und installieren Sie diese "
|
||||
"dann in Outlook."
|
||||
|
||||
#~ msgid "Outlook Plug-in"
|
||||
#~ msgstr "Outlook Plug-in"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue