diff --git a/partner_firstname/README.rst b/partner_firstname/README.rst new file mode 100644 index 00000000000..7f3fd00a0c1 --- /dev/null +++ b/partner_firstname/README.rst @@ -0,0 +1,118 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================================ +Partner first name and last name +================================ + +This module was written to extend the functionality of contacts to support +having separate last name and first name. + +Configuration +============= + +You can configure some common name patterns for the inverse function +in Settings > General settings: + +* Lastname Firstname: For example 'Anderson Robert' +* Lastname, Firstname: For example 'Anderson, Robert' +* Firstname Lastname: For example 'Robert Anderson' + +After applying the changes, you can recalculate all partners name clicking +"Recalculate names" button. Note: This process could take so much time depending +how many partners there are in database. + +You can use *_get_inverse_name* method to get lastname and firstname from a simple string +and also *_get_computed_name* to get a name form the lastname and firstname. +These methods can be overridden to change the format specified above. + + +Usage +===== + +The field *name* becomes a stored function field concatenating the *last name* +and the *first name*. This avoids breaking compatibility with other modules. + +Users should fulfill manually the separate fields for *last name* and *first +name*, but in case you edit just the *name* field in some unexpected module, +there is an inverse function that tries to split that automatically. It assumes +that you write the *name* in format configured (*"Lastname Firstname"*, by default), +but it could lead to wrong splitting (because it's just blindly trying to +guess what you meant), so you better specify it manually. + +For the same reason, after installing, previous names for contacts will stay in +the *name* field, and the first time you edit any of them you will be asked to +supply the *last name* and *first name* (just once per contact). + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/134/11.0 + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + + +Known issues / Roadmap +====================== + +Patterns for the inverse function are configurable only at system level. Maybe +this configuration could depend on partner language, country or company, +as discussed at `this OCA issue `_ + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Nicolas Bessi +* Yannick Vaucher +* Vincent Renaville +* Guewen Baconnier +* Holger Brunn +* Jonathan Nemry +* Olivier Laurent +* Sandy Carter +* Alexis de Lattre +* Lorenzo Battistini +* Hans Henrik Gabelgaard +* Jairo Llopis +* Adrien Peiffer +* Ronald Portier +* Sylvain Van Hoof +* Pedro Baeza +* Dave Lasley + +Translations +------------ + +* Danish: Hans Henrik Gabelgaard +* Italian: Leonardo Donelli +* Spanish: Antonio Espinosa +* Antonio Espinosa + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/partner_firstname/__init__.py b/partner_firstname/__init__.py new file mode 100644 index 00000000000..b3bc449ef69 --- /dev/null +++ b/partner_firstname/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2013 Nicolas Bessi (Camptocamp SA) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models +from .hooks import post_init_hook diff --git a/partner_firstname/__manifest__.py b/partner_firstname/__manifest__.py new file mode 100644 index 00000000000..014d46917d6 --- /dev/null +++ b/partner_firstname/__manifest__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# © 2013 Nicolas Bessi (Camptocamp SA) +# © 2014 Agile Business Group () +# © 2015 Grupo ESOC () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Partner first name and last name', + 'summary': "Split first name and last name for non company partners", + 'version': '11.0.1.0.0', + 'author': "Camptocamp, " + "Grupo ESOC Ingeniería de Servicios, " + "Tecnativa, " + "LasLabs, " + "ACSONE SA/NV, " + "Odoo Community Association (OCA)", + 'license': "AGPL-3", + 'maintainer': 'Camptocamp, Acsone', + 'category': 'Extra Tools', + 'website': 'https://odoo-community.org/', + 'depends': ['base_setup'], + 'post_init_hook': 'post_init_hook', + 'data': [ + 'views/base_config_view.xml', + 'views/res_partner.xml', + 'views/res_user.xml', + ], + 'auto_install': False, + 'installable': True, +} diff --git a/partner_firstname/exceptions.py b/partner_firstname/exceptions.py new file mode 100644 index 00000000000..4714b70010d --- /dev/null +++ b/partner_firstname/exceptions.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# © 2014-2015 Grupo ESOC () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import _, exceptions + + +class EmptyNamesError(exceptions.ValidationError): + def __init__(self, record, value=_("No name is set.")): + self.record = record + self._value = value + self.name = _("Error(s) with partner %d's name.") % record.id + self.args = (self.name, value) diff --git a/partner_firstname/hooks.py b/partner_firstname/hooks.py new file mode 100644 index 00000000000..64c0b7a9fdf --- /dev/null +++ b/partner_firstname/hooks.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 LasLabs Inc. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, SUPERUSER_ID + + +def post_init_hook(cr, _): + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + env['res.partner']._install_partner_firstname() diff --git a/partner_firstname/i18n/am.po b/partner_firstname/i18n/am.po new file mode 100644 index 00000000000..ee013ec3dab --- /dev/null +++ b/partner_firstname/i18n/am.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "ተባባሪ" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/ar.po b/partner_firstname/i18n/ar.po new file mode 100644 index 00000000000..3b660fea6d8 --- /dev/null +++ b/partner_firstname/i18n/ar.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "الشريك" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/bg.po b/partner_firstname/i18n/bg.po new file mode 100644 index 00000000000..e8f0cab7918 --- /dev/null +++ b/partner_firstname/i18n/bg.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-31 01:39+0000\n" +"PO-Revision-Date: 2016-12-31 01:39+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Партньор" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/bs.po b/partner_firstname/i18n/bs.po new file mode 100644 index 00000000000..71462f1a15b --- /dev/null +++ b/partner_firstname/i18n/bs.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/ca.po b/partner_firstname/i18n/ca.po new file mode 100644 index 00000000000..0242e6d0737 --- /dev/null +++ b/partner_firstname/i18n/ca.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/cs.po b/partner_firstname/i18n/cs.po new file mode 100644 index 00000000000..fb66fc64b60 --- /dev/null +++ b/partner_firstname/i18n/cs.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Společník" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/da.po b/partner_firstname/i18n/da.po new file mode 100644 index 00000000000..38855254551 --- /dev/null +++ b/partner_firstname/i18n/da.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Antonio Trueba, 2016 +# Armando Vulcano Junior , 2015 +# Erwin van der Ploeg , 2016 +# Paolo Valier, 2016 +# Rudolf Schnapka , 2014 +msgid "" +msgstr "" +"Project-Id-Version: partner-contact (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-14 11:14+0000\n" +"PO-Revision-Date: 2016-04-05 10:01+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Danish (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/de.po b/partner_firstname/i18n/de.po new file mode 100644 index 00000000000..b789f4c5d85 --- /dev/null +++ b/partner_firstname/i18n/de.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +# Niki Waibel , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-14 03:37+0000\n" +"PO-Revision-Date: 2016-11-14 03:37+0000\n" +"Last-Translator: Niki Waibel , 2016\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Kontakte erfordern einen Namen." + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Fehler beim Namen des Partners %d ." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Vorname" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Nachname" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Kein Name eingetragen." + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Anwender" diff --git a/partner_firstname/i18n/el_GR.po b/partner_firstname/i18n/el_GR.po new file mode 100644 index 00000000000..8f132f11a6a --- /dev/null +++ b/partner_firstname/i18n/el_GR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Συνεργάτης" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/en_GB.po b/partner_firstname/i18n/en_GB.po new file mode 100644 index 00000000000..bac9071e3fe --- /dev/null +++ b/partner_firstname/i18n/en_GB.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/teams/23907/en_GB/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en_GB\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/es.po b/partner_firstname/i18n/es.po new file mode 100644 index 00000000000..2201ca247e3 --- /dev/null +++ b/partner_firstname/i18n/es.po @@ -0,0 +1,90 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-30 02:48+0000\n" +"PO-Revision-Date: 2017-06-30 02:48+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Los contactos requieren un nombre." + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Errores con el nombre de la empresa %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Nombre" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Apellido" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "No se ha establecido ningún nombre." + +#. module: partner_firstname +#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order +msgid "Order to compose partner fullname" +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order +msgid "Partner names order" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed +msgid "Partner names order changed" +msgstr "" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "Recalculate names" +msgstr "" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "" +"Recalculate names for all partners. This process could take so much time if " +"there are more than 10,000 active partners" +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_base_config_settings +msgid "res.config.settings" +msgstr "res.config.settings" diff --git a/partner_firstname/i18n/es_CR.po b/partner_firstname/i18n/es_CR.po new file mode 100644 index 00000000000..1ce926ef523 --- /dev/null +++ b/partner_firstname/i18n/es_CR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/teams/23907/es_CR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/es_EC.po b/partner_firstname/i18n/es_EC.po new file mode 100644 index 00000000000..213da7d4703 --- /dev/null +++ b/partner_firstname/i18n/es_EC.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/es_EC/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_EC\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/es_MX.po b/partner_firstname/i18n/es_MX.po new file mode 100644 index 00000000000..ddba29990d6 --- /dev/null +++ b/partner_firstname/i18n/es_MX.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/es_VE.po b/partner_firstname/i18n/es_VE.po new file mode 100644 index 00000000000..6346bb3f686 --- /dev/null +++ b/partner_firstname/i18n/es_VE.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/teams/23907/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/et.po b/partner_firstname/i18n/et.po new file mode 100644 index 00000000000..0ede7ccf442 --- /dev/null +++ b/partner_firstname/i18n/et.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/eu.po b/partner_firstname/i18n/eu.po new file mode 100644 index 00000000000..a625c11d0af --- /dev/null +++ b/partner_firstname/i18n/eu.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Kidea" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/fi.po b/partner_firstname/i18n/fi.po new file mode 100644 index 00000000000..4fbe19aa12e --- /dev/null +++ b/partner_firstname/i18n/fi.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-21 03:40+0000\n" +"PO-Revision-Date: 2016-12-21 03:40+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Kumppani" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/fr.po b/partner_firstname/i18n/fr.po new file mode 100644 index 00000000000..5c92f1ab27c --- /dev/null +++ b/partner_firstname/i18n/fr.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +# Lixon Jean-Yves , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-08 02:42+0000\n" +"PO-Revision-Date: 2017-07-08 02:42+0000\n" +"Last-Translator: Lixon Jean-Yves , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Le nom est obligatoire sur les contacts." + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Erreur(s) avec le num du contact %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Prénom" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Nom" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Aucun nom spécifié." + +#. module: partner_firstname +#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order +msgid "Order to compose partner fullname" +msgstr "Ordre de la composition du nom complet" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order +msgid "Partner names order" +msgstr "Ordre des noms et prénoms des partenaires" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed +msgid "Partner names order changed" +msgstr "L'ordre des noms et prénoms des partenaires a changé" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "Recalculate names" +msgstr "Recalculer les noms et prénoms" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "" +"Recalculate names for all partners. This process could take so much time if " +"there are more than 10,000 active partners" +msgstr "" +"Calcul des noms et prénoms de tous les partenaires. Ce traitement peut " +"prendre plusieurs minutes, voir plus si le nombre de partenaires actifs " +"dépasse les 10000. " + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Utilisateurs" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_base_config_settings +msgid "res.config.settings" +msgstr "" diff --git a/partner_firstname/i18n/fr_CA.po b/partner_firstname/i18n/fr_CA.po new file mode 100644 index 00000000000..abc1b89dbe7 --- /dev/null +++ b/partner_firstname/i18n/fr_CA.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/fr_CA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CA\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/fr_CH.po b/partner_firstname/i18n/fr_CH.po new file mode 100644 index 00000000000..1b444de96b4 --- /dev/null +++ b/partner_firstname/i18n/fr_CH.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/gl.po b/partner_firstname/i18n/gl.po new file mode 100644 index 00000000000..e5e66daed33 --- /dev/null +++ b/partner_firstname/i18n/gl.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/hr.po b/partner_firstname/i18n/hr.po new file mode 100644 index 00000000000..db2849c3159 --- /dev/null +++ b/partner_firstname/i18n/hr.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-31 01:39+0000\n" +"PO-Revision-Date: 2016-12-31 01:39+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/hr_HR.po b/partner_firstname/i18n/hr_HR.po new file mode 100644 index 00000000000..054bd116920 --- /dev/null +++ b/partner_firstname/i18n/hr_HR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Bole , 2016 +msgid "" +msgstr "" +"Project-Id-Version: partner-contact (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-28 11:23+0000\n" +"PO-Revision-Date: 2016-06-14 10:58+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Kontakti moraju imati naziv." + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Greška(e) u nazivu partnera %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Ime" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Prezime" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Ime nije unešeno." + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Korisnici" diff --git a/partner_firstname/i18n/hu.po b/partner_firstname/i18n/hu.po new file mode 100644 index 00000000000..457a716ad10 --- /dev/null +++ b/partner_firstname/i18n/hu.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/it.po b/partner_firstname/i18n/it.po new file mode 100644 index 00000000000..9ff39ef06d6 --- /dev/null +++ b/partner_firstname/i18n/it.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2016 +# Giuliano Lotta , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-21 03:40+0000\n" +"PO-Revision-Date: 2016-12-21 03:40+0000\n" +"Last-Translator: Giuliano Lotta , 2016\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "I contatti richiedono un nome" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Errore(i) con il nome del partner %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Nome" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Cognome" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Il none non è impostato." + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Utenti" diff --git a/partner_firstname/i18n/ja.po b/partner_firstname/i18n/ja.po new file mode 100644 index 00000000000..bab70871e57 --- /dev/null +++ b/partner_firstname/i18n/ja.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "パートナ" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/lt.po b/partner_firstname/i18n/lt.po new file mode 100644 index 00000000000..a2981dc2ed6 --- /dev/null +++ b/partner_firstname/i18n/lt.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partneris" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/lv.po b/partner_firstname/i18n/lv.po new file mode 100644 index 00000000000..17528bac37b --- /dev/null +++ b/partner_firstname/i18n/lv.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partneris" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/mk.po b/partner_firstname/i18n/mk.po new file mode 100644 index 00000000000..b0803e4ac71 --- /dev/null +++ b/partner_firstname/i18n/mk.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Партнер" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/mn.po b/partner_firstname/i18n/mn.po new file mode 100644 index 00000000000..ec6bfdccca8 --- /dev/null +++ b/partner_firstname/i18n/mn.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Харилцагч" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/nb.po b/partner_firstname/i18n/nb.po new file mode 100644 index 00000000000..3a120ab5a10 --- /dev/null +++ b/partner_firstname/i18n/nb.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/nb_NO.po b/partner_firstname/i18n/nb_NO.po new file mode 100644 index 00000000000..fde3094aad3 --- /dev/null +++ b/partner_firstname/i18n/nb_NO.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb_NO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/nl.po b/partner_firstname/i18n/nl.po new file mode 100644 index 00000000000..5c08862204f --- /dev/null +++ b/partner_firstname/i18n/nl.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Antonio Trueba, 2016 +# Armando Vulcano Junior , 2015 +# Erwin van der Ploeg , 2016 +# Francisco Palm , 2015 +# lfreeke , 2015 +# Matjaž Mozetič , 2015-2016 +msgid "" +msgstr "" +"Project-Id-Version: partner-contact (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-14 11:14+0000\n" +"PO-Revision-Date: 2016-04-05 10:01+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Dutch (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Een naam in verplicht bij een contact" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Fout(en) met relatie %d's naam" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Voornaam" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Achternaam" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Er is geen naam ingesteld" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Relatie" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Gebruikers" diff --git a/partner_firstname/i18n/nl_BE.po b/partner_firstname/i18n/nl_BE.po new file mode 100644 index 00000000000..a75807da719 --- /dev/null +++ b/partner_firstname/i18n/nl_BE.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/nl_BE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_BE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Relatie" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/nl_NL.po b/partner_firstname/i18n/nl_NL.po new file mode 100644 index 00000000000..59c12c5f9f9 --- /dev/null +++ b/partner_firstname/i18n/nl_NL.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-30 02:48+0000\n" +"PO-Revision-Date: 2017-06-30 02:48+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Relaties moeten een naam hebben" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Fout(en) met de naam van relatie %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Voornaam" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Achternaam" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Geen naam ingesteld." + +#. module: partner_firstname +#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order +msgid "Order to compose partner fullname" +msgstr "Volgorde om volledige naam van relatie samen te stellen" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Relatie" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order +msgid "Partner names order" +msgstr "Relatienaam volgorde" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed +msgid "Partner names order changed" +msgstr "Volgorde van Relatienamen gewijzigd" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "Recalculate names" +msgstr "Hersorteer namen" + +#. module: partner_firstname +#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration +msgid "" +"Recalculate names for all partners. This process could take so much time if " +"there are more than 10,000 active partners" +msgstr "" +"Hersorteer de namen van alle relaties. Dit proces kan zeer veel tijd kosten " +"indien er meer dan 10.000 actieve relaties zijn." + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_base_config_settings +msgid "res.config.settings" +msgstr "res.config.settings" diff --git a/partner_firstname/i18n/partner_firstname.pot b/partner_firstname/i18n/partner_firstname.pot new file mode 100644 index 00000000000..96d5a4925fd --- /dev/null +++ b/partner_firstname/i18n/partner_firstname.pot @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0-20150327\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-30 07:53+0000\n" +"PO-Revision-Date: 2015-03-30 07:53+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:26 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: field:res.partner,firstname:0 +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: view:res.partner:partner_firstname.partner_form +msgid "Is a Company?" +msgstr "" + +#. module: partner_firstname +#: field:res.partner,lastname:0 +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:40 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "" diff --git a/partner_firstname/i18n/pl.po b/partner_firstname/i18n/pl.po new file mode 100644 index 00000000000..cbc3ffa40bf --- /dev/null +++ b/partner_firstname/i18n/pl.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/pt.po b/partner_firstname/i18n/pt.po new file mode 100644 index 00000000000..9903c232309 --- /dev/null +++ b/partner_firstname/i18n/pt.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Tiago Baptista , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-14 03:37+0000\n" +"PO-Revision-Date: 2016-11-14 03:37+0000\n" +"Last-Translator: Tiago Baptista , 2016\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Parceiro" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/pt_BR.po b/partner_firstname/i18n/pt_BR.po new file mode 100644 index 00000000000..9d766ae1dcc --- /dev/null +++ b/partner_firstname/i18n/pt_BR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Albert Vonpupp , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-03 03:23+0000\n" +"PO-Revision-Date: 2016-12-03 03:23+0000\n" +"Last-Translator: Albert Vonpupp , 2016\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Os contatos requerem um nome" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Erro(s) com o nome do parceiro %d." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Nome" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Sobrenome" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "O nome nao foi setado" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Parceiro" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Usuarios" diff --git a/partner_firstname/i18n/pt_PT.po b/partner_firstname/i18n/pt_PT.po new file mode 100644 index 00000000000..4c69e080c3d --- /dev/null +++ b/partner_firstname/i18n/pt_PT.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Tiago Baptista , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-20 18:18+0000\n" +"PO-Revision-Date: 2017-01-20 18:18+0000\n" +"Last-Translator: Tiago Baptista , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Parceiro" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/ro.po b/partner_firstname/i18n/ro.po new file mode 100644 index 00000000000..1c29f4853fb --- /dev/null +++ b/partner_firstname/i18n/ro.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partener" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/ru.po b/partner_firstname/i18n/ru.po new file mode 100644 index 00000000000..75bc23eb742 --- /dev/null +++ b/partner_firstname/i18n/ru.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Контрагент" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/sk.po b/partner_firstname/i18n/sk.po new file mode 100644 index 00000000000..6c632e6e5f4 --- /dev/null +++ b/partner_firstname/i18n/sk.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/sl.po b/partner_firstname/i18n/sl.po new file mode 100644 index 00000000000..e4579c9a5fb --- /dev/null +++ b/partner_firstname/i18n/sl.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# Ahmet Altınışık , 2016 +# Matjaž Mozetič , 2015-2016 +msgid "" +msgstr "" +"Project-Id-Version: partner-contact (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-14 11:14+0000\n" +"PO-Revision-Date: 2016-04-05 10:01+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "Za stike je potrebno ime." + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "Napaka(e) pri nazivu partnerja %d's ." + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "Lastno ime" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "Priimek" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "Ime ni nastavljeno." + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "Uporabniki" diff --git a/partner_firstname/i18n/sr@latin.po b/partner_firstname/i18n/sr@latin.po new file mode 100644 index 00000000000..fdb69552b8c --- /dev/null +++ b/partner_firstname/i18n/sr@latin.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/sr@latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr@latin\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/sv.po b/partner_firstname/i18n/sv.po new file mode 100644 index 00000000000..2b18e3100f4 --- /dev/null +++ b/partner_firstname/i18n/sv.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Företag" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/th.po b/partner_firstname/i18n/th.po new file mode 100644 index 00000000000..701da3fc2f7 --- /dev/null +++ b/partner_firstname/i18n/th.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "พาร์ทเนอร์" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/tr.po b/partner_firstname/i18n/tr.po new file mode 100644 index 00000000000..3eda17f28b6 --- /dev/null +++ b/partner_firstname/i18n/tr.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "İş Ortağı" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/tr_TR.po b/partner_firstname/i18n/tr_TR.po new file mode 100644 index 00000000000..e982a73bed5 --- /dev/null +++ b/partner_firstname/i18n/tr_TR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Ortak" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/vi.po b/partner_firstname/i18n/vi.po new file mode 100644 index 00000000000..d6edfd8f906 --- /dev/null +++ b/partner_firstname/i18n/vi.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "Đối tác" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/zh_CN.po b/partner_firstname/i18n/zh_CN.po new file mode 100644 index 00000000000..c17bcd2622a --- /dev/null +++ b/partner_firstname/i18n/zh_CN.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "业务伙伴" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/i18n/zh_TW.po b/partner_firstname/i18n/zh_TW.po new file mode 100644 index 00000000000..21be6c838ab --- /dev/null +++ b/partner_firstname/i18n/zh_TW.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_firstname +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-10 03:39+0000\n" +"PO-Revision-Date: 2017-03-10 03:39+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_firstname +#: sql_constraint:res.partner:0 +msgid "Contacts require a name." +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:11 +#, python-format +msgid "Error(s) with partner %d's name." +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname +msgid "First name" +msgstr "" + +#. module: partner_firstname +#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname +#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname +msgid "Last name" +msgstr "" + +#. module: partner_firstname +#: code:addons/partner_firstname/exceptions.py:8 +#, python-format +msgid "No name is set." +msgstr "" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_partner +msgid "Partner" +msgstr "夥伴" + +#. module: partner_firstname +#: model:ir.model,name:partner_firstname.model_res_users +msgid "Users" +msgstr "" diff --git a/partner_firstname/models/__init__.py b/partner_firstname/models/__init__.py new file mode 100644 index 00000000000..05e809bb7b8 --- /dev/null +++ b/partner_firstname/models/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import base_config_settings +from . import res_partner +from . import res_users diff --git a/partner_firstname/models/base_config_settings.py b/partner_firstname/models/base_config_settings.py new file mode 100644 index 00000000000..7d7a98a43bb --- /dev/null +++ b/partner_firstname/models/base_config_settings.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging +from odoo import api, fields, models +_logger = logging.getLogger(__name__) + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + partner_names_order = fields.Selection( + string="Partner names order", + selection="_partner_names_order_selection", + help="Order to compose partner fullname", + required=True, + ) + partner_names_order_changed = fields.Boolean( + compute="_compute_names_order_changed", + ) + + def _partner_names_order_selection(self): + return [ + ('last_first', 'Lastname Firstname'), + ('last_first_comma', 'Lastname, Firstname'), + ('first_last', 'Firstname Lastname'), + ] + + @api.multi + def _partner_names_order_default(self): + return self.env['res.partner']._names_order_default() + + @api.model + def get_values(self): + res = super(ResConfigSettings, self).get_values() + partner_names_order = self.env['ir.config_parameter'].sudo().get_param( + 'partner_names_order', + default=self._partner_names_order_default() + ) + res.update(partner_names_order=partner_names_order) + return res + + @api.multi + @api.depends('partner_names_order') + def _compute_names_order_changed(self): + current = self.env['ir.config_parameter'].sudo().get_param( + 'partner_names_order', default=self._partner_names_order_default() + ) + for record in self: + record.partner_names_order_changed = bool( + record.partner_names_order != current + ) + + @api.multi + @api.onchange('partner_names_order') + def _onchange_partner_names_order(self): + self._compute_names_order_changed() + + @api.multi + def set_values(self): + super(ResConfigSettings, self).set_values() + self.env['ir.config_parameter'].sudo().set_param( + 'partner_names_order', self.partner_names_order + ) + + @api.multi + def _partners_for_recalculating(self): + return self.env['res.partner'].search([ + ('is_company', '=', False), + ('firstname', '!=', False), ('lastname', '!=', False), + ]) + + @api.multi + def action_recalculate_partners_name(self): + partners = self._partners_for_recalculating() + _logger.info("Recalculating names for %d partners.", len(partners)) + partners._compute_name() + _logger.info("%d partners updated.", len(partners)) + return True diff --git a/partner_firstname/models/res_partner.py b/partner_firstname/models/res_partner.py new file mode 100644 index 00000000000..2f146fd714d --- /dev/null +++ b/partner_firstname/models/res_partner.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- +# © 2013 Nicolas Bessi (Camptocamp SA) +# © 2014 Agile Business Group () +# © 2015 Grupo ESOC () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging +from odoo import api, fields, models +from .. import exceptions + +_logger = logging.getLogger(__name__) + + +class ResPartner(models.Model): + """Adds last name and first name; name becomes a stored function field.""" + _inherit = 'res.partner' + + firstname = fields.Char( + "First name", + index=True, + ) + lastname = fields.Char( + "Last name", + index=True, + ) + name = fields.Char( + compute="_compute_name", + inverse="_inverse_name_after_cleaning_whitespace", + required=False, + store=True) + + @api.model + def create(self, vals): + """Add inverted names at creation if unavailable.""" + context = dict(self.env.context) + name = vals.get("name", context.get("default_name")) + + if name is not None: + # Calculate the splitted fields + inverted = self._get_inverse_name( + self._get_whitespace_cleaned_name(name), + vals.get("is_company", + self.default_get(["is_company"])["is_company"])) + + for key, value in inverted.items(): + if not vals.get(key) or context.get("copy"): + vals[key] = value + + # Remove the combined fields + if "name" in vals: + del vals["name"] + if "default_name" in context: + del context["default_name"] + + return super(ResPartner, self.with_context(context)).create(vals) + + @api.multi + def copy(self, default=None): + """Ensure partners are copied right. + + Odoo adds ``(copy)`` to the end of :attr:`~.name`, but that would get + ignored in :meth:`~.create` because it also copies explicitly firstname + and lastname fields. + """ + return super(ResPartner, self.with_context(copy=True)).copy(default) + + @api.model + def default_get(self, fields_list): + """Invert name when getting default values.""" + result = super(ResPartner, self).default_get(fields_list) + + inverted = self._get_inverse_name( + self._get_whitespace_cleaned_name(result.get("name", "")), + result.get("is_company", False)) + + for field in list(inverted.keys()): + if field in fields_list: + result[field] = inverted.get(field) + + return result + + @api.model + def _names_order_default(self): + return 'last_first' + + @api.model + def _get_names_order(self): + """Get names order configuration from system parameters. + You can override this method to read configuration from language, + country, company or other""" + return self.env['ir.config_parameter'].get_param( + 'partner_names_order', self._names_order_default()) + + @api.model + def _get_computed_name(self, lastname, firstname): + """Compute the 'name' field according to splitted data. + You can override this method to change the order of lastname and + firstname the computed name""" + order = self._get_names_order() + if order == 'last_first_comma': + return ", ".join((p for p in (lastname, firstname) if p)) + elif order == 'first_last': + return " ".join((p for p in (firstname, lastname) if p)) + else: + return " ".join((p for p in (lastname, firstname) if p)) + + @api.multi + @api.depends("firstname", "lastname") + def _compute_name(self): + """Write the 'name' field according to splitted data.""" + for record in self: + record.name = record._get_computed_name( + record.lastname, record.firstname, + ) + + @api.multi + def _inverse_name_after_cleaning_whitespace(self): + """Clean whitespace in :attr:`~.name` and split it. + + The splitting logic is stored separately in :meth:`~._inverse_name`, so + submodules can extend that method and get whitespace cleaning for free. + """ + for record in self: + # Remove unneeded whitespace + clean = record._get_whitespace_cleaned_name(record.name) + + # Clean name avoiding infinite recursion + if record.name != clean: + record.name = clean + + # Save name in the real fields + else: + record._inverse_name() + + @api.model + def _get_whitespace_cleaned_name(self, name, comma=False): + """Remove redundant whitespace from :param:`name`. + + Removes leading, trailing and duplicated whitespace. + """ + try: + name = " ".join(name.split()) if name else name + except UnicodeDecodeError: + # with users coming from LDAP, name can be a str encoded as utf-8 + # this happens with ActiveDirectory for instance, and in that case + # we get a UnicodeDecodeError during the automatic ASCII -> Unicode + # conversion that Python does for us. + # In that case we need to manually decode the string to get a + # proper unicode string. + name = ' '.join(name.decode('utf-8').split()) if name else name + + if comma: + name = name.replace(" ,", ",") + name = name.replace(", ", ",") + return name + + @api.model + def _get_inverse_name(self, name, is_company=False): + """Compute the inverted name. + + - If the partner is a company, save it in the lastname. + - Otherwise, make a guess. + + This method can be easily overriden by other submodules. + You can also override this method to change the order of name's + attributes + + When this method is called, :attr:`~.name` already has unified and + trimmed whitespace. + """ + # Company name goes to the lastname + if is_company or not name: + parts = [name or False, False] + # Guess name splitting + else: + order = self._get_names_order() + # Remove redundant spaces + name = self._get_whitespace_cleaned_name( + name, comma=(order == 'last_first_comma')) + parts = name.split("," if order == 'last_first_comma' else " ", 1) + if len(parts) > 1: + if order == 'first_last': + parts = [" ".join(parts[1:]), parts[0]] + else: + parts = [parts[0], " ".join(parts[1:])] + else: + while len(parts) < 2: + parts.append(False) + return {"lastname": parts[0], "firstname": parts[1]} + + @api.multi + def _inverse_name(self): + """Try to revert the effect of :meth:`._compute_name`.""" + for record in self: + parts = record._get_inverse_name(record.name, record.is_company) + record.lastname = parts['lastname'] + record.firstname = parts['firstname'] + + @api.multi + @api.constrains("firstname", "lastname") + def _check_name(self): + """Ensure at least one name is set.""" + for record in self: + if all(( + record.type == 'contact' or record.is_company, + not (record.firstname or record.lastname) + )): + raise exceptions.EmptyNamesError(record) + + @api.onchange("firstname", "lastname") + def _onchange_subnames(self): + """Avoid recursion when the user changes one of these fields. + + This forces to skip the :attr:`~.name` inversion when the user is + setting it in a not-inverted way. + """ + # Modify self's context without creating a new Environment. + # See https://github.com/odoo/odoo/issues/7472#issuecomment-119503916. + self.env.context = self.with_context(skip_onchange=True).env.context + + @api.onchange("name") + def _onchange_name(self): + """Ensure :attr:`~.name` is inverted in the UI.""" + if self.env.context.get("skip_onchange"): + # Do not skip next onchange + self.env.context = ( + self.with_context(skip_onchange=False).env.context) + else: + self._inverse_name_after_cleaning_whitespace() + + @api.model + def _install_partner_firstname(self): + """Save names correctly in the database. + + Before installing the module, field ``name`` contains all full names. + When installing it, this method parses those names and saves them + correctly into the database. This can be called later too if needed. + """ + # Find records with empty firstname and lastname + records = self.search([("firstname", "=", False), + ("lastname", "=", False)]) + + # Force calculations there + records._inverse_name() + _logger.info("%d partners updated installing module.", len(records)) + + # Disabling SQL constraint givint a more explicit error using a Python + # contstraint + _sql_constraints = [( + 'check_name', + "CHECK( 1=1 )", + 'Contacts require a name.' + )] diff --git a/partner_firstname/models/res_users.py b/partner_firstname/models/res_users.py new file mode 100644 index 00000000000..85143b4c71f --- /dev/null +++ b/partner_firstname/models/res_users.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# © 2013 Nicolas Bessi (Camptocamp SA) +# © 2014 Agile Business Group () +# © 2015 Grupo ESOC () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging +from odoo import api, models + + +_logger = logging.getLogger(__name__) + + +class ResUser(models.Model): + _inherit = 'res.users' + + @api.model + def default_get(self, fields_list): + """Invert name when getting default values.""" + result = super(ResUser, self).default_get(fields_list) + + partner_model = self.env['res.partner'] + inverted = partner_model._get_inverse_name( + partner_model._get_whitespace_cleaned_name(result.get("name", "")), + result.get("is_company", False)) + + for field in list(inverted.keys()): + if field in fields_list: + result[field] = inverted.get(field) + + return result + + @api.onchange("firstname", "lastname") + def _compute_name(self): + """Write the 'name' field according to splitted data.""" + for rec in self: + rec.name = rec.partner_id._get_computed_name( + rec.lastname, rec.firstname) diff --git a/partner_firstname/static/description/icon.png b/partner_firstname/static/description/icon.png new file mode 100644 index 00000000000..3a0328b516c Binary files /dev/null and b/partner_firstname/static/description/icon.png differ diff --git a/partner_firstname/tests/__init__.py b/partner_firstname/tests/__init__.py new file mode 100644 index 00000000000..e85089b6344 --- /dev/null +++ b/partner_firstname/tests/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# © 2014 Nemry Jonathan (Acsone SA/NV) (http://www.acsone.eu) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import ( + test_create, + test_defaults, + test_delete, + test_empty, + test_name, + test_onchange, + test_user_onchange, + test_order, +) diff --git a/partner_firstname/tests/base.py b/partner_firstname/tests/base.py new file mode 100644 index 00000000000..5d619e67cb9 --- /dev/null +++ b/partner_firstname/tests/base.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# © 2014 Nemry Jonathan (Acsone SA/NV) (http://www.acsone.eu) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase +from .. import exceptions as ex + + +class MailInstalled(): + def mail_installed(self): + """Check if ``mail`` module is installed.``""" + return (self.env["ir.module.module"] + .search([("name", "=", "mail")]) + .state == "installed") + + +class BaseCase(TransactionCase, MailInstalled): + def setUp(self): + super(BaseCase, self).setUp() + self.check_fields = True + self.expect("Núñez", "Fernán") + self.create_original() + + def create_original(self): + self.original = self.env["res.partner"].create({ + "lastname": self.lastname, + "firstname": self.firstname}) + + def expect(self, lastname, firstname, name=None): + """Define what is expected in each field when ending.""" + self.lastname = lastname + self.firstname = firstname + self.name = name or "%s %s" % (lastname, firstname) + + def tearDown(self): + if self.check_fields: + if not hasattr(self, "changed"): + self.changed = self.original + + for field in ("name", "lastname", "firstname"): + self.assertEqual( + getattr(self.changed, field), + getattr(self, field), + "Test failed with wrong %s" % field) + + super(BaseCase, self).tearDown() + + def test_copy(self): + """Copy the partner and compare the result.""" + self.expect(self.lastname, "%s (copy)" % self.firstname) + self.changed = (self.original.with_context(copy=True, lang="en_US") + .copy()) + + def test_one_name(self): + """Test what happens when only one name is given.""" + name = "Mönty" + self.expect(name, False, name) + self.original.name = name + + def test_no_names(self): + """Test that you cannot set a partner/user without names.""" + self.check_fields = False + with self.assertRaises(ex.EmptyNamesError): + self.original.firstname = self.original.lastname = False + + +class OnChangeCase(TransactionCase): + is_company = False + + def new_partner(self): + """Create an empty partner. Ensure it is (or not) a company.""" + new = self.env["res.partner"].new() + new.is_company = self.is_company + return new diff --git a/partner_firstname/tests/test_create.py b/partner_firstname/tests/test_create.py new file mode 100644 index 00000000000..99802dbe1b0 --- /dev/null +++ b/partner_firstname/tests/test_create.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +# © 2015 Grupo ESOC Ingeniería de Servicios, S.L. - Jairo Llopis. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +"""Test default values for models.""" + +from odoo.tests.common import TransactionCase +from .base import MailInstalled + + +class PersonCase(TransactionCase): + """Test ``res.partner`` when it is a person.""" + context = {"default_is_company": False} + model = "res.partner" + + def setUp(self): + super(PersonCase, self).setUp() + self.good_values = { + "firstname": "Núñez", + "lastname": "Fernán", + } + self.good_values["name"] = "%s %s" % (self.good_values["lastname"], + self.good_values["firstname"]) + if "default_is_company" in self.context: + self.good_values["is_company"] = self.context["default_is_company"] + self.values = self.good_values.copy() + + def tearDown(self): + self.record = (self.env[self.model] + .with_context(self.context) + .create(self.values)) + for key, value in self.good_values.items(): + self.assertEqual( + self.record[key], + value, + "Checking key %s" % key) + + super(PersonCase, self).tearDown() + + def test_no_name(self): + """Name is calculated.""" + del self.values["name"] + + def test_wrong_name_value(self): + """Wrong name value is ignored, name is calculated.""" + self.values["name"] = "BÄD" + + def test_wrong_name_context(self): + """Wrong name context is ignored, name is calculated.""" + del self.values["name"] + self.context["default_name"] = "BÄD" + + def test_wrong_name_value_and_context(self): + """Wrong name value and context is ignored, name is calculated.""" + self.values["name"] = "BÄD1" + self.context["default_name"] = "BÄD2" + + +class CompanyCase(PersonCase): + """Test ``res.partner`` when it is a company.""" + context = {"default_is_company": True} + + def setUp(self): + super(CompanyCase, self).setUp() + self.good_values.update(lastname=self.values["name"], firstname=False) + self.values = self.good_values.copy() + + +class UserCase(PersonCase, MailInstalled): + """Test ``res.users``.""" + model = "res.users" + context = {"default_login": "user@example.com"} + + def tearDown(self): + # Cannot create users if ``mail`` is installed + if self.mail_installed(): + # Skip tests + super(PersonCase, self).tearDown() + else: + # Run tests + super(UserCase, self).tearDown() diff --git a/partner_firstname/tests/test_defaults.py b/partner_firstname/tests/test_defaults.py new file mode 100644 index 00000000000..6eac96a7e64 --- /dev/null +++ b/partner_firstname/tests/test_defaults.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +# © 2015 Grupo ESOC Ingeniería de Servicios, S.L. - Jairo Llopis. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +"""Test default values for models.""" + +from odoo.tests.common import TransactionCase +from .base import MailInstalled + + +class PersonCase(TransactionCase): + """Test ``res.partner`` when it is a person.""" + context = {"default_is_company": False} + model = "res.partner" + + def setUp(self): + super(PersonCase, self).setUp() + self.values = { + "firstname": "Núñez", + "lastname": "Fernán", + } + self.values["name"] = "%s %s" % (self.values["lastname"], + self.values["firstname"]) + if "default_is_company" in self.context: + self.values["is_company"] = self.context["default_is_company"] + + def tearDown(self): + for key, value in self.values.items(): + self.assertEqual( + self.defaults.get(key), + value, + "Checking key %s" % key) + + return super(PersonCase, self).tearDown() + + def test_default_get(self): + """Getting default values for fields includes new fields.""" + self.defaults = (self.env[self.model] + .with_context(self.context, + default_name=self.values["name"]) + .default_get(list(self.values.keys()))) + + +class CompanyCase(PersonCase): + """Test ``res.partner`` when it is a company.""" + context = {"default_is_company": True} + + def tearDown(self): + self.values.update(lastname=self.values["name"], firstname=False) + return super(CompanyCase, self).tearDown() + + +class UserCase(PersonCase, MailInstalled): + """Test ``res.users``.""" + model = "res.users" + context = {"default_login": "user@example.com"} + + def tearDown(self): + # Cannot create users if ``mail`` is installed + if self.mail_installed(): + # Skip tests + super(PersonCase, self).tearDown() + else: + # Run tests + super(UserCase, self).tearDown() diff --git a/partner_firstname/tests/test_delete.py b/partner_firstname/tests/test_delete.py new file mode 100644 index 00000000000..40979d671e2 --- /dev/null +++ b/partner_firstname/tests/test_delete.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# © 2015 Grupo ESOC +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase +from .base import MailInstalled + + +class CompanyCase(TransactionCase): + model = "res.partner" + context = {"default_is_company": True} + + def test_computing_after_unlink(self): + """Test what happens if recomputed after unlinking. + + This test might seem useless, but really this happens when module + ``partner_relations`` is installed. + + See https://github.com/OCA/partner-contact/issues/154. + """ + data = {"name": "Söme name"} + record = self.env[self.model].with_context(**self.context).create(data) + record.unlink() + record.recompute() + + +class PersonCase(CompanyCase): + context = {"default_is_company": False} + + +class UserCase(CompanyCase, MailInstalled): + model = "res.users" + context = {"default_login": "user@example.com"} + + def test_computing_after_unlink(self): + # Cannot create users if ``mail`` is installed + if not self.mail_installed(): + super(UserCase, self).test_computing_after_unlink() diff --git a/partner_firstname/tests/test_empty.py b/partner_firstname/tests/test_empty.py new file mode 100644 index 00000000000..00e51f93032 --- /dev/null +++ b/partner_firstname/tests/test_empty.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# © 2014-2015 Grupo ESOC +# © 2016 Yannick Vaucher (Camptocamp) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +"""Test situations where names are empty. + +To have more accurate results, remove the ``mail`` module before testing. +""" +from odoo.tests.common import TransactionCase +from .base import MailInstalled +from .. import exceptions as ex + + +class CompanyCase(TransactionCase): + """Test ``res.partner`` when it is a company.""" + model = "res.partner" + context = {"default_is_company": True} + + def tearDown(self): + try: + data = {"name": self.name} + model = self.env[self.model].with_context(**self.context) + with self.assertRaises(ex.EmptyNamesError): + model.create(data) + finally: + super(CompanyCase, self).tearDown() + + def test_name_empty_string(self): + """Test what happens when the name is an empty string.""" + self.name = "" + + def test_name_false(self): + """Test what happens when the name is ``False``.""" + self.name = False + + +class PersonCase(CompanyCase): + """Test ``res.partner`` when it is a person.""" + context = {"default_is_company": False, "default_type": 'contact'} + + +class UserCase(CompanyCase, MailInstalled): + """Test ``res.users``.""" + model = "res.users" + context = {"default_login": "user@example.com"} + + def tearDown(self): + # Cannot create users if ``mail`` is installed + if self.mail_installed(): + # Skip tests + super(CompanyCase, self).tearDown() + else: + # Run tests + super(UserCase, self).tearDown() + + +class AddressCase(TransactionCase): + """Test ``res.partner`` when it is a address.""" + + def test_new_empty_invoice_address(self): + """Create an invoice patner without name.""" + self.original = self.env["res.partner"].create({ + "is_company": False, + "type": 'invoice', + "lastname": "", + "firstname": ""}) + + def test_new_empty_shipping_address(self): + """Create an shipping patner without name.""" + self.original = self.env["res.partner"].create({ + "is_company": False, + "type": 'delivery', + "lastname": "", + "firstname": ""}) diff --git a/partner_firstname/tests/test_name.py b/partner_firstname/tests/test_name.py new file mode 100644 index 00000000000..0c699bbd581 --- /dev/null +++ b/partner_firstname/tests/test_name.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- + +# Authors: Nemry Jonathan +# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu) +# All Rights Reserved +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsibility of assessing all potential +# consequences resulting from its eventual inadequacies and bugs. +# End users who are looking for a ready-to-use solution with commercial +# guarantees and support are strongly advised to contact a Free Software +# Service Company. +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +"""Test naming logic. + +To have more accurate results, remove the ``mail`` module before testing. +""" + +from .base import BaseCase + + +class PartnerContactCase(BaseCase): + def test_update_lastname(self): + """Change lastname.""" + self.expect("newlästname", self.firstname) + self.original.name = self.name + + def test_update_firstname(self): + """Change firstname.""" + self.expect(self.lastname, "newfïrstname") + self.original.name = self.name + + def test_whitespace_cleanup(self): + """Check that whitespace in name gets cleared.""" + self.expect("newlästname", "newfïrstname") + self.original.name = " newlästname newfïrstname " + + # Need this to refresh the ``name`` field + self.original.invalidate_cache() + + +class PartnerCompanyCase(BaseCase): + def create_original(self): + super(PartnerCompanyCase, self).create_original() + self.original.is_company = True + + def test_copy(self): + """Copy the partner and compare the result.""" + super(PartnerCompanyCase, self).test_copy() + self.expect(self.name, False, self.name) + + def test_company_inverse(self): + """Test the inverse method in a company record.""" + name = "Thïs is a Companŷ" + self.expect(name, False, name) + self.original.name = name + + +class UserCase(PartnerContactCase): + def create_original(self): + name = "%s %s" % (self.lastname, self.firstname) + + # Cannot create users if ``mail`` is installed + if self.mail_installed(): + self.original = self.env.ref("base.user_demo") + self.original.name = name + else: + self.original = self.env["res.users"].create({ + "name": name, + "login": "firstnametest@example.com"}) + + def test_copy(self): + """Copy the partner and compare the result.""" + # Skip if ``mail`` is installed + if not self.mail_installed(): + super(UserCase, self).test_copy() diff --git a/partner_firstname/tests/test_onchange.py b/partner_firstname/tests/test_onchange.py new file mode 100644 index 00000000000..8201eaf7070 --- /dev/null +++ b/partner_firstname/tests/test_onchange.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +# © 2015 Grupo ESOC +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +"""These tests try to mimic the behavior of the UI form. + +The form operates in onchange mode, with its limitations. +""" + +from .base import OnChangeCase + + +class PartnerCompanyCase(OnChangeCase): + is_company = True + + def test_create_from_form(self): + """A user creates a company from the form.""" + name = "Sôme company" + with self.env.do_in_onchange(): + # User presses ``new`` + partner = self.new_partner() + + # User sets a name, which triggers onchanges + partner.name = name + partner._onchange_name() + + self.assertEqual(partner.name, name) + self.assertEqual(partner.firstname, False) + self.assertEqual(partner.lastname, name) + + def test_empty_name_and_subnames(self): + """If the user empties ``name``, subnames must be ``False``. + + Otherwise, the ``required`` attr will not work as expected. + """ + with self.env.do_in_onchange(): + # User presses ``new`` + partner = self.new_partner() + + # User sets a name, which triggers onchanges + partner.name = "Foó" + partner._onchange_name() + + # User unsets name, which triggers onchanges + partner.name = "" + partner._onchange_name() + + self.assertEqual(partner.firstname, False) + self.assertEqual(partner.lastname, False) + + +class PartnerContactCase(OnChangeCase): + def test_create_from_form_only_firstname(self): + """A user creates a contact with only the firstname from the form.""" + firstname = "Fïrst" + with self.env.do_in_onchange(): + # User presses ``new`` + partner = self.new_partner() + + # Changes firstname, which triggers onchanges + partner.firstname = firstname + partner._onchange_subnames() + partner._onchange_name() + + self.assertEqual(partner.lastname, False) + self.assertEqual(partner.firstname, firstname) + self.assertEqual(partner.name, firstname) + + def test_create_from_form_only_lastname(self): + """A user creates a contact with only the lastname from the form.""" + lastname = "Läst" + with self.env.do_in_onchange(): + # User presses ``new`` + partner = self.new_partner() + + # Changes lastname, which triggers onchanges + partner.lastname = lastname + partner._onchange_subnames() + partner._onchange_name() + + self.assertEqual(partner.firstname, False) + self.assertEqual(partner.lastname, lastname) + self.assertEqual(partner.name, lastname) + + def test_create_from_form_all(self): + """A user creates a contact with all names from the form.""" + firstname = "Fïrst" + lastname = "Läst" + with self.env.do_in_onchange(): + # User presses ``new`` + partner = self.new_partner() + + # Changes firstname, which triggers onchanges + partner.firstname = firstname + partner._onchange_subnames() + partner._onchange_name() + + # Changes lastname, which triggers onchanges + partner.lastname = lastname + partner._onchange_subnames() + partner._onchange_name() + + self.assertEqual(partner.lastname, lastname) + self.assertEqual(partner.firstname, firstname) + self.assertEqual(partner.name, " ".join((lastname, firstname))) diff --git a/partner_firstname/tests/test_order.py b/partner_firstname/tests/test_order.py new file mode 100644 index 00000000000..3a72b7facf7 --- /dev/null +++ b/partner_firstname/tests/test_order.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class PartnerNamesOrder(TransactionCase): + def order_set(self, order): + return self.env['ir.config_parameter'].sudo().set_param( + 'partner_names_order', order) + + def test_get_computed_name(self): + lastname = "García Lorca" + firstname = "Federico" + cases = ( + ('last_first', "García Lorca Federico"), + ('last_first_comma', "García Lorca, Federico"), + ('first_last', "Federico García Lorca"), + ) + + for order, name in cases: + self.order_set(order) + result = self.env['res.partner']._get_computed_name( + lastname, firstname) + self.assertEqual(result, name) + + def test_get_inverse_name(self): + lastname = "Flanker" + firstname = "Petër" + cases = ( + ('last_first', "Flanker Petër"), + ('last_first_comma', "Flanker, Petër"), + ('first_last', "Petër Flanker"), + ) + for order, name in cases: + self.order_set(order) + result = self.env['res.partner']._get_inverse_name(name) + self.assertEqual(result['lastname'], lastname) + self.assertEqual(result['firstname'], firstname) diff --git a/partner_firstname/tests/test_user_onchange.py b/partner_firstname/tests/test_user_onchange.py new file mode 100644 index 00000000000..fbf215ba886 --- /dev/null +++ b/partner_firstname/tests/test_user_onchange.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# © 2016 Yannick Vaucher (Camptocamp SA) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class UserOnchangeCase(TransactionCase): + + def test_create_from_form_only_firstname(self): + """In a new users form, a user set only the firstname.""" + firstname = "Zoë" + with self.env.do_in_onchange(): + # Changes firstname, which triggers onchanges + self.user.firstname = firstname + self.user._compute_name() + + self.assertEqual(self.user.lastname, False) + self.assertEqual(self.user.firstname, firstname) + self.assertEqual(self.user.name, firstname) + + def test_create_from_form_only_lastname(self): + """In a new user form, a user set only the lastname.""" + lastname = "Żywioł" + with self.env.do_in_onchange(): + # Changes lastname, which triggers onchanges + self.user.lastname = lastname + self.user._compute_name() + + self.assertEqual(self.user.firstname, False) + self.assertEqual(self.user.lastname, lastname) + self.assertEqual(self.user.name, lastname) + + def test_create_from_form_all(self): + """In a new user form, a user set all names.""" + firstname = "Zoë" + lastname = "Żywioł" + with self.env.do_in_onchange(): + # Changes firstname, which triggers onchanges + self.user.firstname = firstname + self.user._compute_name() + + # Changes lastname, which triggers onchanges + self.user.lastname = lastname + self.user._compute_name() + + self.assertEqual(self.user.lastname, lastname) + self.assertEqual(self.user.firstname, firstname) + self.assertEqual(self.user.name, " ".join((lastname, firstname))) + + def setUp(self): + super(UserOnchangeCase, self).setUp() + self.user = self.env["res.users"].new() diff --git a/partner_firstname/views/base_config_view.xml b/partner_firstname/views/base_config_view.xml new file mode 100644 index 00000000000..b2991019693 --- /dev/null +++ b/partner_firstname/views/base_config_view.xml @@ -0,0 +1,34 @@ + + + + + + Add partner_names_order config parameter + res.config.settings + + + +

Partner names order

+
+
+
+ + +
+
+
+
+
+
+ +
diff --git a/partner_firstname/views/res_partner.xml b/partner_firstname/views/res_partner.xml new file mode 100644 index 00000000000..3b9e6b2430a --- /dev/null +++ b/partner_firstname/views/res_partner.xml @@ -0,0 +1,88 @@ + + + + Add firstname and lastname + res.partner + + + + + { + 'readonly': [('is_company', '=', False)], + 'required': [('is_company', '=', True)] + } + + + + + + + + + + + + + + Add firstname and surnames + res.partner + + + + + { + 'readonly': [('is_company', '=', False)], + 'required': [('is_company', '=', True)] + } + + + +
+ + + + +
+
+ + + + { + 'readonly': [('is_company', '=', False)], + 'required': [('is_company', '=', True)] + } + + + +
+ + + + + +
+
+
+
+
+
diff --git a/partner_firstname/views/res_user.xml b/partner_firstname/views/res_user.xml new file mode 100644 index 00000000000..190f262247d --- /dev/null +++ b/partner_firstname/views/res_user.xml @@ -0,0 +1,25 @@ + + + + Add firstname and surnames + res.users + + + + + True + False + + + + + + + + + + + +