[MERGE] merged with latest server branch
bzr revid: bde@tinyerp.com-20131231052654-hpeyky0elkg9y1ph
This commit is contained in:
@@ -91,5 +91,25 @@ Administrator</field>
|
||||
<field eval="10" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<!-- Basic fonts family included in PDF standart, will always be in the font list -->
|
||||
<record model="res.font" id="base.font_helvetica">
|
||||
<field name="name">Helvetica</field>
|
||||
<field name="family">Helvetica</field>
|
||||
<field name="path">/dev/null</field>
|
||||
<field name="mode">all</field>
|
||||
</record>
|
||||
<record model="res.font" id="base.font_times">
|
||||
<field name="name">Times</field>
|
||||
<field name="family">Times</field>
|
||||
<field name="path">/dev/null</field>
|
||||
<field name="mode">all</field>
|
||||
</record>
|
||||
<record model="res.font" id="base.font_courier">
|
||||
<field name="name">Courier</field>
|
||||
<field name="family">Courier</field>
|
||||
<field name="path">/dev/null</field>
|
||||
<field name="mode">all</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -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-11-23 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-11-23 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
||||
@@ -9,14 +9,13 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-07-25 03:08+0000\n"
|
||||
"Last-Translator: Federico Manuel Echeverri Choux - ( Vauxoo ) "
|
||||
"<echeverrifm@gmail.com>\n"
|
||||
"Last-Translator: Federico Manuel Echeverri Choux <echeverrifm@gmail.com>\n"
|
||||
"Language-Team: Spanish (Mexico) <es_MX@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-11-23 06:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
||||
+104
-79
@@ -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-11-23 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -51,7 +51,7 @@ 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 ""
|
||||
"Jälkimmäisen argumentin many2many -kentässä %s pitää olla SQL-taulu! "
|
||||
"Jälkimmäisen argumentin moni-moneen -kentässä %s pitää olla SQL-taulu! "
|
||||
"Antamasi nimi %s ei ole hyväksytty SQL-taulun nimi."
|
||||
|
||||
#. module: base
|
||||
@@ -192,7 +192,7 @@ msgstr "Pääraporttitiedoston polku"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
|
||||
msgid "Sales Analytic Distribution"
|
||||
msgstr "Kustannusten kohdistaminen myynnille"
|
||||
msgstr "Myynnin analyyttinen jakaantuminen"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_timesheet_invoice
|
||||
@@ -209,13 +209,12 @@ msgid ""
|
||||
"reports."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Luo laskut perustuen kuluihin, aikaan ja tuntikirjauksiin.\n"
|
||||
"Luo laskut perustuen kuluihin ja tuntikortteihin.\n"
|
||||
"========================================================\n"
|
||||
"\n"
|
||||
"Moduuli laskujen luomiseen henkilökulujen pohjalta (tuntilomakkeen "
|
||||
"merkinnät, kulut,...)\n"
|
||||
"Moduuli laskujen luomiseen kulujen pohjalta (henkilöstöhallinto, kulut,...)\n"
|
||||
"\n"
|
||||
"Voit määritellä hinnastoja kustannuspaikoille ja luoda näillä "
|
||||
"Voit määritellä hinnastoja analyyttisessä kirjanpidossa ja luoda näillä "
|
||||
"ennusteraportteja tuloista."
|
||||
|
||||
#. module: base
|
||||
@@ -324,7 +323,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Search Partner"
|
||||
msgstr "Etsi kumppaneista"
|
||||
msgstr "Hae kumppani"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.category,module_nr:0
|
||||
@@ -457,7 +456,7 @@ msgstr "Lähdeobjekti"
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||
msgid "%(bank_name)s: %(acc_number)s"
|
||||
msgstr ""
|
||||
msgstr "%(bank_name)s: %(acc_number)s"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.todo:0
|
||||
@@ -644,7 +643,7 @@ msgstr "Espanjalainen"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
|
||||
msgid "Invoice on Timesheets"
|
||||
msgstr "Laskuta tuntilistojen mukaan"
|
||||
msgstr "Laskuta tuntikorttien mukaan"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.upgrade:0
|
||||
@@ -2234,7 +2233,7 @@ msgstr "Luku / Kirjoitus / Kopiointi"
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Second: %(sec)s"
|
||||
msgstr "Sekuntti: %(sec)s"
|
||||
msgstr "Sekunti: %(sec)s"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,view_mode:0
|
||||
@@ -2273,7 +2272,7 @@ msgstr "Logo"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_cr
|
||||
msgid "Costa Rica - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Costa Rica - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_url,target:0
|
||||
@@ -2912,7 +2911,7 @@ msgstr ""
|
||||
#: model:res.groups,name:base.group_sale_manager
|
||||
#: model:res.groups,name:base.group_tool_manager
|
||||
msgid "Manager"
|
||||
msgstr "Ylläpitäjä"
|
||||
msgstr "Päällikkö"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:726
|
||||
@@ -3296,7 +3295,7 @@ msgstr "Armenia"
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_hr_evaluation
|
||||
msgid "Periodical Evaluations, Appraisals, Surveys"
|
||||
msgstr "Säännöllinen arviointi, kehityskeskustelut, tutkimukset"
|
||||
msgstr "Säännöllinen arviointi, kehityskeskustelut, kyselyt"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.ir_property_form
|
||||
@@ -3452,7 +3451,7 @@ msgid ""
|
||||
"Mr., Mrs. "
|
||||
msgstr ""
|
||||
"Hallitse yhteyshenkilöiden titteleitä (käytetään kirjeissä yms. jos haluat) "
|
||||
"esim. Mr. Mrs. "
|
||||
"esim. Herra, Rouva "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
@@ -3525,7 +3524,7 @@ msgstr "Syntymäpäivä"
|
||||
#: model:ir.actions.act_window,name:base.action_partner_title_contact
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_contact
|
||||
msgid "Contact Titles"
|
||||
msgstr "Yhteyshenkilöiden arvonimet"
|
||||
msgstr "Yhteyshenkilöiden tittelit"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
|
||||
@@ -3754,7 +3753,7 @@ msgstr "Kotitoiminto"
|
||||
#. module: base
|
||||
#: field:res.lang,grouping:0
|
||||
msgid "Separator Format"
|
||||
msgstr "Erottimen muotoilu"
|
||||
msgstr "Tuhansien muotoilu"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_report_webkit
|
||||
@@ -3837,7 +3836,7 @@ msgstr "Raportointi"
|
||||
#: field:res.partner,title:0
|
||||
#: field:res.partner.title,name:0
|
||||
msgid "Title"
|
||||
msgstr "Otsikko"
|
||||
msgstr "Yhtiömuoto"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.property,res_id:0
|
||||
@@ -4022,7 +4021,7 @@ msgstr "12. %w = 5"
|
||||
#. module: base
|
||||
#: constraint:res.partner.category:0
|
||||
msgid "Error ! You can not create recursive categories."
|
||||
msgstr "Virhe! Et voi luoda rekursiivisia kategorioita."
|
||||
msgstr "Virhe! Et voi luoda rekursiivisia ryhmiä."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -4231,7 +4230,7 @@ msgstr "Liechtenstein"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_issue_sheet
|
||||
msgid "Timesheet on Issues"
|
||||
msgstr "Tuntilomake asioille"
|
||||
msgstr "Tuntikortti asioille"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_ltd
|
||||
@@ -5190,7 +5189,7 @@ msgstr "ir.actions.actions"
|
||||
#. module: base
|
||||
#: selection:ir.model.fields,select_level:0
|
||||
msgid "Not Searchable"
|
||||
msgstr "Ei haettava"
|
||||
msgstr "Ei haettavissa"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.config_parameter:0
|
||||
@@ -5369,7 +5368,7 @@ msgstr "Jokaisen mallin pitää olla uniikki"
|
||||
#: model:ir.module.category,name:base.module_category_localization
|
||||
#: model:ir.ui.menu,name:base.menu_localisation
|
||||
msgid "Localization"
|
||||
msgstr "Lokalisointi"
|
||||
msgstr "Kotoistus"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_web_api
|
||||
@@ -5484,7 +5483,7 @@ msgstr "Liitetty kohteeseen"
|
||||
#. module: base
|
||||
#: field:res.lang,decimal_point:0
|
||||
msgid "Decimal Separator"
|
||||
msgstr "Desimaalin erotin"
|
||||
msgstr "Desimaalierotin"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:5319
|
||||
@@ -5590,7 +5589,7 @@ msgstr "Kenttä"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_long_term
|
||||
msgid "Long Term Projects"
|
||||
msgstr "Pitkän aikavälin projektit"
|
||||
msgstr "Pitkäkestoiset projektit"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ve
|
||||
@@ -5779,7 +5778,7 @@ msgstr "ir.actions.act_url"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_translation_app
|
||||
msgid "Application Terms"
|
||||
msgstr "Sovelluksen käyttöehdot"
|
||||
msgstr "Sovelluksen termit"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.open_module_tree
|
||||
@@ -6548,7 +6547,7 @@ msgid ""
|
||||
"request, timesheets, ...), if he is linked to an employee in the system."
|
||||
msgstr ""
|
||||
"käyttäjä voi hallita hänen omia henkilöstöhallintotietojaan "
|
||||
"(poissaolopyyntöjä, tuntilmoakkeitaan,...), mikäli hänet on kytketty "
|
||||
"(poissaolopyyntöjä, tuntikorttejaan,...), mikäli hänet on kytketty "
|
||||
"järjestelmään työntekijänä."
|
||||
|
||||
#. module: base
|
||||
@@ -6831,12 +6830,12 @@ msgstr "Konfiguraatiota ei voi monistaa!"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_syscohada
|
||||
msgid "OHADA - Accounting"
|
||||
msgstr ""
|
||||
msgstr "OHADA - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: help:res.bank,bic:0
|
||||
msgid "Sometimes called BIC or Swift."
|
||||
msgstr "Kutsutaan myös BIC tai SWIFT koodiksi."
|
||||
msgstr "Kutsutaan myös BIC tai SWIFT -koodiksi."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in
|
||||
@@ -6846,7 +6845,7 @@ msgstr "Intia - Kirjanpito"
|
||||
#. module: base
|
||||
#: field:res.lang,time_format:0
|
||||
msgid "Time Format"
|
||||
msgstr "Aika formaatti"
|
||||
msgstr "Ajan esitysmuoto"
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,rml_header3:0
|
||||
@@ -6866,7 +6865,7 @@ msgstr "Määritellyt raportit"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_gtd
|
||||
msgid "Todo Lists"
|
||||
msgstr "Tehtävälistat"
|
||||
msgstr "Tehtäväluettelot"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
@@ -6953,12 +6952,12 @@ msgstr "Iso-Britannia"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_pa
|
||||
msgid "Panama Localization Chart Account"
|
||||
msgstr ""
|
||||
msgstr "Panama kotoistettu tilikartta"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner.category,active:0
|
||||
msgid "The active field allows you to hide the category without removing it."
|
||||
msgstr "Aktiivinen kenttä sallii kategorian piilottamisen poistamatta sitä."
|
||||
msgstr "Aktiivinen kenttä sallii ryhmän piilottamisen poistamatta sitä."
|
||||
|
||||
#. module: base
|
||||
#: report:ir.module.reference:0
|
||||
@@ -7154,7 +7153,7 @@ msgstr "Siirtymät"
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_sheet
|
||||
msgid "Timesheets"
|
||||
msgstr "Tuntilistat"
|
||||
msgstr "Tuntikortit"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.values,company_id:0
|
||||
@@ -7248,6 +7247,20 @@ msgid ""
|
||||
"up a management by affair.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Tämä moduuli asentaa tuntikorttijärjestelmän.\n"
|
||||
"==========================================\n"
|
||||
"\n"
|
||||
"Jokainen työntekjiä voi kirjata ajankäyttönsä ja seurata tätä "
|
||||
"projekteittain.\n"
|
||||
"Projekti on analyyttinen till ja projekti synnyttää kustannuksia "
|
||||
"analyyttiselle tilille.\n"
|
||||
"\n"
|
||||
"Sisältää seurantaan paljon erilaisia aika- ja työntekijäraportteja.\n"
|
||||
"\n"
|
||||
"Moduuli on täysin integroitu ksutannuslaskentamoduulin kanssa. Sallii \n"
|
||||
"hallinnan määrittämisen asiaryhmittäin.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:res.bank,state:0
|
||||
@@ -7372,7 +7385,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_project_long_term
|
||||
msgid "Long Term Planning"
|
||||
msgstr "Pitkän aikavälin suunnittelu"
|
||||
msgstr "Pitkän tähtäimen suunnittelu (PTS)"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,message:0
|
||||
@@ -7464,7 +7477,7 @@ msgstr "Ecuador - Kirjanpito"
|
||||
#. module: base
|
||||
#: field:res.partner.category,name:0
|
||||
msgid "Category Name"
|
||||
msgstr "Kategorian nimi"
|
||||
msgstr "Ryhmän nimi"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mp
|
||||
@@ -7596,7 +7609,7 @@ msgstr "Namibia"
|
||||
#. module: base
|
||||
#: field:res.partner.category,child_ids:0
|
||||
msgid "Child Categories"
|
||||
msgstr "Alakategoriat"
|
||||
msgstr "Aliryhmät"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_actions.py:606
|
||||
@@ -7649,7 +7662,7 @@ msgstr "MDX"
|
||||
#. module: base
|
||||
#: view:ir.cron:0
|
||||
msgid "Scheduled Action"
|
||||
msgstr "Jaksottimen toiminto"
|
||||
msgstr "Ajoitettu toimenpide"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.bi
|
||||
@@ -7776,7 +7789,7 @@ msgstr "Reklmaatioporttaali"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_pe
|
||||
msgid "Peru Localization Chart Account"
|
||||
msgstr "Perun (maa) lokalisoitu tilikartta"
|
||||
msgstr "Peru (maa) kotoistettu tilikartta"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_auth_oauth
|
||||
@@ -7824,7 +7837,7 @@ msgstr "RML sisäinen ylätunniste"
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,search_view_id:0
|
||||
msgid "Search View Ref."
|
||||
msgstr "Hakunäkymän referenssi"
|
||||
msgstr "Hae näytettävä viite"
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,partner_id:0
|
||||
@@ -8006,7 +8019,7 @@ msgstr "Burkina Faso"
|
||||
#. module: base
|
||||
#: selection:ir.model.fields,state:0
|
||||
msgid "Custom Field"
|
||||
msgstr "Kustomoitu kenttä"
|
||||
msgstr "Mukautettu kenttä"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_account_accountant
|
||||
@@ -8347,7 +8360,7 @@ msgstr "Täydet käyttöoikeudet"
|
||||
#. module: base
|
||||
#: field:res.partner.category,parent_id:0
|
||||
msgid "Parent Category"
|
||||
msgstr "Yläkategoria"
|
||||
msgstr "Ylempi ryhmä"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.fi
|
||||
@@ -8395,7 +8408,7 @@ msgstr "Viestintä"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_analytic
|
||||
msgid "Analytic Accounting"
|
||||
msgstr "Analyyttinen tilikirjanpito"
|
||||
msgstr "Analyyttinen kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_model_constraint
|
||||
@@ -8429,7 +8442,7 @@ msgstr "ir.server.object.lines"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be
|
||||
msgid "Belgium - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Belgia - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
@@ -8458,9 +8471,9 @@ msgid ""
|
||||
"Keep empty to not save the printed reports. You can use a python expression "
|
||||
"with the object and time variables."
|
||||
msgstr ""
|
||||
"Tämä on liitteen nimi johon tulostus tallennetaan. Jätä tyhjäksi jos "
|
||||
"tulostettuja raportteija ei haluta tallentaa. Voit käyttää python-lauseketta "
|
||||
"jossa on objekti- tai aikamuuttuja."
|
||||
"Tämä on liitteen tiedostonimi, johon tuloste tallennetaan. Jätä tyhjäksi jos "
|
||||
"tulostettuja raportteja ei haluta tallentaa. Voit käyttää python-lauseketta, "
|
||||
"jossa on objekti- tai aikamuuttujia."
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:ir.model.data:0
|
||||
@@ -8540,7 +8553,7 @@ msgstr "Filippiinit"
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_hr_timesheet_sheet
|
||||
msgid "Timesheets, Attendances, Activities"
|
||||
msgstr "Tuntilomakkeet, Poissaolot, Tehtävät"
|
||||
msgstr "Tuntikortit, läsnäolot, toiminnot"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ma
|
||||
@@ -8707,7 +8720,7 @@ msgstr "Dokumentin sivu"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ar
|
||||
msgid "Argentina Localization Chart Account"
|
||||
msgstr "Argentiinan lokalisoitu tilikartta"
|
||||
msgstr "Argentiina kotoistettu tilikartta"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,description_html:0
|
||||
@@ -9112,7 +9125,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:res.partner.title,shortcut:0
|
||||
msgid "Abbreviation"
|
||||
msgstr ""
|
||||
msgstr "Lyhenne"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main
|
||||
@@ -9342,7 +9355,7 @@ msgstr "8. %I:%M:%S %p = 06:25:20 PM"
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
msgid "Filters shared with all users"
|
||||
msgstr "Suodattimet jaettu kaikkien käyttäjien kanssa"
|
||||
msgstr "Suodattimet jotka on jaettu kaikkien käyttäjien kanssa"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
@@ -9414,7 +9427,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:ir.module.category:0
|
||||
msgid "Module Category"
|
||||
msgstr "Moduulin kategoria"
|
||||
msgstr "Moduuliryhmä"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.us
|
||||
@@ -9546,7 +9559,7 @@ msgstr "Omat pikalinkit"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_si
|
||||
msgid "Slovenian - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Slovenia - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_cancel
|
||||
@@ -9657,7 +9670,7 @@ msgstr "Mallia %s ei ole olemassa!"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_jit
|
||||
msgid "Just In Time Scheduling"
|
||||
msgstr "Just in time ajoitus (JIT)"
|
||||
msgstr "JOT-ajoitus (JIT)"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
@@ -9920,6 +9933,15 @@ msgid ""
|
||||
"handle an issue.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Tämä moduuli lisää tuen tuntikortteille projektin asioiden ja virheiden "
|
||||
"hallintaan.\n"
|
||||
"============================================================================="
|
||||
"====\n"
|
||||
"\n"
|
||||
"Työkohtaisia lokeja voi ylläpitää käytetyn työajan näyttämiseen "
|
||||
"käyttäjittäin.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gy
|
||||
@@ -10279,7 +10301,7 @@ msgstr "Tätä menetelmää ei ole enää olemassa"
|
||||
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
|
||||
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
|
||||
msgid "Synchronize Terms"
|
||||
msgstr "Synkronoi termi"
|
||||
msgstr "Synkronoi termit"
|
||||
|
||||
#. module: base
|
||||
#: field:res.lang,thousands_sep:0
|
||||
@@ -10681,8 +10703,8 @@ msgid ""
|
||||
"Manage the partner titles you want to have available in your system. The "
|
||||
"partner titles is the legal status of the company: Private Limited, SA, etc."
|
||||
msgstr ""
|
||||
"Hallitse partneriyritysten yritystyyppejä joita on käytössäsi. Näitä ovat "
|
||||
"esim OY, KY, A/S, GmBH ..."
|
||||
"Hallitse kumppaniyritysten yritystyyppejä joita on käytössäsi. Näitä ovat "
|
||||
"esim. Oyj, Oy, Ky, Tmi, Ay, Ry, A/S, GmBH ..."
|
||||
|
||||
#. module: base
|
||||
#: view:res.bank:0
|
||||
@@ -11558,7 +11580,7 @@ msgstr "RML-sisältö"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "Update Terms"
|
||||
msgstr "Päivitä ehdot"
|
||||
msgstr "Päivitä termit"
|
||||
|
||||
#. module: base
|
||||
#: field:res.request,act_to:0
|
||||
@@ -11856,7 +11878,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_bo
|
||||
msgid "Bolivia Localization Chart Account"
|
||||
msgstr ""
|
||||
msgstr "Bolivia kotoistettu tilikartta"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_plugin_thunderbird
|
||||
@@ -11876,7 +11898,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "Legends for Date and Time Formats"
|
||||
msgstr "Selitykset päivämäärän ja kellonajan muotoilusta"
|
||||
msgstr "Merkinnät päivämäärän ja kellonajan muotoiluun"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.server,state:0
|
||||
@@ -12078,8 +12100,7 @@ msgstr "Käyttäjän viite"
|
||||
#: code:addons/base/ir/ir_fields.py:226
|
||||
#, python-format
|
||||
msgid "'%s' does not seem to be a valid datetime for field '%%(field)s'"
|
||||
msgstr ""
|
||||
"\"%s\" ei näyttäisi olevan sallittu päivä/aika kentälle \"%%(field)s\""
|
||||
msgstr "\"%s\" ei ole sallittu päivä/aika kentälle \"%%(field)s\""
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
|
||||
@@ -12175,7 +12196,7 @@ msgstr "Raportin tyyppi"
|
||||
#: view:res.partner.bank:0
|
||||
#: view:res.users:0
|
||||
msgid "State"
|
||||
msgstr "Tila"
|
||||
msgstr "Valtio"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -12195,7 +12216,7 @@ msgstr "4. %b, %B = joulu, joulukuu"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_cl
|
||||
msgid "Chile Localization Chart Account"
|
||||
msgstr ""
|
||||
msgstr "Chile Kotoitettu tilikartta"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -12333,7 +12354,7 @@ msgstr "Tuo käännös"
|
||||
#: view:ir.module.module:0
|
||||
#: field:ir.module.module,category_id:0
|
||||
msgid "Category"
|
||||
msgstr "Kategoria"
|
||||
msgstr "Ryhmä"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
@@ -12797,7 +12818,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_gr
|
||||
msgid "Greece - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Kreikka - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:res.country:0
|
||||
@@ -12812,7 +12833,7 @@ msgstr "Poistettavissa"
|
||||
#. module: base
|
||||
#: view:res.partner.category:0
|
||||
msgid "Partner Category"
|
||||
msgstr "Kumppanin katerogia"
|
||||
msgstr "Kumppaniryhmä"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
@@ -12917,7 +12938,7 @@ msgstr "Suodata dokumenttejani"
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_project_gtd
|
||||
msgid "Personal Tasks, Contexts, Timeboxes"
|
||||
msgstr "Henkilökohtaiset tehtävät, Asiakokonaisuudet, Aikalaatikot"
|
||||
msgstr "Henkilökohtaiset tehtävät, asiakokonaisuudet, aikarajat"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_cr
|
||||
@@ -13005,7 +13026,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_th
|
||||
msgid "Thailand - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Thaimaa - Kirjanpito"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -13397,7 +13418,7 @@ msgstr "ir.sequence.type"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll_account
|
||||
msgid "Belgium - Payroll with Accounting"
|
||||
msgstr ""
|
||||
msgstr "Belgia - Kirjanpito ja palkkahallinto"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
@@ -13681,8 +13702,8 @@ msgstr ""
|
||||
"---------------\n"
|
||||
"* Työntekijät ja hierarkiat: Voit määritellä työntekijät käyttäjinä ja "
|
||||
"näyttää hierarkiat\n"
|
||||
"* Henkilöstöosastot\n"
|
||||
"* Henkilöstötyöt\n"
|
||||
"* Henkilöstöhallinnon osastot\n"
|
||||
"* Henkilöstöhallinnon tehtävät\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
@@ -13904,7 +13925,7 @@ msgstr "Tanska / Dansk"
|
||||
#. module: base
|
||||
#: selection:ir.model.fields,select_level:0
|
||||
msgid "Advanced Search (deprecated)"
|
||||
msgstr "Kehittynyt haku (vähehksytty)"
|
||||
msgstr "Kehittynyt haku vanhentunut - hae uudelleen"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cx
|
||||
@@ -14147,7 +14168,7 @@ msgstr "Useamman dokumentin toiminto"
|
||||
#: model:ir.actions.act_window,name:base.action_partner_title_partner
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||
msgid "Titles"
|
||||
msgstr "Titteli"
|
||||
msgstr "Tittelit"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_anonymization
|
||||
@@ -15190,10 +15211,14 @@ msgid ""
|
||||
"1,06,500;[1,2,-1] will represent it to be 106,50,0;[3] will represent it as "
|
||||
"106,500. Provided ',' as the thousand separator in each case."
|
||||
msgstr ""
|
||||
"Erottimen formaatin tulisi olla muotoa [,n] jossa n > 0 ja -1 lopettaa "
|
||||
"erottelun. Esimerkiksi luku 106500 (tuhaterottimena on käytetty "
|
||||
"pilkkua):[3,2,-1] esittää sen muodossa 1,06,500;[1,2,-1] esittää sen "
|
||||
"muodossa 106,50,0;[3] esittää sen muodossa 106,500."
|
||||
"Tuhansien muotoilun tulisi olla muotoa [3, 0] eli jokaisen kolmen numeron "
|
||||
"välein on tuhaterotin.\r\n"
|
||||
"Tuhatmuotoilu annetaan muodossa [,n], jossa n > 0 ja erikoistapauksena n = -"
|
||||
"1 lopettaa tuhaterottelun. \r\n"
|
||||
"Esimerkiksi luku 106500 (tuhaterottimena on käytetty pilkkua):\r\n"
|
||||
"[ 3,2,-1] esittää sen muodossa 1,06,500;\r\n"
|
||||
"[1,2,-1] esittää sen muodossa 106,50,0;\r\n"
|
||||
"[3] esittää sen muodossa 106,500."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,auto_install:0
|
||||
@@ -15457,7 +15482,7 @@ msgstr "Matkapuhelinnumero"
|
||||
#: model:ir.model,name:base.model_res_partner_category
|
||||
#: view:res.partner.category:0
|
||||
msgid "Partner Categories"
|
||||
msgstr "Kumppanien kategoriat"
|
||||
msgstr "Kumppanien ryhmät"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.upgrade: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-11-23 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-11-25 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -9356,7 +9356,7 @@ msgstr "マリ共和国"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_project_config_project
|
||||
msgid "Stages"
|
||||
msgstr ""
|
||||
msgstr "ステージ"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -9623,7 +9623,7 @@ msgstr "アメリカ合衆国 - 勘定科目表"
|
||||
#: view:res.users:0
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
msgstr "取消"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:1507
|
||||
@@ -9953,7 +9953,7 @@ msgstr "グループ化…"
|
||||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Module Update Result"
|
||||
msgstr ""
|
||||
msgstr "モジュール更新結果"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_analytic_contract_hr_expense
|
||||
@@ -11331,7 +11331,7 @@ msgstr "町名番地2"
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_view_base_module_update
|
||||
msgid "Module Update"
|
||||
msgstr "モジュールの更新"
|
||||
msgstr "モジュール更新"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/base_module_upgrade.py:85
|
||||
@@ -12752,7 +12752,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_module_update
|
||||
msgid "Update Module"
|
||||
msgstr "モジュールの更新"
|
||||
msgstr "モジュール更新"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.fields:0
|
||||
@@ -13220,7 +13220,7 @@ msgstr "アドミニストレーション"
|
||||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Click on Update below to start the process..."
|
||||
msgstr "プロセスを開始するために以下にある更新をクリックして下さい。"
|
||||
msgstr "下の「更新」をクリックして処理を開始してください。"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ir
|
||||
|
||||
@@ -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-11-23 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:30+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
||||
+133
-57
@@ -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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -175,7 +175,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
|
||||
msgid "Sales Analytic Distribution"
|
||||
msgstr ""
|
||||
msgstr "Pāŗdošanas Analītika"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_timesheet_invoice
|
||||
@@ -265,7 +265,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:res.groups,name:base.group_multi_currency
|
||||
msgid "Multi Currencies"
|
||||
msgstr ""
|
||||
msgstr "MultiValūtas"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_cl
|
||||
@@ -391,7 +391,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:ir.module.category,child_ids:0
|
||||
msgid "Child Applications"
|
||||
msgstr ""
|
||||
msgstr "Apakšaplikācijas"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,credit_limit:0
|
||||
@@ -457,6 +457,7 @@ msgid ""
|
||||
"One of the records you are trying to modify has already been deleted "
|
||||
"(Document type: %s)."
|
||||
msgstr ""
|
||||
"Kāds no ierakstiem, ko mēģināt labot ir jau dzēsts (Dokumenta Tips: %s)."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,views:0
|
||||
@@ -515,7 +516,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:workflow.transition:0
|
||||
msgid "Workflow Transition"
|
||||
msgstr ""
|
||||
msgstr "Darbplūsmas Pāreja"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gf
|
||||
@@ -608,7 +609,7 @@ msgstr "Spāņu (VE) / Español (VE)"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
|
||||
msgid "Invoice on Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Rēķinu piestādīšana pēc darba tabelēm"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.upgrade:0
|
||||
@@ -634,7 +635,7 @@ msgstr "Kolumbija"
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||
msgid "Mister"
|
||||
msgstr ""
|
||||
msgstr "Kungs"
|
||||
|
||||
#. module: base
|
||||
#: help:res.country,code:0
|
||||
@@ -663,7 +664,7 @@ msgstr "Neiztulkots"
|
||||
#. module: base
|
||||
#: view:ir.mail_server:0
|
||||
msgid "Outgoing Mail Server"
|
||||
msgstr ""
|
||||
msgstr "Izejošā Pasta Serveris"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,context:0
|
||||
@@ -751,6 +752,9 @@ msgid ""
|
||||
"Contains the installer for marketing-related modules.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Izvēlne Mārketingam.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_web_linkedin
|
||||
@@ -811,7 +815,7 @@ msgstr "Automatizētas darbības"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ro
|
||||
msgid "Romania - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Rumānija - Grāmatvedība"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_config_settings
|
||||
@@ -845,7 +849,7 @@ msgstr "Drošība un Autentifikācija"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
||||
msgid "Web Calendar"
|
||||
msgstr ""
|
||||
msgstr "Web Kalendārs"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -937,12 +941,12 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
||||
msgid "Shared Repositories (WebDAV)"
|
||||
msgstr ""
|
||||
msgstr "Koplietošanas Krātuves (WebDAV)"
|
||||
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Email Preferences"
|
||||
msgstr ""
|
||||
msgstr "E-pasta Uzstādījumi"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:195
|
||||
@@ -1005,7 +1009,7 @@ msgstr "Omāna"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp
|
||||
msgid "MRP"
|
||||
msgstr ""
|
||||
msgstr "Ražošana"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_attendance
|
||||
@@ -1027,7 +1031,7 @@ msgstr "Niue"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_membership
|
||||
msgid "Membership Management"
|
||||
msgstr ""
|
||||
msgstr "Biedru Pārvaldība"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,license:0
|
||||
@@ -1037,7 +1041,7 @@ msgstr "Cita OSI apstiprināta licence"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_gantt
|
||||
msgid "Web Gantt"
|
||||
msgstr ""
|
||||
msgstr "WWW Gant Diagramma"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||
@@ -1064,7 +1068,7 @@ msgstr "Google Lietotāji"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||
msgid "Fleet Management"
|
||||
msgstr ""
|
||||
msgstr "Autoparka Vadība"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.server.object.lines,value:0
|
||||
@@ -1146,7 +1150,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Change the user password."
|
||||
msgstr ""
|
||||
msgstr "Mainīt lietotāja paroli."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -1241,7 +1245,7 @@ msgstr "Valsts nosaukumam jābūt unikālam!"
|
||||
#. module: base
|
||||
#: field:ir.module.module,installed_version:0
|
||||
msgid "Latest Version"
|
||||
msgstr ""
|
||||
msgstr "Jaunākā versija"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
@@ -1289,7 +1293,7 @@ msgstr ""
|
||||
#: code:addons/orm.py:4920
|
||||
#, python-format
|
||||
msgid "Record #%d of %s not found, cannot copy!"
|
||||
msgstr ""
|
||||
msgstr "Ieraksts #%d %s nav atrasts, nevar kopēt!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,contributors:0
|
||||
@@ -1309,7 +1313,7 @@ msgstr "Char"
|
||||
#. module: base
|
||||
#: field:ir.module.category,visible:0
|
||||
msgid "Visible"
|
||||
msgstr ""
|
||||
msgstr "Redzams"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.client,name:base.action_client_base_menu
|
||||
@@ -1359,7 +1363,7 @@ msgstr "Spāņu (GT) / Español (GT)"
|
||||
#. module: base
|
||||
#: field:ir.mail_server,smtp_port:0
|
||||
msgid "SMTP Port"
|
||||
msgstr ""
|
||||
msgstr "SMTP Ports"
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,login:0
|
||||
@@ -1391,7 +1395,7 @@ msgstr ""
|
||||
#: code:addons/base/module/wizard/base_language_install.py:53
|
||||
#, python-format
|
||||
msgid "Language Pack"
|
||||
msgstr ""
|
||||
msgstr "Valodu Paka"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_tests
|
||||
@@ -1401,7 +1405,7 @@ msgstr "Pārbaudes"
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment:0
|
||||
msgid "Save as Attachment Prefix"
|
||||
msgstr ""
|
||||
msgstr "Saglabāt kā pielikuma Prefiksu."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,res_id:0
|
||||
@@ -1459,7 +1463,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:ir.module.category,parent_id:0
|
||||
msgid "Parent Application"
|
||||
msgstr ""
|
||||
msgstr "Galvenā Aplikācija"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
||||
@@ -1477,12 +1481,12 @@ msgstr "Darbība atcelta"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document
|
||||
msgid "Document Management System"
|
||||
msgstr ""
|
||||
msgstr "Dokumentu Pārvaldes Sistēma"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||
msgid "Claims Management"
|
||||
msgstr ""
|
||||
msgstr "Klientu pieteikumu Vadība"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_document_webdav
|
||||
@@ -1990,6 +1994,8 @@ msgstr "Kreisais vecāks"
|
||||
#: model:ir.module.module,shortdesc:base.module_project_mrp
|
||||
msgid "Create Tasks on SO"
|
||||
msgstr ""
|
||||
"Veidot uzdevumus projektu vadības modulī, kas bāzēti uz tirdzniecības "
|
||||
"pasūtījumiem"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:320
|
||||
@@ -2000,7 +2006,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:res.partner.bank,footer:0
|
||||
msgid "Display on Reports"
|
||||
msgstr ""
|
||||
msgstr "Attēlot Atskaitēs"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project_timesheet
|
||||
@@ -2087,7 +2093,7 @@ msgstr "%s (kopēt)"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_chart
|
||||
msgid "Template of Charts of Accounts"
|
||||
msgstr ""
|
||||
msgstr "Kontu plānu veidne"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,type:0
|
||||
@@ -2219,7 +2225,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_subscription
|
||||
msgid "Recurring Documents"
|
||||
msgstr ""
|
||||
msgstr "Dokumenti, kas periodiski atkārtojas"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.bs
|
||||
@@ -2422,7 +2428,7 @@ msgstr ""
|
||||
#: code:addons/orm.py:3843
|
||||
#, python-format
|
||||
msgid "A document was modified since you last viewed it (%s:%d)"
|
||||
msgstr ""
|
||||
msgstr "Dokuments ir modificēts, kopš pēdējās apskates (%s:%d)"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow:0
|
||||
@@ -2491,7 +2497,7 @@ msgstr "Grupas (ja nav = globāla)"
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
msgstr "Papildus"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.st
|
||||
@@ -2635,12 +2641,12 @@ msgstr "Angilja"
|
||||
#. module: base
|
||||
#: model:ir.actions.report.xml,name:base.report_ir_model_overview
|
||||
msgid "Model Overview"
|
||||
msgstr ""
|
||||
msgstr "Modelis"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_product_margin
|
||||
msgid "Margins by Products"
|
||||
msgstr ""
|
||||
msgstr "Peļņa pēc Produktiem"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_invoiced
|
||||
@@ -2733,7 +2739,7 @@ msgstr ""
|
||||
#: field:ir.translation,res_id:0
|
||||
#: field:ir.values,res_id:0
|
||||
msgid "Record ID"
|
||||
msgstr ""
|
||||
msgstr "Ieraksta ID"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
@@ -2917,7 +2923,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.groups:0
|
||||
msgid "Inherited"
|
||||
msgstr ""
|
||||
msgstr "Mantotais"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_fields.py:146
|
||||
@@ -3187,7 +3193,7 @@ msgstr "Kuba"
|
||||
#: code:addons/report_sxw.py:443
|
||||
#, python-format
|
||||
msgid "Unknown report type: %s"
|
||||
msgstr ""
|
||||
msgstr "Nezināms atskaites tips: %s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_hr_expense
|
||||
@@ -3384,7 +3390,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:res.groups,name:base.group_survey_user
|
||||
msgid "Survey / User"
|
||||
msgstr ""
|
||||
msgstr "Aptauja / Lietotājs"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
@@ -3440,7 +3446,7 @@ msgstr "Kontaktpersonu Uzrunas"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
|
||||
msgid "Products Manufacturers"
|
||||
msgstr ""
|
||||
msgstr "Produktu Ražotāji"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:240
|
||||
@@ -3686,7 +3692,7 @@ msgstr "Majota"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_todo
|
||||
msgid "Tasks on CRM"
|
||||
msgstr ""
|
||||
msgstr "Uzdevumi bāzēti uz CRM"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model.fields,relation_field:0
|
||||
@@ -3808,7 +3814,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: selection:ir.sequence,implementation:0
|
||||
msgid "Standard"
|
||||
msgstr ""
|
||||
msgstr "Standarta"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ru
|
||||
@@ -4163,7 +4169,7 @@ msgstr "Portugāle"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_share
|
||||
msgid "Share any Document"
|
||||
msgstr ""
|
||||
msgstr "Koplietot jebkuru dokumentu"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.transition,group_id:0
|
||||
@@ -4234,7 +4240,7 @@ msgstr "Xor"
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_localization_account_charts
|
||||
msgid "Account Charts"
|
||||
msgstr ""
|
||||
msgstr "Kontu Plāni"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_event_main
|
||||
@@ -4336,7 +4342,7 @@ msgstr "Kopsavilkums"
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_hidden_dependency
|
||||
msgid "Dependency"
|
||||
msgstr ""
|
||||
msgstr "Atkarīgie moduļi"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_portal
|
||||
@@ -4425,7 +4431,7 @@ msgstr "Darbību izraisošais Objekts"
|
||||
#. module: base
|
||||
#: sql_constraint:ir.sequence.type:0
|
||||
msgid "`code` must be unique."
|
||||
msgstr ""
|
||||
msgstr "'kods' laukam jābūt unikālam."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_knowledge
|
||||
@@ -4477,7 +4483,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_timesheet
|
||||
msgid "Bill Time on Tasks"
|
||||
msgstr ""
|
||||
msgstr "Izrakstīt rēķinus par patērēto laiku"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_marketing
|
||||
@@ -4766,7 +4772,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_marketing
|
||||
msgid "Helps you manage your marketing campaigns step by step."
|
||||
msgstr ""
|
||||
msgstr "Palīdz pārvaldīt mārketinga kampaņas soli pa solim."
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -4812,7 +4818,7 @@ msgstr "Noteikumi"
|
||||
#. module: base
|
||||
#: field:ir.mail_server,smtp_host:0
|
||||
msgid "SMTP Server"
|
||||
msgstr ""
|
||||
msgstr "SMTP serveris"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:320
|
||||
@@ -4824,7 +4830,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:base.module.upgrade:0
|
||||
msgid "The selected modules have been updated / installed !"
|
||||
msgstr ""
|
||||
msgstr "Izvēlētie moduļi ir atjaunināti / uzinstalēti!"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -4978,7 +4984,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
||||
msgid "Partners Geo-Localization"
|
||||
msgstr ""
|
||||
msgstr "Partneru Ģeo-lokācija"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ke
|
||||
@@ -4989,7 +4995,7 @@ msgstr "Kenija"
|
||||
#: model:ir.actions.act_window,name:base.action_translation
|
||||
#: model:ir.ui.menu,name:base.menu_action_translation
|
||||
msgid "Translated Terms"
|
||||
msgstr ""
|
||||
msgstr "Tulkotie Termini"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -5056,7 +5062,7 @@ msgstr "Benina"
|
||||
#: model:ir.actions.act_window,name:base.action_res_partner_bank_type_form
|
||||
#: model:ir.ui.menu,name:base.menu_action_res_partner_bank_typeform
|
||||
msgid "Bank Account Types"
|
||||
msgstr ""
|
||||
msgstr "Bankas Kontu Tipi"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.sequence,suffix:0
|
||||
@@ -5192,7 +5198,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_recruitment
|
||||
msgid "Recruitment Process"
|
||||
msgstr ""
|
||||
msgstr "Darbā pieņemšanas Process"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.br
|
||||
@@ -5775,7 +5781,7 @@ msgstr "Angļu (CA)"
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_human_resources
|
||||
msgid "Human Resources"
|
||||
msgstr ""
|
||||
msgstr "Personāla Vadība"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_syscohada
|
||||
@@ -8543,7 +8549,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_warning
|
||||
msgid "Warning Messages and Alerts"
|
||||
msgstr ""
|
||||
msgstr "Brīdinājumi"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_ui_view_custom
|
||||
@@ -10190,7 +10196,7 @@ msgstr ""
|
||||
#: view:base.module.upgrade:0
|
||||
msgid ""
|
||||
"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."
|
||||
msgstr ""
|
||||
msgstr "Lai redzētu jaunās izvēlnes, pārlādējiet logus (Ctrl+T tad Ctrl+R)."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_rule
|
||||
@@ -14720,7 +14726,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_vat
|
||||
msgid "VAT Number Validation"
|
||||
msgstr ""
|
||||
msgstr "PVN numura pārbaude"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,complete_name:0
|
||||
@@ -16443,3 +16449,73 @@ msgstr ""
|
||||
|
||||
#~ msgid "Administration Dashboard"
|
||||
#~ msgstr "Administrēšanas instrumentu panelis"
|
||||
|
||||
#~ msgid "Process"
|
||||
#~ msgstr "Apstrādāt"
|
||||
|
||||
#~ msgid "Website of Partner."
|
||||
#~ msgstr "Partnera Vietne"
|
||||
|
||||
#~ msgid "Set password"
|
||||
#~ msgstr "Uzstādīt paroli"
|
||||
|
||||
#~ msgid "Tools / Customization"
|
||||
#~ msgstr "Rīki / Pielāgošana"
|
||||
|
||||
#~ msgid "Calendar Layer"
|
||||
#~ msgstr "Kalendāra Skatījums"
|
||||
|
||||
#~ msgid "Error ! You cannot create recursive associated members."
|
||||
#~ msgstr "Kļūda! Nevar izveidot rekursīvus saistītos locekļus."
|
||||
|
||||
#~ msgid "Multi-Currency in Analytic"
|
||||
#~ msgstr "Multi-Valūtas Analītiskajos Kontos"
|
||||
|
||||
#~ msgid "Report Header / Company Slogan"
|
||||
#~ msgstr "Ziņojuma virsraksts / Firmas sauklis"
|
||||
|
||||
#~ msgid "Openerp web web"
|
||||
#~ msgstr "OpenERP WWW"
|
||||
|
||||
#~ msgid "Expenses Management"
|
||||
#~ msgstr "Izdevumi"
|
||||
|
||||
#~ msgid "Master Procurement Schedule"
|
||||
#~ msgstr "Automātisko Pasūtījumu Grafiks"
|
||||
|
||||
#~ msgid "HR Officer"
|
||||
#~ msgstr "Personāldaļas darbinieks"
|
||||
|
||||
#~ msgid "Openerp web Diagram view"
|
||||
#~ msgstr "OpenERP WWW Diagrammas skatījums"
|
||||
|
||||
#~ msgid "Receive User Feedback"
|
||||
#~ msgstr "Saņemt Lietotāju Atsauksmes"
|
||||
|
||||
#~ msgid "web Dashboard"
|
||||
#~ msgstr "WWW Instrumentu Panelis"
|
||||
|
||||
#~ msgid "Point Of Sale"
|
||||
#~ msgstr "Kases Iekārtas"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "Operation prohibited by access rules, or performed on an already deleted "
|
||||
#~ "document (Operation: read, Document type: %s)."
|
||||
#~ msgstr ""
|
||||
#~ "Operāciija ir aizliegta, vai arī tiek veikta dokumentam, kas jau ir dzēsts "
|
||||
#~ "(Operācija lasīt: Dokumenta tips %s)."
|
||||
|
||||
#~ msgid "web Gantt"
|
||||
#~ msgstr "Gant Skatījums"
|
||||
|
||||
#~ msgid "Web Chat"
|
||||
#~ msgstr "WWW Tērzētava"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "You can not create this document (%s) ! Be sure your user belongs to one of "
|
||||
#~ "these groups: %s."
|
||||
#~ msgstr ""
|
||||
#~ "Nevar izveidot dokumentu (%s) ! Pārbaudiet, vai lietotājs pieder kādai no "
|
||||
#~ "šīm grupām: %s."
|
||||
|
||||
@@ -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-11-23 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -10869,7 +10869,7 @@ msgstr "Bankrekeningen gerelateerd aan dit bedrijf"
|
||||
#: model:ir.ui.menu,name:base.menu_sales
|
||||
#: model:ir.ui.menu,name:base.next_id_64
|
||||
msgid "Sales"
|
||||
msgstr "Verkoop"
|
||||
msgstr "Verkopen"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,child_ids: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-11-23 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
||||
@@ -9,13 +9,13 @@ msgstr ""
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-12-16 22:18+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\n"
|
||||
"<webmaster@zupy.com.br>\n"
|
||||
"Language-Team: <pt@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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -211,14 +211,14 @@ msgid ""
|
||||
"reports."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Genereaza Facturi din Cheltuieli, Inregistrari ale Fiselor de Pontaj.\n"
|
||||
"Generează Facturi din Cheltuieli, Înregistrări ale Fișelor de Pontaj.\n"
|
||||
"========================================================\n"
|
||||
"\n"
|
||||
"Modul pentru generarea facturilor pe baza costurilor (resurse umane, "
|
||||
"cheltuieli, ...).\n"
|
||||
"\n"
|
||||
"Puteti defini liste de preturi in contul analitic, puteti face unele raporte "
|
||||
"teoretice\n"
|
||||
"Puteți defini liste de preturi în contul analitic, puteți face unele "
|
||||
"rapoarte teoretice\n"
|
||||
"ale veniturilor."
|
||||
|
||||
#. module: base
|
||||
@@ -236,8 +236,8 @@ msgid ""
|
||||
"Properties of base fields cannot be altered in this manner! Please modify "
|
||||
"them through Python code, preferably through a custom addon!"
|
||||
msgstr ""
|
||||
"Proprietatile campurilor principale nu pot fi modificate in acest mod! Va "
|
||||
"rugam sa le modificati prin codul Python, preferabil printr-un addon "
|
||||
"Proprietățile câmpurilor principale nu pot fi modificate în acest mod! Vă "
|
||||
"rugăm sa le modificați prin codul Python, preferabil printr-un addon "
|
||||
"personalizat!"
|
||||
|
||||
#. module: base
|
||||
@@ -333,12 +333,12 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Search Partner"
|
||||
msgstr "Cauta Partener"
|
||||
msgstr "Caută Partener"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.category,module_nr:0
|
||||
msgid "Number of Modules"
|
||||
msgstr "Numar de Module"
|
||||
msgstr "Număr de module"
|
||||
|
||||
#. module: base
|
||||
#: help:multi_company.default,company_dest_id:0
|
||||
@@ -348,7 +348,7 @@ msgstr "Compania unde se pastreaza înregistrarea actuală"
|
||||
#. module: base
|
||||
#: field:res.partner.bank.type.field,size:0
|
||||
msgid "Max. Size"
|
||||
msgstr "Dimensiunea maxima"
|
||||
msgstr "Dimensiunea maximă"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,res_id:0
|
||||
@@ -379,7 +379,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: sql_constraint:res.lang:0
|
||||
msgid "The name of the language must be unique !"
|
||||
msgstr "Numele limbii trebuie sa fie unic !"
|
||||
msgstr "Numele limbii trebuie să fie unic !"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,state:0
|
||||
@@ -451,7 +451,7 @@ msgstr ""
|
||||
#: code:addons/orm.py:2649
|
||||
#, python-format
|
||||
msgid "Invalid group_by"
|
||||
msgstr "Grup invalid_dupa"
|
||||
msgstr "Grupare_După invalidă"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.category,child_ids:0
|
||||
@@ -499,7 +499,7 @@ msgstr "Configurare pași asistent"
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_ui_view_sc
|
||||
msgid "ir.ui.view_sc"
|
||||
msgstr "ir.ui.vizualizare_sc"
|
||||
msgstr "ir.ui.view_sc"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
@@ -1289,7 +1289,7 @@ msgstr "Principatul Andorra"
|
||||
#. module: base
|
||||
#: field:ir.rule,perm_read:0
|
||||
msgid "Apply for Read"
|
||||
msgstr "Se aplică pentru Citit"
|
||||
msgstr "Se aplică pentru citire"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mn
|
||||
@@ -2204,7 +2204,7 @@ msgstr "Timorul de Est"
|
||||
#: view:ir.module.module:0
|
||||
#, python-format
|
||||
msgid "Install"
|
||||
msgstr "Instalează"
|
||||
msgstr "Instalați"
|
||||
|
||||
#. module: base
|
||||
#: field:res.currency,accuracy:0
|
||||
@@ -2704,7 +2704,7 @@ msgstr "Bahamas"
|
||||
#. module: base
|
||||
#: field:ir.rule,perm_create:0
|
||||
msgid "Apply for Create"
|
||||
msgstr "Aplică pentru Creare"
|
||||
msgstr "Aplică pentru creare"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_tools
|
||||
@@ -3310,7 +3310,7 @@ msgstr "Raport RML"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_translation_export
|
||||
msgid "Import / Export"
|
||||
msgstr "Import / Export"
|
||||
msgstr "Importați / Exportați"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_sale
|
||||
@@ -3479,7 +3479,7 @@ msgstr "Letonia"
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
msgid "Field Mappings"
|
||||
msgstr "Aplicatii Camp"
|
||||
msgstr "Corespondențe câmp"
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
@@ -4557,7 +4557,7 @@ msgstr "Persoane"
|
||||
#. module: base
|
||||
#: view:base.language.import:0
|
||||
msgid "_Import"
|
||||
msgstr "_Importă"
|
||||
msgstr "_Importați"
|
||||
|
||||
#. module: base
|
||||
#: field:res.users,action_id:0
|
||||
@@ -5266,7 +5266,7 @@ msgstr ""
|
||||
#: model:ir.ui.menu,name:base.menu_res_lang_act_window
|
||||
#: view:res.lang:0
|
||||
msgid "Languages"
|
||||
msgstr "Limbi"
|
||||
msgstr "Limba"
|
||||
|
||||
#. module: base
|
||||
#: selection:workflow.activity,join_mode:0
|
||||
@@ -6122,7 +6122,7 @@ msgstr "Asistenta IT"
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_specific_industry_applications
|
||||
msgid "Specific Industry Applications"
|
||||
msgstr "Aplicatii Specifice Industriei"
|
||||
msgstr "Aplicații Specifice Industriei"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_google_docs
|
||||
@@ -6340,7 +6340,7 @@ msgstr "Nu poate fi cautat"
|
||||
#: view:ir.config_parameter:0
|
||||
#: field:ir.config_parameter,key:0
|
||||
msgid "Key"
|
||||
msgstr "Tastă"
|
||||
msgstr "Cheie"
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,rml_header:0
|
||||
@@ -6398,7 +6398,7 @@ msgstr "Plan de conturi SNC pentru Portugalia"
|
||||
#: view:ir.actions.report.xml:0
|
||||
#: model:ir.ui.menu,name:base.menu_security
|
||||
msgid "Security"
|
||||
msgstr "Siguranță"
|
||||
msgstr "Securitate"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -7050,7 +7050,7 @@ msgstr "ir.actions.act_url"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_translation_app
|
||||
msgid "Application Terms"
|
||||
msgstr "Termeni aplicație"
|
||||
msgstr "Termenii aplicației"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.open_module_tree
|
||||
@@ -8933,7 +8933,7 @@ msgstr "Cod judet"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_multilang
|
||||
msgid "Multi Language Chart of Accounts"
|
||||
msgstr "Plan de Conturi multi limbi"
|
||||
msgstr "Plan de Conturi multi limbă"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_gt
|
||||
@@ -9052,7 +9052,7 @@ msgstr "Contabilitate si Finante"
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Upgrade"
|
||||
msgstr "Actualizare"
|
||||
msgstr "Actualizați"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_base_action_rule
|
||||
@@ -9347,7 +9347,7 @@ msgstr "Burundi"
|
||||
#: view:base.module.configuration:0
|
||||
#: view:base.module.update:0
|
||||
msgid "Close"
|
||||
msgstr "Inchide"
|
||||
msgstr "Închideți"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
@@ -9570,7 +9570,7 @@ msgstr "Chineza (CN) / 简体中文"
|
||||
#. module: base
|
||||
#: field:ir.model.fields,selection:0
|
||||
msgid "Selection Options"
|
||||
msgstr "Optiuni de selectie"
|
||||
msgstr "Opțiuni de selecție"
|
||||
|
||||
#. module: base
|
||||
#: field:res.bank,street:0
|
||||
@@ -9808,7 +9808,7 @@ msgstr "init"
|
||||
#: view:res.partner:0
|
||||
#: field:res.partner,user_id:0
|
||||
msgid "Salesperson"
|
||||
msgstr "Agest de vanzari"
|
||||
msgstr "Agent de vânzări"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -9847,13 +9847,13 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p clasa=\"oe_vizualizare_niciuncontinut_creeaza\">\n"
|
||||
" Faceti click pentru a adauga un contact in agenda "
|
||||
"dumneavoastra.\n"
|
||||
"<p clasa=\"oe_view_nocontent_create\">\n"
|
||||
" Faceți clic pentru a adaugă un contact în agenda "
|
||||
"dumneavoastră.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP va ajuta sa tineti evidenta cu usurinta a tuturor "
|
||||
"activitatilor legate de\n"
|
||||
" un client: discutii, istoricul oportunitatilor de afaceri,\n"
|
||||
" OpenERP vă ajută să țineți evidența cu ușurință a tuturor "
|
||||
"activităților legate de\n"
|
||||
" un client: discuții, istoricul oportunităților de afaceri,\n"
|
||||
" documente, etc.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
@@ -10656,8 +10656,8 @@ msgid ""
|
||||
"If the selected language is loaded in the system, all documents related to "
|
||||
"this contact will be printed in this language. If not, it will be English."
|
||||
msgstr ""
|
||||
"Daca limba selectata este incarcata in sistem, toate documentele asociate "
|
||||
"acestui contact vor fi tiparite in aceasta limba. Daca nu, limba va fi "
|
||||
"Dacă limba selectata este încărcata în sistem, toate documentele asociate "
|
||||
"acestui contact vor fi tipărite în aceasta limba. Dacă nu, limba va fi "
|
||||
"engleza."
|
||||
|
||||
#. module: base
|
||||
@@ -10726,7 +10726,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_view_base_module_update
|
||||
msgid "Update Modules List"
|
||||
msgstr "Actualizati Lista de Module"
|
||||
msgstr "Actualizați lista de module"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:359
|
||||
@@ -10828,7 +10828,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment_use:0
|
||||
msgid "Reload from Attachment"
|
||||
msgstr "Reincarcati din Atasament"
|
||||
msgstr "Reîncarcați din Atașament"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mx
|
||||
@@ -10982,7 +10982,7 @@ msgstr "ID-ul vizualizarii definita in fisierul xml"
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_module_import
|
||||
msgid "Import Module"
|
||||
msgstr "Importati Modulul"
|
||||
msgstr "Importați Modulul"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.as
|
||||
@@ -11595,7 +11595,7 @@ msgstr "Tip de vizualizare"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.next_id_2
|
||||
msgid "User Interface"
|
||||
msgstr "Interfata Utilizator"
|
||||
msgstr "Interfață utilizator"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_byproduct
|
||||
@@ -11632,7 +11632,7 @@ msgstr "efectuat"
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
msgid "General Settings"
|
||||
msgstr "Configurari generale"
|
||||
msgstr "Configurări generale"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_in
|
||||
@@ -12526,7 +12526,7 @@ msgstr "Aceasta metoda nu mai exista"
|
||||
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
|
||||
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
|
||||
msgid "Synchronize Terms"
|
||||
msgstr "Sincronizati Termenii"
|
||||
msgstr "Sincronizați termenii"
|
||||
|
||||
#. module: base
|
||||
#: field:res.lang,thousands_sep:0
|
||||
@@ -12827,7 +12827,7 @@ msgstr "Conturile bancare asociate acestei companii"
|
||||
#: model:ir.ui.menu,name:base.menu_sales
|
||||
#: model:ir.ui.menu,name:base.next_id_64
|
||||
msgid "Sales"
|
||||
msgstr "Vanzari"
|
||||
msgstr "Vânzări"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,child_ids:0
|
||||
@@ -13074,7 +13074,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade
|
||||
#, python-format
|
||||
msgid "Apply Schedule Upgrade"
|
||||
msgstr "Aplica Programeaza Actualizarea"
|
||||
msgstr "Aplică actualizările planificate"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow.activity:0
|
||||
@@ -13444,7 +13444,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:base.module.import:0
|
||||
msgid "Import module"
|
||||
msgstr "Importati modulul"
|
||||
msgstr "Importați modulul"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,loop_action:0
|
||||
@@ -13745,10 +13745,10 @@ msgid ""
|
||||
"not connect to the system. You can assign them groups in order to give them "
|
||||
"specific access to the applications they need to use in the system."
|
||||
msgstr ""
|
||||
"Creati si gestionati utilizatori care se vor conecta la sistem. Utilizatorii "
|
||||
"pot fi dezactivati in caz ca exista o perioada de timp in care ei nu se "
|
||||
"conecteaza la sistem. Le puteti atribui grupuri pentru a le da acces "
|
||||
"specific la aplicatiile de care ei au nevoie in sistem."
|
||||
"Creați și gestionați utilizatori care se vor conecta la sistem. Utilizatorii "
|
||||
"pot fi dezactivați în caz că există o perioada de timp în care ei nu se "
|
||||
"conectează la sistem. Le puteți atribui grupuri pentru a le da acces "
|
||||
"specific la aplicațiile de care ei au nevoie în sistem."
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,priority:0
|
||||
@@ -13856,7 +13856,7 @@ msgstr "Declansati Configurarea"
|
||||
#. module: base
|
||||
#: view:base.language.install:0
|
||||
msgid "Load"
|
||||
msgstr "Incarca"
|
||||
msgstr "Încărcați"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_warning
|
||||
@@ -14298,7 +14298,7 @@ msgstr "Contactul nu a putut fi creat fara adresa de email !"
|
||||
#: model:ir.ui.menu,name:base.menu_mrp_config
|
||||
#: model:ir.ui.menu,name:base.menu_mrp_root
|
||||
msgid "Manufacturing"
|
||||
msgstr "Fabricatie"
|
||||
msgstr "Fabricație"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.km
|
||||
@@ -14931,7 +14931,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:base.action_view_base_import_language
|
||||
#: model:ir.ui.menu,name:base.menu_view_base_import_language
|
||||
msgid "Import Translation"
|
||||
msgstr "Importati Traducerea"
|
||||
msgstr "Importați Traducerea"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
@@ -15470,7 +15470,7 @@ msgstr "Grecia"
|
||||
#. module: base
|
||||
#: view:res.config:0
|
||||
msgid "Apply"
|
||||
msgstr "Aplicati"
|
||||
msgstr "Aplicați"
|
||||
|
||||
#. module: base
|
||||
#: field:res.request,trigger_date:0
|
||||
@@ -15542,7 +15542,7 @@ msgstr "ir.valori"
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_module_update
|
||||
msgid "Update Module"
|
||||
msgstr "Actualizati Modulul"
|
||||
msgstr "Actualizați modulul"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.fields:0
|
||||
@@ -16117,7 +16117,7 @@ msgstr "Administrare"
|
||||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Click on Update below to start the process..."
|
||||
msgstr "Faceti click pe Actualizare pentru a porni procesul..."
|
||||
msgstr "Faceți clic pe Actualizați pentru a porni procesul..."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ir
|
||||
@@ -16156,7 +16156,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: view:base.update.translations:0
|
||||
msgid "Synchronize Translation"
|
||||
msgstr "Sincronizati Traducerea"
|
||||
msgstr "Sincronizați traducerea"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner.bank:0
|
||||
@@ -16416,7 +16416,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,auto_refresh:0
|
||||
msgid "Auto-Refresh"
|
||||
msgstr "Actualizare automata"
|
||||
msgstr "Actualizare automată"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_product_expiry
|
||||
@@ -16699,7 +16699,7 @@ msgstr "Program de depistare Probleme"
|
||||
#: view:base.module.upgrade:0
|
||||
#: view:base.update.translations:0
|
||||
msgid "Update"
|
||||
msgstr "Actualizare"
|
||||
msgstr "Actualizați"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_plugin
|
||||
@@ -17452,7 +17452,7 @@ msgstr "Helpdesk (Serviciu de asistenta tehnica)"
|
||||
#. module: base
|
||||
#: field:ir.rule,perm_write:0
|
||||
msgid "Apply for Write"
|
||||
msgstr "Aplica pentru Scriere"
|
||||
msgstr "Aplicați pentru scriere"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,parent_left:0
|
||||
@@ -17558,7 +17558,7 @@ msgstr "Vizualizare :"
|
||||
#. module: base
|
||||
#: field:ir.model.fields,view_load:0
|
||||
msgid "View Auto-Load"
|
||||
msgstr "Vizualizare Incarcare Automata"
|
||||
msgstr "Vizualizare încarcare automată"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_et
|
||||
@@ -17607,7 +17607,7 @@ msgstr "Fisier Pictograma Web"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_view_base_module_upgrade
|
||||
msgid "Apply Scheduled Upgrades"
|
||||
msgstr "Aplica Actualizarile Planificate"
|
||||
msgstr "Aplică actualizările planificate"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_journal
|
||||
@@ -18572,7 +18572,7 @@ msgstr "Conditie"
|
||||
#: model:ir.actions.client,name:base.modules_updates_act_cl
|
||||
#: model:ir.ui.menu,name:base.menu_module_updates
|
||||
msgid "Updates"
|
||||
msgstr "Actualizari"
|
||||
msgstr "Actualizări"
|
||||
|
||||
#. module: base
|
||||
#: help:res.currency,rate:0
|
||||
@@ -18875,7 +18875,7 @@ msgid ""
|
||||
"Helps you manage your manufacturing processes and generate reports on those "
|
||||
"processes."
|
||||
msgstr ""
|
||||
"Va ajuta sa va administrati procesele de fabricatie si sa generati rapoarte "
|
||||
"Vă ajută să vă administrați procesele de fabricație și să generați rapoarte "
|
||||
"pentru aceste procese."
|
||||
|
||||
#. module: base
|
||||
@@ -19030,13 +19030,13 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<clasa p=\"oe_vizualizare_niciuncontinut_creeaza\">\n"
|
||||
" Faceti click pentru a adauga un contact in agenda "
|
||||
"dumneavoastra.\n"
|
||||
"<p clasa=\"oe_view_nocontent_create\">\n"
|
||||
" Faceți clic pentru a adaugă un contact în agenda "
|
||||
"dumneavoastră.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP va ajuta sa tineti evidenta cu usurinta a tuturor "
|
||||
"activitatilor asociate unui\n"
|
||||
" client; discutii, istoricul oportunitatilor de afaceri,\n"
|
||||
" OpenERP vă ajută să țineți evidența cu ușurință a tuturor "
|
||||
"activităților legate de\n"
|
||||
" un client: discuții, istoricul oportunităților de afaceri,\n"
|
||||
" documente, etc.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
@@ -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-11-23 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:39+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -11642,7 +11642,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"\n"
|
||||
"模块提供事件变更警告。\n"
|
||||
" ==============================================\n"
|
||||
"==============================================\n"
|
||||
"\n"
|
||||
"Warning messages can be displayed for objects like sale order, purchase "
|
||||
"order,\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-11-23 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\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-11-23 06:00+0000\n"
|
||||
"X-Generator: Launchpad (build 16831)\n"
|
||||
"X-Launchpad-Export-Date: 2013-12-19 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16872)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
@@ -50,7 +50,7 @@ msgstr "日期時間"
|
||||
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)」欄位 %s 之第二個引數須為 SQL 表格!您用了並非有效 SQL 表格名稱之 %s。"
|
||||
msgstr "「多對多(many2many)」欄位 %s 之第二個引數須為 SQL 表格!您輸入的 %s 並非有效 SQL 表格名稱。"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view,arch:0
|
||||
@@ -61,7 +61,7 @@ msgstr "檢視架構"
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_sale_stock
|
||||
msgid "Quotation, Sale Orders, Delivery & Invoicing Control"
|
||||
msgstr "報價, 銷售訂單, 交貨及發票管理"
|
||||
msgstr "報價單, 銷貨單, 發貨及發票管理"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.sequence,implementation: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 "店面用觸控螢幕界面"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||
@@ -122,15 +122,15 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"在產品表格中加入製造商及屬性之模組\n"
|
||||
"此模組在產品表單中加入製造商及屬性\n"
|
||||
"====================================================================\n"
|
||||
"\n"
|
||||
"您可以對一件產品做以下定義:\n"
|
||||
"您可以對產品定義以下內容:\n"
|
||||
"-----------------------------------------------\n"
|
||||
" * 製造商\n"
|
||||
" * 製造商的產品名稱\n"
|
||||
" * 製造商的產品代碼\n"
|
||||
" * 產品性質\n"
|
||||
" * 產品屬性\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
@@ -145,11 +145,14 @@ msgid ""
|
||||
"The module adds google user in res user.\n"
|
||||
"========================================\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"此模組將 Google 使用者加到 res user 中。\n"
|
||||
"========================================\n"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,employee:0
|
||||
msgid "Check this box if this contact is an Employee."
|
||||
msgstr "如果聯絡人是員工則請勾選"
|
||||
msgstr "如果聯絡人是員工則請勾選此項"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model.fields,domain:0
|
||||
@@ -232,7 +235,7 @@ msgstr "ir.ui.view.custom"
|
||||
#: code:addons/base/ir/ir_model.py:374
|
||||
#, python-format
|
||||
msgid "Renaming sparse field \"%s\" is not allowed"
|
||||
msgstr ""
|
||||
msgstr "不允許重新命名稀疏欄位「%s」"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sz
|
||||
@@ -286,6 +289,12 @@ msgid ""
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"智利會計科目及稅務在地化。\n"
|
||||
"==============================================\n"
|
||||
"Plan contable chileno e impuestos de acuerdo a disposiciones vigentes\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale
|
||||
@@ -324,7 +333,7 @@ msgstr "最大尺寸"
|
||||
msgid ""
|
||||
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||
"'form' only"
|
||||
msgstr ""
|
||||
msgstr "當「檢視模式」僅設為「表單」時,將開啟的紀錄的資料庫 ID"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.values,key2:0
|
||||
@@ -389,7 +398,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"There is already a shared filter set as default for %(model)s, delete or "
|
||||
"change it before setting a new default"
|
||||
msgstr ""
|
||||
msgstr "已有一共享的過濾器被設為 %(model)s 的預設過濾器。要設定新的預設過濾器前,請先修改或刪除原有預設過濾器。"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:2649
|
||||
@@ -465,7 +474,7 @@ msgstr "所指定為無效的日期/時間格式指示。請參照當您編寫
|
||||
msgid ""
|
||||
"One of the records you are trying to modify has already been deleted "
|
||||
"(Document type: %s)."
|
||||
msgstr ""
|
||||
msgstr "您要修改的紀錄已被刪除(文件類型: %s)。"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,views:0
|
||||
@@ -691,7 +700,7 @@ msgstr "自訂欄位名稱開頭必須是 'x_' !"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_mx
|
||||
msgid "Mexico - Accounting"
|
||||
msgstr ""
|
||||
msgstr "墨西哥 - 會計"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,action_id:0
|
||||
@@ -847,7 +856,7 @@ msgstr "自動化動作"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ro
|
||||
msgid "Romania - Accounting"
|
||||
msgstr ""
|
||||
msgstr "羅馬尼亞 - 會計"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_config_settings
|
||||
@@ -970,7 +979,7 @@ msgstr "報表類型,如 pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
||||
msgid "Shared Repositories (WebDAV)"
|
||||
msgstr ""
|
||||
msgstr "共享的儲存庫(WebDAV)"
|
||||
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
@@ -997,7 +1006,7 @@ msgstr "辛巴威"
|
||||
#: help:ir.model.constraint,type:0
|
||||
msgid ""
|
||||
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||
msgstr ""
|
||||
msgstr "限制條件類型:「f」為 foreign key ,「u」代表其他限制條件。"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
@@ -1092,7 +1101,7 @@ msgstr "請求參考類型"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_google_base_account
|
||||
msgid "Google Users"
|
||||
msgstr ""
|
||||
msgstr "Google 使用者"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||
@@ -1260,6 +1269,8 @@ msgid ""
|
||||
"Language with code \"%s\" is not defined in your system !\n"
|
||||
"Define it through the Administration menu."
|
||||
msgstr ""
|
||||
"您的系統中尚未定義語言代碼為「 %s 」的語言! \n"
|
||||
"請於管理者介面中定義。"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gu
|
||||
@@ -1269,7 +1280,7 @@ msgstr "關島(美屬)"
|
||||
#. module: base
|
||||
#: sql_constraint:res.country:0
|
||||
msgid "The name of the country must be unique !"
|
||||
msgstr ""
|
||||
msgstr "國家名稱必須為獨一無二的!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,installed_version:0
|
||||
@@ -1406,7 +1417,7 @@ msgid ""
|
||||
"suitable\n"
|
||||
" for uploading to OpenERP's translation "
|
||||
"platform,"
|
||||
msgstr ""
|
||||
msgstr "TGZ 格式:這是含有 PO 格式檔案的壓縮檔,適用於直接上傳至 OpenERP 的翻譯平台。"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -1430,7 +1441,7 @@ msgstr "測試"
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment:0
|
||||
msgid "Save as Attachment Prefix"
|
||||
msgstr ""
|
||||
msgstr "另存附件檔案的前綴字元"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,res_id:0
|
||||
@@ -1467,7 +1478,7 @@ msgstr "海地"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr_hr_payroll
|
||||
msgid "French Payroll"
|
||||
msgstr ""
|
||||
msgstr "法國薪資"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
@@ -1506,12 +1517,12 @@ msgstr "操作取消"
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document
|
||||
msgid "Document Management System"
|
||||
msgstr ""
|
||||
msgstr "文件管理系統"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||
msgid "Claims Management"
|
||||
msgstr ""
|
||||
msgstr "申訴管理"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_document_webdav
|
||||
@@ -13105,7 +13116,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll_account
|
||||
msgid "Belgium - Payroll with Accounting"
|
||||
msgstr ""
|
||||
msgstr "比利時 - 薪資(含會計)"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
||||
@@ -242,6 +242,8 @@ class ir_attachment(osv.osv):
|
||||
# performed in batch as much as possible.
|
||||
ima = self.pool.get('ir.model.access')
|
||||
for model, targets in model_attachments.iteritems():
|
||||
if model not in self.pool:
|
||||
continue
|
||||
if not ima.check(cr, uid, model, 'read', False):
|
||||
# remove all corresponding attachment ids
|
||||
for attach_id in itertools.chain(*targets.values()):
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#----------------------------------------------------------
|
||||
import logging
|
||||
import re
|
||||
import sys
|
||||
|
||||
import werkzeug.exceptions
|
||||
import werkzeug.routing
|
||||
@@ -74,8 +75,7 @@ class ir_http(osv.AbstractModel):
|
||||
request.disable_db = True
|
||||
request.uid = None
|
||||
|
||||
def _authenticate(self, func, arguments):
|
||||
auth_method = getattr(func, "auth", "user")
|
||||
def _authenticate(self, auth_method='user'):
|
||||
if request.session.uid:
|
||||
try:
|
||||
request.session.check_security()
|
||||
@@ -87,13 +87,16 @@ class ir_http(osv.AbstractModel):
|
||||
getattr(self, "_auth_method_%s" % auth_method)()
|
||||
return auth_method
|
||||
|
||||
def _handle_404(self, exception):
|
||||
raise exception
|
||||
def _handle_exception(self, exception):
|
||||
if isinstance(exception, openerp.exceptions.AccessError):
|
||||
code = 403
|
||||
else:
|
||||
code = getattr(exception, 'code', 500)
|
||||
|
||||
def _handle_403(self, exception):
|
||||
raise exception
|
||||
fn = getattr(self, '_handle_%d' % code, self._handle_unknown_exception)
|
||||
return fn(exception)
|
||||
|
||||
def _handle_500(self, exception):
|
||||
def _handle_unknown_exception(self, exception):
|
||||
raise exception
|
||||
|
||||
def _dispatch(self):
|
||||
@@ -101,13 +104,16 @@ class ir_http(osv.AbstractModel):
|
||||
try:
|
||||
func, arguments = self._find_handler()
|
||||
except werkzeug.exceptions.NotFound, e:
|
||||
return self._handle_404(e)
|
||||
return self._handle_exception(e)
|
||||
|
||||
# check authentication level
|
||||
try:
|
||||
auth_method = self._authenticate(func, arguments)
|
||||
except werkzeug.exceptions.NotFound, e:
|
||||
return self._handle_403(e)
|
||||
auth_method = self._authenticate(getattr(func, "auth", None))
|
||||
except Exception:
|
||||
# force a Forbidden exception with the original traceback
|
||||
return self._handle_exception(
|
||||
convert_exception_to(
|
||||
werkzeug.exceptions.Forbidden))
|
||||
|
||||
# post process arg to set uid on browse records
|
||||
for arg in arguments.itervalues():
|
||||
@@ -121,9 +127,7 @@ class ir_http(osv.AbstractModel):
|
||||
if isinstance(result, Exception):
|
||||
raise result
|
||||
except Exception, e:
|
||||
fn = getattr(self, '_handle_%s' % getattr(e, 'code', 500),
|
||||
self._handle_500)
|
||||
return fn(e)
|
||||
return self._handle_exception(e)
|
||||
|
||||
return result
|
||||
|
||||
@@ -139,4 +143,29 @@ class ir_http(osv.AbstractModel):
|
||||
|
||||
return self._routing_map
|
||||
|
||||
def convert_exception_to(to_type, with_message=False):
|
||||
""" Should only be called from an exception handler. Fetches the current
|
||||
exception data from sys.exc_info() and creates a new exception of type
|
||||
``to_type`` with the original traceback.
|
||||
|
||||
If ``with_message`` is ``True``, sets the new exception's message to be
|
||||
the stringification of the original exception. If ``False``, does not
|
||||
set the new exception's message. Otherwise, uses ``with_message`` as the
|
||||
new exception's message.
|
||||
|
||||
:type with_message: str|bool
|
||||
"""
|
||||
etype, original, tb = sys.exc_info()
|
||||
try:
|
||||
if with_message is False:
|
||||
message = None
|
||||
elif with_message is True:
|
||||
message = str(original)
|
||||
else:
|
||||
message = str(with_message)
|
||||
|
||||
raise to_type, message, tb
|
||||
except to_type, e:
|
||||
return e
|
||||
|
||||
# vim:et:
|
||||
|
||||
@@ -425,7 +425,7 @@ class ir_translation(osv.osv):
|
||||
"""
|
||||
return ir_translation_import_cursor(cr, uid, self, context=context)
|
||||
|
||||
def load(self, cr, modules, langs, context=None):
|
||||
def load_module_terms(self, cr, modules, langs, context=None):
|
||||
context = dict(context or {}) # local copy
|
||||
for module_name in modules:
|
||||
modpath = openerp.modules.get_module_path(module_name)
|
||||
|
||||
@@ -759,7 +759,7 @@ class module(osv.osv):
|
||||
elif not isinstance(filter_lang, (list, tuple)):
|
||||
filter_lang = [filter_lang]
|
||||
modules = [m.name for m in self.browse(cr, uid, ids) if m.state == 'installed']
|
||||
self.pool.get('ir.translation').load(cr, modules, filter_lang, context=context)
|
||||
self.pool.get('ir.translation').load_module_terms(cr, modules, filter_lang, context=context)
|
||||
|
||||
def check(self, cr, uid, ids, context=None):
|
||||
for mod in self.browse(cr, uid, ids, context=context):
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<!--logo-->
|
||||
<fill color="black"/>
|
||||
<stroke color="black"/>
|
||||
<setFont name="DejaVu Sans" size="8"/>
|
||||
<setFont name="DejaVuSans" size="8"/>
|
||||
<drawString x="1.3cm" y="19.5cm"><xsl:value-of select="//header-date"/></drawString>
|
||||
<setFont name="DejaVu Sans Bold" size="10"/>
|
||||
<setFont name="DejaVuSans-Bold" size="10"/>
|
||||
<drawString x="13.8cm" y="19.5cm"><xsl:value-of select="//company"/></drawString>
|
||||
<stroke color="#000000"/>
|
||||
<lines size="8">1.3cm 19.3cm 28.5cm 19.3cm</lines>
|
||||
|
||||
@@ -27,7 +27,6 @@ from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
from openerp.tools.safe_eval import safe_eval as eval
|
||||
from openerp.tools import image_resize_image
|
||||
from openerp.report.render.rml2pdf import customfonts
|
||||
|
||||
class multi_company_default(osv.osv):
|
||||
"""
|
||||
@@ -183,17 +182,20 @@ class res_company(osv.osv):
|
||||
|
||||
def onchange_font_name(self, cr, uid, ids, font, rml_header, rml_header2, rml_header3, context=None):
|
||||
""" To change default header style of all <para> and drawstring. """
|
||||
|
||||
|
||||
def _change_header(header,font):
|
||||
""" Replace default fontname use in header and setfont tag """
|
||||
|
||||
default_para = re.sub('fontName.?=.?".*"', 'fontName="%s"'% font,header)
|
||||
return re.sub('(<setFont.?name.?=.?)(".*?")(.)', '\g<1>"%s"\g<3>'% font,default_para)
|
||||
default_para = re.sub('fontName.?=.?".*"', 'fontName="%s"'% font, header)
|
||||
return re.sub('(<setFont.?name.?=.?)(".*?")(.)', '\g<1>"%s"\g<3>'% font, default_para)
|
||||
|
||||
if not font:
|
||||
return True
|
||||
fontname = self.pool.get('res.font').browse(cr, uid, font, context=context).name
|
||||
return {'value':{
|
||||
'rml_header': _change_header(rml_header,fontname),
|
||||
'rml_header2':_change_header(rml_header2,fontname),
|
||||
'rml_header3':_change_header(rml_header3,fontname)
|
||||
'rml_header': _change_header(rml_header, fontname),
|
||||
'rml_header2':_change_header(rml_header2, fontname),
|
||||
'rml_header3':_change_header(rml_header3, fontname)
|
||||
}}
|
||||
|
||||
def on_change_country(self, cr, uid, ids, country_id, context=None):
|
||||
@@ -294,12 +296,8 @@ class res_company(osv.osv):
|
||||
|
||||
def _get_font(self, cr, uid, ids):
|
||||
font_obj = self.pool.get('res.font')
|
||||
res = font_obj.search(cr, uid, [('name', '=', 'Helvetica')], limit=1)
|
||||
if res:
|
||||
return res[0]
|
||||
|
||||
font_obj.init_no_scan(cr, uid)
|
||||
return font_obj.search(cr, uid, [('name', '=', 'Helvetica')], limit=1)[0]
|
||||
res = font_obj.search(cr, uid, [('family', '=', 'Helvetica'), ('mode', '=', 'all')], limit=1)
|
||||
return res and res[0] or False
|
||||
|
||||
_header = """
|
||||
<header>
|
||||
@@ -307,20 +305,20 @@ class res_company(osv.osv):
|
||||
<frame id="first" x1="28.0" y1="28.0" width="%s" height="%s"/>
|
||||
<stylesheet>
|
||||
<!-- Set here the default font to use for all <para> tags -->
|
||||
<paraStyle name='Normal' fontName="DejaVu Sans"/>
|
||||
<paraStyle name='Normal' fontName="DejaVuSans"/>
|
||||
</stylesheet>
|
||||
<pageGraphics>
|
||||
<fill color="black"/>
|
||||
<stroke color="black"/>
|
||||
<setFont name="DejaVu Sans" size="8"/>
|
||||
<setFont name="DejaVuSans" size="8"/>
|
||||
<drawString x="%s" y="%s"> [[ formatLang(time.strftime("%%Y-%%m-%%d"), date=True) ]] [[ time.strftime("%%H:%%M") ]]</drawString>
|
||||
<setFont name="DejaVu Sans Bold" size="10"/>
|
||||
<setFont name="DejaVuSans-Bold" size="10"/>
|
||||
<drawCentredString x="%s" y="%s">[[ company.partner_id.name ]]</drawCentredString>
|
||||
<stroke color="#000000"/>
|
||||
<lines>%s</lines>
|
||||
<!-- Set here the default font to use for all <drawString> tags -->
|
||||
<!-- don't forget to change the 2 other occurence of <setFont> above if needed -->
|
||||
<setFont name="DejaVu Sans" size="8"/>
|
||||
<setFont name="DejaVuSans" size="8"/>
|
||||
</pageGraphics>
|
||||
</pageTemplate>
|
||||
</header>"""
|
||||
@@ -345,13 +343,13 @@ class res_company(osv.osv):
|
||||
<frame id="first" x1="1.3cm" y1="3.0cm" height="%s" width="19.0cm"/>
|
||||
<stylesheet>
|
||||
<!-- Set here the default font to use for all <para> tags -->
|
||||
<paraStyle name='Normal' fontName="DejaVu Sans"/>
|
||||
<paraStyle name='Normal' fontName="DejaVuSans"/>
|
||||
<paraStyle name="main_footer" fontSize="8.0" alignment="CENTER"/>
|
||||
<paraStyle name="main_header" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<pageGraphics>
|
||||
<!-- Set here the default font to use for all <drawString> tags -->
|
||||
<setFont name="DejaVu Sans" size="8"/>
|
||||
<setFont name="DejaVuSans" size="8"/>
|
||||
<!-- You Logo - Change X,Y,Width and Height -->
|
||||
<image x="1.3cm" y="%s" height="40.0" >[[ company.logo or removeParentNode('image') ]]</image>
|
||||
<fill color="black"/>
|
||||
@@ -396,7 +394,7 @@ class res_company(osv.osv):
|
||||
return {'value': {'rml_header': self._header_a4}}
|
||||
|
||||
def act_discover_fonts(self, cr, uid, ids, context=None):
|
||||
return self.pool.get("res.font").discover_fonts(cr, uid, ids, context)
|
||||
return self.pool.get("res.font").font_scan(cr, uid, context=context)
|
||||
|
||||
_defaults = {
|
||||
'currency_id': _get_euro,
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
<label for="font" />
|
||||
<div>
|
||||
<div>
|
||||
<field name="font" class="oe_inline" colspan="2" on_change="onchange_font_name(font, rml_header, rml_header2, rml_header3)"/>
|
||||
<field name="font" class="oe_inline" colspan="2" on_change="onchange_font_name(font, rml_header, rml_header2, rml_header3)" domain="[('mode', 'in', ('normal', 'regular', 'all', 'book'))]" />
|
||||
<button string="(reload fonts)" name="act_discover_fonts" type="object" class="oe_link" colspan="1"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
# Copyright (C) 2013 OpenERP SA (<http://openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@@ -20,6 +20,7 @@
|
||||
##############################################################################
|
||||
|
||||
from reportlab.pdfbase import ttfonts
|
||||
from openerp.modules.registry import RegistryManager
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.report.render.rml2pdf import customfonts
|
||||
|
||||
@@ -40,57 +41,75 @@ _logger = logging.getLogger(__name__)
|
||||
class res_font(osv.Model):
|
||||
_name = "res.font"
|
||||
_description = 'Fonts available'
|
||||
_order = 'name'
|
||||
_order = 'family,name,id'
|
||||
_rec_name = 'family'
|
||||
|
||||
_columns = {
|
||||
'name': fields.char("Name", required=True),
|
||||
'family': fields.char("Font family", required=True),
|
||||
'name': fields.char("Font Name", required=True),
|
||||
'path': fields.char("Path", required=True),
|
||||
'mode': fields.char("Mode", required=True),
|
||||
}
|
||||
|
||||
_sql_constraints = [
|
||||
('name_font_uniq', 'unique(name)', 'You can not register two fonts with the same name'),
|
||||
('name_font_uniq', 'unique(family, name)', 'You can not register two fonts with the same name'),
|
||||
]
|
||||
|
||||
def discover_fonts(self, cr, uid, ids, context=None):
|
||||
"""Scan fonts on the file system, add them to the list of known fonts
|
||||
and create font object for the new ones"""
|
||||
customfonts.CustomTTFonts = customfonts.BaseCustomTTFonts
|
||||
def font_scan(self, cr, uid, lazy=False, context=None):
|
||||
"""Action of loading fonts
|
||||
In lazy mode will scan the filesystem only if there is no founts in the database and sync if no font in CustomTTFonts
|
||||
In not lazy mode will force scan filesystem and sync
|
||||
"""
|
||||
if lazy:
|
||||
# lazy loading, scan only if no fonts in db
|
||||
found_fonts_ids = self.search(cr, uid, [('path', '!=', '/dev/null')], context=context)
|
||||
if not found_fonts_ids:
|
||||
# no scan yet or no font found on the system, scan the filesystem
|
||||
self._scan_disk(cr, uid, context=context)
|
||||
elif len(customfonts.CustomTTFonts) == 0:
|
||||
# CustomTTFonts list is empty
|
||||
self._sync(cr, uid, context=context)
|
||||
else:
|
||||
self._scan_disk(cr, uid, context=context)
|
||||
return True
|
||||
|
||||
found_fonts = {}
|
||||
def _scan_disk(self, cr, uid, context=None):
|
||||
"""Scan the file system and register the result in database"""
|
||||
found_fonts = []
|
||||
for font_path in customfonts.list_all_sysfonts():
|
||||
try:
|
||||
font = ttfonts.TTFontFile(font_path)
|
||||
_logger.debug("Found font %s at %s", font.name, font_path)
|
||||
if not found_fonts.get(font.familyName):
|
||||
found_fonts[font.familyName] = {'name': font.familyName}
|
||||
|
||||
mode = font.styleName.lower().replace(" ", "")
|
||||
|
||||
customfonts.CustomTTFonts.append((font.familyName, font.name, font_path, mode))
|
||||
found_fonts.append((font.familyName, font.name, font_path, font.styleName))
|
||||
except ttfonts.TTFError:
|
||||
_logger.warning("Could not register Font %s", font_path)
|
||||
|
||||
# add default PDF fonts
|
||||
for family in customfonts.BasePDFFonts:
|
||||
if not found_fonts.get(family):
|
||||
found_fonts[family] = {'name': family}
|
||||
for family, name, path, mode in found_fonts:
|
||||
if not self.search(cr, uid, [('family', '=', family), ('name', '=', name)], context=context):
|
||||
self.create(cr, uid, {
|
||||
'family': family, 'name': name,
|
||||
'path': path, 'mode': mode,
|
||||
}, context=context)
|
||||
|
||||
# remove deleted fonts
|
||||
existing_font_ids = self.search(cr, uid, [], context=context)
|
||||
existing_font_names = []
|
||||
for font in self.browse(cr, uid, existing_font_ids):
|
||||
existing_font_names.append(font.name)
|
||||
if font.name not in found_fonts.keys():
|
||||
self.unlink(cr, uid, font.id, context=context)
|
||||
# remove fonts not present on the disk anymore
|
||||
existing_font_names = [name for (family, name, path, mode) in found_fonts]
|
||||
inexistant_fonts = self.search(cr, uid, [('name', 'not in', existing_font_names), ('path', '!=', '/dev/null')], context=context)
|
||||
if inexistant_fonts:
|
||||
self.unlink(cr, uid, inexistant_fonts, context=context)
|
||||
|
||||
# add unknown fonts
|
||||
for family, vals in found_fonts.items():
|
||||
if family not in existing_font_names:
|
||||
self.create(cr, uid, vals, context=context)
|
||||
RegistryManager.signal_caches_change(cr.dbname)
|
||||
self._sync(cr, uid, context=context)
|
||||
return True
|
||||
|
||||
def init_no_scan(self, cr, uid, context=None):
|
||||
"""Add demo data for PDF fonts without scan (faster for db creation)"""
|
||||
for font in customfonts.BasePDFFonts:
|
||||
if not self.search(cr, uid, [('name', '=', font)], context=context):
|
||||
self.create(cr, uid, {'name':font}, context=context)
|
||||
return True
|
||||
def _sync(self, cr, uid, context=None):
|
||||
"""Set the customfonts.CustomTTFonts list to the content of the database"""
|
||||
customfonts.CustomTTFonts = []
|
||||
found_fonts_ids = self.search(cr, uid, [('path', '!=', '/dev/null')], context=context)
|
||||
for font in self.browse(cr, uid, found_fonts_ids, context=None):
|
||||
customfonts.CustomTTFonts.append((font.family, font.name, font.path, font.mode))
|
||||
return True
|
||||
|
||||
def clear_caches(self):
|
||||
"""Force worker to resync at next report loading by setting an empty font list"""
|
||||
customfonts.CustomTTFonts = []
|
||||
return super(res_font, self).clear_caches()
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
|
||||
<xsl:variable name="initial_bottom_pos">20.5</xsl:variable>
|
||||
<xsl:variable name="initial_left_pos">1</xsl:variable>
|
||||
<xsl:variable name="height_increment">6.5</xsl:variable>
|
||||
<xsl:variable name="width_increment">10</xsl:variable>
|
||||
<xsl:variable name="frame_height">5.5cm</xsl:variable>
|
||||
<xsl:variable name="frame_width">10cm</xsl:variable>
|
||||
<xsl:variable name="number_columns">2</xsl:variable>
|
||||
<xsl:variable name="max_frames">8</xsl:variable>
|
||||
<xsl:variable name="initial_bottom_pos">24.5</xsl:variable>
|
||||
<xsl:variable name="initial_left_pos">0.5</xsl:variable>
|
||||
<xsl:variable name="height_increment">3.5</xsl:variable>
|
||||
<xsl:variable name="width_increment">7</xsl:variable>
|
||||
<xsl:variable name="frame_height">3.7cm</xsl:variable>
|
||||
<xsl:variable name="frame_width">7cm</xsl:variable>
|
||||
<xsl:variable name="number_columns">3</xsl:variable>
|
||||
<xsl:variable name="max_frames">24</xsl:variable>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:apply-templates select="addresses"/>
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Users" version="7.0">
|
||||
<field name="image" widget='image' class="oe_right oe_avatar" options='{"preview_image": "image_small"}'/>
|
||||
<field name="image" readonly="0" widget='image' class="oe_right oe_avatar" options='{"preview_image": "image_small"}'/>
|
||||
<h1>
|
||||
<field name="name" readonly="1" class="oe_inline"/>
|
||||
</h1>
|
||||
|
||||
@@ -663,6 +663,7 @@
|
||||
<rng:optional><rng:attribute name="string" /></rng:optional>
|
||||
<rng:optional><rng:attribute name="orientation" /></rng:optional>
|
||||
<rng:optional><rng:attribute name="type" /></rng:optional>
|
||||
<rng:optional><rng:attribute name="stacked" /></rng:optional>
|
||||
<rng:optional><rng:attribute name="color"/></rng:optional>
|
||||
<rng:oneOrMore>
|
||||
<rng:ref name="field"/>
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
"access_ir_values_group_all","ir_values group_all","model_ir_values",,1,1,1,1
|
||||
"access_res_company_group_erp_manager","res_company group_erp_manager","model_res_company","group_erp_manager",1,1,1,1
|
||||
"access_res_company_group_user","res_company group_user","model_res_company",,1,0,0,0
|
||||
"access_res_font_group_erp_manager","res_font group_erp_manager","model_res_font","group_erp_manager",1,1,1,1
|
||||
"access_res_font_group_all","res_font group_all","model_res_font",,1,0,0,0
|
||||
"access_res_country_group_all","res_country group_user_all","model_res_country",,1,0,0,0
|
||||
"access_res_country_state_group_all","res_country_state group_user_all","model_res_country_state",,1,0,0,0
|
||||
"access_res_country_group_user","res_country group_user","model_res_country","group_partner_manager",1,1,1,1
|
||||
|
||||
|
@@ -311,7 +311,7 @@ class test_translation(common.TransactionCase):
|
||||
self.res_category = self.registry('res.partner.category')
|
||||
self.ir_translation = self.registry('ir.translation')
|
||||
cr, uid = self.cr, self.uid
|
||||
self.registry('ir.translation').load(cr, ['base'], ['fr_FR'])
|
||||
self.registry('ir.translation').load_module_terms(cr, ['base'], ['fr_FR'])
|
||||
self.cat_id = self.res_category.create(cr, uid, {'name': 'Customers'})
|
||||
self.ir_translation.create(cr, uid, {'name': 'res.partner.category,name', 'module':'base',
|
||||
'value': 'Clients', 'res_id': self.cat_id, 'lang':'fr_FR', 'state':'translated', 'type': 'model'})
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
from functools import partial
|
||||
import unittest2
|
||||
|
||||
import lxml.etree
|
||||
from lxml.builder import E
|
||||
|
||||
import openerp.tests.common as common
|
||||
from openerp.osv.orm import except_orm
|
||||
from openerp.tools import mute_logger
|
||||
@@ -8,7 +11,7 @@ from openerp.tools import mute_logger
|
||||
class test_views(common.TransactionCase):
|
||||
|
||||
@mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view')
|
||||
def test_00_init_check_views(self):
|
||||
def test_whatever(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
|
||||
self.assertTrue(Views.pool._init)
|
||||
@@ -40,7 +43,7 @@ class test_views(common.TransactionCase):
|
||||
""",
|
||||
})
|
||||
|
||||
def test_20_remove_unexisting_attribute(self):
|
||||
def test_nonexistent_attribute_removal(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
Views.create(self.cr, self.uid, {
|
||||
'name': 'Test View',
|
||||
@@ -65,7 +68,7 @@ class test_views(common.TransactionCase):
|
||||
self.cr.execute(query, kw)
|
||||
return self.cr.fetchone()[0]
|
||||
|
||||
def test_10_validate_custom_views(self):
|
||||
def test_custom_view_validation(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
model = 'ir.actions.act_url'
|
||||
|
||||
@@ -113,6 +116,139 @@ class test_views(common.TransactionCase):
|
||||
with mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view'):
|
||||
self.assertFalse(validate()) # bad inherited view
|
||||
|
||||
def test_view_inheritance(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
|
||||
v1 = Views.create(self.cr, self.uid, {
|
||||
'name': "bob",
|
||||
'model': 'ir.ui.view',
|
||||
'arch': """
|
||||
<form string="Base title" version="7.0">
|
||||
<separator string="separator" colspan="4"/>
|
||||
<footer>
|
||||
<button name="action_next" type="object" string="Next button"/>
|
||||
or
|
||||
<button string="Skip" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
"""
|
||||
})
|
||||
v2 = Views.create(self.cr, self.uid, {
|
||||
'name': "edmund",
|
||||
'model': 'ir.ui.view',
|
||||
'inherit_id': v1,
|
||||
'arch': """
|
||||
<data>
|
||||
<form position="attributes" version="7.0">
|
||||
<attribute name="string">Replacement title</attribute>
|
||||
</form>
|
||||
<footer position="replace">
|
||||
<footer>
|
||||
<button name="action_next" type="object" string="New button"/>
|
||||
</footer>
|
||||
</footer>
|
||||
<separator string="separator" position="replace">
|
||||
<p>Replacement data</p>
|
||||
</separator>
|
||||
</data>
|
||||
"""
|
||||
})
|
||||
v3 = Views.create(self.cr, self.uid, {
|
||||
'name': 'jake',
|
||||
'model': 'ir.ui.view',
|
||||
'inherit_id': v1,
|
||||
'priority': 17,
|
||||
'arch': """
|
||||
<footer position="attributes">
|
||||
<attribute name="thing">bob</attribute>
|
||||
</footer>
|
||||
"""
|
||||
})
|
||||
|
||||
view = self.registry('ir.ui.view').fields_view_get(
|
||||
self.cr, self.uid, v2, view_type='form', context={
|
||||
# fucking what?
|
||||
'check_view_ids': [v2, v3]
|
||||
})
|
||||
self.assertEqual(view['type'], 'form')
|
||||
self.assertEqual(
|
||||
lxml.etree.tostring(lxml.etree.fromstring(
|
||||
view['arch'],
|
||||
parser=lxml.etree.XMLParser(remove_blank_text=True)
|
||||
)),
|
||||
'<form string="Replacement title" version="7.0">'
|
||||
'<p>Replacement data</p>'
|
||||
'<footer thing="bob">'
|
||||
'<button name="action_next" type="object" string="New button"/>'
|
||||
'</footer>'
|
||||
'</form>')
|
||||
|
||||
def test_view_inheritance_divergent_models(self):
|
||||
Views = self.registry('ir.ui.view')
|
||||
|
||||
v1 = Views.create(self.cr, self.uid, {
|
||||
'name': "bob",
|
||||
'model': 'ir.ui.view.custom',
|
||||
'arch': """
|
||||
<form string="Base title" version="7.0">
|
||||
<separator string="separator" colspan="4"/>
|
||||
<footer>
|
||||
<button name="action_next" type="object" string="Next button"/>
|
||||
or
|
||||
<button string="Skip" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
"""
|
||||
})
|
||||
v2 = Views.create(self.cr, self.uid, {
|
||||
'name': "edmund",
|
||||
'model': 'ir.ui.view',
|
||||
'inherit_id': v1,
|
||||
'arch': """
|
||||
<data>
|
||||
<form position="attributes" version="7.0">
|
||||
<attribute name="string">Replacement title</attribute>
|
||||
</form>
|
||||
<footer position="replace">
|
||||
<footer>
|
||||
<button name="action_next" type="object" string="New button"/>
|
||||
</footer>
|
||||
</footer>
|
||||
<separator string="separator" position="replace">
|
||||
<p>Replacement data</p>
|
||||
</separator>
|
||||
</data>
|
||||
"""
|
||||
})
|
||||
v3 = Views.create(self.cr, self.uid, {
|
||||
'name': 'jake',
|
||||
'model': 'ir.ui.menu',
|
||||
'inherit_id': v1,
|
||||
'priority': 17,
|
||||
'arch': """
|
||||
<footer position="attributes">
|
||||
<attribute name="thing">bob</attribute>
|
||||
</footer>
|
||||
"""
|
||||
})
|
||||
|
||||
view = self.registry('ir.ui.view').fields_view_get(
|
||||
self.cr, self.uid, v2, view_type='form', context={
|
||||
# fucking what?
|
||||
'check_view_ids': [v2, v3]
|
||||
})
|
||||
self.assertEqual(view['type'], 'form')
|
||||
self.assertEqual(
|
||||
lxml.etree.tostring(lxml.etree.fromstring(
|
||||
view['arch'],
|
||||
parser=lxml.etree.XMLParser(remove_blank_text=True)
|
||||
)),
|
||||
'<form string="Replacement title" version="7.0">'
|
||||
'<p>Replacement data</p>'
|
||||
'<footer>'
|
||||
'<button name="action_next" type="object" string="New button"/>'
|
||||
'</footer>'
|
||||
'</form>')
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest2.main()
|
||||
|
||||
+74
-75
@@ -3,7 +3,6 @@
|
||||
# OpenERP HTTP layer
|
||||
#----------------------------------------------------------
|
||||
import ast
|
||||
import cgi
|
||||
import collections
|
||||
import contextlib
|
||||
import errno
|
||||
@@ -36,13 +35,20 @@ import werkzeug.wsgi
|
||||
|
||||
import openerp
|
||||
from openerp.service import security, model as service_model
|
||||
from openerp.tools import config
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
#----------------------------------------------------------
|
||||
# RequestHandler
|
||||
#----------------------------------------------------------
|
||||
# Thread local global request object
|
||||
_request_stack = werkzeug.local.LocalStack()
|
||||
|
||||
request = _request_stack()
|
||||
"""
|
||||
A global proxy that always redirect to the current request object.
|
||||
"""
|
||||
|
||||
class WebRequest(object):
|
||||
""" Parent class for all OpenERP Web request types, mostly deals with
|
||||
initialization and setup of the request object (the dispatching itself has
|
||||
@@ -138,11 +144,24 @@ class WebRequest(object):
|
||||
trying to access this property will raise an exception.
|
||||
"""
|
||||
# some magic to lazy create the cr
|
||||
if not self._cr_cm:
|
||||
self._cr_cm = self.registry.cursor()
|
||||
self._cr = self._cr_cm.__enter__()
|
||||
if not self._cr:
|
||||
self._cr = self.registry.db.cursor()
|
||||
return self._cr
|
||||
|
||||
def __enter__(self):
|
||||
_request_stack.push(self)
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_value, traceback):
|
||||
_request_stack.pop()
|
||||
if self._cr:
|
||||
if exc_type is None:
|
||||
self._cr.commit()
|
||||
self._cr.close()
|
||||
# just to be sure no one tries to re-use the request
|
||||
self.disable_db = True
|
||||
self.uid = None
|
||||
|
||||
def set_handler(self, func, arguments, auth):
|
||||
# is this needed ?
|
||||
arguments = dict((k, v) for k, v in arguments.iteritems()
|
||||
@@ -154,39 +173,30 @@ class WebRequest(object):
|
||||
self.auth_method = auth
|
||||
|
||||
def _call_function(self, *args, **kwargs):
|
||||
request = self
|
||||
if self.func_request_type != self._request_type:
|
||||
raise Exception("%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" \
|
||||
% (self.func, self.httprequest.path, self.func_request_type, self._request_type))
|
||||
|
||||
kwargs.update(self.func_arguments)
|
||||
|
||||
# Backward for 7.0
|
||||
if getattr(self.func, '_first_arg_is_req', False):
|
||||
args = (request,) + args
|
||||
# Correct exception handling and concurency retry
|
||||
@service_model.check
|
||||
def checked_call(dbname, *a, **kw):
|
||||
return self.func(*a, **kw)
|
||||
|
||||
# FIXME: code and rollback management could be cleaned
|
||||
try:
|
||||
# ugly syntax only to get the __exit__ arguments to pass to self._cr
|
||||
request = self
|
||||
class with_obj(object):
|
||||
def __enter__(self):
|
||||
pass
|
||||
def __exit__(self, *args):
|
||||
if request._cr_cm:
|
||||
request._cr_cm.__exit__(*args)
|
||||
request._cr_cm = None
|
||||
request._cr = None
|
||||
|
||||
with with_obj():
|
||||
if self.func_request_type != self._request_type:
|
||||
raise Exception("%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" \
|
||||
% (self.func, self.httprequest.path, self.func_request_type, self._request_type))
|
||||
|
||||
kwargs.update(self.func_arguments)
|
||||
|
||||
# Backward for 7.0
|
||||
if getattr(self.func, '_first_arg_is_req', False):
|
||||
args = (request,) + args
|
||||
# Correct exception handling and concurency retry
|
||||
@service_model.check
|
||||
def checked_call(dbname, *a, **kw):
|
||||
return self.func(*a, **kw)
|
||||
if self.db:
|
||||
return checked_call(self.db, *args, **kwargs)
|
||||
return self.func(*args, **kwargs)
|
||||
finally:
|
||||
# just to be sure no one tries to re-use the request
|
||||
self.disable_db = True
|
||||
self.uid = None
|
||||
if self.db:
|
||||
return checked_call(self.db, *args, **kwargs)
|
||||
return self.func(*args, **kwargs)
|
||||
except Exception:
|
||||
if self._cr:
|
||||
self._cr.rollback()
|
||||
raise
|
||||
|
||||
@property
|
||||
def debug(self):
|
||||
@@ -197,7 +207,7 @@ class WebRequest(object):
|
||||
warnings.warn('please use request.registry and request.cr directly', DeprecationWarning)
|
||||
yield (self.registry, self.cr)
|
||||
|
||||
def route(route, type="http", auth="user"):
|
||||
def route(route, type="http", auth="user", methods=None):
|
||||
"""
|
||||
Decorator marking the decorated method as being a handler for requests. The method must be part of a subclass
|
||||
of ``Controller``.
|
||||
@@ -214,6 +224,7 @@ def route(route, type="http", auth="user"):
|
||||
* ``none``: The method is always active, even if there is no database. Mainly used by the framework and
|
||||
authentication modules. There request code will not have any facilities to access the database nor have any
|
||||
configuration indicating the current database nor the current user.
|
||||
:param methods: A sequence of http methods this route applies to. If not specified, all methods are allowed.
|
||||
"""
|
||||
assert type in ["http", "json"]
|
||||
def decorator(f):
|
||||
@@ -221,6 +232,7 @@ def route(route, type="http", auth="user"):
|
||||
f.routes = route
|
||||
else:
|
||||
f.routes = [route]
|
||||
f.methods = methods
|
||||
f.exposed = type
|
||||
if getattr(f, "auth", None) is None:
|
||||
f.auth = auth
|
||||
@@ -396,22 +408,9 @@ class HttpRequest(WebRequest):
|
||||
self.params = params
|
||||
|
||||
def dispatch(self):
|
||||
try:
|
||||
r = self._call_function(**self.params)
|
||||
except werkzeug.exceptions.HTTPException, e:
|
||||
r = e
|
||||
except Exception, e:
|
||||
_logger.exception("An exception occured during an http request")
|
||||
se = serialize_exception(e)
|
||||
error = {
|
||||
'code': 200,
|
||||
'message': "OpenERP Server Error",
|
||||
'data': se
|
||||
}
|
||||
r = werkzeug.exceptions.InternalServerError(cgi.escape(simplejson.dumps(error)))
|
||||
else:
|
||||
if not r:
|
||||
r = werkzeug.wrappers.Response(status=204) # no content
|
||||
r = self._call_function(**self.params)
|
||||
if not r:
|
||||
r = werkzeug.wrappers.Response(status=204) # no content
|
||||
return r
|
||||
|
||||
def make_response(self, data, headers=None, cookies=None):
|
||||
@@ -451,24 +450,6 @@ def httprequest(f):
|
||||
base = ""
|
||||
return route([base, base + "/<path:_ignored_path>"], type="http", auth="user")(f)
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Thread local global request object
|
||||
#----------------------------------------------------------
|
||||
_request_stack = werkzeug.local.LocalStack()
|
||||
|
||||
request = _request_stack()
|
||||
"""
|
||||
A global proxy that always redirect to the current request object.
|
||||
"""
|
||||
|
||||
@contextlib.contextmanager
|
||||
def set_request(req):
|
||||
_request_stack.push(req)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
_request_stack.pop()
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Controller and route registration
|
||||
#----------------------------------------------------------
|
||||
@@ -526,7 +507,7 @@ def routing_map(modules, nodb_only, converters=None):
|
||||
url = o._cp_path.rstrip('/') + '/' + url.lstrip('/')
|
||||
if url.endswith("/") and len(url) > 1:
|
||||
url = url[: -1]
|
||||
routing_map.add(werkzeug.routing.Rule(url, endpoint=mv))
|
||||
routing_map.add(werkzeug.routing.Rule(url, endpoint=mv, methods=mv.methods))
|
||||
return routing_map
|
||||
|
||||
#----------------------------------------------------------
|
||||
@@ -816,6 +797,18 @@ mimetypes.add_type('application/font-woff', '.woff')
|
||||
mimetypes.add_type('application/vnd.ms-fontobject', '.eot')
|
||||
mimetypes.add_type('application/x-font-ttf', '.ttf')
|
||||
|
||||
class LazyResponse(werkzeug.wrappers.Response):
|
||||
""" Lazy werkzeug response.
|
||||
API not yet frozen"""
|
||||
|
||||
def __init__(self, callback, **kwargs):
|
||||
super(LazyResponse, self).__init__(mimetype='text/html')
|
||||
self.callback = callback
|
||||
self.params = kwargs
|
||||
def process(self):
|
||||
response = self.callback(**self.params)
|
||||
self.response.append(response)
|
||||
|
||||
class DisableCacheMiddleware(object):
|
||||
def __init__(self, app):
|
||||
self.app = app
|
||||
@@ -941,6 +934,12 @@ class Root(object):
|
||||
return HttpRequest(httprequest)
|
||||
|
||||
def get_response(self, httprequest, result, explicit_session):
|
||||
if isinstance(result, LazyResponse):
|
||||
try:
|
||||
result.process()
|
||||
except(Exception), e:
|
||||
result = request.registry['ir.http']._handle_exception(e)
|
||||
|
||||
if isinstance(result, basestring):
|
||||
response = werkzeug.wrappers.Response(result, mimetype='text/html')
|
||||
else:
|
||||
@@ -980,7 +979,7 @@ class Root(object):
|
||||
result = request.dispatch()
|
||||
return result
|
||||
|
||||
with set_request(request):
|
||||
with request:
|
||||
db = request.session.db
|
||||
if db:
|
||||
openerp.modules.registry.RegistryManager.check_registry_signaling(db)
|
||||
@@ -997,7 +996,7 @@ class Root(object):
|
||||
else:
|
||||
result = _dispatch_nodb()
|
||||
|
||||
response = self.get_response(httprequest, result, explicit_session)
|
||||
response = self.get_response(httprequest, result, explicit_session)
|
||||
return response(environ, start_response)
|
||||
|
||||
except werkzeug.exceptions.HTTPException, e:
|
||||
|
||||
@@ -601,8 +601,10 @@ class one2many(_column):
|
||||
else:
|
||||
cr.execute('update '+_table+' set '+self._fields_id+'=null where id=%s', (act[1],))
|
||||
elif act[0] == 4:
|
||||
# Must use write() to recompute parent_store structure if needed
|
||||
obj.write(cr, user, [act[1]], {self._fields_id:id}, context=context or {})
|
||||
cr.execute("select 1 from {0} where id=%s and {1}=%s".format(_table, self._fields_id), (act[1], id))
|
||||
if not cr.fetchone():
|
||||
# Must use write() to recompute parent_store structure if needed and check access rules
|
||||
obj.write(cr, user, [act[1]], {self._fields_id:id}, context=context or {})
|
||||
elif act[0] == 5:
|
||||
reverse_rel = obj._all_columns.get(self._fields_id)
|
||||
assert reverse_rel, 'Trying to unlink the content of a o2m but the pointed model does not have a m2o'
|
||||
|
||||
+6
-5
@@ -3681,11 +3681,6 @@ class BaseModel(object):
|
||||
if fields_to_read is None:
|
||||
fields_to_read = self._columns.keys()
|
||||
|
||||
# Construct a clause for the security rules.
|
||||
# 'tables' hold the list of tables necessary for the SELECT including the ir.rule clauses,
|
||||
# or will at least contain self._table.
|
||||
rule_clause, rule_params, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
|
||||
|
||||
# all inherited fields + all non inherited fields for which the attribute whose name is in load is True
|
||||
fields_pre = [f for f in fields_to_read if
|
||||
f == self.CONCURRENCY_CHECK_FIELD
|
||||
@@ -3706,6 +3701,11 @@ class BaseModel(object):
|
||||
return 'length(%s) as "%s"' % (f_qual, f)
|
||||
return f_qual
|
||||
|
||||
# Construct a clause for the security rules.
|
||||
# 'tables' hold the list of tables necessary for the SELECT including the ir.rule clauses,
|
||||
# or will at least contain self._table.
|
||||
rule_clause, rule_params, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
|
||||
|
||||
fields_pre2 = map(convert_field, fields_pre)
|
||||
order_by = self._parent_order or self._order
|
||||
select_fields = ','.join(fields_pre2 + ['%s.id' % self._table])
|
||||
@@ -3720,6 +3720,7 @@ class BaseModel(object):
|
||||
self._check_record_rules_result_count(cr, user, sub_ids, result_ids, 'read', context=context)
|
||||
res.extend(results)
|
||||
else:
|
||||
self.check_access_rule(cr, user, ids, 'read', context=context)
|
||||
res = map(lambda x: {'id': x}, ids)
|
||||
|
||||
if context.get('lang'):
|
||||
|
||||
@@ -24,8 +24,6 @@ import re
|
||||
|
||||
from lxml import etree
|
||||
|
||||
import openerp
|
||||
|
||||
import openerp
|
||||
import openerp.tools as tools
|
||||
import openerp.modules
|
||||
@@ -33,6 +31,9 @@ import print_xml
|
||||
import render
|
||||
import urllib
|
||||
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.report.render.rml2pdf import customfonts
|
||||
|
||||
#
|
||||
# coerce any type to a unicode string (to preserve non-ascii characters)
|
||||
# and escape XML entities
|
||||
@@ -91,13 +92,16 @@ class report_rml(report_int):
|
||||
}
|
||||
|
||||
def create(self, cr, uid, ids, datas, context):
|
||||
registry = openerp.registry(cr.dbname)
|
||||
xml = self.create_xml(cr, uid, ids, datas, context)
|
||||
xml = tools.ustr(xml).encode('utf8')
|
||||
report_type = datas.get('report_type', 'pdf')
|
||||
if report_type == 'raw':
|
||||
return xml, report_type
|
||||
|
||||
registry['res.font'].font_scan(cr, SUPERUSER_ID, lazy=True, context=context)
|
||||
|
||||
rml = self.create_rml(cr, xml, uid, context)
|
||||
registry = openerp.registry(cr.dbname)
|
||||
ir_actions_report_xml_obj = registry['ir.actions.report.xml']
|
||||
report_xml_ids = ir_actions_report_xml_obj.search(cr, uid, [('report_name', '=', self.name[7:])], context=context)
|
||||
self.title = report_xml_ids and ir_actions_report_xml_obj.browse(cr,uid,report_xml_ids)[0].name or 'OpenERP Report'
|
||||
|
||||
@@ -21,10 +21,9 @@
|
||||
##############################################################################
|
||||
|
||||
from reportlab import rl_config
|
||||
from reportlab.lib import fonts
|
||||
from reportlab.pdfbase import pdfmetrics, ttfonts
|
||||
import logging
|
||||
import os,platform
|
||||
import glob
|
||||
import os
|
||||
|
||||
# .apidoc title: TTF Font Table
|
||||
|
||||
@@ -39,35 +38,14 @@ and Ubuntu distros, we have to override the search path, too.
|
||||
"""
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
# Basic fonts family included in PDF standart, will always be in the font list
|
||||
BasePDFFonts = [
|
||||
'Helvetica',
|
||||
'Times',
|
||||
'Courier'
|
||||
]
|
||||
|
||||
# List of fonts found on the disk
|
||||
CustomTTFonts = BaseCustomTTFonts = [ ('Helvetica', "DejaVu Sans", "DejaVuSans.ttf", 'normal'),
|
||||
('Helvetica', "DejaVu Sans Bold", "DejaVuSans-Bold.ttf", 'bold'),
|
||||
('Helvetica', "DejaVu Sans Oblique", "DejaVuSans-Oblique.ttf", 'italic'),
|
||||
('Helvetica', "DejaVu Sans BoldOblique", "DejaVuSans-BoldOblique.ttf", 'bolditalic'),
|
||||
('Times', "Liberation Serif", "LiberationSerif-Regular.ttf", 'normal'),
|
||||
('Times', "Liberation Serif Bold", "LiberationSerif-Bold.ttf", 'bold'),
|
||||
('Times', "Liberation Serif Italic", "LiberationSerif-Italic.ttf", 'italic'),
|
||||
('Times', "Liberation Serif BoldItalic", "LiberationSerif-BoldItalic.ttf", 'bolditalic'),
|
||||
('Courier', "FreeMono", "FreeMono.ttf", 'normal'),
|
||||
('Courier', "FreeMono Bold", "FreeMonoBold.ttf", 'bold'),
|
||||
('Courier', "FreeMono Oblique", "FreeMonoOblique.ttf", 'italic'),
|
||||
('Courier', "FreeMono BoldOblique", "FreeMonoBoldOblique.ttf", 'bolditalic'),
|
||||
]
|
||||
|
||||
CustomTTFonts = []
|
||||
|
||||
# Search path for TTF files, in addition of rl_config.TTFSearchPath
|
||||
TTFSearchPath = [
|
||||
'/usr/share/fonts/truetype', # SuSE
|
||||
'/usr/share/fonts/dejavu', '/usr/share/fonts/liberation', # Fedora, RHEL
|
||||
'/usr/share/fonts/truetype/*','/usr/local/share/fonts' # Ubuntu,
|
||||
'/usr/share/fonts/TTF/*', # at Mandriva/Mageia
|
||||
'/usr/share/fonts/TTF/*', # Mandriva/Mageia
|
||||
'/usr/share/fonts/TTF', # Arch Linux
|
||||
'/usr/lib/openoffice/share/fonts/truetype/',
|
||||
'~/.fonts',
|
||||
@@ -95,10 +73,8 @@ def list_all_sysfonts():
|
||||
# TTFOpenFile is not very good at it.
|
||||
searchpath = list(set(TTFSearchPath + rl_config.TTFSearchPath))
|
||||
for dirname in searchpath:
|
||||
dirname = os.path.expanduser(dirname)
|
||||
if os.path.exists(dirname):
|
||||
for filename in [x for x in os.listdir(dirname) if x.lower().endswith('.ttf')]:
|
||||
filepath.append(os.path.join(dirname, filename))
|
||||
for filename in glob.glob(os.path.join(os.path.expanduser(dirname), '*.[Tt][Tt][Ff]')):
|
||||
filepath.append(filename)
|
||||
return filepath
|
||||
|
||||
def SetCustomFonts(rmldoc):
|
||||
@@ -109,9 +85,9 @@ def SetCustomFonts(rmldoc):
|
||||
This function is called once per report, so it should
|
||||
avoid system-wide processing (cache it, instead).
|
||||
"""
|
||||
for name, font, filename, mode in CustomTTFonts:
|
||||
for family, font, filename, mode in CustomTTFonts:
|
||||
if os.path.isabs(filename) and os.path.exists(filename):
|
||||
rmldoc.setTTFontMapping(name, font, filename, mode)
|
||||
rmldoc.setTTFontMapping(family, font, filename, mode)
|
||||
return True
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -56,8 +56,11 @@ def select_fontname(fontname, default_fontname):
|
||||
try:
|
||||
pdfmetrics.getFont(fontname)
|
||||
except Exception:
|
||||
_logger.warning('Could not locate font %s, substituting default: %s',
|
||||
fontname, default_fontname)
|
||||
addition = ""
|
||||
if " " in fontname:
|
||||
addition = ". Your font contains spaces which is not valid in RML."
|
||||
_logger.warning('Could not locate font %s, substituting default: %s%s',
|
||||
fontname, default_fontname, addition)
|
||||
fontname = default_fontname
|
||||
return fontname
|
||||
|
||||
@@ -307,7 +310,7 @@ class _rml_doc(object):
|
||||
addMapping(face, 0, 1, fontname) #italic
|
||||
addMapping(face, 1, 0, fontname) #bold
|
||||
addMapping(face, 1, 1, fontname) #italic and bold
|
||||
elif (mode== 'normal') or (mode == 'regular'):
|
||||
elif (mode== 'normal') or (mode == 'regular') or (mode == 'book'):
|
||||
addMapping(face, 0, 0, fontname) #normal
|
||||
elif mode == 'italic':
|
||||
addMapping(face, 0, 1, fontname) #italic
|
||||
|
||||
@@ -34,6 +34,7 @@ import zipfile
|
||||
import common
|
||||
|
||||
import openerp
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.osv.fields import float as float_field, function as function_field, datetime as datetime_field
|
||||
from openerp.tools.translate import _
|
||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
||||
@@ -419,10 +420,13 @@ class report_sxw(report_rml, preprocess.report):
|
||||
context = {}
|
||||
if self.internal_header:
|
||||
context.update(internal_header=self.internal_header)
|
||||
|
||||
# skip osv.fields.sanitize_binary_value() because we want the raw bytes in all cases
|
||||
context.update(bin_raw=True)
|
||||
registry = openerp.registry(cr.dbname)
|
||||
ir_obj = registry['ir.actions.report.xml']
|
||||
registry['res.font'].font_scan(cr, SUPERUSER_ID, lazy=True, context=context)
|
||||
|
||||
report_xml_ids = ir_obj.search(cr, uid,
|
||||
[('report_name', '=', self.name[7:])], context=context)
|
||||
if report_xml_ids:
|
||||
|
||||
@@ -952,7 +952,7 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
||||
result, rows, warning_msg, dummy = registry[model].import_data(cr, uid, fields, datas,mode, module, noupdate, filename=fname_partial)
|
||||
if result < 0:
|
||||
# Report failed import and abort module install
|
||||
raise Exception(_('Module loading failed: file %s/%s could not be processed:\n %s') % (module, fname, warning_msg))
|
||||
raise Exception(_('Module loading %s failed: file %s could not be processed:\n %s') % (module, fname, warning_msg))
|
||||
if config.get('import_partial'):
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
data[fname_partial] = 0
|
||||
|
||||
Reference in New Issue
Block a user