[MERGE] Sync with trunk.

bzr revid: tde@openerp.com-20121220091908-7qy8excmhe3ussi0
This commit is contained in:
Thibault Delavallée 2012-12-20 10:19:08 +01:00
commit fa36ac76ee
122 changed files with 11421 additions and 8047 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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):

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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."

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 !"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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."

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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:

View File

@ -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:

View File

@ -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"

View File

@ -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

View File

@ -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

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
6 access_document_directory_content_group_document_manager document.directory.content document manager model_document_directory_content base.group_system 1 1 1 1
7 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
8 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
9 access_ir_attachment_group_user ir.attachment user base.model_ir_attachment base.group_document_user 1 1 1 1
10 access_ir_attachment_group_system ir.attachment system base.model_ir_attachment base.group_system 1 0 0 0
11 access_res_partner_group_user res.partner user base.model_res_partner base.group_document_user 1 1 1 0

View File

@ -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
-

View File

@ -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.
-

View File

@ -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)

View File

@ -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'
-

View File

@ -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

View File

@ -24,5 +24,4 @@ import webdav
import webdav_server
import document_webdav
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -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:

View File

@ -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:

View File

@ -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):

View File

@ -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)

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ""

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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'/>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ""

69
addons/pad/i18n/pl.po Normal file
View File

@ -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 "&Ntilde;"
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 ""

View File

@ -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ń."

View File

@ -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