[MERGE]: Merged with server
bzr revid: atp@tinyerp.com-20130916152046-vc454ytxm3gkq5sj
This commit is contained in:
commit
58fcaa9d40
|
@ -37,7 +37,6 @@ There are two types of views:
|
|||
|
||||
.. note:: Since OpenERP 4.1, form views can also contain graphs.
|
||||
|
||||
|
||||
Form views
|
||||
----------
|
||||
|
||||
|
@ -388,6 +387,33 @@ The easiest method to compute real statistics on objects is:
|
|||
You can get en example in all modules of the form: report\_.... Example: report_crm.
|
||||
|
||||
|
||||
Controlling view actions
|
||||
------------------------
|
||||
|
||||
When defining a view, the following attributes can be added on the
|
||||
opening element of the view (i.e. ``<form>``, ``<tree>``...)
|
||||
|
||||
``create``
|
||||
set to ``false`` to hide the link / button which allows to create a new
|
||||
record.
|
||||
|
||||
``delete``
|
||||
set to ``false`` to hide the link / button which allows to remove a
|
||||
record.
|
||||
|
||||
``edit``
|
||||
set to ``false`` to hide the link / button which allows to
|
||||
edit a record.
|
||||
|
||||
|
||||
These attributes are available on form, tree, kanban and gantt
|
||||
views. They are normally automatically set from the access rights of
|
||||
the users, but can be forced globally in the view definition. A
|
||||
possible use case for these attributes is to define an inner tree view
|
||||
for a one2many relation inside a form view, in which the user cannot
|
||||
add or remove related records, but only edit the existing ones (which
|
||||
are presumably created through another way, such as a wizard).
|
||||
|
||||
|
||||
Calendar Views
|
||||
--------------
|
||||
|
@ -680,6 +706,7 @@ toolbar
|
|||
its descendants will be displayed in the main tree. The value is ignored
|
||||
for flat lists.
|
||||
|
||||
|
||||
Grouping Elements
|
||||
+++++++++++++++++
|
||||
|
||||
|
@ -1351,12 +1378,22 @@ When you add a one2many field in a form view, you do something like this :
|
|||
|
||||
If you want to specify the views to use, you can add a *context* attribute, and
|
||||
specify a view id for each type of view supported, exactly like the action's
|
||||
*view_id* attribute:
|
||||
*view_id* attribute, except that the provided view id must always be
|
||||
fully-qualified with the module name, even if it belongs to the same module:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<field name="order_line" colspan="4" nolabel="1"
|
||||
context="{'form_view_ref' : 'module.view_id', 'tree_view_ref' : 'model.view_id'}"/>
|
||||
context="{'form_view_ref': 'module.view_id',
|
||||
'tree_view_ref': 'module.view_id'}"/>
|
||||
|
||||
.. note::
|
||||
|
||||
You *have to* put the module name in the view_id, because this
|
||||
is evaluated when the view is displayed, and not when the XML file
|
||||
is parsed, so the module name information is not available. Failing
|
||||
to do so will result in the default view being selected (see
|
||||
below).
|
||||
|
||||
If you don't specify the views, OpenERP will choose one in this order :
|
||||
|
||||
|
|
|
@ -31,5 +31,15 @@ Changelog
|
|||
``openerp.exceptions.RedirectWarning``.
|
||||
- Give a pair of new methods to ``res.config.settings`` and a helper to make
|
||||
them easier to use: ``get_config_warning()``.
|
||||
- Path to webkit report files (field ``report_file``) must be writen with the
|
||||
Unix way (with ``/`` and not ``\``)
|
||||
- Path to webkit report files (field ``report_file``) must be written the
|
||||
Unix way (with ``/`` and not ``\``)
|
||||
|
||||
|
||||
`7.0`
|
||||
-----
|
||||
|
||||
- Modules may now include an ``i18n_extra`` directory that will be treated like the
|
||||
default ``i18n`` directory. This is typically useful for manual translation files
|
||||
that are not managed by Launchpad's translation system. An example is l10n modules
|
||||
that depend on ``l10n_multilang``.
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -64,12 +64,12 @@ msgstr "Vis arkitektur"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_sale_stock
|
||||
msgid "Quotation, Sale Orders, Delivery & Invoicing Control"
|
||||
msgstr ""
|
||||
msgstr "Tilbud, Salgs ordre, Følgeseddel og Faktura kontrol"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.sequence,implementation:0
|
||||
msgid "No gap"
|
||||
msgstr ""
|
||||
msgstr "Ingen forskel"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -98,7 +98,7 @@ msgstr "Touchscreen-grænseflade for butikker"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||
msgid "Indian Payroll"
|
||||
msgstr ""
|
||||
msgstr "Indisk Løn"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.cron,model:0
|
||||
|
@ -166,6 +166,9 @@ msgid ""
|
|||
"specified as a Python expression defining a list of triplets. For example: "
|
||||
"[('color','=','red')]"
|
||||
msgstr ""
|
||||
"Valgfrit domæne til at begrænse mulige værdier for forholdsfelter, angivet "
|
||||
"som et Python-udtryk definerer en liste af trillinger. For eksempel: "
|
||||
"[('color', '=', 'red')]"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,ref:0
|
||||
|
@ -175,7 +178,7 @@ msgstr "Reference"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
|
||||
msgid "Belgium - Structured Communication"
|
||||
msgstr ""
|
||||
msgstr "Belgisk struktureret kommunikation"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,target:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -12,8 +12,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -270,7 +270,7 @@ msgstr "created."
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
msgid "XSL Path"
|
||||
msgstr ""
|
||||
msgstr "XSL Path"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||
|
@ -296,7 +296,7 @@ msgstr "Inuktitut / ᐃᓄᒃᑎᑐᑦ"
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_multi_currency
|
||||
msgid "Multi Currencies"
|
||||
msgstr ""
|
||||
msgstr "Multi Currencies"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_cl
|
||||
|
@ -308,6 +308,12 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Chilean accounting chart and tax localisation.\n"
|
||||
"==============================================\n"
|
||||
"Plan contable chileno e impuestos de acuerdo a disposiciones vigentes\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale
|
||||
|
@ -419,6 +425,8 @@ msgid ""
|
|||
"There is already a shared filter set as default for %(model)s, delete or "
|
||||
"change it before setting a new default"
|
||||
msgstr ""
|
||||
"There is already a shared filter set as default for %(model)s, delete or "
|
||||
"change it before setting a new default"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:2649
|
||||
|
@ -516,12 +524,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.model.relation,name:0
|
||||
msgid "Relation Name"
|
||||
msgstr ""
|
||||
msgstr "Relation Name"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Create Access Right"
|
||||
msgstr ""
|
||||
msgstr "Create Access Right"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tv
|
||||
|
@ -561,7 +569,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:workflow.transition:0
|
||||
msgid "Workflow Transition"
|
||||
msgstr ""
|
||||
msgstr "Workflow Transition"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gf
|
||||
|
@ -571,7 +579,7 @@ msgstr "French Guyana"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_hr
|
||||
msgid "Jobs, Departments, Employees Details"
|
||||
msgstr ""
|
||||
msgstr "Jobs, Departments, Employees Details"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_analytic
|
||||
|
@ -611,7 +619,7 @@ msgid ""
|
|||
"event registration\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Organization and management of Events.\n"
|
||||
"Organisation and management of Events.\n"
|
||||
"======================================\n"
|
||||
"\n"
|
||||
"The event module allows you to efficiently organise events and all related "
|
||||
|
@ -634,7 +642,7 @@ msgstr "Bosnian / bosanski jezik"
|
|||
msgid ""
|
||||
"If you check this, then the second time the user prints with same attachment "
|
||||
"name, it returns the previous report."
|
||||
msgstr "On checking this successive reports are generated from cache."
|
||||
msgstr "With this checked, successive reports are retrieved from cache."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_mrp_byproduct
|
||||
|
@ -792,6 +800,32 @@ msgid ""
|
|||
"module named account_voucher.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Accounting and Financial Management.\n"
|
||||
"====================================\n"
|
||||
"\n"
|
||||
"Financial and accounting module which covers:\n"
|
||||
"---------------------------------------------\n"
|
||||
" * General Accounting\n"
|
||||
" * Cost/Analytic accounting\n"
|
||||
" * Third party accounting\n"
|
||||
" * Taxes management\n"
|
||||
" * Budgets\n"
|
||||
" * Customer and Supplier Invoices\n"
|
||||
" * Bank statements\n"
|
||||
" * Reconciliation process by partner\n"
|
||||
"\n"
|
||||
"Creates a dashboard for accountants that includes:\n"
|
||||
"--------------------------------------------------\n"
|
||||
" * List of Customer Invoices to Approve\n"
|
||||
" * Company Analysis\n"
|
||||
" * Graph of Treasury\n"
|
||||
"\n"
|
||||
"Processes like maintaining the general ledger are done through the defined "
|
||||
"financial Journals (entry move line or grouping is maintained through "
|
||||
"journal) for a particular financial year.\n"
|
||||
"For the preparation of vouchers there is a module named account_voucher.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -819,13 +853,18 @@ msgid ""
|
|||
"This module provides the Integration of the LinkedIn with OpenERP.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"OpenERP Web LinkedIn module.\n"
|
||||
"============================\n"
|
||||
"This module integrates LinkedIn with OpenERP.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,src_model:0
|
||||
msgid ""
|
||||
"Optional model name of the objects on which this action should be visible"
|
||||
msgstr ""
|
||||
"Optional model name of the objects on which this action should be visible"
|
||||
"Optional model name of the objects for which this action should be visible"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.transition,trigger_expr_id:0
|
||||
|
@ -840,7 +879,7 @@ msgstr "Jordan"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_hr
|
||||
msgid "Croatia - RRIF 2012 COA"
|
||||
msgstr ""
|
||||
msgstr "Croatia - RRIF 2012 COA"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.cron,nextcall:0
|
||||
|
@ -969,6 +1008,30 @@ msgid ""
|
|||
"also possible in order to automatically create a meeting when a holiday "
|
||||
"request is accepted by setting up a type of meeting in Leave Type.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Manage leaves and allocation requests\n"
|
||||
"=====================================\n"
|
||||
"\n"
|
||||
"This application controls the holiday schedule of your company. It allows "
|
||||
"employees to request holidays. Then, managers can review requests for "
|
||||
"holidays and approve or reject them. This way, you can control the overall "
|
||||
"holiday planning for the company or department.\n"
|
||||
"\n"
|
||||
"You can configure several kinds of leaves (sickness, holiday, paid days, "
|
||||
"...) and quickly allocate leaves to an employee or department via allocation "
|
||||
"requests. An employee can also make a request for more days off by making a "
|
||||
"new Allocation. This will increase the total available days for that leave "
|
||||
"type (if the request is accepted).\n"
|
||||
"\n"
|
||||
"You can keep track of leaves in different ways by the following reports: \n"
|
||||
"\n"
|
||||
"* Leaves Summary\n"
|
||||
"* Leaves by Department\n"
|
||||
"* Leaves Analysis\n"
|
||||
"\n"
|
||||
"Synchronisation with an internal agenda (Meetings of the CRM module) is also "
|
||||
"possible. In order to automatically create a meeting when a holiday request "
|
||||
"is accepted, set up the type of meeting in Leave Type.\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1199,6 +1262,35 @@ msgid ""
|
|||
"* Planned Revenue by Stage and User (graph)\n"
|
||||
"* Opportunities by Stage (graph)\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"The generic OpenERP Customer Relationship Management\n"
|
||||
"====================================================\n"
|
||||
"\n"
|
||||
"This application enables a group of people to intelligently and efficiently "
|
||||
"manage leads, opportunities, meetings and phone calls.\n"
|
||||
"\n"
|
||||
"It manages key tasks such as communication, identification, prioritisation, "
|
||||
"assignment, resolution and notification.\n"
|
||||
"\n"
|
||||
"OpenERP ensures that all cases are successfully tracked by users, customers "
|
||||
"and suppliers. It can automatically send reminders, escalate the request, "
|
||||
"trigger specific methods and many other actions based on your own enterprise "
|
||||
"rules.\n"
|
||||
"\n"
|
||||
"The greatest thing about this system is that users don't need to do anything "
|
||||
"special. The CRM module has an email gateway for the synchronisation "
|
||||
"interface between mails and OpenERP. That way, users can just send emails to "
|
||||
"the request tracker.\n"
|
||||
"\n"
|
||||
"OpenERP will take care of thanking them for their message, automatically "
|
||||
"routing it to the appropriate staff and make sure all future correspondence "
|
||||
"gets to the right place.\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Dashboard for CRM will include:\n"
|
||||
"-------------------------------\n"
|
||||
"* Planned Revenue by Stage and User (graph)\n"
|
||||
"* Opportunities by Stage (graph)\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
@ -1295,6 +1387,48 @@ msgid ""
|
|||
"come with any additional paid permission for online use of 'private "
|
||||
"modules'.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Base module for the Brazilian localisation\n"
|
||||
"==========================================\n"
|
||||
"\n"
|
||||
"This module consists in:\n"
|
||||
"\n"
|
||||
" - Generic Brazilian chart of accounts\n"
|
||||
" - Brazilian taxes such as:\n"
|
||||
"\n"
|
||||
" - IPI\n"
|
||||
" - ICMS\n"
|
||||
" - PIS\n"
|
||||
" - COFINS\n"
|
||||
" - ISS\n"
|
||||
" - IR\n"
|
||||
" - IRPJ\n"
|
||||
" - CSLL\n"
|
||||
"\n"
|
||||
"The field tax_discount has also been added in the account.tax.template and \n"
|
||||
"account.tax objects to allow the proper computation of some Brazilian VATs \n"
|
||||
"such as ICMS. The chart of account creation wizard has been extended to \n"
|
||||
"propagate those new data properly.\n"
|
||||
"\n"
|
||||
"It's important to note however that this module lack many implementations to "
|
||||
"\n"
|
||||
"use OpenERP properly in Brazil. Those implementations (such as the "
|
||||
"electronic \n"
|
||||
"fiscal Invoicing which is already operational) are brought by more than 15 \n"
|
||||
"additional modules of the Brazilian Launchpad localisation project \n"
|
||||
"https://launchpad.net/openerp.pt-br-localiz and their dependencies in the \n"
|
||||
"extra addons branch. Those modules aim at not breaking with the remarkable \n"
|
||||
"OpenERP modularity, this is why they are numerous but small. One of the \n"
|
||||
"reasons for maintaining those modules apart is that Brazilian Localisation \n"
|
||||
"leaders need commit rights agility to complete the localisation as companies "
|
||||
"\n"
|
||||
"fund the remaining legal requirements (such as soon fiscal ledgers, \n"
|
||||
"accounting SPED, fiscal SPED and PAF ECF that are still missing as September "
|
||||
"\n"
|
||||
"2011). Those modules are also strictly licensed under AGPL V3 and today "
|
||||
"don't \n"
|
||||
"come with any additional paid permission for online use of 'private "
|
||||
"modules'.\n"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:406
|
||||
|
@ -1303,8 +1437,8 @@ msgid ""
|
|||
"Language with code \"%s\" is not defined in your system !\n"
|
||||
"Define it through the Administration menu."
|
||||
msgstr ""
|
||||
"Language with code \"%s\" is not defined in your system !\n"
|
||||
"Define it through the Administration menu."
|
||||
"Language with code \"%s\" is not defined in your system!\n"
|
||||
"Define it through the Settings menu."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gu
|
||||
|
@ -1746,6 +1880,26 @@ msgid ""
|
|||
"in their pockets, this module is essential.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"The base module to manage lunch.\n"
|
||||
"================================\n"
|
||||
"\n"
|
||||
"Many companies order sandwiches, pizzas and more from regular suppliers for "
|
||||
"their employees providing them with extra facilities. \n"
|
||||
"\n"
|
||||
"However lunch management within a company requires proper administration "
|
||||
"especially when the number of employees or suppliers is large. \n"
|
||||
"\n"
|
||||
"The “Lunch Order” module has been developed to make this management easier "
|
||||
"and also to offer employees more tools and better usability. \n"
|
||||
"\n"
|
||||
"In addition to full meal and supplier management, this module offers the "
|
||||
"possibility to display warnings and provide quick order selection based on "
|
||||
"employees' preferences.\n"
|
||||
"\n"
|
||||
"If you want to save your employees' time and the need to always have coins "
|
||||
"in their pockets, this module is essential.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
|
@ -2031,6 +2185,22 @@ msgid ""
|
|||
"synchronization with other companies.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"This module adds generic sharing tools to your current OpenERP database.\n"
|
||||
"========================================================================\n"
|
||||
"\n"
|
||||
"It specifically adds a 'share' button that is available in the Web client "
|
||||
"to\n"
|
||||
"share any kind of OpenERP data with colleagues, customers, friends.\n"
|
||||
"\n"
|
||||
"The system will work by creating new users and groups on the fly, and by\n"
|
||||
"combining the appropriate access rights and ir.rules to ensure that the "
|
||||
"shared\n"
|
||||
"users only have access to the data that has been shared with them.\n"
|
||||
"\n"
|
||||
"This is extremely useful for collaborative work, knowledge sharing,\n"
|
||||
"synchronisation with other companies.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_process
|
||||
|
@ -2563,7 +2733,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"\n"
|
||||
" \n"
|
||||
"Belgian localization for in/outgoing invoices (prereq to account_coda):\n"
|
||||
"Belgian localisation for in/outgoing invoices (prereq to account_coda):\n"
|
||||
"=========================================================================\n"
|
||||
" - Rename 'reference' field labels to 'Communication'\n"
|
||||
" - Add support for Belgian Structured Communication\n"
|
||||
|
@ -2658,10 +2828,10 @@ msgstr ""
|
|||
"Helpdesk Management.\n"
|
||||
"====================\n"
|
||||
"\n"
|
||||
"Like records and processing of claims, Helpdesk and Support are good tools\n"
|
||||
"Like records and claims processing, Helpdesk and Support are good tools\n"
|
||||
"to trace your interventions. This menu is more adapted to oral "
|
||||
"communication,\n"
|
||||
"which is not necessarily related to a claim. Select a customer, add notes\n"
|
||||
"communication\n"
|
||||
"that is not necessarily related to a claim. Select a customer, add notes\n"
|
||||
"and categorise your interventions with a channel and a priority level.\n"
|
||||
" "
|
||||
|
||||
|
@ -3010,6 +3180,15 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Peruvian accounting chart and tax localisation. In accordance with PCGE "
|
||||
"2010.\n"
|
||||
"========================================================================\n"
|
||||
"\n"
|
||||
"Plan contable peruano e impuestos de acuerdo a disposiciones vigentes de la\n"
|
||||
"SUNAT 2011 (PCGE 2010).\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -3170,6 +3349,19 @@ msgid ""
|
|||
" * Unlimited \"Group By\" levels (not stacked), two cross level analysis "
|
||||
"(stacked)\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Graph Views for Web Client.\n"
|
||||
"===========================\n"
|
||||
"\n"
|
||||
" * Parse a <graph> view allowing the presentation to be changed "
|
||||
"dynamically\n"
|
||||
" * Graph Types: pie, line, area, bar, radar\n"
|
||||
" * Stacked/Not Stacked for areas and bars\n"
|
||||
" * Legends: top, inside (top/left), hidden\n"
|
||||
" * Features: download as PNG or CSV, browse data grid, switch "
|
||||
"orientation\n"
|
||||
" * Unlimited \"Group By\" levels (not stacked), two cross level analysis "
|
||||
"(stacked)\n"
|
||||
|
||||
#. module: base
|
||||
#: view:res.groups:0
|
||||
|
@ -3248,6 +3440,25 @@ msgid ""
|
|||
"purchase price and fixed product standard price are booked on a separate \n"
|
||||
"account."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"This module supports the Anglo-Saxon accounting methodology by changing the "
|
||||
"accounting logic for stock transactions.\n"
|
||||
"============================================================================="
|
||||
"=======================================\n"
|
||||
"\n"
|
||||
"The difference between the Anglo-Saxon accounting countries and the Rhine \n"
|
||||
"(or also called Continental accounting) countries is the timing of taking \n"
|
||||
"the Cost of Goods Sold versus the Cost of Sales. Anglo-Saxon accounting \n"
|
||||
"takes the cost when a sales invoice is created whereas Continental "
|
||||
"accounting will \n"
|
||||
"take the cost at the moment the goods are shipped.\n"
|
||||
"\n"
|
||||
"This module adds the functionality by using an interim account to \n"
|
||||
"store the value of shipped goods. It also contra-books the interim \n"
|
||||
"account at creation to transfer the amount to the \n"
|
||||
"debtor or creditor account. Additionally, price differences between actual \n"
|
||||
"purchase prices and fixed product standard prices are booked on a separate \n"
|
||||
"account."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.si
|
||||
|
@ -3314,7 +3525,7 @@ msgstr "French RIB Bank Details"
|
|||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%p - Equivalent of either AM or PM."
|
||||
msgstr "%p - Equivalent of either AM or PM."
|
||||
msgstr "%p - Writes either AM or PM."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -3332,6 +3543,7 @@ msgid ""
|
|||
"the user will have an access to the sales configuration as well as statistic "
|
||||
"reports."
|
||||
msgstr ""
|
||||
"the user will have access to the sales configuration and statistic reports."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.nz
|
||||
|
@ -3396,6 +3608,18 @@ msgid ""
|
|||
" above. Specify the interval information and partner to be invoice.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Create recurring documents.\n"
|
||||
"===========================\n"
|
||||
"\n"
|
||||
"This module allows the creation of new documents and their subscriptions.\n"
|
||||
"\n"
|
||||
"e.g. To have an invoice generated automatically periodically:\n"
|
||||
"-------------------------------------------------------------\n"
|
||||
" * Define a document type based on an Invoice object.\n"
|
||||
" * Define a subscription whose source document is the document defined\n"
|
||||
" above. Specify the repeat interval and the partner to be invoiced.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,rml_header1:0
|
||||
|
@ -3418,6 +3642,8 @@ msgid ""
|
|||
"the user will have an access to the human resources configuration as well as "
|
||||
"statistic reports."
|
||||
msgstr ""
|
||||
"the user will have access to the human resources configuration as well as "
|
||||
"statistics reports."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_pl
|
||||
|
@ -3541,6 +3767,22 @@ msgid ""
|
|||
" - Yearly Salary by Head and Yearly Salary by Employee Report\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Indian Payroll Salary Rules.\n"
|
||||
"============================\n"
|
||||
"\n"
|
||||
" -Configuration of hr_payroll for India localisation\n"
|
||||
" -All main contributions rules for India payslip.\n"
|
||||
" * New payslip report\n"
|
||||
" * Employee Contracts\n"
|
||||
" * Allow to configure Basic / Gross / Net Salary\n"
|
||||
" * Employee PaySlip\n"
|
||||
" * Allowance / Deduction\n"
|
||||
" * Integrated with Holiday Management\n"
|
||||
" * Medical Allowance, Travel Allowance, Child Allowance, ...\n"
|
||||
" - Payroll Advice and Report\n"
|
||||
" - Yearly Salary by Head and Yearly Salary by Employee Report\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:3871
|
||||
|
@ -3649,8 +3891,8 @@ msgid ""
|
|||
"way you want to print them in letters and other documents. Some example: "
|
||||
"Mr., Mrs. "
|
||||
msgstr ""
|
||||
"Manage the contact titles you want to have available in your system and the "
|
||||
"way you want to print them in letters and other documents. Some example: "
|
||||
"Manage the contact titles you wish to have available in your system and how "
|
||||
"you want them to be printed in letters and other documents. Some examples: "
|
||||
"Mr., Mrs. "
|
||||
|
||||
#. module: base
|
||||
|
@ -3707,7 +3949,7 @@ msgid ""
|
|||
"If you use a formula type, use a python expression using the variable "
|
||||
"'object'."
|
||||
msgstr ""
|
||||
"If you use a formula type, use a python expression using the variable "
|
||||
"If you use a formula type, use a python expression with the variable "
|
||||
"'object'."
|
||||
|
||||
#. module: base
|
||||
|
@ -3729,7 +3971,7 @@ msgstr "Contact Titles"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
|
||||
msgid "Products Manufacturers"
|
||||
msgstr "Products Manufacturers"
|
||||
msgstr "Product Manufacturer Info"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:240
|
||||
|
@ -3902,6 +4144,38 @@ msgid ""
|
|||
"* Work Order Analysis\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Manage the Manufacturing process in OpenERP\n"
|
||||
"===========================================\n"
|
||||
"\n"
|
||||
"The manufacturing module allows you to cover planning, ordering, stock and "
|
||||
"the manufacturing or assembly of products from raw materials and components. "
|
||||
"It handles the consumption and production of products according to a bill of "
|
||||
"materials, the necessary operations by machinery and tools, and the aid of "
|
||||
"human resources, all via the use of routings.\n"
|
||||
"\n"
|
||||
"It supports the complete integration and planning of stockable goods, "
|
||||
"consumables and services. Services are completely integrated with the rest "
|
||||
"of the software. For instance, you can set up a sub-contracting service in a "
|
||||
"bill of materials which, on order, automatically purchases your product "
|
||||
"assembly.\n"
|
||||
"\n"
|
||||
"Key Features\n"
|
||||
"------------\n"
|
||||
"* Make to Stock/Make to Order\n"
|
||||
"* Multi-level bill of materials, no limit\n"
|
||||
"* Multi-level routing, no limit\n"
|
||||
"* Routing and work centre integrated with analytic accounting\n"
|
||||
"* Periodic scheduler computation \n"
|
||||
"* Allows browsing bills of materials in a complete structure including child "
|
||||
"and phantom bills of materials\n"
|
||||
"\n"
|
||||
"Dashboard / Reports for MRP includes:\n"
|
||||
"-------------------------------------\n"
|
||||
"* Procurements in Exception (Graph)\n"
|
||||
"* Stock Value Variation (Graph)\n"
|
||||
"* Work Order Analysis\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
|
@ -4001,8 +4275,8 @@ msgid ""
|
|||
"For one2many fields, the field on the target model that implement the "
|
||||
"opposite many2one relationship"
|
||||
msgstr ""
|
||||
"For one2many fields, the field on the target model that implements the "
|
||||
"opposite many2one relationship"
|
||||
"For one2many fields, the field in the target model that implements the "
|
||||
"reverse many2one relationship"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
|
@ -4097,6 +4371,24 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"This module allows you to define the default timesheet function of a user on "
|
||||
"a given account.\n"
|
||||
"============================================================================="
|
||||
"================\n"
|
||||
"\n"
|
||||
"This is useful when a user encodes their timesheet: the values are "
|
||||
"retrieved\n"
|
||||
"and the fields are auto-filled. However the possibility to change these "
|
||||
"values is\n"
|
||||
"still available.\n"
|
||||
"\n"
|
||||
"Obviously if no data has been recorded for the current account, the default\n"
|
||||
"value is given as usual from the employee data so that this module is "
|
||||
"perfectly\n"
|
||||
"compatible with older configurations.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -4328,7 +4620,7 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Italian accounting chart and localization.\n"
|
||||
"Italian accounting chart and localisation.\n"
|
||||
"================================================\n"
|
||||
" "
|
||||
|
||||
|
@ -4559,7 +4851,7 @@ msgstr "Account Charts"
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_event_main
|
||||
msgid "Events Organization"
|
||||
msgstr ""
|
||||
msgstr "Events Organisation"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_customer_form
|
||||
|
@ -8008,6 +8300,16 @@ msgid ""
|
|||
"shortcut.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Enable shortcut feature in the web client.\n"
|
||||
"==========================================\n"
|
||||
"\n"
|
||||
"Add a Shortcut icon to the systray in order to access the user's shortcuts "
|
||||
"(if any).\n"
|
||||
"\n"
|
||||
"Add a Shortcut icon beside the views title in order to add/remove a "
|
||||
"shortcut.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,rml_header2:0
|
||||
|
@ -8266,6 +8568,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to add a contact to your address book.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP helps you easily track all activities related to\n"
|
||||
" a customer: discussions, history of business opportunities,\n"
|
||||
" documents, etc.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.bank_account_update
|
||||
|
@ -16672,9 +16982,6 @@ msgstr ""
|
|||
#~ msgid "maintenance.contract"
|
||||
#~ msgstr "maintenance.contract"
|
||||
|
||||
#~ msgid "Last Connection"
|
||||
#~ msgstr "Copy text \t Last Connection"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you need another language than the official ones available, you can "
|
||||
#~ "import a language pack from here. Other OpenERP languages than the official "
|
||||
|
@ -16770,10 +17077,6 @@ msgstr ""
|
|||
#~ msgid "SMS Send"
|
||||
#~ msgstr "SMS Send"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Object %s does not exists"
|
||||
#~ msgstr "Copy text \t Object %s does not exist"
|
||||
|
||||
#~ msgid "Waiting"
|
||||
#~ msgstr "Waiting"
|
||||
|
||||
|
@ -16781,9 +17084,6 @@ msgstr ""
|
|||
#~ msgid "Could not load base module"
|
||||
#~ msgstr "Could not load base module"
|
||||
|
||||
#~ msgid "Secondary Log"
|
||||
#~ msgstr "Copy text \t Secondary Log"
|
||||
|
||||
#~ msgid "Ignore"
|
||||
#~ msgstr "Ignore"
|
||||
|
||||
|
@ -16886,9 +17186,6 @@ msgstr ""
|
|||
#~ "you can add translations manually or perform a complete export (as a "
|
||||
#~ "template for a new language example)."
|
||||
|
||||
#~ msgid "Publisher warranty contract successfully registered!"
|
||||
#~ msgstr "Copy text \t Publisher warranty contract successfully registered!"
|
||||
|
||||
#~ msgid "state"
|
||||
#~ msgstr "state"
|
||||
|
||||
|
@ -17310,6 +17607,19 @@ msgstr ""
|
|||
#~ msgid "key '%s' not found in selection field '%s'"
|
||||
#~ msgstr "key '%s' not found in selection field '%s'"
|
||||
|
||||
#~ msgid "Last Connection"
|
||||
#~ msgstr "Last Connection"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Object %s does not exists"
|
||||
#~ msgstr "Object %s does not exist"
|
||||
|
||||
#~ msgid "Secondary Log"
|
||||
#~ msgstr "Secondary Log"
|
||||
|
||||
#~ msgid "Publisher warranty contract successfully registered!"
|
||||
#~ msgstr "Publisher warranty contract successfully registered!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "Group(s) cannot be deleted, because some user(s) still belong to them: %s !"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -8712,6 +8712,30 @@ msgid ""
|
|||
" are scheduled with taking the phase's start date.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo de gestión de proyectos a largo plazo que registra la planificación, "
|
||||
"la programación, la asignación de recursos.\n"
|
||||
"============================================================================="
|
||||
"==============\n"
|
||||
"Características:\n"
|
||||
"---------\n"
|
||||
" * Gestión de grandes proyectos\n"
|
||||
" * Definición de varias fases de proyecto\n"
|
||||
" * Calculo de programación de fase: Calcula la fecha de inicio y fin de "
|
||||
"las fases \n"
|
||||
" del proyecto que están en estado borrador, abierto y pendiente. Si no "
|
||||
"se especifica el proyecto\n"
|
||||
" entonces se tomarán todas las fases en estado borrador, abierto y "
|
||||
"pendiente.\n"
|
||||
" * Calculo de programación de tareas: Funciona igual que el botón de "
|
||||
"planificador en\n"
|
||||
" project.phase. Toma el proyecto como argumento y calcula todas las "
|
||||
"tareas en borrador,\n"
|
||||
" abiertas y pendientes.\n"
|
||||
" * Programación de tareas: todas las tareas que están en estado "
|
||||
"borrador, abierto y pendiente\n"
|
||||
" se programan tomando la fecha de inicio de la fase.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:2021
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -15,8 +15,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||
"X-Poedit-Language: Persian\n"
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -8819,7 +8819,7 @@ msgstr "Traduisible"
|
|||
#. module: base
|
||||
#: help:base.language.import,code:0
|
||||
msgid "ISO Language and Country code, e.g. en_US"
|
||||
msgstr ""
|
||||
msgstr "Code ISO de la langue et du pays, ex: en_US"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vn
|
||||
|
@ -9204,7 +9204,7 @@ msgstr "Cette fenêtre"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_anonymous
|
||||
msgid "Anonymous portal"
|
||||
msgstr ""
|
||||
msgstr "Portail anonyme"
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.export,format:0
|
||||
|
@ -9261,7 +9261,7 @@ msgstr "Mot de passe"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_claim
|
||||
msgid "Portal Claim"
|
||||
msgstr ""
|
||||
msgstr "Portail Réclamation"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_pe
|
||||
|
@ -9275,6 +9275,9 @@ msgid ""
|
|||
"Allow users to login through OAuth2 Provider.\n"
|
||||
"=============================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Permettre aux utilisateurs de se connecter via un fournisseur OAuth2.\n"
|
||||
"=============================================\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_model_fields
|
||||
|
@ -9528,7 +9531,7 @@ msgstr "Comptabilité financière et analytique"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_project
|
||||
msgid "Portal Project"
|
||||
msgstr ""
|
||||
msgstr "Portail Projet"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cc
|
||||
|
@ -9690,6 +9693,8 @@ msgid ""
|
|||
"Select this if you want to set company's address information for this "
|
||||
"contact"
|
||||
msgstr ""
|
||||
"Sélecionnez ceci si vous voulez indiquer l'adresse de la société de ce "
|
||||
"contact."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.default,field_name:0
|
||||
|
@ -9728,6 +9733,8 @@ msgid ""
|
|||
"This field holds the image used as avatar for this contact, limited to "
|
||||
"1024x1024px"
|
||||
msgstr ""
|
||||
"Ce champ contient l'image utilisée comme photo d'identité pour ce contact, "
|
||||
"de taille limitée à 1024x1024px."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.to
|
||||
|
@ -9942,6 +9949,9 @@ msgid ""
|
|||
"The kernel of OpenERP, needed for all installation.\n"
|
||||
"===================================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Le noyau d'OpenERP, nécessaire pour toute installation.\n"
|
||||
"===================================================\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_server_object_lines
|
||||
|
@ -10050,7 +10060,7 @@ msgstr "Hong-Kong"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_sale
|
||||
msgid "Portal Sale"
|
||||
msgstr ""
|
||||
msgstr "Portail Vente"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.default,ref_id:0
|
||||
|
@ -10288,6 +10298,9 @@ msgid ""
|
|||
"If the selected language is loaded in the system, all documents related to "
|
||||
"this contact will be printed in this language. If not, it will be English."
|
||||
msgstr ""
|
||||
"Si la langue sélectionnée est chargée dans le système, tous les documents "
|
||||
"pour ce contact seront imprimés dans cette langue. Dans le cas contraire, "
|
||||
"ils le seront en anglais."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_evaluation
|
||||
|
@ -10502,7 +10515,7 @@ msgstr "Actions multiples"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_mail
|
||||
msgid "Discussions, Mailing Lists, News"
|
||||
msgstr ""
|
||||
msgstr "Discussions, listes de diffusion, nouvelles"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_fleet
|
||||
|
@ -11088,7 +11101,7 @@ msgstr "Raccourcis personnalisés"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_si
|
||||
msgid "Slovenian - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Comptabilité - Slovénie"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_cancel
|
||||
|
@ -11102,6 +11115,15 @@ msgid ""
|
|||
"If set to true it allows user to cancel entries & invoices.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Autoriser l'annulation d'écritures comptables.\n"
|
||||
"====================================\n"
|
||||
"\n"
|
||||
"Ce module ajoute un champ \"Autoriser l'annulation d'écriture\" sur la vue "
|
||||
"formulaire d'un journal de compte.\n"
|
||||
"Lorsque ce champ est coché, un utilisateur peut annuler des écritures et des "
|
||||
"factures.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_plugin
|
||||
|
@ -11249,7 +11271,7 @@ msgstr "Annuler"
|
|||
#: code:addons/orm.py:1507
|
||||
#, python-format
|
||||
msgid "Unknown database identifier '%s'"
|
||||
msgstr ""
|
||||
msgstr "Identifiant de base de données inconnu '%s'"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
@ -11402,7 +11424,7 @@ msgstr "Allemagne"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_auth_oauth
|
||||
msgid "OAuth2 Authentication"
|
||||
msgstr ""
|
||||
msgstr "Identification OAuth2"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow:0
|
||||
|
@ -11581,7 +11603,7 @@ msgstr "Regrouper par..."
|
|||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Module Update Result"
|
||||
msgstr ""
|
||||
msgstr "Résultat de la mise à jour des modules"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_analytic_contract_hr_expense
|
||||
|
@ -11596,7 +11618,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.attachment,store_fname:0
|
||||
msgid "Stored Filename"
|
||||
msgstr ""
|
||||
msgstr "Nom du fichier enregistré"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,use_parent_address:0
|
||||
|
@ -11653,6 +11675,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
"Cliquez pour ajouter un contact dans votre carnet d'adresses.\n"
|
||||
"</p><p>\n"
|
||||
"OpenERP vous aide à suivre toutes les activités d'un fournisseur :\n"
|
||||
"les discussions, l'historique des achats,\n"
|
||||
"les documents, etc.\n"
|
||||
"</p>\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.lr
|
||||
|
@ -11820,7 +11850,7 @@ msgstr "Unité de l'intervalle"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_stock
|
||||
msgid "Portal Stock"
|
||||
msgstr ""
|
||||
msgstr "Portail Stock"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.activity,kind:0
|
||||
|
@ -11903,7 +11933,7 @@ msgstr "res.request"
|
|||
#. module: base
|
||||
#: field:res.partner,image_medium:0
|
||||
msgid "Medium-sized image"
|
||||
msgstr ""
|
||||
msgstr "Image de taille moyenne"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -11988,7 +12018,7 @@ msgstr "Règles sur les enregistrements"
|
|||
#. module: base
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr ""
|
||||
msgstr "Multi société"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_portal
|
||||
|
@ -12005,7 +12035,7 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_fields.py:294
|
||||
#, python-format
|
||||
msgid "See all possible values"
|
||||
msgstr ""
|
||||
msgstr "Voir toutes les valeurs possibles"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_claim_from_delivery
|
||||
|
@ -12066,7 +12096,7 @@ msgstr "Guinée Bissau"
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,header:0
|
||||
msgid "Add RML Header"
|
||||
msgstr ""
|
||||
msgstr "Ajouter l'en-tête RML"
|
||||
|
||||
#. module: base
|
||||
#: help:res.company,rml_footer:0
|
||||
|
@ -12201,7 +12231,7 @@ msgstr "A Faire"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_hr_employees
|
||||
msgid "Portal HR employees"
|
||||
msgstr ""
|
||||
msgstr "Portail RH Employés"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -12321,6 +12351,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"Please contact your system administrator if you think this is an error."
|
||||
msgstr ""
|
||||
"Vous pouvez contacter votre administrateur système si vous pensez qu'il "
|
||||
"s'agit d'une erreur."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:545
|
||||
|
@ -12368,6 +12400,8 @@ msgid ""
|
|||
"One of the documents you are trying to access has been deleted, please try "
|
||||
"again after refreshing."
|
||||
msgstr ""
|
||||
"L'un des documents que vous voulez consulter a été supprimé : actualisez la "
|
||||
"page puis réessayez."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_mail_server
|
||||
|
@ -12539,7 +12573,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.partner,ean13:0
|
||||
msgid "BarCode"
|
||||
msgstr ""
|
||||
msgstr "Code-barres"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model.fields,model_id:0
|
||||
|
@ -12561,6 +12595,7 @@ msgstr "Martinique (Française)"
|
|||
#: help:res.partner,is_company:0
|
||||
msgid "Check if the contact is a company, otherwise it is a person"
|
||||
msgstr ""
|
||||
"Cochez si ce contact est une société, sinon il s'agit d'un particulier"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence.type:0
|
||||
|
@ -12570,7 +12605,7 @@ msgstr "Type de séquences"
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Mobile:"
|
||||
msgstr ""
|
||||
msgstr "Portable :"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_bank.py:195
|
||||
|
@ -12637,7 +12672,7 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_model.py:1031
|
||||
#, python-format
|
||||
msgid "Permission Denied"
|
||||
msgstr ""
|
||||
msgstr "Permission refusée"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,child_id:0
|
||||
|
@ -12758,7 +12793,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.bl
|
||||
msgid "Saint Barthélémy"
|
||||
msgstr ""
|
||||
msgstr "Saint Barthélémy"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,license:0
|
||||
|
@ -12830,7 +12865,7 @@ msgstr "Arabe / الْعَرَبيّة"
|
|||
#. module: base
|
||||
#: selection:ir.translation,state:0
|
||||
msgid "Translated"
|
||||
msgstr ""
|
||||
msgstr "Traduit"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_inventory_form
|
||||
|
@ -12866,7 +12901,7 @@ msgstr "Domaine"
|
|||
#: code:addons/base/ir/ir_fields.py:166
|
||||
#, python-format
|
||||
msgid "Use '1' for yes and '0' for no"
|
||||
msgstr ""
|
||||
msgstr "Utilisez \"1\" pour oui et \"0\" pour non"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_marketing_campaign
|
||||
|
@ -13004,6 +13039,9 @@ msgid ""
|
|||
"Allow users to sign up through OAuth2 Provider.\n"
|
||||
"===============================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Permettre aux utilisateurs de se connecter via un fournisseur OAuth2.\n"
|
||||
"===============================================\n"
|
||||
|
||||
#. module: base
|
||||
#: field:change.password.user,user_id:0
|
||||
|
@ -13062,7 +13100,7 @@ msgstr "Grenade"
|
|||
#. module: base
|
||||
#: help:res.partner,customer:0
|
||||
msgid "Check this box if this contact is a customer."
|
||||
msgstr ""
|
||||
msgstr "Cochez cette case si le contact est un client."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -13142,7 +13180,7 @@ msgstr ""
|
|||
#: field:ir.actions.report.xml,report_rml_content:0
|
||||
#: field:ir.actions.report.xml,report_rml_content_data:0
|
||||
msgid "RML Content"
|
||||
msgstr ""
|
||||
msgstr "Contenu RML"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -13416,7 +13454,7 @@ msgstr "ir.model.relation"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_check_writing
|
||||
msgid "Check Writing"
|
||||
msgstr ""
|
||||
msgstr "Écriture de chèques"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_plugin_outlook
|
||||
|
@ -13641,7 +13679,7 @@ msgstr "Grande Bretagne - Comptabilité"
|
|||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_madam
|
||||
msgid "Mrs."
|
||||
msgstr ""
|
||||
msgstr "Mme"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:432
|
||||
|
@ -13663,6 +13701,7 @@ msgstr "Réf. utilisateur"
|
|||
#, python-format
|
||||
msgid "'%s' does not seem to be a valid datetime for field '%%(field)s'"
|
||||
msgstr ""
|
||||
"'%s' ne semble pas être une date/heure valide pour le champ '%%(fields)s'"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
|
||||
|
@ -13813,7 +13852,7 @@ msgstr "Informations sur la connexion"
|
|||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_prof
|
||||
msgid "Professor"
|
||||
msgstr ""
|
||||
msgstr "Professeur"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.hm
|
||||
|
@ -13842,7 +13881,7 @@ msgstr "Vous aide à gérer vos devis, commandes et factures"
|
|||
#. module: base
|
||||
#: field:res.users,login_date:0
|
||||
msgid "Latest connection"
|
||||
msgstr ""
|
||||
msgstr "Dernière connexion"
|
||||
|
||||
#. module: base
|
||||
#: field:res.groups,implied_ids:0
|
||||
|
@ -13859,7 +13898,7 @@ msgstr "Sélection"
|
|||
#: model:ir.actions.act_window,name:base.change_password_wizard_action
|
||||
#: view:res.users:0
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
msgstr "Modifier le mot de passe"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_es
|
||||
|
@ -13927,7 +13966,7 @@ msgstr "Binaire"
|
|||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_doctor
|
||||
msgid "Doctor"
|
||||
msgstr ""
|
||||
msgstr "Docteur"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_mrp_repair
|
||||
|
@ -14136,12 +14175,12 @@ msgstr "Mois de création"
|
|||
#. module: base
|
||||
#: field:ir.module.module,demo:0
|
||||
msgid "Demo Data"
|
||||
msgstr ""
|
||||
msgstr "Données de démonstration"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_mister
|
||||
msgid "Mr."
|
||||
msgstr ""
|
||||
msgstr "M."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mv
|
||||
|
@ -14261,7 +14300,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_sxw:0
|
||||
msgid "SXW Path"
|
||||
msgstr ""
|
||||
msgstr "Emplacement SXW"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_asset
|
||||
|
@ -15480,7 +15519,7 @@ msgstr "Modules d'installation"
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_import_crm
|
||||
msgid "Import & Synchronize"
|
||||
msgstr ""
|
||||
msgstr "Importer et synchroniser"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -15680,7 +15719,7 @@ msgstr "Action due plusieurs documents"
|
|||
#: model:ir.actions.act_window,name:base.action_partner_title_partner
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||
msgid "Titles"
|
||||
msgstr ""
|
||||
msgstr "Civilités et Formes juridiques"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_anonymization
|
||||
|
@ -16288,7 +16327,7 @@ msgstr "Accès"
|
|||
#: field:res.partner,vat:0
|
||||
#, python-format
|
||||
msgid "TIN"
|
||||
msgstr ""
|
||||
msgstr "Numéro fiscal"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.aw
|
||||
|
@ -16388,7 +16427,7 @@ msgstr "Services après vente"
|
|||
#. module: base
|
||||
#: field:base.language.import,code:0
|
||||
msgid "ISO Code"
|
||||
msgstr ""
|
||||
msgstr "Code ISO"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr
|
||||
|
@ -16567,6 +16606,9 @@ msgid ""
|
|||
"Allow users to login through OpenID.\n"
|
||||
"====================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Permettre aux utilisateurs de se connecter via OpenID.\n"
|
||||
"====================================\n"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.mail_server,smtp_port:0
|
||||
|
@ -16809,7 +16851,7 @@ msgstr "Canada - Comptabilité"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_co
|
||||
msgid "Colombian - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Colombie - Comptabilité"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_voucher
|
||||
|
@ -16991,7 +17033,7 @@ msgstr "Mise à jour du système"
|
|||
#: field:ir.actions.report.xml,report_sxw_content:0
|
||||
#: field:ir.actions.report.xml,report_sxw_content_data:0
|
||||
msgid "SXW Content"
|
||||
msgstr ""
|
||||
msgstr "Contenu SXW"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.attachment,file_size:0
|
||||
|
@ -17038,7 +17080,7 @@ msgstr "Informations générales"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_pt
|
||||
msgid "Portugal - Chart of Accounts"
|
||||
msgstr ""
|
||||
msgstr "Portugal - Plan comptable"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.data,complete_name:0
|
||||
|
@ -17088,6 +17130,8 @@ msgid ""
|
|||
"Tax Identification Number. Check the box if this contact is subjected to "
|
||||
"taxes. Used by the some of the legal statements."
|
||||
msgstr ""
|
||||
"Numéro fiscal. Cochez cette case si ce contact est soumis au paiement de "
|
||||
"taxe. Utilisé dans certains documents légaux."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank,partner_id:0
|
||||
|
@ -17269,6 +17313,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
"Cliquez pour ajouter un contact dans votre carnet d'adresses.\n"
|
||||
"</p><p>\n"
|
||||
"OpenERP vous aide à suivre toutes les activités d'un client :\n"
|
||||
"les discussions, l'historique des opportunités,\n"
|
||||
"les documents, etc.\n"
|
||||
"</p>\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_2
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -32,7 +32,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
msgid "Saint Helena"
|
||||
msgstr "Saint Helena"
|
||||
msgstr "Sant'Elena"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -80,12 +80,12 @@ msgstr "スペイン語(パラグアイ)/ Español (PY)"
|
|||
msgid ""
|
||||
"Helps you manage your projects and tasks by tracking them, generating "
|
||||
"plannings, etc..."
|
||||
msgstr "プロジェクトやタスクを追跡,計画生成などすることにより、あなたのプロジェクトとタスクの管理を補助します。"
|
||||
msgstr "追跡や計画生成などで、プロジェクトとタスクの管理を補助します。"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_point_of_sale
|
||||
msgid "Touchscreen Interface for Shops"
|
||||
msgstr ""
|
||||
msgstr "店舗用タッチスクリーン画面"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||
|
@ -234,7 +234,7 @@ msgstr "作成済"
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
msgid "XSL Path"
|
||||
msgstr ""
|
||||
msgstr "XLSパス"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||
|
@ -260,7 +260,7 @@ msgstr "イヌクウティトット語 / Inuktitut"
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_multi_currency
|
||||
msgid "Multi Currencies"
|
||||
msgstr ""
|
||||
msgstr "多通貨"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_cl
|
||||
|
@ -276,7 +276,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale
|
||||
msgid "Sales Management"
|
||||
msgstr "受注管理"
|
||||
msgstr "販売管理"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,user_id:0
|
||||
|
@ -654,7 +654,7 @@ msgstr "パラオ"
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Sales & Purchases"
|
||||
msgstr "受注と発注"
|
||||
msgstr "販売・購買"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
|
@ -1535,7 +1535,7 @@ msgstr ""
|
|||
#: model:ir.module.category,name:base.module_category_purchase_management
|
||||
#: model:ir.ui.menu,name:base.menu_purchase_root
|
||||
msgid "Purchases"
|
||||
msgstr "発注"
|
||||
msgstr "購買"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.md
|
||||
|
@ -1635,7 +1635,7 @@ msgstr "コード %s を持つ言語が存在しません。"
|
|||
#: model:ir.module.category,name:base.module_category_social_network
|
||||
#: model:ir.module.module,shortdesc:base.module_mail
|
||||
msgid "Social Network"
|
||||
msgstr ""
|
||||
msgstr "ソーシャルネットワーク"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -4589,7 +4589,7 @@ msgstr "ヒンディー語 / हिंदी"
|
|||
#: model:ir.actions.act_window,name:base.action_view_base_language_install
|
||||
#: model:ir.ui.menu,name:base.menu_view_base_language_install
|
||||
msgid "Load a Translation"
|
||||
msgstr ""
|
||||
msgstr "言語の追加"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,latest_version:0
|
||||
|
@ -5316,7 +5316,7 @@ msgstr "レート"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_email_template
|
||||
msgid "Email Templates"
|
||||
msgstr ""
|
||||
msgstr "Eメールテンプレート"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sy
|
||||
|
@ -9728,7 +9728,7 @@ msgstr "受注オーダーのマージン"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_purchase
|
||||
msgid "Purchase Management"
|
||||
msgstr "発注管理"
|
||||
msgstr "購買管理"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,published_version:0
|
||||
|
@ -9993,7 +9993,7 @@ msgstr "インストールする"
|
|||
#: model:ir.module.module,shortdesc:base.module_base
|
||||
#: field:res.currency,base:0
|
||||
msgid "Base"
|
||||
msgstr "基本"
|
||||
msgstr "ベース"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.data,model:0
|
||||
|
@ -14274,7 +14274,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_custom_multicompany
|
||||
msgid "Multi-Companies"
|
||||
msgstr ""
|
||||
msgstr "複数会社設定"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow,osv:0
|
||||
|
@ -15190,7 +15190,7 @@ msgstr "条件"
|
|||
#: model:ir.actions.client,name:base.modules_updates_act_cl
|
||||
#: model:ir.ui.menu,name:base.menu_module_updates
|
||||
msgid "Updates"
|
||||
msgstr ""
|
||||
msgstr "アップデート"
|
||||
|
||||
#. module: base
|
||||
#: help:res.currency,rate:0
|
||||
|
@ -15402,7 +15402,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.open_module_tree
|
||||
#: model:ir.ui.menu,name:base.menu_module_tree
|
||||
msgid "Installed Modules"
|
||||
msgstr ""
|
||||
msgstr "インストール済モジュール"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_users.py:170
|
||||
|
@ -15465,7 +15465,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "内部注記"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_pvt_ltd
|
||||
|
@ -15476,7 +15476,7 @@ msgstr "会社"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_purchase_requisition
|
||||
msgid "Purchase Requisitions"
|
||||
msgstr "発注依頼"
|
||||
msgstr "購買依頼"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window,target:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -9702,7 +9702,7 @@ msgstr "Gebruikersinterface"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_byproduct
|
||||
msgid "MRP Byproducts"
|
||||
msgstr "productie bijproducten"
|
||||
msgstr "Productie bijproducten"
|
||||
|
||||
#. module: base
|
||||
#: field:res.request,ref_partner_id:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -24,6 +24,10 @@ msgid ""
|
|||
"================================================\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo para Verificar a Escrita e Verificar a Impresaão.\n"
|
||||
"================================================\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -122,6 +126,18 @@ msgid ""
|
|||
" * Product Attributes\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Um modulo que acrescenta a identificação de fabricantes e atributos ao "
|
||||
"formulário de produtos.\n"
|
||||
"====================================================================\n"
|
||||
"\n"
|
||||
"Agora é possível definir o seguinte para cada produto:\n"
|
||||
"\n"
|
||||
" Fabricante\n"
|
||||
" Nome do produto atribuído pelo fabricante\n"
|
||||
" Código do produto atribuído pelo fabricante\n"
|
||||
" Atributos do produto\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.client,params:0
|
||||
|
@ -135,6 +151,8 @@ msgid ""
|
|||
"The module adds google user in res user.\n"
|
||||
"========================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"O modulo acrescenta utilizador google em \"res user\".\n"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,employee:0
|
||||
|
@ -170,7 +188,7 @@ msgstr "Janela alvo"
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_rml:0
|
||||
msgid "Main Report File Path"
|
||||
msgstr ""
|
||||
msgstr "Caminho para o ficheiro do relatório principal"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
|
||||
|
@ -191,6 +209,15 @@ msgid ""
|
|||
"revenue\n"
|
||||
"reports."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Gerar faturas através de Despesas, Folhas de Horas\n"
|
||||
"========================================================\n"
|
||||
"\n"
|
||||
"Modulo que gera faturas baseadas em custos (recursos humanos, despesas, "
|
||||
"...).\n"
|
||||
"\n"
|
||||
"Pode definir tabelas de preços na conta analítica, criar analises teoréticas "
|
||||
"de vendas."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_sequence.py:134
|
||||
|
@ -226,7 +253,7 @@ msgstr "ir.ui.view.custom"
|
|||
#: code:addons/base/ir/ir_model.py:374
|
||||
#, python-format
|
||||
msgid "Renaming sparse field \"%s\" is not allowed"
|
||||
msgstr ""
|
||||
msgstr "Não é permitido mudar o nome de sparse field \"%s\""
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sz
|
||||
|
@ -292,6 +319,8 @@ msgid ""
|
|||
"The internal user that is in charge of communicating with this contact if "
|
||||
"any."
|
||||
msgstr ""
|
||||
"O utilizador interno responsável pela comunicação com este contacto (se "
|
||||
"houver)"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -376,6 +405,15 @@ msgid ""
|
|||
"invoices from picking, OpenERP is able to add and compute the shipping "
|
||||
"line.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Permite adicionar métodos de entrega nas ordens de venda e ordens de "
|
||||
"preparação de encomendas.\n"
|
||||
"==============================================================\n"
|
||||
"\n"
|
||||
"Assim é possível definir transportadores adicionais e tabelas de preços para "
|
||||
"entregas. No acto de criar \n"
|
||||
"uma fatura através um ordem de preparação de encomenda, OpenERP consegue "
|
||||
"adicionar e calcular custos de entrega.\n"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_filters.py:80
|
||||
|
@ -384,6 +422,8 @@ msgid ""
|
|||
"There is already a shared filter set as default for %(model)s, delete or "
|
||||
"change it before setting a new default"
|
||||
msgstr ""
|
||||
"Um filtro partilhado já está definido para %(model)s, apague ou modifique o "
|
||||
"filtro existente antes de criar um novo."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:2649
|
||||
|
@ -452,8 +492,8 @@ msgid ""
|
|||
"Invalid date/time format directive specified. Please refer to the list of "
|
||||
"allowed directives, displayed when you edit a language."
|
||||
msgstr ""
|
||||
"Data inválida/especifique diretiva do formato da hora. Por favor, consulte a "
|
||||
"lista de diretivas permitidas, exibida quando se edita uma linguagem."
|
||||
"A diretiva data/hora especificada é invalida. Por favor, consulte a lista de "
|
||||
"diretivas permitidas, exibida quando se edita uma linguagem."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:4153
|
||||
|
@ -462,7 +502,7 @@ msgid ""
|
|||
"One of the records you are trying to modify has already been deleted "
|
||||
"(Document type: %s)."
|
||||
msgstr ""
|
||||
"Um dos registos que está a tentar modificar já deve ter sido excluído "
|
||||
"Um dos registos que está a tentar modificar já deve ter sido apagado "
|
||||
"(Document type: %s)."
|
||||
|
||||
#. module: base
|
||||
|
@ -552,6 +592,15 @@ msgid ""
|
|||
"that have no counterpart in the general financial accounts.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Modulo para definir objetos de contabilidade analítica.\n"
|
||||
"===============================================\n"
|
||||
"\n"
|
||||
"Na OpenERP, contas analíticas estão ligados a contas gerais embora são "
|
||||
"tratados \n"
|
||||
"de uma forma independente. Assim é possível adicionar operações analíticas \n"
|
||||
"mesmo quando não tenham homólogos nas contas gerais.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_idea
|
||||
|
@ -575,6 +624,19 @@ msgid ""
|
|||
"* Use emails to automatically confirm and send acknowledgements for any "
|
||||
"event registration\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Organização e gestão de Eventos.\n"
|
||||
"======================================\n"
|
||||
"\n"
|
||||
"O modulo de gestão de eventos permite gerir todos as tarefas associadas a "
|
||||
"organização de eventos: planificação, controlo de inscrições, "
|
||||
"comparecimento, etc.\n"
|
||||
"\n"
|
||||
"Principais Funções\n"
|
||||
"------------\n"
|
||||
"* Gerir os seus Eventos e Inscrições\n"
|
||||
"* Utilizar e-mail para enviar confirmações de forma automática para "
|
||||
"inscrições nos seus eventos.\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -774,6 +836,11 @@ msgid ""
|
|||
"This module provides the Integration of the LinkedIn with OpenERP.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo OpenERP Web LinkedIn.\n"
|
||||
"============================\n"
|
||||
"Este módulo disponibiliza a integração do LinkedIn com o OpenERP.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,src_model:0
|
||||
|
@ -839,6 +906,9 @@ msgid ""
|
|||
"image, with aspect ratio preserved. Use this field anywhere a small image is "
|
||||
"required."
|
||||
msgstr ""
|
||||
"Imagem em pequeno formato para este contacto. É automaticamente "
|
||||
"redimensionada para 64x64px com o racio do aspect preservado. Utilize este "
|
||||
"campo onde quer que uma imagem pequena seja necessária."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,mobile:0
|
||||
|
@ -1327,7 +1397,7 @@ msgstr "Contribuintes"
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_unlink:0
|
||||
msgid "Apply for Delete"
|
||||
msgstr ""
|
||||
msgstr "Aplicar para Apagar"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
|
@ -1465,7 +1535,7 @@ msgstr "Haiti"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr_hr_payroll
|
||||
msgid "French Payroll"
|
||||
msgstr ""
|
||||
msgstr "Folha de pagamentos Francesa"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
|
@ -1996,6 +2066,8 @@ msgid ""
|
|||
"Check this box if this contact is a supplier. If it's not checked, purchase "
|
||||
"people will not see it when encoding a purchase order."
|
||||
msgstr ""
|
||||
"Assinala nesta caixa se o contacto é fornecedor. Se não for assinalado, o "
|
||||
"contacto não será visível no acto de criar uma nota de encomenda."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
||||
|
@ -2173,6 +2245,27 @@ msgid ""
|
|||
"* *Before Delivery*: A Draft invoice is created and must be paid before "
|
||||
"delivery\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Gerir orçamentos e encomendas\n"
|
||||
"==================================\n"
|
||||
"\n"
|
||||
"Este modulo liga a aplicação de vendas com a de gestão de armazéns.\n"
|
||||
"\n"
|
||||
"Preferências\n"
|
||||
"-----------\n"
|
||||
"* Envios: Escolha entre a entrega total ou parcial de uma encomenda.\n"
|
||||
"* Faturação: Escolha o prazo de pagamento da fatura\n"
|
||||
"* Incoterms: Escolha os termos de entrega da mercadoria (EXW, DDU, FOB, "
|
||||
"etc.)\n"
|
||||
"\n"
|
||||
"Escolhe entre varias maneiras flexíveis de faturação:\n"
|
||||
"\n"
|
||||
"* *Manualmente*: As faturas são criados manualmente das notas de encomenda "
|
||||
"quando necessário\n"
|
||||
"* *Através de Ordem de Entrega*: As faturas são geradas das ordens de "
|
||||
"entrega (pickings)\n"
|
||||
"* *Antes de Entrega*: Uma fatura pro-forma é criado e tem de ser liquidada "
|
||||
"antes de efetuar a entrega\n"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,complete_name:0
|
||||
|
@ -2198,7 +2291,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
msgid "PO(T) format: you should edit it with a PO editor such as"
|
||||
msgstr ""
|
||||
msgstr "Formato PO(T): deve editá-lo com um editor de PO tal como"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_administration
|
||||
|
@ -2287,7 +2380,7 @@ msgstr "Bahamas"
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_create:0
|
||||
msgid "Apply for Create"
|
||||
msgstr ""
|
||||
msgstr "Aplicar para Criar"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_tools
|
||||
|
@ -2310,6 +2403,8 @@ msgid ""
|
|||
"Appears by default on the top right corner of your printed documents (report "
|
||||
"header)."
|
||||
msgstr ""
|
||||
"Aparece por defeito no campo superior direito dos documentos impressos "
|
||||
"(cabeçalho do relatório)."
|
||||
|
||||
#. module: base
|
||||
#: field:base.module.update,update:0
|
||||
|
@ -2357,6 +2452,31 @@ msgid ""
|
|||
"* Maximal difference between timesheet and attendances\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Gravar e validar folhas de horas e comparecimento/assiduidade com "
|
||||
"facilidade\n"
|
||||
"=====================================================\n"
|
||||
"\n"
|
||||
"Esta aplicação cria uma nova ecrã que permite gerir comparecimento (entradas "
|
||||
"e saídas) e o preenchimento de folhas de horas por período. Entradas na "
|
||||
"folha de horas são efetuadas pelos funcionários diariamente. No fim do "
|
||||
"período estipulado, o funcionário valida a folha de horas. De seguida a "
|
||||
"folha é sujeito a aprovação da gerente de equipa. A definição do tempo de "
|
||||
"cada período é feito nas configurações da empresa e podem ser efetuados "
|
||||
"mensalmente ou semanalmente.\n"
|
||||
"\n"
|
||||
"O processo de validação da folha de horas é feito assim:\n"
|
||||
"---------------------------------------------\n"
|
||||
"* Preencher folha (funcionário)\n"
|
||||
"* Confirmar a folha no fim do período (funcionário)\n"
|
||||
"* Validação da folha pelo gestor da equipa\n"
|
||||
"\n"
|
||||
"As preferências de validação podem ser escolhidos nas configurações da "
|
||||
"empresa:\n"
|
||||
"------------------------------------------------\n"
|
||||
"Periodicidade (Dia, Semana, Mês)\n"
|
||||
"Diferenciação máxima permitida entre a folha de horas e comparecimento\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:341
|
||||
|
@ -2429,6 +2549,9 @@ msgid ""
|
|||
"=================================\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Permite que um utilizador anónimo aceda ao portal.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ge
|
||||
|
@ -2677,6 +2800,12 @@ msgid ""
|
|||
"orders.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"O modulo base para gerir distribuição analítica e notas de encomenda.\n"
|
||||
"=================================================================\n"
|
||||
"\n"
|
||||
"Este modulo permite ligar contas analíticas a notas de encomenda.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_us
|
||||
|
@ -2817,6 +2946,9 @@ msgid ""
|
|||
"Module to attach a google document to any model.\n"
|
||||
"================================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo para anexar um documento google a qualquer modelo.\n"
|
||||
"=========================================================\n"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:333
|
||||
|
@ -5010,7 +5142,7 @@ msgstr "ir.needaction_mixin"
|
|||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
msgid "This file was generated using the universal"
|
||||
msgstr ""
|
||||
msgstr "Este ficheiro foi gerado usando o universal"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_7
|
||||
|
@ -5082,7 +5214,7 @@ msgstr "Saltar"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_event_sale
|
||||
msgid "Events Sales"
|
||||
msgstr ""
|
||||
msgstr "Vendas dos Eventos"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ls
|
||||
|
@ -5269,7 +5401,7 @@ msgstr "Apenas se a conta bancária pertencer à sua empresa"
|
|||
#: code:addons/base/ir/ir_fields.py:337
|
||||
#, python-format
|
||||
msgid "Unknown sub-field '%s'"
|
||||
msgstr ""
|
||||
msgstr "Sub-campo '%s' desconhecido"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.za
|
||||
|
@ -5385,6 +5517,10 @@ msgid ""
|
|||
"================\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Openerp Web API.\n"
|
||||
"================\n"
|
||||
"\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,state:0
|
||||
|
@ -6154,6 +6290,8 @@ msgid ""
|
|||
"How many times the method is called,\n"
|
||||
"a negative number indicates no limit."
|
||||
msgstr ""
|
||||
"Quantas vezes o método é chamado,\n"
|
||||
"um número negativo sem limite."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank.type.field,bank_type_id:0
|
||||
|
@ -6280,7 +6418,7 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_fields.py:182
|
||||
#, python-format
|
||||
msgid "'%s' does not seem to be a number for field '%%(field)s'"
|
||||
msgstr ""
|
||||
msgstr "'%s' não parece ser um número para o campo '%%(field)s'"
|
||||
|
||||
#. module: base
|
||||
#: help:res.country.state,name:0
|
||||
|
@ -8013,7 +8151,7 @@ msgstr "Campo Personalizado"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_account_accountant
|
||||
msgid "Financial and Analytic Accounting"
|
||||
msgstr ""
|
||||
msgstr "Contabilidade Financeira e Analítica"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_project
|
||||
|
@ -8352,7 +8490,7 @@ msgstr "Finlândia"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_shortcuts
|
||||
msgid "Web Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Atalhos web"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -8558,6 +8696,8 @@ msgid ""
|
|||
"Translation features are unavailable until you install an extra OpenERP "
|
||||
"translation."
|
||||
msgstr ""
|
||||
"As opções de tradução estão indisponíveis até que instale uma tradução extra "
|
||||
"do OpenERP."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_nl
|
||||
|
@ -8752,6 +8892,9 @@ msgid ""
|
|||
"If the selected language is loaded in the system, all documents related to "
|
||||
"this contact will be printed in this language. If not, it will be English."
|
||||
msgstr ""
|
||||
"Se o idioma seleccionado está carregado no sistema, todos os documentos "
|
||||
"relacionados com este contacto serão impressos neste idioma. Caso contrário "
|
||||
"serão impressos em Inglês."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_evaluation
|
||||
|
@ -8860,7 +9003,7 @@ msgstr "Esloveno / slovenščina"
|
|||
#. module: base
|
||||
#: field:res.currency,position:0
|
||||
msgid "Symbol Position"
|
||||
msgstr ""
|
||||
msgstr "Posição do Símbolo"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_de
|
||||
|
@ -10007,7 +10150,7 @@ msgstr "Agrupar por..."
|
|||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Module Update Result"
|
||||
msgstr ""
|
||||
msgstr "Resultado da actualização do módulo"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_analytic_contract_hr_expense
|
||||
|
@ -10469,7 +10612,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.company:0
|
||||
msgid "Click to set your company logo."
|
||||
msgstr ""
|
||||
msgstr "Clique para definir o logo da empresa."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -10792,6 +10935,8 @@ msgid ""
|
|||
"One of the documents you are trying to access has been deleted, please try "
|
||||
"again after refreshing."
|
||||
msgstr ""
|
||||
"Um dos documentos a que tenta aceder foi removido, tente novamente depois de "
|
||||
"actualizar."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_mail_server
|
||||
|
@ -11300,7 +11445,7 @@ msgstr "Ficheiro binário ou URL"
|
|||
#: code:addons/base/ir/ir_fields.py:313
|
||||
#, python-format
|
||||
msgid "Invalid database id '%s' for the field '%%(field)s'"
|
||||
msgstr ""
|
||||
msgstr "Id de base de dados '%s' inválido para o campo '%%(field)s'"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -11444,7 +11589,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:workflow.transition,signal:0
|
||||
msgid "Signal (Button Name)"
|
||||
msgstr ""
|
||||
msgstr "Sinal (Nome do botão)"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
|
@ -11819,7 +11964,7 @@ msgstr "ir.model.relation"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_check_writing
|
||||
msgid "Check Writing"
|
||||
msgstr ""
|
||||
msgstr "Verificar escrita"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_plugin_outlook
|
||||
|
@ -12387,7 +12532,7 @@ msgstr "Outros Parceiros"
|
|||
#: view:workflow.workitem:0
|
||||
#: field:workflow.workitem,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_currency_form
|
||||
|
@ -13376,7 +13521,7 @@ msgstr "ir.sequence.type"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll_account
|
||||
msgid "Belgium - Payroll with Accounting"
|
||||
msgstr ""
|
||||
msgstr "Bélgica - Folha de pagamentos com Contabildade"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
@ -15269,7 +15414,7 @@ msgstr "Chile"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_view_editor
|
||||
msgid "View Editor"
|
||||
msgstr ""
|
||||
msgstr "Ver o Editor"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.cron:0
|
||||
|
@ -15349,6 +15494,8 @@ msgid ""
|
|||
"Do you confirm the uninstallation of this module? This will permanently "
|
||||
"erase all data currently stored by the module!"
|
||||
msgstr ""
|
||||
"Confirma a desinstalação deste módulo? Esta acção apaga todos os dados "
|
||||
"guardados neste momento por este módulo!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,mobile:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-01-24 13:14+0000\n"
|
||||
"PO-Revision-Date: 2013-08-16 11:16+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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: 2013-08-03 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -3428,7 +3428,7 @@ msgstr "Периодические оценки, оценки, опросы"
|
|||
#: model:ir.actions.act_window,name:base.ir_property_form
|
||||
#: model:ir.ui.menu,name:base.menu_ir_property_form_all
|
||||
msgid "Configuration Parameters"
|
||||
msgstr "Конфигурационные параметры:"
|
||||
msgstr "Параметры конфигурации"
|
||||
|
||||
#. module: base
|
||||
#: constraint:ir.cron:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -7495,7 +7495,7 @@ msgstr "Tam Adı"
|
|||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
msgstr "bunda"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.property:0
|
||||
|
@ -9540,6 +9540,17 @@ msgid ""
|
|||
"Thank you in advance for your cooperation.\n"
|
||||
"Best Regards,"
|
||||
msgstr ""
|
||||
"Sayın Yetkili,\n"
|
||||
"\n"
|
||||
"Kayıtlarımıza göre hesabınızda halen yapılmamış ödemeler bulunmaktadır. "
|
||||
"Lütfen aşağıdaki ayrıntıları inceleyin.\n"
|
||||
"Eğer ödeme yaptıysanız, lütfen bu yazımızı dikkate almayın. Aksi durumda, "
|
||||
"aşağıda belirtilen tutarı tarafımıza ödemenizi rica ederiz.\n"
|
||||
"Hesabınızla ilgili herhangi bir sorunuz olursa, lütfen bize danışın.\n"
|
||||
"\n"
|
||||
"İşbirliğiniz için şimdiden teşekkür ederiz.\n"
|
||||
"\n"
|
||||
"Saygılarımızla,"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.category:0
|
||||
|
@ -11264,7 +11275,7 @@ msgstr "E-Mail"
|
|||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_12
|
||||
msgid "Office Supplies"
|
||||
msgstr ""
|
||||
msgstr "Büro Malzemeleri"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.attachment,res_model:0
|
||||
|
@ -12549,7 +12560,7 @@ msgstr "Grup adı tekil olmalı !"
|
|||
#. module: base
|
||||
#: help:ir.translation,module:0
|
||||
msgid "Module this term belongs to"
|
||||
msgstr ""
|
||||
msgstr "Bu terimin ait olduğu modül"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_web_view_editor
|
||||
|
@ -12763,6 +12774,8 @@ msgid ""
|
|||
"Here is what we got instead:\n"
|
||||
" %s"
|
||||
msgstr ""
|
||||
"Yerine elimize geçen:\n"
|
||||
" %s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_model_data
|
||||
|
@ -13126,7 +13139,7 @@ msgstr "Yeni Kaledonya"
|
|||
#. module: base
|
||||
#: field:ir.model,osv_memory:0
|
||||
msgid "Transient Model"
|
||||
msgstr ""
|
||||
msgstr "Geçici Model"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cy
|
||||
|
@ -13388,7 +13401,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_test
|
||||
msgid "Accounting Consistency Tests"
|
||||
msgstr ""
|
||||
msgstr "Muhasebe Tutarlılık Testleri"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_purchase_double_validation
|
||||
|
@ -14093,6 +14106,8 @@ msgid ""
|
|||
"Invalid group_by specification: \"%s\".\n"
|
||||
"A group_by specification must be a list of valid fields."
|
||||
msgstr ""
|
||||
"Geçersiz group_by özellikleri: \"%s\".\n"
|
||||
"Bir group_by özellikler geçerli alanların bir listesi olmalı."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.mail_server,smtp_encryption:0
|
||||
|
@ -14250,7 +14265,7 @@ msgstr "Hata ! iç içe çağırılan menü oluşturamazsınız."
|
|||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
msgid "Web-only translations"
|
||||
msgstr ""
|
||||
msgstr "Yalnızca-web çevirileri"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
|
@ -14718,6 +14733,10 @@ msgid ""
|
|||
"\n"
|
||||
"(Document type: %s, Operation: %s)"
|
||||
msgstr ""
|
||||
"Güvenlik sınırlamalarından dolayı istenen işlem tamamlanamıyor. Lütfen "
|
||||
"sistem yöneticinize danışın.\n"
|
||||
"\n"
|
||||
"(Belge tipi: %s, İşlem: %s)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_idea
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -25,7 +25,7 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"此模块用于开支票和支票打印\n"
|
||||
"此模块用于支票填写和打印\n"
|
||||
"================================================\n"
|
||||
" "
|
||||
|
||||
|
@ -384,6 +384,12 @@ msgid ""
|
|||
"document and Wiki based Hidden.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"知识管理的隐藏依赖模块\n"
|
||||
"=====================================\n"
|
||||
"\n"
|
||||
"在安装文档管理和wiki等知识管理应用的时候所依赖的隐藏模块\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
||||
|
@ -991,6 +997,21 @@ msgid ""
|
|||
"also possible in order to automatically create a meeting when a holiday "
|
||||
"request is accepted by setting up a type of meeting in Leave Type.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"休假申请和假期分配\n"
|
||||
"=====================================\n"
|
||||
"\n"
|
||||
"此模块管理公司员工的休假。员工可以申请休假,然后等待经理批准,当然也可能拒绝。这样就可以使公司或部门的整体休假计划得到管控。\n"
|
||||
"\n"
|
||||
"可以配置多种休假类型(病假、法定假日、带薪休假等)并通过分配申请分配给单个员工或部门。员工也可以申请\n"
|
||||
"增加假期天数,这需要填写一个额外的假期申请。如果增加假期天数的申请被批准,这个类型假期的可用天数会自动增加。\n"
|
||||
"\n"
|
||||
"以下报表用于对假期进行跟踪:\n"
|
||||
"* 休假总览\n"
|
||||
"* 按部门休假\n"
|
||||
"* 休假分析\n"
|
||||
"\n"
|
||||
"如果为休假设置了一种日程类型,就可以与CRM中的日程同步,也就是说休假批准后会在日程上标识出此员工正在休假中。\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1216,6 +1237,20 @@ msgid ""
|
|||
"* Planned Revenue by Stage and User (graph)\n"
|
||||
"* Opportunities by Stage (graph)\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"通用客户关系管理(CRM)模块\n"
|
||||
"====================================================\n"
|
||||
"此模块能让群组人员合理有效地管理线索、商机、会谈以及电话访问等活动。\n"
|
||||
"管理涉及的重要功能包括:通信、身份识别、优先级设定、任务委派、投诉解决及通知等。\n"
|
||||
"OpenERP可以有效跟踪用户、客户和供应商的所有的活动案例。根据设定的规则,可以自动发送提醒、请求,触发各种动作。\n"
|
||||
"最重要的好处是,用户不需要做任何特殊的事。此模块集成了电子邮件网关,邮件在OpenERP中自动同步,用户只需在OpenERP中根据系统反馈,按需发送和回复"
|
||||
"邮件。\n"
|
||||
"OpenERP将接管其余的事,诸如发送感谢信、自动转发到相关人员并确保之后相应的回复能准确送达。\n"
|
||||
"\n"
|
||||
"CRM 仪表盘(Dashboard) 包括:\n"
|
||||
"---------------------------------------\n"
|
||||
"* 可按阶段和用户分类的预计收益图表\n"
|
||||
"* 按阶段分类的商机图表\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
@ -1991,15 +2026,13 @@ msgid ""
|
|||
"rights to the Demo user. \n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"会计访问权限\n"
|
||||
"会计访问权限管理\n"
|
||||
"\n"
|
||||
"========================\n"
|
||||
"\n"
|
||||
"It gives the Administrator user access to all accounting features such as "
|
||||
"journal items and the chart of accounts.\n"
|
||||
"此模块用来管理所有会计功能的访问权限,如凭证行归类(journal items)和会计科目(chart of accounts)等。\n"
|
||||
"\n"
|
||||
"It assigns manager and user access rights to the Administrator and only user "
|
||||
"rights to the Demo user。 \n"
|
||||
"默认设置管理员(Administrator)拥有经理和一般用户的访问权限,而演示用户(Demo user)仅拥有一般用户的权限。 \n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
|
@ -2059,7 +2092,7 @@ msgstr "读权限"
|
|||
#. module: base
|
||||
#: help:ir.attachment,res_id:0
|
||||
msgid "The record id this is attached to"
|
||||
msgstr ""
|
||||
msgstr "附件相关的数据记录id"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_share
|
||||
|
@ -2160,6 +2193,11 @@ msgid ""
|
|||
"with the effect of creating, editing and deleting either ways.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"项目进度与工时记录的集成\n"
|
||||
"====================================================================\n"
|
||||
"安装了此模块,项目进度的添加删除和修改会自动同步到工时表上。\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_model_access
|
||||
|
@ -2179,6 +2217,11 @@ msgid ""
|
|||
" templates to target objects.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" * 科目表、税、税项、凭证类型、科目模版、成本要素和成本凭证类型的多语言支持。\n"
|
||||
" * 对设置向导的修改\n"
|
||||
" - 从模版复制科目表、税、税项和替换规则到目标数据表。\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.transition,act_from:0
|
||||
|
@ -2934,6 +2977,36 @@ msgid ""
|
|||
"* Monthly Turnover (Graph)\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"报价单和销售订单管理\n"
|
||||
"==================================\n"
|
||||
"此模块用来有效记录和跟踪所有销售订单及其历史,从而有效管理你的销售目标。\n"
|
||||
"\n"
|
||||
"整个销售流程包括:\n"
|
||||
"\n"
|
||||
"* **报价单** -> **销售订单** -> **发票**\n"
|
||||
"\n"
|
||||
"参数设置(仅在安装了仓库管理模块的情况下):\n"
|
||||
"------------------------------------------------------\n"
|
||||
"\n"
|
||||
"如果安装了仓库管理模块,您可以设置以下参数:\n"
|
||||
"\n"
|
||||
"* 发货:选择一次性发货或部分发货\n"
|
||||
"* 发票:选择发票是如何被支付\n"
|
||||
"* Incoterms:选择所使用的国际贸易术语\n"
|
||||
"\n"
|
||||
"您可以选择灵活的开票方式:\n"
|
||||
"\n"
|
||||
"* *按需开具*:需要时,手动从销售订单开具发票\n"
|
||||
"* *按发货单*:按发货单自动生成发票\n"
|
||||
"* *发运前*:先创建发票草稿,待支付后发货\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"销售经理的仪表盘(Dashboard)包括:\n"
|
||||
"------------------------------------------------\n"
|
||||
"* 我的报价单\n"
|
||||
"* 月成交量(图表)\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,res_id:0
|
||||
|
@ -8779,6 +8852,13 @@ msgid ""
|
|||
"\n"
|
||||
"Notes can be found in the 'Home' menu.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"此模块能让用户在OpenERP中创建他们自己的笔记(Notes)\n"
|
||||
"=================================================================\n"
|
||||
"Notes可用来记录会议纪要、即时的想法和创意、个人待办事项等等。每个用户管理其自己的个人笔记。笔记只能由创建者自己看到,但可通过分享笔记给其它用户,以便"
|
||||
"多人协作实时更新同一笔记。这对诸如分享会议纪要等十分有效。\n"
|
||||
"\n"
|
||||
"Notes菜单可在“消息”菜单中找到\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.dm
|
||||
|
@ -11918,7 +11998,7 @@ msgstr "ir.model.relation"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_check_writing
|
||||
msgid "Check Writing"
|
||||
msgstr "检查写作"
|
||||
msgstr "支票填写"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_plugin_outlook
|
||||
|
@ -12355,7 +12435,7 @@ msgstr "选中内容"
|
|||
#: model:ir.actions.act_window,name:base.change_password_wizard_action
|
||||
#: view:res.users:0
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
msgstr "更改密码"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_es
|
||||
|
@ -12665,7 +12745,7 @@ msgstr "地址格式"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_change_password_user
|
||||
msgid "Change Password Wizard User"
|
||||
msgstr ""
|
||||
msgstr "密码更改向导"
|
||||
|
||||
#. module: base
|
||||
#: model:res.groups,name:base.group_no_one
|
||||
|
@ -14304,7 +14384,7 @@ msgstr "泰国"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_change_password_wizard
|
||||
msgid "Change Password Wizard"
|
||||
msgstr ""
|
||||
msgstr "密码更改向导"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_account_voucher
|
||||
|
@ -15618,7 +15698,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Internal Notes"
|
||||
msgstr "内部单据"
|
||||
msgstr "内部备注"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_pvt_ltd
|
||||
|
@ -15639,7 +15719,7 @@ msgstr "行内编辑"
|
|||
#. module: base
|
||||
#: selection:ir.cron,interval_type:0
|
||||
msgid "Months"
|
||||
msgstr "月末"
|
||||
msgstr "月"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow.instance:0
|
||||
|
@ -15662,7 +15742,7 @@ msgstr "是一个公司?"
|
|||
#: field:res.partner.bank,name:0
|
||||
#, python-format
|
||||
msgid "Bank Account"
|
||||
msgstr "银行账户"
|
||||
msgstr "银行账号"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.kp
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-03 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16718)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-06 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16760)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
|
||||
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
<filter string="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
|
|
@ -195,7 +195,8 @@ class ir_model(osv.osv):
|
|||
ctx = dict(context,
|
||||
field_name=vals['name'],
|
||||
field_state='manual',
|
||||
select=vals.get('select_level', '0'))
|
||||
select=vals.get('select_level', '0'),
|
||||
update_custom_fields=True)
|
||||
self.pool[vals['model']]._auto_init(cr, ctx)
|
||||
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
|
||||
return res
|
||||
|
|
|
@ -84,7 +84,7 @@ class ir_sequence(openerp.osv.osv.osv):
|
|||
|
||||
_columns = {
|
||||
'name': openerp.osv.fields.char('Name', size=64, required=True),
|
||||
'code': openerp.osv.fields.selection(_code_get, 'Code', size=64),
|
||||
'code': openerp.osv.fields.selection(_code_get, 'Sequence Type', size=64),
|
||||
'implementation': openerp.osv.fields.selection( # TODO update the view
|
||||
[('standard', 'Standard'), ('no_gap', 'No gap')],
|
||||
'Implementation', required=True,
|
||||
|
|
|
@ -445,6 +445,13 @@ class ir_translation(osv.osv):
|
|||
tools.trans_load(cr, base_trans_file, lang, verbose=False, module_name=module_name, context=context)
|
||||
context['overwrite'] = True # make sure the requested translation will override the base terms later
|
||||
|
||||
# i18n_extra folder is for additional translations handle manually (eg: for l10n_be)
|
||||
base_trans_extra_file = openerp.modules.get_module_resource(module_name, 'i18n_extra', base_lang_code + '.po')
|
||||
if base_trans_extra_file:
|
||||
_logger.info('module %s: loading extra base translation file %s for language %s', module_name, base_lang_code, lang)
|
||||
tools.trans_load(cr, base_trans_extra_file, lang, verbose=False, module_name=module_name, context=context)
|
||||
context['overwrite'] = True # make sure the requested translation will override the base terms later
|
||||
|
||||
# Step 2: then load the main translation file, possibly overriding the terms coming from the base language
|
||||
trans_file = openerp.modules.get_module_resource(module_name, 'i18n', lang_code + '.po')
|
||||
if trans_file:
|
||||
|
@ -452,6 +459,11 @@ class ir_translation(osv.osv):
|
|||
tools.trans_load(cr, trans_file, lang, verbose=False, module_name=module_name, context=context)
|
||||
elif lang_code != 'en_US':
|
||||
_logger.warning('module %s: no translation for language %s', module_name, lang_code)
|
||||
|
||||
trans_extra_file = openerp.modules.get_module_resource(module_name, 'i18n_extra', lang_code + '.po')
|
||||
if trans_extra_file:
|
||||
_logger.info('module %s: loading extra translation file (%s) for language %s', module_name, lang_code, lang)
|
||||
tools.trans_load(cr, trans_extra_file, lang, verbose=False, module_name=module_name, context=context)
|
||||
return True
|
||||
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ class view(osv.osv):
|
|||
if self.pool._init:
|
||||
# Module init currently in progress, only consider views from modules whose code was already loaded
|
||||
query = """SELECT v.id FROM ir_ui_view v LEFT JOIN ir_model_data md ON (md.model = 'ir.ui.view' AND md.res_id = v.id)
|
||||
WHERE v.inherit_id=%s AND v.model=%s AND md.module in %s
|
||||
WHERE v.inherit_id=%s AND v.model=%s AND (md.module IS NULL or md.module in %s)
|
||||
ORDER BY priority"""
|
||||
query_params = (view_id, model, tuple(self.pool._init_modules))
|
||||
else:
|
||||
|
|
|
@ -49,10 +49,10 @@ class res_config_module_installation_mixin(object):
|
|||
to_install_missing_names.append(name)
|
||||
elif module.state == 'uninstalled':
|
||||
to_install_ids.append(module.id)
|
||||
|
||||
result = None
|
||||
if to_install_ids:
|
||||
ir_module.button_immediate_install(cr, uid, to_install_ids, context=context)
|
||||
|
||||
result = ir_module.button_immediate_install(cr, uid, to_install_ids, context=context)
|
||||
#FIXME: if result is not none, the corresponding todo will be skipped because it was just marked done
|
||||
if to_install_missing_names:
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
|
@ -60,7 +60,7 @@ class res_config_module_installation_mixin(object):
|
|||
'params': {'modules': to_install_missing_names},
|
||||
}
|
||||
|
||||
return None
|
||||
return result
|
||||
|
||||
class res_config_configurable(osv.osv_memory):
|
||||
''' Base classes for new-style configuration items
|
||||
|
|
|
@ -30,11 +30,13 @@ from openerp.tools.translate import _
|
|||
CURRENCY_DISPLAY_PATTERN = re.compile(r'(\w+)\s*(?:\((.*)\))?')
|
||||
|
||||
class res_currency(osv.osv):
|
||||
|
||||
def _current_rate(self, cr, uid, ids, name, arg, context=None):
|
||||
return self._get_current_rate(cr, uid, ids, name, arg, context=context)
|
||||
return self._get_current_rate(cr, uid, ids, context=context)
|
||||
|
||||
def _get_current_rate(self, cr, uid, ids, name, arg, context=None):
|
||||
def _current_rate_silent(self, cr, uid, ids, name, arg, context=None):
|
||||
return self._get_current_rate(cr, uid, ids, raise_on_no_rate=False, context=context)
|
||||
|
||||
def _get_current_rate(self, cr, uid, ids, raise_on_no_rate=True, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
res = {}
|
||||
|
@ -52,9 +54,12 @@ class res_currency(osv.osv):
|
|||
if cr.rowcount:
|
||||
id, rate = cr.fetchall()[0]
|
||||
res[id] = rate
|
||||
elif not raise_on_no_rate:
|
||||
res[id] = 0
|
||||
else:
|
||||
raise osv.except_osv(_('Error!'),_("No currency rate associated for currency %d for the given period" % (id)))
|
||||
return res
|
||||
|
||||
_name = "res.currency"
|
||||
_description = "Currency"
|
||||
_columns = {
|
||||
|
@ -63,6 +68,10 @@ class res_currency(osv.osv):
|
|||
'symbol': fields.char('Symbol', size=4, help="Currency sign, to be used when printing amounts."),
|
||||
'rate': fields.function(_current_rate, string='Current Rate', digits=(12,6),
|
||||
help='The rate of the currency to the currency of rate 1.'),
|
||||
|
||||
# Do not use for computation ! Same as rate field with silent failing
|
||||
'rate_silent': fields.function(_current_rate_silent, string='Current Rate', digits=(12,6),
|
||||
help='The rate of the currency to the currency of rate 1 (0 if no rate defined).'),
|
||||
'rate_ids': fields.one2many('res.currency.rate', 'currency_id', 'Rates'),
|
||||
'accuracy': fields.integer('Computational Accuracy'),
|
||||
'rounding': fields.float('Rounding Factor', digits=(12,6)),
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="rate_ids" invisible="1"/>
|
||||
<field name="date"/>
|
||||
<field name="rate"/>
|
||||
<field name="rate_silent"/>
|
||||
<field name="rounding"/>
|
||||
<field name="accuracy"/>
|
||||
<field name="position"/>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<form string="Currency" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="rate"/>
|
||||
<field name="rate_silent"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
|
||||
|
|
|
@ -208,6 +208,8 @@ class res_partner(osv.osv, format_address):
|
|||
return result
|
||||
|
||||
def _display_name_compute(self, cr, uid, ids, name, args, context=None):
|
||||
context = dict(context or {})
|
||||
context.pop('show_address', None)
|
||||
return dict(self.name_get(cr, uid, ids, context=context))
|
||||
|
||||
# indirections to avoid passing a copy of the overridable method when declaring the function field
|
||||
|
@ -479,7 +481,11 @@ class res_partner(osv.osv, format_address):
|
|||
if partner.child_ids:
|
||||
# 2a. Commercial Fields: sync if commercial entity
|
||||
if partner.commercial_partner_id == partner:
|
||||
self._commercial_sync_to_children(cr, uid, partner, context=context)
|
||||
commercial_fields = self._commercial_fields(cr, uid,
|
||||
context=context)
|
||||
if any(field in update_values for field in commercial_fields):
|
||||
self._commercial_sync_to_children(cr, uid, partner,
|
||||
context=context)
|
||||
# 2b. Address fields: sync if address changed
|
||||
address_fields = self._address_fields(cr, uid, context=context)
|
||||
if any(field in update_values for field in address_fields):
|
||||
|
@ -502,6 +508,16 @@ class res_partner(osv.osv, format_address):
|
|||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
#res.partner must only allow to set the company_id of a partner if it
|
||||
#is the same as the company of all users that inherit from this partner
|
||||
#(this is to allow the code from res_users to write to the partner!) or
|
||||
#if setting the company_id to False (this is compatible with any user company)
|
||||
if vals.get('company_id'):
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
if partner.user_ids:
|
||||
user_companies = set([user.company_id.id for user in partner.user_ids])
|
||||
if len(user_companies) > 1 or vals['company_id'] not in user_companies:
|
||||
raise osv.except_osv(_("Warning"),_("You can not change the company as the partner/user has multiple user linked with different companies."))
|
||||
result = super(res_partner,self).write(cr, uid, ids, vals, context=context)
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
self._fields_sync(cr, uid, partner, vals, context)
|
||||
|
@ -602,14 +618,15 @@ class res_partner(osv.osv, format_address):
|
|||
if operator in ('=ilike', '=like'):
|
||||
operator = operator[1:]
|
||||
query_args = {'name': search_name}
|
||||
limit_str = ''
|
||||
query = ('''SELECT id FROM res_partner
|
||||
WHERE email ''' + operator + ''' %(name)s
|
||||
OR display_name ''' + operator + ''' %(name)s
|
||||
ORDER BY display_name
|
||||
''')
|
||||
if limit:
|
||||
limit_str = ' limit %(limit)s'
|
||||
query += ' limit %(limit)s'
|
||||
query_args['limit'] = limit
|
||||
cr.execute('''SELECT partner.id FROM res_partner partner
|
||||
LEFT JOIN res_partner company ON partner.parent_id = company.id
|
||||
WHERE partner.email ''' + operator +''' %(name)s OR
|
||||
partner.display_name ''' + operator + ' %(name)s ' + limit_str, query_args)
|
||||
cr.execute(query, query_args)
|
||||
ids = map(lambda x: x[0], cr.fetchall())
|
||||
ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context)
|
||||
if ids:
|
||||
|
|
|
@ -283,6 +283,13 @@ class res_users(osv.osv):
|
|||
|
||||
return result
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
user_id = super(res_users, self).create(cr, uid, vals, context=context)
|
||||
user = self.browse(cr, uid, user_id, context=context)
|
||||
if user.partner_id.company_id:
|
||||
user.partner_id.write({'company_id': user.company_id.id})
|
||||
return user_id
|
||||
|
||||
def write(self, cr, uid, ids, values, context=None):
|
||||
if not hasattr(ids, '__iter__'):
|
||||
ids = [ids]
|
||||
|
@ -297,7 +304,11 @@ class res_users(osv.osv):
|
|||
uid = 1 # safe fields only, so we write as super-user to bypass access rights
|
||||
|
||||
res = super(res_users, self).write(cr, uid, ids, values, context=context)
|
||||
|
||||
if 'company_id' in values:
|
||||
for user in self.browse(cr, uid, ids, context=context):
|
||||
# if partner is global we keep it that way
|
||||
if user.partner_id.company_id and user.partner_id.company_id.id != values['company_id']:
|
||||
user.partner_id.write({'company_id': user.company_id.id})
|
||||
# clear caches linked to the users
|
||||
self.pool['ir.model.access'].call_cache_clearing_methods(cr)
|
||||
clear = partial(self.pool['ir.rule'].clear_cache, cr)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
"access_ir_model_relation","ir_model_relation","model_ir_model_relation",,1,0,0,0
|
||||
"access_ir_model_access_all","ir_model_access_all","model_ir_model_access",,1,0,0,0
|
||||
"access_ir_model_data_all","ir_model_data all","model_ir_model_data",,1,0,0,0
|
||||
"access_ir_model_data_user","ir_model_data user","model_ir_model_data",base.group_user,1,0,1,0
|
||||
"access_ir_model_fields_all","ir_model_fields all","model_ir_model_fields",,1,0,0,0
|
||||
"access_ir_module_category_group_user","ir_module_category group_user","model_ir_module_category",,1,0,0,0
|
||||
"access_ir_module_module_group_user","ir_module_module group_user","model_ir_module_module","group_system",1,1,1,1
|
||||
|
@ -110,9 +111,7 @@
|
|||
"access_res_bank_user","res_bank user","model_res_bank","group_user",1,0,0,0
|
||||
"access_multi_company_default user","multi_company_default all","model_multi_company_default",,1,0,0,0
|
||||
"access_multi_company_default manager","multi_company_default Manager","model_multi_company_default","group_erp_manager",1,1,1,1
|
||||
"access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0
|
||||
"access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1
|
||||
"access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1
|
||||
"access_ir_filter all","ir_filters all","model_ir_filters",,1,1,1,1
|
||||
"access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0
|
||||
"access_ir_mail_server","ir_mail_server","model_ir_mail_server","group_system",1,1,1,1
|
||||
"access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0
|
||||
|
|
|
|
@ -102,7 +102,7 @@ openerp.base = function(instance) {
|
|||
});
|
||||
}).
|
||||
fail(function(client) {*/
|
||||
self.do_warn(_t('OpenERP Apps Unreachable'), _t('Showing locally available modules'), true);
|
||||
//self.do_warn(_t('OpenERP Apps Unreachable'), _t('Showing locally available modules'), true);
|
||||
self.rpc('/web/action/load', {action_id: self.failback_action_id}).done(function(action) {
|
||||
self.do_action(action);
|
||||
instance.webclient.menu.open_action(action.id);
|
||||
|
|
|
@ -56,19 +56,6 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
|||
:param skip_modules: optional list of module names (packages) which have previously been loaded and can be skipped
|
||||
:return: list of modules that were installed or updated
|
||||
"""
|
||||
def process_sql_file(cr, fp):
|
||||
queries = fp.read().split(';')
|
||||
for query in queries:
|
||||
new_query = ' '.join(query.split())
|
||||
if new_query:
|
||||
cr.execute(new_query)
|
||||
|
||||
load_init_xml = lambda *args: _load_data(cr, *args, kind='init_xml')
|
||||
load_update_xml = lambda *args: _load_data(cr, *args, kind='update_xml')
|
||||
load_demo_xml = lambda *args: _load_data(cr, *args, kind='demo_xml')
|
||||
load_data = lambda *args: _load_data(cr, *args, kind='data')
|
||||
load_demo = lambda *args: _load_data(cr, *args, kind='demo')
|
||||
|
||||
def load_test(module_name, idref, mode):
|
||||
cr.commit()
|
||||
try:
|
||||
|
@ -86,6 +73,28 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
|||
else:
|
||||
cr.rollback()
|
||||
|
||||
def _get_files_of_kind(kind):
|
||||
if kind == 'demo':
|
||||
kind = ['demo_xml', 'demo']
|
||||
elif kind == 'data':
|
||||
kind = ['init_xml', 'update_xml', 'data']
|
||||
if isinstance(kind, str):
|
||||
kind = [kind]
|
||||
files = []
|
||||
for k in kind:
|
||||
for f in package.data[k]:
|
||||
files.append(f)
|
||||
if k.endswith('_xml') and not (k == 'init_xml' and not f.endswith('.xml')):
|
||||
# init_xml, update_xml and demo_xml are deprecated except
|
||||
# for the case of init_xml with yaml, csv and sql files as
|
||||
# we can't specify noupdate for those file.
|
||||
correct_key = 'demo' if k.count('demo') else 'data'
|
||||
_logger.warning(
|
||||
"module %s: key '%s' is deprecated in favor of '%s' for file '%s'.",
|
||||
package.name, k, correct_key, f
|
||||
)
|
||||
return files
|
||||
|
||||
def _load_data(cr, module_name, idref, mode, kind):
|
||||
"""
|
||||
|
||||
|
@ -95,32 +104,12 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
|||
init mode.
|
||||
|
||||
"""
|
||||
for filename in package.data[kind]:
|
||||
for filename in _get_files_of_kind(kind):
|
||||
_logger.info("module %s: loading %s", module_name, filename)
|
||||
_, ext = os.path.splitext(filename)
|
||||
pathname = os.path.join(module_name, filename)
|
||||
fp = tools.file_open(pathname)
|
||||
noupdate = False
|
||||
if kind in ('demo', 'demo_xml'):
|
||||
if kind in ('demo', 'demo_xml') or (filename.endswith('.csv') and kind in ('init', 'init_xml')):
|
||||
noupdate = True
|
||||
try:
|
||||
ext = ext.lower()
|
||||
if ext == '.csv':
|
||||
if kind in ('init', 'init_xml'):
|
||||
noupdate = True
|
||||
tools.convert_csv_import(cr, module_name, pathname, fp.read(), idref, mode, noupdate)
|
||||
elif ext == '.sql':
|
||||
process_sql_file(cr, fp)
|
||||
elif ext == '.yml':
|
||||
tools.convert_yaml_import(cr, module_name, fp, kind, idref, mode, noupdate, report)
|
||||
elif ext == '.xml':
|
||||
tools.convert_xml_import(cr, module_name, fp, idref, mode, noupdate, report)
|
||||
elif ext == '.js':
|
||||
pass # .js files are valid but ignored here.
|
||||
else:
|
||||
_logger.warning("Can't load unknown file type %s.", filename)
|
||||
finally:
|
||||
fp.close()
|
||||
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
|
||||
|
||||
if status is None:
|
||||
status = {}
|
||||
|
@ -176,13 +165,10 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
|||
if package.state=='to upgrade':
|
||||
# upgrading the module information
|
||||
modobj.write(cr, SUPERUSER_ID, [module_id], modobj.get_values_from_terp(package.data))
|
||||
load_init_xml(module_name, idref, mode)
|
||||
load_update_xml(module_name, idref, mode)
|
||||
load_data(module_name, idref, mode)
|
||||
_load_data(cr, module_name, idref, mode, kind='data')
|
||||
if hasattr(package, 'demo') or (package.dbdemo and package.state != 'installed'):
|
||||
status['progress'] = (index + 0.75) / len(graph)
|
||||
load_demo_xml(module_name, idref, mode)
|
||||
load_demo(module_name, idref, mode)
|
||||
_load_data(cr, module_name, idref, mode, kind='demo')
|
||||
cr.execute('update ir_module_module set demo=%s where id=%s', (True, module_id))
|
||||
|
||||
# launch tests only in demo mode, as most tests will depend
|
||||
|
@ -329,13 +315,21 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
|||
# they are part of the "currently installed" modules. They will
|
||||
# be dropped in STEP 6 later, before restarting the loading
|
||||
# process.
|
||||
states_to_load = ['installed', 'to upgrade', 'to remove']
|
||||
processed = load_marked_modules(cr, graph, states_to_load, force, status, report, loaded_modules, update_module)
|
||||
processed_modules.extend(processed)
|
||||
if update_module:
|
||||
states_to_load = ['to install']
|
||||
processed = load_marked_modules(cr, graph, states_to_load, force, status, report, loaded_modules, update_module)
|
||||
processed_modules.extend(processed)
|
||||
# IMPORTANT 2: We have to loop here until all relevant modules have been
|
||||
# processed, because in some rare cases the dependencies have
|
||||
# changed, and modules that depend on an uninstalled module
|
||||
# will not be processed on the first pass.
|
||||
# It's especially useful for migrations.
|
||||
previously_processed = -1
|
||||
while previously_processed < len(processed_modules):
|
||||
previously_processed = len(processed_modules)
|
||||
processed_modules += load_marked_modules(cr, graph,
|
||||
['installed', 'to upgrade', 'to remove'],
|
||||
force, status, report, loaded_modules, update_module)
|
||||
if update_module:
|
||||
processed_modules += load_marked_modules(cr, graph,
|
||||
['to install'], force, status, report,
|
||||
loaded_modules, update_module)
|
||||
|
||||
# load custom models
|
||||
cr.execute('select model from ir_model where state=%s', ('manual',))
|
||||
|
|
|
@ -398,7 +398,9 @@ def is_leaf(element, internal=False):
|
|||
INTERNAL_OPS += ('inselect',)
|
||||
return (isinstance(element, tuple) or isinstance(element, list)) \
|
||||
and len(element) == 3 \
|
||||
and element[1] in INTERNAL_OPS
|
||||
and element[1] in INTERNAL_OPS \
|
||||
and ((isinstance(element[0], basestring) and element[0])
|
||||
or element in (TRUE_LEAF, FALSE_LEAF))
|
||||
|
||||
|
||||
# --------------------------------------------------
|
||||
|
|
|
@ -383,16 +383,18 @@ class browse_record(object):
|
|||
raise KeyError(error_msg)
|
||||
|
||||
# if the field is a classic one or a many2one, we'll fetch all classic and many2one fields
|
||||
if col._prefetch:
|
||||
if col._prefetch and not col.groups:
|
||||
# gen the list of "local" (ie not inherited) fields which are classic or many2one
|
||||
fields_to_fetch = filter(lambda x: x[1]._classic_write and x[1]._prefetch, self._table._columns.items())
|
||||
field_filter = lambda x: x[1]._classic_write and x[1]._prefetch and not x[1].groups
|
||||
fields_to_fetch = filter(field_filter, self._table._columns.items())
|
||||
# gen the list of inherited fields
|
||||
inherits = map(lambda x: (x[0], x[1][2]), self._table._inherit_fields.items())
|
||||
# complete the field list with the inherited fields which are classic or many2one
|
||||
fields_to_fetch += filter(lambda x: x[1]._classic_write and x[1]._prefetch, inherits)
|
||||
fields_to_fetch += filter(field_filter, inherits)
|
||||
# otherwise we fetch only that field
|
||||
else:
|
||||
fields_to_fetch = [(name, col)]
|
||||
|
||||
ids = filter(lambda id: name not in self._data[id], self._data.keys())
|
||||
# read the results
|
||||
field_names = map(lambda x: x[0], fields_to_fetch)
|
||||
|
@ -2199,7 +2201,8 @@ class BaseModel(object):
|
|||
|
||||
sql_res = False
|
||||
parent_view_model = None
|
||||
view_ref = context.get(view_type + '_view_ref')
|
||||
view_ref_key = view_type + '_view_ref'
|
||||
view_ref = context.get(view_ref_key)
|
||||
# Search for a root (i.e. without any parent) view.
|
||||
while True:
|
||||
if view_ref and not view_id:
|
||||
|
@ -2209,6 +2212,10 @@ class BaseModel(object):
|
|||
view_ref_res = cr.fetchone()
|
||||
if view_ref_res:
|
||||
view_id = view_ref_res[0]
|
||||
else:
|
||||
_logger.warning('%r requires a fully-qualified external id (got: %r for model %s). '
|
||||
'Please use the complete `module.view_id` form instead.', view_ref_key, view_ref,
|
||||
self._name)
|
||||
|
||||
if view_id:
|
||||
cr.execute("""SELECT arch,name,field_parent,id,type,inherit_id,model
|
||||
|
|
|
@ -109,7 +109,7 @@ class _date_format(str, _format):
|
|||
if self.val:
|
||||
if getattr(self,'name', None):
|
||||
date = datetime.strptime(self.name[:get_date_length()], DEFAULT_SERVER_DATE_FORMAT)
|
||||
return date.strftime(str(self.lang_obj.date_format))
|
||||
return date.strftime(self.lang_obj.date_format.encode('utf-8'))
|
||||
return self.val
|
||||
|
||||
class _dttime_format(str, _format):
|
||||
|
@ -120,8 +120,8 @@ class _dttime_format(str, _format):
|
|||
def __str__(self):
|
||||
if self.val and getattr(self,'name', None):
|
||||
return datetime.strptime(self.name, DEFAULT_SERVER_DATETIME_FORMAT)\
|
||||
.strftime("%s %s"%(str(self.lang_obj.date_format),
|
||||
str(self.lang_obj.time_format)))
|
||||
.strftime("%s %s"%((self.lang_obj.date_format).encode('utf-8'),
|
||||
(self.lang_obj.time_format).encode('utf-8')))
|
||||
return self.val
|
||||
|
||||
|
||||
|
@ -313,7 +313,7 @@ class rml_parse(object):
|
|||
date = datetime_field.context_timestamp(self.cr, self.uid,
|
||||
timestamp=date,
|
||||
context=self.localcontext)
|
||||
return date.strftime(date_format)
|
||||
return date.strftime(date_format.encode('utf-8'))
|
||||
|
||||
res = self.lang_dict['lang_obj'].format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)
|
||||
if currency_obj:
|
||||
|
|
|
@ -9,6 +9,7 @@ import common
|
|||
# test group that demo user should not have
|
||||
GROUP_TECHNICAL_FEATURES = 'base.group_no_one'
|
||||
|
||||
|
||||
class TestACL(common.TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -22,25 +23,25 @@ class TestACL(common.TransactionCase):
|
|||
|
||||
def test_field_visibility_restriction(self):
|
||||
"""Check that model-level ``groups`` parameter effectively restricts access to that
|
||||
field for users who do not belong to one of the explicitly allowed groups"""
|
||||
field for users who do not belong to one of the explicitly allowed groups"""
|
||||
# Verify the test environment first
|
||||
original_fields = self.res_currency.fields_get(self.cr, self.demo_uid, [])
|
||||
form_view = self.res_currency.fields_view_get(self.cr, self.demo_uid, False, 'form')
|
||||
view_arch = etree.fromstring(form_view.get('arch'))
|
||||
has_tech_feat = self.res_users.has_group(self.cr, self.demo_uid, GROUP_TECHNICAL_FEATURES)
|
||||
self.assertFalse(has_tech_feat, "`demo` user should not belong to the restricted group before the test")
|
||||
self.assertTrue('rate' in original_fields, "'rate' field must be properly visible before the test")
|
||||
self.assertNotEquals(view_arch.xpath("//field[@name='rate']"), [],
|
||||
"Field 'rate' must be found in view definition before the test")
|
||||
self.assertTrue('accuracy' in original_fields, "'accuracy' field must be properly visible before the test")
|
||||
self.assertNotEquals(view_arch.xpath("//field[@name='accuracy']"), [],
|
||||
"Field 'accuracy' must be found in view definition before the test")
|
||||
|
||||
# Restrict access to the field and check it's gone
|
||||
self.res_currency._columns['rate'].groups = GROUP_TECHNICAL_FEATURES
|
||||
self.res_currency._columns['accuracy'].groups = GROUP_TECHNICAL_FEATURES
|
||||
fields = self.res_currency.fields_get(self.cr, self.demo_uid, [])
|
||||
form_view = self.res_currency.fields_view_get(self.cr, self.demo_uid, False, 'form')
|
||||
view_arch = etree.fromstring(form_view.get('arch'))
|
||||
self.assertFalse('rate' in fields, "'rate' field should be gone")
|
||||
self.assertEquals(view_arch.xpath("//field[@name='rate']"), [],
|
||||
"Field 'rate' must not be found in view definition")
|
||||
self.assertFalse('accuracy' in fields, "'accuracy' field should be gone")
|
||||
self.assertEquals(view_arch.xpath("//field[@name='accuracy']"), [],
|
||||
"Field 'accuracy' must not be found in view definition")
|
||||
|
||||
# Make demo user a member of the restricted group and check that the field is back
|
||||
self.tech_group.write({'users': [(4, self.demo_uid)]})
|
||||
|
@ -50,13 +51,13 @@ class TestACL(common.TransactionCase):
|
|||
view_arch = etree.fromstring(form_view.get('arch'))
|
||||
#import pprint; pprint.pprint(fields); pprint.pprint(form_view)
|
||||
self.assertTrue(has_tech_feat, "`demo` user should now belong to the restricted group")
|
||||
self.assertTrue('rate' in fields, "'rate' field must be properly visible again")
|
||||
self.assertNotEquals(view_arch.xpath("//field[@name='rate']"), [],
|
||||
"Field 'rate' must be found in view definition again")
|
||||
self.assertTrue('accuracy' in fields, "'accuracy' field must be properly visible again")
|
||||
self.assertNotEquals(view_arch.xpath("//field[@name='accuracy']"), [],
|
||||
"Field 'accuracy' must be found in view definition again")
|
||||
|
||||
#cleanup
|
||||
self.tech_group.write({'users': [(3, self.demo_uid)]})
|
||||
self.res_currency._columns['rate'].groups = False
|
||||
self.res_currency._columns['accuracy'].groups = False
|
||||
|
||||
@mute_logger('openerp.osv.orm')
|
||||
def test_field_crud_restriction(self):
|
||||
|
@ -65,7 +66,7 @@ class TestACL(common.TransactionCase):
|
|||
has_tech_feat = self.res_users.has_group(self.cr, self.demo_uid, GROUP_TECHNICAL_FEATURES)
|
||||
self.assertFalse(has_tech_feat, "`demo` user should not belong to the restricted group")
|
||||
self.assert_(self.res_partner.read(self.cr, self.demo_uid, [1], ['bank_ids']))
|
||||
self.assert_(self.res_partner.write(self.cr, self.demo_uid, [1], {'bank_ids': []}))
|
||||
self.assert_(self.res_partner.write(self.cr, self.demo_uid, [1], {'bank_ids': []}))
|
||||
|
||||
# Now restrict access to the field and check it's forbidden
|
||||
self.res_partner._columns['bank_ids'].groups = GROUP_TECHNICAL_FEATURES
|
||||
|
@ -79,12 +80,30 @@ class TestACL(common.TransactionCase):
|
|||
has_tech_feat = self.res_users.has_group(self.cr, self.demo_uid, GROUP_TECHNICAL_FEATURES)
|
||||
self.assertTrue(has_tech_feat, "`demo` user should now belong to the restricted group")
|
||||
self.assert_(self.res_partner.read(self.cr, self.demo_uid, [1], ['bank_ids']))
|
||||
self.assert_(self.res_partner.write(self.cr, self.demo_uid, [1], {'bank_ids': []}))
|
||||
|
||||
self.assert_(self.res_partner.write(self.cr, self.demo_uid, [1], {'bank_ids': []}))
|
||||
|
||||
#cleanup
|
||||
self.tech_group.write({'users': [(3, self.demo_uid)]})
|
||||
self.res_partner._columns['bank_ids'].groups = False
|
||||
|
||||
def test_fields_browse_restriction(self):
|
||||
"""Test access to records having restricted fields"""
|
||||
self.res_partner._columns['email'].groups = GROUP_TECHNICAL_FEATURES
|
||||
try:
|
||||
P = self.res_partner
|
||||
pid = P.search(self.cr, self.demo_uid, [], limit=1)[0]
|
||||
part = P.browse(self.cr, self.demo_uid, pid)
|
||||
# accessing fields must no raise exceptions...
|
||||
part.name
|
||||
# ... except they are restricted
|
||||
with self.assertRaises(openerp.osv.orm.except_orm) as cm:
|
||||
part.email
|
||||
|
||||
self.assertEqual(cm.exception.args[0], 'Access Denied')
|
||||
finally:
|
||||
self.res_partner._columns['email'].groups = False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest2.main()
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import time
|
|||
import openerp
|
||||
import openerp.release
|
||||
import openerp.workflow
|
||||
from yaml_import import convert_yaml_import
|
||||
|
||||
import assertion_report
|
||||
|
||||
|
@ -877,6 +878,33 @@ form: module.record_id""" % (xml_id,)
|
|||
'url': self._tag_url
|
||||
}
|
||||
|
||||
def convert_file(cr, module, filename, idref, mode='update', noupdate=False, kind=None, report=None):
|
||||
pathname = os.path.join(module, filename)
|
||||
fp = misc.file_open(pathname)
|
||||
ext = os.path.splitext(filename)[1].lower()
|
||||
try:
|
||||
if ext == '.csv':
|
||||
convert_csv_import(cr, module, pathname, fp.read(), idref, mode, noupdate)
|
||||
elif ext == '.sql':
|
||||
convert_sql_import(cr, fp)
|
||||
elif ext == '.yml':
|
||||
convert_yaml_import(cr, module, fp, kind, idref, mode, noupdate, report)
|
||||
elif ext == '.xml':
|
||||
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
|
||||
elif ext == '.js':
|
||||
pass # .js files are valid but ignored here.
|
||||
else:
|
||||
_logger.warning("Can't load unknown file type %s.", filename)
|
||||
finally:
|
||||
fp.close()
|
||||
|
||||
def convert_sql_import(cr, fp):
|
||||
queries = fp.read().split(';')
|
||||
for query in queries:
|
||||
new_query = ' '.join(query.split())
|
||||
if new_query:
|
||||
cr.execute(new_query)
|
||||
|
||||
def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
||||
noupdate=False):
|
||||
'''Import csv file :
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Business Applications
|
||||
# Copyright (C) 2012 OpenERP S.A. (<http://openerp.com>).
|
||||
# Copyright (C) 2012-2013 OpenERP S.A. (<http://openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -43,30 +43,59 @@ _logger = logging.getLogger(__name__)
|
|||
tags_to_kill = ["script", "head", "meta", "title", "link", "style", "frame", "iframe", "base", "object", "embed"]
|
||||
tags_to_remove = ['html', 'body', 'font']
|
||||
|
||||
# allow new semantic HTML5 tags
|
||||
allowed_tags = clean.defs.tags | frozenset('article section header footer hgroup nav aside figure'.split())
|
||||
safe_attrs = clean.defs.safe_attrs | frozenset(['style'])
|
||||
|
||||
def html_sanitize(src):
|
||||
def html_sanitize(src, silent=True):
|
||||
if not src:
|
||||
return src
|
||||
src = ustr(src, errors='replace')
|
||||
|
||||
logger = logging.getLogger(__name__ + '.html_sanitize')
|
||||
|
||||
# html encode email tags
|
||||
part = re.compile(r"(<(([^a<>]|a[^<>\s])[^<>]*)@[^<>]+>)", re.IGNORECASE | re.DOTALL)
|
||||
src = part.sub(lambda m: cgi.escape(m.group(1)), src)
|
||||
|
||||
# some corner cases make the parser crash (such as <SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT> in test_mail)
|
||||
kwargs = {
|
||||
'page_structure': True,
|
||||
'style': False, # do not remove style attributes
|
||||
'forms': True, # remove form tags
|
||||
'remove_unknown_tags': False,
|
||||
'allow_tags': allowed_tags,
|
||||
}
|
||||
if etree.LXML_VERSION >= (2, 3, 1):
|
||||
# kill_tags attribute has been added in version 2.3.1
|
||||
kwargs.update({
|
||||
'kill_tags': tags_to_kill,
|
||||
'remove_tags': tags_to_remove,
|
||||
})
|
||||
else:
|
||||
kwargs['remove_tags'] = tags_to_kill + tags_to_remove
|
||||
|
||||
if etree.LXML_VERSION >= (3, 1, 0):
|
||||
kwargs.update({
|
||||
'safe_attrs_only': True,
|
||||
'safe_attrs': safe_attrs,
|
||||
})
|
||||
else:
|
||||
# lxml < 3.1.0 does not allow to specify safe_attrs. We keep all attributes in order to keep "style"
|
||||
kwargs['safe_attrs_only'] = False
|
||||
|
||||
try:
|
||||
cleaner = clean.Cleaner(page_structure=True, style=False, safe_attrs_only=False, forms=False, kill_tags=tags_to_kill, remove_tags=tags_to_remove)
|
||||
# some corner cases make the parser crash (such as <SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT> in test_mail)
|
||||
cleaner = clean.Cleaner(**kwargs)
|
||||
cleaned = cleaner.clean_html(src)
|
||||
except TypeError, e:
|
||||
# lxml.clean version < 2.3.1 does not have a kill_tags attribute
|
||||
# to remove in 2014
|
||||
cleaner = clean.Cleaner(page_structure=True, style=False, safe_attrs_only=False, forms=False, remove_tags=tags_to_kill + tags_to_remove)
|
||||
cleaned = cleaner.clean_html(src)
|
||||
except etree.ParserError, e:
|
||||
_logger.warning('html_sanitize: ParserError "%s" obtained when sanitizing "%s"' % (e, src))
|
||||
except etree.ParserError:
|
||||
if not silent:
|
||||
raise
|
||||
logger.warning('ParserError obtained when sanitizing %r', src, exc_info=True)
|
||||
cleaned = '<p>ParserError when sanitizing</p>'
|
||||
except Exception, e:
|
||||
_logger.warning('html_sanitize: unknown error "%s" obtained when sanitizing "%s"' % (e, src))
|
||||
except Exception:
|
||||
if not silent:
|
||||
raise
|
||||
logger.warning('unknown error obtained when sanitizing %r', src, exc_info=True)
|
||||
cleaned = '<p>Unknown error when sanitizing</p>'
|
||||
return cleaned
|
||||
|
||||
|
|
|
@ -421,6 +421,7 @@ def get_iso_codes(lang):
|
|||
|
||||
ALL_LANGUAGES = {
|
||||
'ab_RU': u'Abkhazian / аҧсуа',
|
||||
'am_ET': u'Amharic / አምሃርኛ',
|
||||
'ar_SY': u'Arabic / الْعَرَبيّة',
|
||||
'bg_BG': u'Bulgarian / български език',
|
||||
'bs_BS': u'Bosnian / bosanski jezik',
|
||||
|
|
Loading…
Reference in New Issue