[MERGE] Sync with trunk until revision 4957.
bzr revid: tde@openerp.com-20131002133820-8xomdumexexqp3pk
This commit is contained in:
commit
54933118a4
|
@ -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 :
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ Changelog
|
|||
`trunk`
|
||||
-------
|
||||
|
||||
- Added support of custom group_by format and display format when using group_by
|
||||
on a datetime field, using datetime_format context key
|
||||
- Improved ``html_email_clean`` in tools: better quote and signature finding,
|
||||
added shortening.
|
||||
- Cleaned and slightly refactored ``ir.actions.server``. The ``loop``, ``sms``
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: base
|
||||
|
@ -4544,7 +4544,7 @@ msgstr "Nauru"
|
|||
#: code:addons/base/res/res_company.py:166
|
||||
#, python-format
|
||||
msgid "Reg"
|
||||
msgstr ""
|
||||
msgstr "IČ"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_property
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-08-20 15:44+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-09-26 21:06+0000\n"
|
||||
"Last-Translator: Morten Schou <ms@msteknik.dk>\n"
|
||||
"Language-Team: Danish <da@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-27 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16774)\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
|
||||
|
@ -249,12 +252,12 @@ msgstr "Swaziland"
|
|||
#: code:addons/orm.py:4485
|
||||
#, python-format
|
||||
msgid "created."
|
||||
msgstr ""
|
||||
msgstr "Oprettet"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
msgid "XSL Path"
|
||||
msgstr ""
|
||||
msgstr "XLS sti"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||
|
@ -280,7 +283,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_multi_currency
|
||||
msgid "Multi Currencies"
|
||||
msgstr ""
|
||||
msgstr "Flere valutaer"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_cl
|
||||
|
@ -296,7 +299,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale
|
||||
msgid "Sales Management"
|
||||
msgstr ""
|
||||
msgstr "Salgs administration"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,user_id:0
|
||||
|
@ -304,6 +307,7 @@ msgid ""
|
|||
"The internal user that is in charge of communicating with this contact if "
|
||||
"any."
|
||||
msgstr ""
|
||||
"Den interne bruger som er ansvarlig for kommunikationen med denne kontakt"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -318,7 +322,7 @@ msgstr "Antal moduler"
|
|||
#. module: base
|
||||
#: help:multi_company.default,company_dest_id:0
|
||||
msgid "Company to store the current record"
|
||||
msgstr ""
|
||||
msgstr "Firma som denne post skal gemmes i"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank.type.field,size:0
|
||||
|
@ -346,7 +350,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: sql_constraint:res.lang:0
|
||||
msgid "The name of the language must be unique !"
|
||||
msgstr ""
|
||||
msgstr "Sprogets navn skal være unik"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,state:0
|
||||
|
@ -374,7 +378,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
||||
msgid "Customer Relationship Management"
|
||||
msgstr ""
|
||||
msgstr "Kundestyring (CRM)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_delivery
|
||||
|
@ -429,12 +433,12 @@ msgstr ""
|
|||
#: view:ir.attachment:0
|
||||
#: field:ir.attachment,create_uid:0
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
msgstr "Ejer"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
msgid "Source Object"
|
||||
msgstr ""
|
||||
msgstr "Kilde objekt"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||
|
@ -472,6 +476,8 @@ msgid ""
|
|||
"One of the records you are trying to modify has already been deleted "
|
||||
"(Document type: %s)."
|
||||
msgstr ""
|
||||
"En af de poster du prøver at ændre, er allerede blevet slettet (dokument "
|
||||
"type:%s)"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,views:0
|
||||
|
@ -485,12 +491,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.model.relation,name:0
|
||||
msgid "Relation Name"
|
||||
msgstr ""
|
||||
msgstr "Relationens navn"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Create Access Right"
|
||||
msgstr ""
|
||||
msgstr "Opret adgangs rettighed"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tv
|
||||
|
@ -538,7 +544,7 @@ msgstr "Fransk Guyana"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_hr
|
||||
msgid "Jobs, Departments, Employees Details"
|
||||
msgstr ""
|
||||
msgstr "Jobs, Afdelinger, Ansattes detaljer"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_analytic
|
||||
|
@ -558,7 +564,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_idea
|
||||
msgid "Ideas"
|
||||
msgstr ""
|
||||
msgstr "Ideer"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_event
|
||||
|
@ -581,7 +587,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Bosnian / bosanski jezik"
|
||||
msgstr ""
|
||||
msgstr "Bosnisk"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.report.xml,attachment_use:0
|
||||
|
@ -619,12 +625,12 @@ msgstr "Spansk (VE) / Español (VE)"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
|
||||
msgid "Invoice on Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Faktura fra timesedler"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.upgrade:0
|
||||
msgid "Your system will be updated."
|
||||
msgstr ""
|
||||
msgstr "Systemet bliver opdateret"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.todo,note:0
|
||||
|
@ -645,7 +651,7 @@ msgstr "Colombia"
|
|||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||
msgid "Mister"
|
||||
msgstr ""
|
||||
msgstr "Hr."
|
||||
|
||||
#. module: base
|
||||
#: help:res.country,code:0
|
||||
|
@ -653,26 +659,28 @@ msgid ""
|
|||
"The ISO country code in two chars.\n"
|
||||
"You can use this field for quick search."
|
||||
msgstr ""
|
||||
"ISO landekoden i 2 tegn.\n"
|
||||
"Kan bruges til hurtig søgning"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.pw
|
||||
msgid "Palau"
|
||||
msgstr ""
|
||||
msgstr "Palau"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Sales & Purchases"
|
||||
msgstr ""
|
||||
msgstr "Salg og Indkøb"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
msgid "Untranslated"
|
||||
msgstr ""
|
||||
msgstr "ikke oversat"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.mail_server:0
|
||||
msgid "Outgoing Mail Server"
|
||||
msgstr ""
|
||||
msgstr "server til udgående post"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,context:0
|
||||
|
@ -705,12 +713,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: sql_constraint:ir.config_parameter:0
|
||||
msgid "Key must be unique."
|
||||
msgstr ""
|
||||
msgstr "Nøglen skal være unik"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_plugin_outlook
|
||||
msgid "Outlook Plug-In"
|
||||
msgstr ""
|
||||
msgstr "Outlook Plug-In"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account
|
||||
|
@ -748,7 +756,7 @@ msgstr ""
|
|||
#: view:ir.model:0
|
||||
#: field:ir.model,name:0
|
||||
msgid "Model Description"
|
||||
msgstr ""
|
||||
msgstr "Model beskrivelse"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_marketing
|
||||
|
@ -795,7 +803,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:ir.cron,nextcall:0
|
||||
msgid "Next planned execution date for this job."
|
||||
msgstr ""
|
||||
msgstr "Næste planlagte kørsel for dette job"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_ui_view
|
||||
|
@ -810,7 +818,7 @@ msgstr "Eritrea"
|
|||
#. module: base
|
||||
#: sql_constraint:res.company:0
|
||||
msgid "The company name must be unique !"
|
||||
msgstr ""
|
||||
msgstr "Firmanavnet skal være unik!"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_base_action_rule_admin
|
||||
|
@ -846,7 +854,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.mail_server:0
|
||||
msgid "Security and Authentication"
|
||||
msgstr ""
|
||||
msgstr "Sikkerhed og godkendelse"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
||||
|
@ -862,7 +870,7 @@ msgstr "Svensk / Swedish"
|
|||
#: field:base.language.export,name:0
|
||||
#: field:ir.attachment,datas_fname:0
|
||||
msgid "File Name"
|
||||
msgstr ""
|
||||
msgstr "Filnavn"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.rs
|
||||
|
@ -883,7 +891,7 @@ msgstr ""
|
|||
#: field:base.language.import,overwrite:0
|
||||
#: field:base.language.install,overwrite:0
|
||||
msgid "Overwrite Existing Terms"
|
||||
msgstr ""
|
||||
msgstr "Overskriv eksisterende betingelser"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_holidays
|
||||
|
@ -938,6 +946,7 @@ msgstr "Papua Ny Guinea"
|
|||
#: help:ir.actions.report.xml,report_type:0
|
||||
msgid "Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||
msgstr ""
|
||||
"Rapport Type, eks. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
||||
|
@ -947,7 +956,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Email Preferences"
|
||||
msgstr ""
|
||||
msgstr "Email indstillinger"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:195
|
||||
|
@ -990,7 +999,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_module_upgrade
|
||||
msgid "Module Upgrade"
|
||||
msgstr ""
|
||||
msgstr "Opgrader modul"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1010,7 +1019,7 @@ msgstr "Oman"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp
|
||||
msgid "MRP"
|
||||
msgstr ""
|
||||
msgstr "MRP"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_attendance
|
||||
|
@ -1032,7 +1041,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_membership
|
||||
msgid "Membership Management"
|
||||
msgstr ""
|
||||
msgstr "Medlems håndtering"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,license:0
|
||||
|
@ -1048,7 +1057,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Create Menu"
|
||||
msgstr ""
|
||||
msgstr "Opret Menu"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.in
|
||||
|
@ -1064,12 +1073,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_google_base_account
|
||||
msgid "Google Users"
|
||||
msgstr ""
|
||||
msgstr "Google brugere"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||
msgid "Fleet Management"
|
||||
msgstr ""
|
||||
msgstr "Bilpark håndtering"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.server.object.lines,value:0
|
||||
|
@ -1140,6 +1149,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"Users added to this group are automatically added in the following groups."
|
||||
msgstr ""
|
||||
"Brugere tilføjet denne gruppe, bliver automatisk tilføjet i de følgende "
|
||||
"grupper."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:732
|
||||
|
@ -1151,12 +1162,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Change the user password."
|
||||
msgstr ""
|
||||
msgstr "Skift brugerens adgangskode."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%B - Full month name."
|
||||
msgstr ""
|
||||
msgstr "%B - Fulde navn på måned."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.todo,type:0
|
||||
|
@ -1171,12 +1182,12 @@ msgstr ""
|
|||
#: view:ir.values:0
|
||||
#: field:ir.values,key:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Type"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.mail_server,smtp_user:0
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
msgstr "Brugernavn"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_br
|
||||
|
@ -1232,6 +1243,8 @@ msgid ""
|
|||
"Language with code \"%s\" is not defined in your system !\n"
|
||||
"Define it through the Administration menu."
|
||||
msgstr ""
|
||||
"Sproget med koden \"%s\" er ikke indlæst i systemet !\n"
|
||||
"Indlæs gennem Administrations menuen."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gu
|
||||
|
@ -1241,17 +1254,17 @@ msgstr "Guam (USA)"
|
|||
#. module: base
|
||||
#: sql_constraint:res.country:0
|
||||
msgid "The name of the country must be unique !"
|
||||
msgstr ""
|
||||
msgstr "Landets navn skal være unikt!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,installed_version:0
|
||||
msgid "Latest Version"
|
||||
msgstr ""
|
||||
msgstr "Seneste version"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Delete Access Right"
|
||||
msgstr ""
|
||||
msgstr "Slet adgangs rettighed"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:214
|
||||
|
@ -1268,7 +1281,7 @@ msgstr "Attrap"
|
|||
#. module: base
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
msgstr "Ugyldig XML for View Architecture!"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ky
|
||||
|
@ -1294,32 +1307,32 @@ msgstr ""
|
|||
#: code:addons/orm.py:4920
|
||||
#, python-format
|
||||
msgid "Record #%d of %s not found, cannot copy!"
|
||||
msgstr ""
|
||||
msgstr "Post #%d of %s ikke fundet, kan ikke kopiere!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,contributors:0
|
||||
msgid "Contributors"
|
||||
msgstr ""
|
||||
msgstr "Bidragsydere"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.rule,perm_unlink:0
|
||||
msgid "Apply for Delete"
|
||||
msgstr ""
|
||||
msgstr "Godkend for slet"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "Char"
|
||||
msgstr ""
|
||||
msgstr "Tegn"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.category,visible:0
|
||||
msgid "Visible"
|
||||
msgstr ""
|
||||
msgstr "Synlig"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.client,name:base.action_client_base_menu
|
||||
msgid "Open Settings Menu"
|
||||
msgstr ""
|
||||
msgstr "Åben konfigurations menu"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1334,7 +1347,7 @@ msgstr "Uganda"
|
|||
#. module: base
|
||||
#: field:ir.model.access,perm_unlink:0
|
||||
msgid "Delete Access"
|
||||
msgstr ""
|
||||
msgstr "Slet adgang"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ne
|
||||
|
@ -1364,12 +1377,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.mail_server,smtp_port:0
|
||||
msgid "SMTP Port"
|
||||
msgstr ""
|
||||
msgstr "SMTP port"
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,login:0
|
||||
msgid "Used to log into the system"
|
||||
msgstr ""
|
||||
msgstr "Bruges til at logge ind i systemet"
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
|
@ -1392,12 +1405,12 @@ msgstr ""
|
|||
#: code:addons/base/module/wizard/base_language_install.py:53
|
||||
#, python-format
|
||||
msgid "Language Pack"
|
||||
msgstr ""
|
||||
msgstr "Sprog pakke"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_tests
|
||||
msgid "Tests"
|
||||
msgstr ""
|
||||
msgstr "Test"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment:0
|
||||
|
@ -1460,25 +1473,25 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.module.category,parent_id:0
|
||||
msgid "Parent Application"
|
||||
msgstr ""
|
||||
msgstr "Overordnet Applikation"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
||||
#: view:ir.actions.wizard:0
|
||||
#: model:ir.ui.menu,name:base.menu_ir_action_wizard
|
||||
msgid "Wizards"
|
||||
msgstr ""
|
||||
msgstr "Wizards"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_users.py:131
|
||||
#, python-format
|
||||
msgid "Operation Canceled"
|
||||
msgstr ""
|
||||
msgstr "Funktion afbrudt"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document
|
||||
msgid "Document Management System"
|
||||
msgstr ""
|
||||
msgstr "Dokument styring system"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||
|
@ -1521,7 +1534,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 "Indkøb"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.md
|
||||
|
@ -1584,11 +1597,13 @@ msgid ""
|
|||
"If specified, this action will be opened at logon for this user, in addition "
|
||||
"to the standard menu."
|
||||
msgstr ""
|
||||
"Hvis specificeret, vil denne funktion blive udført, når brugeren logger på, "
|
||||
"sammen med standard menuen."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mf
|
||||
msgid "Saint Martin (French part)"
|
||||
msgstr ""
|
||||
msgstr "Sankt Martin (Fransk del)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_exports
|
||||
|
@ -1613,28 +1628,28 @@ msgstr ""
|
|||
#: code:addons/base/module/wizard/base_update_translations.py:39
|
||||
#, python-format
|
||||
msgid "No language with code \"%s\" exists"
|
||||
msgstr ""
|
||||
msgstr "Der eksisterer ikke noget sprog med denne kode \"%s\""
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_social_network
|
||||
#: model:ir.module.module,shortdesc:base.module_mail
|
||||
msgid "Social Network"
|
||||
msgstr ""
|
||||
msgstr "Socialt netværk"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%Y - Year with century."
|
||||
msgstr ""
|
||||
msgstr "%Y - År med århundrede."
|
||||
|
||||
#. module: base
|
||||
#: view:res.company:0
|
||||
msgid "Report Footer Configuration"
|
||||
msgstr ""
|
||||
msgstr "Konfiguration af rapport foden"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.translation,comments:0
|
||||
msgid "Translation comments"
|
||||
msgstr ""
|
||||
msgstr "Kommenterer til oversættelsen"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_lunch
|
||||
|
@ -1664,7 +1679,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Create _Menu"
|
||||
msgstr ""
|
||||
msgstr "Opret menu"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,trigger_obj_id:0
|
||||
|
@ -1691,6 +1706,8 @@ msgid ""
|
|||
"Helps you manage your purchase-related processes such as requests for "
|
||||
"quotations, supplier invoices, etc..."
|
||||
msgstr ""
|
||||
"Hjælper dig med at styre dine indkøbsrelaterede processer som anmodninger om "
|
||||
"tilbud, leverandørfakturaer, osv. .."
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,website:0
|
||||
|
@ -1757,7 +1774,7 @@ msgstr "Værktøj"
|
|||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "Float"
|
||||
msgstr ""
|
||||
msgstr "Kommatal"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.todo,type:0
|
||||
|
@ -1771,12 +1788,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.partner,image_small:0
|
||||
msgid "Small-sized image"
|
||||
msgstr ""
|
||||
msgstr "Lille billede"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_stock
|
||||
msgid "Warehouse Management"
|
||||
msgstr ""
|
||||
msgstr "Lager administration"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_request_link
|
||||
|
@ -1792,7 +1809,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.action_wizard_lang_export
|
||||
#: model:ir.ui.menu,name:base.menu_wizard_lang_export
|
||||
msgid "Export Translation"
|
||||
msgstr ""
|
||||
msgstr "Exporter oversættelse"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_server_action
|
||||
|
@ -1816,12 +1833,12 @@ msgstr "Øst Timor"
|
|||
#: view:ir.module.module:0
|
||||
#, python-format
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
msgstr "Installer"
|
||||
|
||||
#. module: base
|
||||
#: field:res.currency,accuracy:0
|
||||
msgid "Computational Accuracy"
|
||||
msgstr ""
|
||||
msgstr "Beregnet nøjagtighed"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_at
|
||||
|
@ -1856,7 +1873,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Day: %(day)s"
|
||||
msgstr ""
|
||||
msgstr "Dag:%(day)s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_point_of_sale
|
||||
|
@ -1865,6 +1882,8 @@ msgid ""
|
|||
"simplified payment mode encoding, automatic picking lists generation and "
|
||||
"more."
|
||||
msgstr ""
|
||||
"Hjælper dig med at få det bedste ud af dit detailhandelssystem med hurtigt "
|
||||
"salg, enkel betaling, automatisk plukliste m.m."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:164
|
||||
|
@ -1885,7 +1904,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.translation,state:0
|
||||
msgid "Translation in Progress"
|
||||
msgstr ""
|
||||
msgstr "Oversættelse i gang"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_rule
|
||||
|
@ -1900,13 +1919,13 @@ msgstr "Dage"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_fleet
|
||||
msgid "Vehicle, leasing, insurances, costs"
|
||||
msgstr ""
|
||||
msgstr "Køretøj,leasing,forsikring,omkostning"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
#: field:ir.model.access,perm_read:0
|
||||
msgid "Read Access"
|
||||
msgstr ""
|
||||
msgstr "Læse adgang"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.attachment,res_id:0
|
||||
|
@ -1976,7 +1995,7 @@ msgstr ""
|
|||
#: view:res.partner:0
|
||||
#: field:res.partner.category,partner_ids:0
|
||||
msgid "Partners"
|
||||
msgstr ""
|
||||
msgstr "Partnere"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.category,parent_left:0
|
||||
|
@ -1992,12 +2011,12 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_model.py:320
|
||||
#, python-format
|
||||
msgid "This column contains module data and cannot be removed!"
|
||||
msgstr ""
|
||||
msgstr "Kolonnen indeholder modul data som ikke kan slettes"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank,footer:0
|
||||
msgid "Display on Reports"
|
||||
msgstr ""
|
||||
msgstr "Vis på rapporter"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project_timesheet
|
||||
|
@ -2123,7 +2142,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
msgid "The next step depends on the file format:"
|
||||
msgstr ""
|
||||
msgstr "Næste skridt afhænger af fil formatet:"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -2155,7 +2174,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
msgid "Create / Write / Copy"
|
||||
msgstr ""
|
||||
msgstr "Opret/ Gem/ Kopier"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
|
@ -2173,6 +2192,8 @@ msgid ""
|
|||
"Display this bank account on the footer of printed documents like invoices "
|
||||
"and sales orders."
|
||||
msgstr ""
|
||||
"Vis denne bankkonto i foden af udskrevne dokumenter, på fakturaer og salgs "
|
||||
"ordre."
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -2250,7 +2271,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:base.module.update,update:0
|
||||
msgid "Number of modules updated"
|
||||
msgstr ""
|
||||
msgstr "Antallet af opdaterede moduler"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.cron,function:0
|
||||
|
@ -2472,7 +2493,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: sql_constraint:ir.ui.view_sc:0
|
||||
msgid "Shortcut for this menu already exists!"
|
||||
msgstr ""
|
||||
msgstr "Genvej til denne menu, eksisterer allerede!"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
|
@ -9073,7 +9094,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_warehouse_management
|
||||
msgid "Warehouse"
|
||||
msgstr ""
|
||||
msgstr "Lagerstyrning"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.exports,resource:0
|
||||
|
@ -10619,7 +10640,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
||||
msgid "Sales and Warehouse Management"
|
||||
msgstr ""
|
||||
msgstr "Salg og lager opsætning"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_recruitment
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -354,6 +354,8 @@ msgid ""
|
|||
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||
"'form' only"
|
||||
msgstr ""
|
||||
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||
"'form' only"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.values,key2:0
|
||||
|
@ -399,6 +401,14 @@ msgid ""
|
|||
"document and Wiki based Hidden.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Installer for knowledge-based Hidden.\n"
|
||||
"=====================================\n"
|
||||
"\n"
|
||||
"Makes the Knowledge Application Configuration available from where you can "
|
||||
"install\n"
|
||||
"document and Wiki based Hidden.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
||||
|
@ -417,6 +427,14 @@ msgid ""
|
|||
"invoices from picking, OpenERP is able to add and compute the shipping "
|
||||
"line.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Allows you to add delivery methods in sale orders and picking.\n"
|
||||
"==============================================================\n"
|
||||
"\n"
|
||||
"You can define your own carrier and delivery grids for prices. When creating "
|
||||
"\n"
|
||||
"invoices from picking, OpenERP is able to add and compute the shipping "
|
||||
"line.\n"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_filters.py:80
|
||||
|
@ -595,6 +613,16 @@ msgid ""
|
|||
"that have no counterpart in the general financial accounts.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Module for defining analytic accounting object.\n"
|
||||
"===============================================\n"
|
||||
"\n"
|
||||
"In OpenERP, analytic accounts are linked to general accounts but are "
|
||||
"treated\n"
|
||||
"totally independently. So, you can enter various different analytic "
|
||||
"operations\n"
|
||||
"that have no counterpart in the general financial accounts.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_idea
|
||||
|
@ -699,7 +727,7 @@ msgstr "Colombia"
|
|||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||
msgid "Mister"
|
||||
msgstr ""
|
||||
msgstr "Mister"
|
||||
|
||||
#. module: base
|
||||
#: help:res.country,code:0
|
||||
|
@ -728,7 +756,7 @@ msgstr "Untranslated"
|
|||
#. module: base
|
||||
#: view:ir.mail_server:0
|
||||
msgid "Outgoing Mail Server"
|
||||
msgstr ""
|
||||
msgstr "Outgoing Mail Server"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,context:0
|
||||
|
@ -741,7 +769,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.company,logo_web:0
|
||||
msgid "Logo Web"
|
||||
msgstr ""
|
||||
msgstr "Logo Web"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:344
|
||||
|
@ -843,6 +871,12 @@ msgid ""
|
|||
"Contains the installer for marketing-related modules.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Menu for Marketing.\n"
|
||||
"===================\n"
|
||||
"\n"
|
||||
"Contains the installer for marketing-related modules.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_web_linkedin
|
||||
|
@ -914,7 +948,7 @@ msgstr "Romania - Accounting"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_config_settings
|
||||
msgid "res.config.settings"
|
||||
msgstr ""
|
||||
msgstr "res.config.settings"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,image_small:0
|
||||
|
@ -946,7 +980,7 @@ msgstr "Security and Authentication"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
||||
msgid "Web Calendar"
|
||||
msgstr ""
|
||||
msgstr "Web Calendar"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -957,7 +991,7 @@ msgstr "Swedish / svenska"
|
|||
#: field:base.language.export,name:0
|
||||
#: field:ir.attachment,datas_fname:0
|
||||
msgid "File Name"
|
||||
msgstr ""
|
||||
msgstr "File Name"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.rs
|
||||
|
@ -1090,6 +1124,7 @@ msgstr "Zimbabwe"
|
|||
msgid ""
|
||||
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||
msgstr ""
|
||||
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
|
@ -1170,7 +1205,7 @@ msgstr "Other OSI Approved Licence"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_gantt
|
||||
msgid "Web Gantt"
|
||||
msgstr ""
|
||||
msgstr "Web Gantt"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||
|
@ -1197,7 +1232,7 @@ msgstr "Google Users"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||
msgid "Fleet Management"
|
||||
msgstr ""
|
||||
msgstr "Fleet Management"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.server.object.lines,value:0
|
||||
|
@ -1309,7 +1344,7 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_model.py:735
|
||||
#, python-format
|
||||
msgid "Document model"
|
||||
msgstr ""
|
||||
msgstr "Document model"
|
||||
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
|
|
|
@ -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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -38,7 +38,7 @@ msgstr "Muut määritykset"
|
|||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "DateTime"
|
||||
msgstr "PäivämääräKellonaika"
|
||||
msgstr "Päivämäärä ja kellonaika"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/fields.py:652
|
||||
|
@ -47,8 +47,8 @@ msgid ""
|
|||
"The second argument of the many2many field %s must be a SQL table !You used "
|
||||
"%s, which is not a valid SQL table name."
|
||||
msgstr ""
|
||||
"Many2many kentän %s toisen argumentin pitää olla SQL taulu! Suottämäsi arvo "
|
||||
"%s, ei ole käypä SQL taulun nimi."
|
||||
"Monen-suhde-moneen kentän %s toisen argumentin pitää olla SQL taulu! "
|
||||
"Syöttämäsi arvo %s, ei ole käypä SQL taulun nimi."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view,arch:0
|
||||
|
@ -88,7 +88,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_point_of_sale
|
||||
msgid "Touchscreen Interface for Shops"
|
||||
msgstr ""
|
||||
msgstr "Kosketusnäytöille tarkoitettu käyttöliittymä kaupoille"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||
|
@ -138,7 +138,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.partner,employee:0
|
||||
msgid "Check this box if this contact is an Employee."
|
||||
msgstr ""
|
||||
msgstr "Valitse tämä, jos kontakti on työntekijä."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model.fields,domain:0
|
||||
|
@ -239,12 +239,12 @@ msgstr "luotu."
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
msgid "XSL Path"
|
||||
msgstr ""
|
||||
msgstr "XSL Polku"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||
msgid "Turkey - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Turkki - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.sequence,number_increment:0
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-12-06 10:07+0000\n"
|
||||
"Last-Translator: Quentin THEURET <Unknown>\n"
|
||||
"Last-Translator: Quentin THEURET @TeMPO Consulting <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: base
|
||||
|
@ -1736,7 +1736,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.partner,website:0
|
||||
msgid "Website of Partner or Company"
|
||||
msgstr "Webs tranice Partnera ili Tvrtke"
|
||||
msgstr "Web stranice partnera ili tvrtke"
|
||||
|
||||
#. module: base
|
||||
#: help:base.language.install,overwrite:0
|
||||
|
|
|
@ -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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -68,12 +68,12 @@ msgstr "ekkert bil"
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Hungarian / Magyar"
|
||||
msgstr ""
|
||||
msgstr "Ungverska"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Spanish (PY) / Español (PY)"
|
||||
msgstr ""
|
||||
msgstr "Spænska (PY) / Español (PY)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_project_management
|
||||
|
@ -137,7 +137,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.partner,employee:0
|
||||
msgid "Check this box if this contact is an Employee."
|
||||
msgstr ""
|
||||
msgstr "Merkið við ef tengiliður er stafsmaður."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model.fields,domain:0
|
||||
|
|
|
@ -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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:41+0000\n"
|
||||
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
|
||||
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -25,7 +25,7 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"此模块用于开支票和支票打印\n"
|
||||
"此模块用于支票填写和打印\n"
|
||||
"================================================\n"
|
||||
" "
|
||||
|
||||
|
@ -790,32 +790,6 @@ msgid ""
|
|||
"module named account_voucher.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"会计和财务管理\n"
|
||||
"=====================================\n"
|
||||
"Financial and accounting module that covers:\n"
|
||||
"--------------------------------------------\n"
|
||||
"* General Accounting\n"
|
||||
"* Cost/Analytic accounting\n"
|
||||
"* Third party accounting\n"
|
||||
"* Taxes management\n"
|
||||
"* Budgets\n"
|
||||
"* Customer and Supplier Invoices\n"
|
||||
"* Bank statements\n"
|
||||
"* Reconciliation process by partner\n"
|
||||
"\n"
|
||||
"Creates a dashboard for accountants that includes:\n"
|
||||
"--------------------------------------------------\n"
|
||||
"* List of Customer Invoice to Approve\n"
|
||||
"* Company Analysis\n"
|
||||
"* Graph of Treasury\n"
|
||||
"\n"
|
||||
"The processes like maintaining of general ledger is done through the defined "
|
||||
"financial Journals (entry move line orgrouping is maintained through "
|
||||
"journal)\n"
|
||||
"for a particular financial year and for preparation of vouchers there is a "
|
||||
"module named account_voucher.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -1237,6 +1211,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
|
||||
|
@ -2012,15 +2000,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
|
||||
|
@ -2965,6 +2951,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
|
||||
|
@ -5022,7 +5038,7 @@ msgstr "瑞士 - 会计"
|
|||
#: field:res.partner,zip:0
|
||||
#: field:res.partner.bank,zip:0
|
||||
msgid "Zip"
|
||||
msgstr "邮政编码"
|
||||
msgstr "邮编"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
|
@ -6299,10 +6315,7 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"让用户建立自定义的仪表板\n"
|
||||
"========================================\n"
|
||||
"\n"
|
||||
"允许用户建立自定义的仪表板\n"
|
||||
"让用户自定义控制面板\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
|
@ -8810,6 +8823,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
|
||||
|
@ -11020,7 +11040,7 @@ msgstr "找不到币别 %s 日期 %s 的汇率。"
|
|||
msgid ""
|
||||
"Customized views are used when users reorganize the content of their "
|
||||
"dashboard views (via web client)"
|
||||
msgstr "自定义视图用于用户重新组织他们的控制台视图内容(通过 Web 客户端)"
|
||||
msgstr "如果用户重新组织过他的控制面板视图,则使用其自定义的视图。"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
||||
|
@ -11518,7 +11538,7 @@ msgstr "采购多次审核"
|
|||
#: field:res.company,street2:0
|
||||
#: field:res.partner,street2:0
|
||||
msgid "Street2"
|
||||
msgstr "街区地址2"
|
||||
msgstr "次要街道"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_view_base_module_update
|
||||
|
@ -11949,7 +11969,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
|
||||
|
@ -12621,7 +12641,7 @@ msgstr "爱沙尼亚"
|
|||
#: model:ir.module.module,shortdesc:base.module_board
|
||||
#: model:ir.ui.menu,name:base.menu_reporting_dashboard
|
||||
msgid "Dashboards"
|
||||
msgstr "控制台"
|
||||
msgstr "控制面板"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_procurement
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\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-28 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16738)\n"
|
||||
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16771)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -110,7 +110,7 @@ class report_xml(osv.osv):
|
|||
kwargs = {}
|
||||
new_report = report_sxw('report.'+r['report_name'], r['model'],
|
||||
opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
|
||||
elif r['report_xsl']:
|
||||
elif r['report_xsl'] and r['report_xml']:
|
||||
new_report = report_rml('report.'+r['report_name'], r['model'],
|
||||
opj('addons',r['report_xml']),
|
||||
r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -404,8 +404,10 @@ class ir_mail_server(osv.osv):
|
|||
|
||||
# The email's "Envelope From" (Return-Path), and all recipient addresses must only contain ASCII characters.
|
||||
from_rfc2822 = extract_rfc2822_addresses(smtp_from)
|
||||
assert len(from_rfc2822) == 1, "Malformed 'Return-Path' or 'From' address - it may only contain plain ASCII characters"
|
||||
smtp_from = from_rfc2822[0]
|
||||
assert from_rfc2822, ("Malformed 'Return-Path' or 'From' address: %r - "
|
||||
"It should contain one valid plain ASCII email") % smtp_from
|
||||
# use last extracted email, to support rarities like 'Support@MyComp <support@mycompany.com>'
|
||||
smtp_from = from_rfc2822[-1]
|
||||
email_to = message['To']
|
||||
email_cc = message['Cc']
|
||||
email_bcc = message['Bcc']
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
import collections
|
||||
import copy
|
||||
import logging
|
||||
from lxml import etree
|
||||
from operator import itemgetter
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
|
@ -103,6 +105,10 @@ class view(osv.osv):
|
|||
return self._relaxng_validator
|
||||
|
||||
def _check_xml(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
context['check_view_ids'] = ids
|
||||
|
||||
for view in self.browse(cr, uid, ids, context):
|
||||
# Sanity check: the view should not break anything upon rendering!
|
||||
try:
|
||||
|
@ -197,15 +203,19 @@ class view(osv.osv):
|
|||
:rtype: list of tuples
|
||||
:return: [(view_arch,view_id), ...]
|
||||
"""
|
||||
|
||||
user_groups = frozenset(self.pool.get('res.users').browse(cr, 1, uid, context).groups_id)
|
||||
|
||||
check_view_ids = context and context.get('check_view_ids') or (0,)
|
||||
conditions = [['inherit_id', '=', view_id], ['model', '=', model]]
|
||||
if self.pool._init:
|
||||
# Module init currently in progress, only consider views from
|
||||
# modules whose code is already loaded
|
||||
conditions.extend([
|
||||
['model_ids.model', '=', 'ir.ui.view'],
|
||||
'|',
|
||||
['model_ids.module', 'in', tuple(self.pool._init_modules)],
|
||||
['id', 'in', check_view_ids],
|
||||
])
|
||||
view_ids = self.search(cr, uid, conditions, context=context)
|
||||
|
||||
|
@ -346,7 +356,7 @@ class view(osv.osv):
|
|||
:return: a modified source where all the modifying architecture are applied
|
||||
"""
|
||||
if context is None: context = {}
|
||||
sql_inherit = self.pool.get('ir.ui.view').get_inheriting_views_arch(cr, uid, source_id, model)
|
||||
sql_inherit = self.pool.get('ir.ui.view').get_inheriting_views_arch(cr, uid, source_id, model, context=context)
|
||||
for (specs, view_id) in sql_inherit:
|
||||
specs_tree = etree.fromstring(specs.encode('utf-8'))
|
||||
if context.get('inherit_branding'):
|
||||
|
@ -844,6 +854,22 @@ class view(osv.osv):
|
|||
})
|
||||
return super(view, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def _validate_custom_views(self, cr, uid, model):
|
||||
"""Validate architecture of custom views (= without xml id) for a given model.
|
||||
This method is called at the end of registry update.
|
||||
"""
|
||||
cr.execute("""SELECT max(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 md.module IS NULL
|
||||
AND v.model = %s
|
||||
GROUP BY coalesce(v.inherit_id, v.id)
|
||||
""", (model,))
|
||||
|
||||
ids = map(itemgetter(0), cr.fetchall())
|
||||
return self._check_xml(cr, uid, ids)
|
||||
|
||||
|
||||
MOVABLE_BRANDING = ['data-oe-model','data-oe-id','data-oe-field','data-oe-xpath']
|
||||
|
||||
class view_sc(osv.osv):
|
||||
|
|
|
@ -24,6 +24,7 @@ from docutils.transforms import Transform, writer_aux
|
|||
from docutils.writers.html4css1 import Writer
|
||||
import imp
|
||||
import logging
|
||||
from operator import attrgetter
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
|
@ -178,9 +179,6 @@ class module(osv.osv):
|
|||
def _get_views(self, cr, uid, ids, field_name=None, arg=None, context=None):
|
||||
res = {}
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
view_obj = self.pool.get('ir.ui.view')
|
||||
report_obj = self.pool.get('ir.actions.report.xml')
|
||||
menu_obj = self.pool.get('ir.ui.menu')
|
||||
|
||||
dmodels = []
|
||||
if field_name is None or 'views_by_module' in field_name:
|
||||
|
@ -192,7 +190,7 @@ class module(osv.osv):
|
|||
assert dmodels, "no models for %s" % field_name
|
||||
|
||||
for module_rec in self.browse(cr, uid, ids, context=context):
|
||||
res[module_rec.id] = {
|
||||
res_mod_dic = res[module_rec.id] = {
|
||||
'menus_by_module': [],
|
||||
'reports_by_module': [],
|
||||
'views_by_module': []
|
||||
|
@ -212,28 +210,20 @@ class module(osv.osv):
|
|||
for imd_res in model_data_obj.read(cr, uid, imd_ids, ['model', 'res_id'], context=context):
|
||||
imd_models[imd_res['model']].append(imd_res['res_id'])
|
||||
|
||||
# For each one of the models, get the names of these ids.
|
||||
# We use try except, because views or menus may not exist.
|
||||
try:
|
||||
res_mod_dic = res[module_rec.id]
|
||||
view_ids = imd_models.get('ir.ui.view', [])
|
||||
for v in view_obj.browse(cr, uid, view_ids, context=context):
|
||||
aa = v.inherit_id and '* INHERIT ' or ''
|
||||
res_mod_dic['views_by_module'].append('%s%s (%s)' % (aa, v.name, v.type))
|
||||
def browse(model):
|
||||
M = self.pool[model]
|
||||
# as this method is called before the module update, some xmlid may be invalid at this stage
|
||||
# explictly filter records before reading them
|
||||
ids = M.exists(cr, uid, imd_models.get(model, []), context)
|
||||
return M.browse(cr, uid, ids, context)
|
||||
|
||||
report_ids = imd_models.get('ir.actions.report.xml', [])
|
||||
for rx in report_obj.browse(cr, uid, report_ids, context=context):
|
||||
res_mod_dic['reports_by_module'].append(rx.name)
|
||||
def format_view(v):
|
||||
aa = v.inherit_id and '* INHERIT ' or ''
|
||||
return '%s%s (%s)' % (aa, v.name, v.type)
|
||||
|
||||
menu_ids = imd_models.get('ir.ui.menu', [])
|
||||
for um in menu_obj.browse(cr, uid, menu_ids, context=context):
|
||||
res_mod_dic['menus_by_module'].append(um.complete_name)
|
||||
except KeyError, e:
|
||||
_logger.warning('Data not found for items of %s', module_rec.name)
|
||||
except AttributeError, e:
|
||||
_logger.warning('Data not found for items of %s %s', module_rec.name, str(e))
|
||||
except Exception, e:
|
||||
_logger.warning('Unknown error while fetching data of %s', module_rec.name, exc_info=True)
|
||||
res_mod_dic['views_by_module'] = map(format_view, browse('ir.ui.view'))
|
||||
res_mod_dic['reports_by_module'] = map(attrgetter('name'), browse('ir.actions.report.xml'))
|
||||
res_mod_dic['menus_by_module'] = map(attrgetter('complete_name'), browse('ir.ui.menu'))
|
||||
|
||||
for key in res.iterkeys():
|
||||
for k, v in res[key].iteritems():
|
||||
|
@ -624,7 +614,7 @@ class module(osv.osv):
|
|||
# wsgi handlers, so they can react accordingly
|
||||
if tuple(res) != (0, 0):
|
||||
for handler in openerp.service.wsgi_server.module_handlers:
|
||||
if hasattr(handler,'load_addons'):
|
||||
if hasattr(handler, 'load_addons'):
|
||||
handler.load_addons()
|
||||
|
||||
return res
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -482,7 +482,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):
|
||||
|
@ -505,6 +509,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)
|
||||
|
@ -607,14 +621,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);
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
from functools import partial
|
||||
from lxml import etree as ET
|
||||
from lxml.builder import E
|
||||
import unittest2
|
||||
|
||||
from openerp.tests import common
|
||||
from openerp.osv.orm import except_orm
|
||||
from openerp.tools import mute_logger
|
||||
|
||||
Field = E.field
|
||||
|
||||
|
||||
class TestNodeLocator(common.BaseCase):
|
||||
"""
|
||||
The node locator returns None when it can not find a node, and the first
|
||||
|
@ -423,3 +428,102 @@ class TestNoModel(common.TransactionCase):
|
|||
'Copyrighter, tous droits réservés'))
|
||||
self.assertEqual(fields, {})
|
||||
|
||||
|
||||
class test_views(common.TransactionCase):
|
||||
|
||||
@mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view')
|
||||
def test_00_init_check_views(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
|
||||
self.assertTrue(Views.pool._init)
|
||||
|
||||
error_msg = "The model name does not exist or the view architecture cannot be rendered"
|
||||
# test arch check is call for views without xmlid during registry initialization
|
||||
with self.assertRaisesRegexp(except_orm, error_msg):
|
||||
Views.create(self.cr, self.uid, {
|
||||
'name': 'Test View #1',
|
||||
'model': 'ir.ui.view',
|
||||
'arch': """<?xml version="1.0"?>
|
||||
<tree>
|
||||
<field name="test_1"/>
|
||||
</tree>
|
||||
""",
|
||||
})
|
||||
|
||||
# same for inherited views
|
||||
with self.assertRaisesRegexp(except_orm, error_msg):
|
||||
# Views.pudb = True
|
||||
Views.create(self.cr, self.uid, {
|
||||
'name': 'Test View #2',
|
||||
'model': 'ir.ui.view',
|
||||
'inherit_id': self.browse_ref('base.view_view_tree').id,
|
||||
'arch': """<?xml version="1.0"?>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="test_2"/>
|
||||
</xpath>
|
||||
""",
|
||||
})
|
||||
|
||||
def _insert_view(self, **kw):
|
||||
"""Insert view into database via a query to passtrough validation"""
|
||||
kw.pop('id', None)
|
||||
|
||||
keys = sorted(kw.keys())
|
||||
fields = ','.join('"%s"' % (k.replace('"', r'\"'),) for k in keys)
|
||||
params = ','.join('%%(%s)s' % (k,) for k in keys)
|
||||
|
||||
query = 'INSERT INTO ir_ui_view(%s) VALUES(%s) RETURNING id' % (fields, params)
|
||||
self.cr.execute(query, kw)
|
||||
return self.cr.fetchone()[0]
|
||||
|
||||
def test_10_validate_custom_views(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
model = 'ir.actions.act_url'
|
||||
|
||||
validate = partial(Views._validate_custom_views, self.cr, self.uid, model)
|
||||
|
||||
# validation of a single view
|
||||
vid = self._insert_view(**{
|
||||
'name': 'base view',
|
||||
'model': model,
|
||||
'priority': 1,
|
||||
'arch': """<?xml version="1.0"?>
|
||||
<tree string="view">
|
||||
<field name="url"/>
|
||||
</tree>
|
||||
""",
|
||||
})
|
||||
self.assertTrue(validate()) # single view
|
||||
|
||||
# validation of a inherited view
|
||||
self._insert_view(**{
|
||||
'name': 'inherited view',
|
||||
'model': model,
|
||||
'priority': 1,
|
||||
'inherit_id': vid,
|
||||
'arch': """<?xml version="1.0"?>
|
||||
<xpath expr="//field[@name='url']" position="before">
|
||||
<field name="name"/>
|
||||
</xpath>
|
||||
""",
|
||||
})
|
||||
self.assertTrue(validate()) # inherited view
|
||||
|
||||
# validation of a bad inherited view
|
||||
self._insert_view(**{
|
||||
'name': 'bad inherited view',
|
||||
'model': model,
|
||||
'priority': 2,
|
||||
'inherit_id': vid,
|
||||
'arch': """<?xml version="1.0"?>
|
||||
<xpath expr="//field[@name='url']" position="after">
|
||||
<field name="bad"/>
|
||||
</xpath>
|
||||
""",
|
||||
})
|
||||
with mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view'):
|
||||
self.assertFalse(validate()) # bad inherited view
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest2.main()
|
||||
|
|
|
@ -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',))
|
||||
|
@ -406,12 +400,22 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
|||
_logger.info('Reloading registry once more after uninstalling modules')
|
||||
return openerp.modules.registry.RegistryManager.new(cr.dbname, force_demo, status, update_module)
|
||||
|
||||
# STEP 7: verify custom views on every model
|
||||
if update_module:
|
||||
Views = registry['ir.ui.view']
|
||||
custom_view_test = True
|
||||
for model in registry.models.keys():
|
||||
if not Views._validate_custom_views(cr, SUPERUSER_ID, model):
|
||||
custom_view_test = False
|
||||
_logger.error('invalid custom view(s) for model %s', model)
|
||||
report.record_result(custom_view_test)
|
||||
|
||||
if report.failures:
|
||||
_logger.error('At least one test failed when loading the modules.')
|
||||
else:
|
||||
_logger.info('Modules loaded.')
|
||||
|
||||
# STEP 7: call _register_hook on every model
|
||||
# STEP 8: call _register_hook on every model
|
||||
for model in registry.models.values():
|
||||
model._register_hook(cr)
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ class MigrationManager(object):
|
|||
'post': '[%s>]',
|
||||
}
|
||||
|
||||
if not (hasattr(pkg, 'update') or pkg.state == 'to upgrade'):
|
||||
if not (hasattr(pkg, 'update') or pkg.state == 'to upgrade') or pkg.installed_version is None:
|
||||
return
|
||||
|
||||
def convert_version(version):
|
||||
|
|
|
@ -2175,7 +2175,18 @@ class BaseModel(object):
|
|||
:param list groupby: fields by which the records will be grouped
|
||||
:param int offset: optional number of records to skip
|
||||
:param int limit: optional max number of records to return
|
||||
:param dict context: context arguments, like lang, time zone
|
||||
:param dict context: context arguments, like lang, time zone. A special
|
||||
context key exist for datetime fields : ``datetime_format``.
|
||||
context[``datetime_format``] = {
|
||||
'field_name': {
|
||||
groupby_format: format for to_char (default: yyyy-mm)
|
||||
display_format: format for displaying the value
|
||||
in the result (default: MMM yyyy)
|
||||
interval: day, month or year; used for begin
|
||||
and end date of group_by intervals
|
||||
computation (default: month)
|
||||
}
|
||||
}
|
||||
:param list orderby: optional ``order by`` specification, for
|
||||
overriding the natural sort ordering of the
|
||||
groups, see also :py:meth:`~osv.osv.osv.search`
|
||||
|
@ -2215,11 +2226,26 @@ class BaseModel(object):
|
|||
fget = self.fields_get(cr, uid, fields)
|
||||
flist = ''
|
||||
group_count = group_by = groupby
|
||||
group_by_params = {}
|
||||
if groupby:
|
||||
if fget.get(groupby):
|
||||
groupby_type = fget[groupby]['type']
|
||||
if groupby_type in ('date', 'datetime'):
|
||||
qualified_groupby_field = "to_char(%s,'yyyy-mm')" % qualified_groupby_field
|
||||
if context.get('datetime_format') and isinstance(context['datetime_format'], dict) \
|
||||
and context['datetime_format'].get(groupby) and isinstance(context['datetime_format'][groupby], dict):
|
||||
groupby_format = context['datetime_format'][groupby].get('groupby_format', 'yyyy-mm')
|
||||
display_format = context['datetime_format'][groupby].get('display_format', 'MMMM yyyy')
|
||||
interval = context['datetime_format'][groupby].get('interval', 'month')
|
||||
else:
|
||||
groupby_format = 'yyyy-mm'
|
||||
display_format = 'MMMM yyyy'
|
||||
interval = 'month'
|
||||
group_by_params = {
|
||||
'groupby_format': groupby_format,
|
||||
'display_format': display_format,
|
||||
'interval': interval,
|
||||
}
|
||||
qualified_groupby_field = "to_char(%s,%%s)" % qualified_groupby_field
|
||||
flist = "%s as %s " % (qualified_groupby_field, groupby)
|
||||
elif groupby_type == 'boolean':
|
||||
qualified_groupby_field = "coalesce(%s,false)" % qualified_groupby_field
|
||||
|
@ -2246,6 +2272,8 @@ class BaseModel(object):
|
|||
gb = groupby and (' GROUP BY ' + qualified_groupby_field) or ''
|
||||
|
||||
from_clause, where_clause, where_clause_params = query.get_sql()
|
||||
if group_by_params and group_by_params.get('groupby_format'):
|
||||
where_clause_params = [group_by_params['groupby_format']] + where_clause_params + [group_by_params['groupby_format']]
|
||||
where_clause = where_clause and ' WHERE ' + where_clause
|
||||
limit_str = limit and ' limit %d' % limit or ''
|
||||
offset_str = offset and ' offset %d' % offset or ''
|
||||
|
@ -2282,14 +2310,20 @@ class BaseModel(object):
|
|||
d['__context'] = {'group_by': groupby_list[1:]}
|
||||
if groupby and groupby in fget:
|
||||
if d[groupby] and fget[groupby]['type'] in ('date', 'datetime'):
|
||||
dt = datetime.datetime.strptime(alldata[d['id']][groupby][:7], '%Y-%m')
|
||||
days = calendar.monthrange(dt.year, dt.month)[1]
|
||||
|
||||
date_value = datetime.datetime.strptime(d[groupby][:10], '%Y-%m-%d')
|
||||
groupby_datetime = datetime.datetime.strptime(alldata[d['id']][groupby], '%Y-%m-%d')
|
||||
d[groupby] = babel.dates.format_date(
|
||||
date_value, format='MMMM yyyy', locale=context.get('lang', 'en_US'))
|
||||
d['__domain'] = [(groupby, '>=', alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-01', '%Y-%m-%d').strftime('%Y-%m-%d') or False),\
|
||||
(groupby, '<=', alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-' + str(days), '%Y-%m-%d').strftime('%Y-%m-%d') or False)] + domain
|
||||
groupby_datetime, format=group_by_params.get('display_format', 'MMMM yyyy'), locale=context.get('lang', 'en_US'))
|
||||
if group_by_params.get('interval') == 'month':
|
||||
days = calendar.monthrange(groupby_datetime.year, groupby_datetime.month)[1]
|
||||
domain_dt_begin = groupby_datetime.replace(day=1)
|
||||
domain_dt_end = groupby_datetime.replace(day=days)
|
||||
elif group_by_params.get('interval') == 'day':
|
||||
domain_dt_begin = groupby_datetime.replace(hour=0, minute=0)
|
||||
domain_dt_end = groupby_datetime.replace(hour=23, minute=59, second=59)
|
||||
else:
|
||||
domain_dt_begin = groupby_datetime.replace(month=1, day=1)
|
||||
domain_dt_end = groupby_datetime.replace(month=12, day=31)
|
||||
d['__domain'] = [(groupby, '>=', domain_dt_begin.strftime('%Y-%m-%d')), (groupby, '<=', domain_dt_end.strftime('%Y-%m-%d'))] + domain
|
||||
del alldata[d['id']][groupby]
|
||||
d.update(alldata[d['id']])
|
||||
del d['id']
|
||||
|
@ -4622,6 +4656,8 @@ class BaseModel(object):
|
|||
"""
|
||||
if type(ids) in (int, long):
|
||||
ids = [ids]
|
||||
if not ids:
|
||||
return []
|
||||
query = 'SELECT id FROM "%s"' % self._table
|
||||
cr.execute(query + "WHERE ID IN %s", (tuple(ids),))
|
||||
return [x[0] for x in cr.fetchall()]
|
||||
|
|
|
@ -33,6 +33,7 @@ import time
|
|||
import openerp
|
||||
import openerp.release
|
||||
import openerp.workflow
|
||||
from yaml_import import convert_yaml_import
|
||||
|
||||
import assertion_report
|
||||
|
||||
|
@ -943,6 +944,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 :
|
||||
|
|
|
@ -547,6 +547,11 @@ command_re = re.compile("^Set-([a-z]+) *: *(.+)$", re.I + re.UNICODE)
|
|||
# group(1) = the record ID ; group(2) = the model (if any) ; group(3) = the domain
|
||||
reference_re = re.compile("<.*-open(?:object|erp)-(\\d+)(?:-([\w.]+))?.*@(.*)>", re.UNICODE)
|
||||
|
||||
# Bounce regex
|
||||
# Typical form of bounce is bounce-128-crm.lead-34@domain
|
||||
# group(1) = the mail ID; group(2) = the model (if any); group(3) = the record ID
|
||||
bounce_re = re.compile("[\w]+-(\d+)-?([\w.]+)?-?(\d+)?", re.UNICODE)
|
||||
|
||||
def generate_tracking_message_id(res_id):
|
||||
"""Returns a string that can be used in the Message-ID RFC822 header field
|
||||
|
||||
|
|
|
@ -832,8 +832,11 @@ def trans_generate(lang, modules, cr):
|
|||
if module:
|
||||
src_file = open(fabsolutepath, 'r')
|
||||
try:
|
||||
for lineno, message, comments in extract.extract(extract_method, src_file,
|
||||
keywords=extract_keywords):
|
||||
for extracted in extract.extract(extract_method, src_file,
|
||||
keywords=extract_keywords):
|
||||
# Babel 0.9.6 yields lineno, message, comments
|
||||
# Babel 1.3 yields lineno, message, comments, context
|
||||
lineno, message, comments = extracted[:3]
|
||||
push_translation(module, trans_type, display_path, lineno,
|
||||
encode(message), comments + extra_comments)
|
||||
except Exception:
|
||||
|
|
Loading…
Reference in New Issue