Browse Source

Merge PR #981 into 14.0

Signed-off-by moylop260
14.0
OCA-git-bot 4 years ago
parent
commit
e683ca2406
  1. 138
      partner_firstname/README.rst
  2. 2
      partner_firstname/__init__.py
  3. 29
      partner_firstname/__manifest__.py
  4. 12
      partner_firstname/exceptions.py
  5. 10
      partner_firstname/hooks.py
  6. 110
      partner_firstname/i18n/am.po
  7. 111
      partner_firstname/i18n/ar.po
  8. 110
      partner_firstname/i18n/bg.po
  9. 111
      partner_firstname/i18n/bs.po
  10. 110
      partner_firstname/i18n/ca.po
  11. 110
      partner_firstname/i18n/cs.po
  12. 115
      partner_firstname/i18n/da.po
  13. 112
      partner_firstname/i18n/de.po
  14. 111
      partner_firstname/i18n/el_GR.po
  15. 111
      partner_firstname/i18n/en_GB.po
  16. 112
      partner_firstname/i18n/es.po
  17. 111
      partner_firstname/i18n/es_CR.po
  18. 111
      partner_firstname/i18n/es_EC.po
  19. 111
      partner_firstname/i18n/es_MX.po
  20. 111
      partner_firstname/i18n/es_VE.po
  21. 110
      partner_firstname/i18n/et.po
  22. 110
      partner_firstname/i18n/eu.po
  23. 110
      partner_firstname/i18n/fi.po
  24. 112
      partner_firstname/i18n/fr.po
  25. 111
      partner_firstname/i18n/fr_CA.po
  26. 111
      partner_firstname/i18n/fr_CH.po
  27. 110
      partner_firstname/i18n/gl.po
  28. 111
      partner_firstname/i18n/hr.po
  29. 109
      partner_firstname/i18n/hr_HR.po
  30. 112
      partner_firstname/i18n/hu.po
  31. 110
      partner_firstname/i18n/it.po
  32. 110
      partner_firstname/i18n/ja.po
  33. 111
      partner_firstname/i18n/lt.po
  34. 111
      partner_firstname/i18n/lv.po
  35. 110
      partner_firstname/i18n/mk.po
  36. 110
      partner_firstname/i18n/mn.po
  37. 111
      partner_firstname/i18n/nb.po
  38. 111
      partner_firstname/i18n/nb_NO.po
  39. 107
      partner_firstname/i18n/nl.po
  40. 111
      partner_firstname/i18n/nl_BE.po
  41. 112
      partner_firstname/i18n/nl_NL.po
  42. 103
      partner_firstname/i18n/partner_firstname.pot
  43. 112
      partner_firstname/i18n/pl.po
  44. 110
      partner_firstname/i18n/pt.po
  45. 111
      partner_firstname/i18n/pt_BR.po
  46. 111
      partner_firstname/i18n/pt_PT.po
  47. 111
      partner_firstname/i18n/ro.po
  48. 112
      partner_firstname/i18n/ru.po
  49. 110
      partner_firstname/i18n/sk.po
  50. 108
      partner_firstname/i18n/sl.po
  51. 112
      partner_firstname/i18n/sr@latin.po
  52. 110
      partner_firstname/i18n/sv.po
  53. 110
      partner_firstname/i18n/th.po
  54. 110
      partner_firstname/i18n/tr.po
  55. 111
      partner_firstname/i18n/tr_TR.po
  56. 110
      partner_firstname/i18n/vi.po
  57. 111
      partner_firstname/i18n/zh_CN.po
  58. 111
      partner_firstname/i18n/zh_TW.po
  59. 3
      partner_firstname/models/__init__.py
  60. 69
      partner_firstname/models/base_config_settings.py
  61. 217
      partner_firstname/models/res_partner.py
  62. 49
      partner_firstname/models/res_users.py
  63. 14
      partner_firstname/readme/CONFIGURE.rst
  64. 19
      partner_firstname/readme/CONTRIBUTORS.rst
  65. 2
      partner_firstname/readme/DESCRIPTION.rst
  66. 3
      partner_firstname/readme/ROADMAP.rst
  67. 13
      partner_firstname/readme/USAGE.rst
  68. BIN
      partner_firstname/static/description/icon.png
  69. 481
      partner_firstname/static/description/index.html
  70. 12
      partner_firstname/tests/__init__.py
  71. 65
      partner_firstname/tests/base.py
  72. 35
      partner_firstname/tests/test_config_settings.py
  73. 54
      partner_firstname/tests/test_copy.py
  74. 79
      partner_firstname/tests/test_create.py
  75. 64
      partner_firstname/tests/test_defaults.py
  76. 38
      partner_firstname/tests/test_delete.py
  77. 73
      partner_firstname/tests/test_empty.py
  78. 88
      partner_firstname/tests/test_name.py
  79. 38
      partner_firstname/tests/test_order.py
  80. 106
      partner_firstname/tests/test_partner_form.py
  81. 64
      partner_firstname/tests/test_user_form.py
  82. 31
      partner_firstname/views/base_config_view.xml
  83. 105
      partner_firstname/views/res_partner.xml
  84. 28
      partner_firstname/views/res_user.xml

138
partner_firstname/README.rst

@ -0,0 +1,138 @@
================================
Partner first name and last name
================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github
:target: https://github.com/OCA/partner-contact/tree/13.0/partner_firstname
:alt: OCA/partner-contact
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/partner-contact-13-0/partner-contact-13-0-partner_firstname
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/134/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This module was written to extend the functionality of contacts to support
having separate last name and first name.
**Table of contents**
.. contents::
:local:
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).
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 <https://github.com/OCA/partner-contact/issues/210>`_
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/partner-contact/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 <https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_firstname%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Camptocamp
* Grupo ESOC Ingeniería de Servicios
* Tecnativa
* LasLabs
* ACSONE SA/NV
Contributors
~~~~~~~~~~~~
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Vincent Renaville <vincent.renaville@camptocamp.com>
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Holger Brunn <hbrunn@terp.nl>
* Jonathan Nemry <jonathan.nemry@acsone.eu>
* Olivier Laurent <olivier.laurent@acsone.eu>
* Sandy Carter <sandy.carter@savoirfairelinux.com>
* Alexis de Lattre <alexis.delattre@akretion.fr>
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Hans Henrik Gabelgaard <hhg@gabelgaard.org>
* Jairo Llopis <j.llopis@grupoesoc.es>
* Adrien Peiffer <adrien.peiffer@acsone.eu>
* Ronald Portier <ronald@therp.nl>
* Sylvain Van Hoof
* Pedro Baeza <pedro.baeza@serviciosbaeza.com>
* Dave Lasley <dave@laslabs.com>
* Graeme Gellatly <graeme@o4sb.com>
* Laurent Mignon <laurent.mignon@acsone.eu>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
This module is part of the `OCA/partner-contact <https://github.com/OCA/partner-contact/tree/13.0/partner_firstname>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

2
partner_firstname/__init__.py

@ -0,0 +1,2 @@
from . import models
from .hooks import post_init_hook

29
partner_firstname/__manifest__.py

@ -0,0 +1,29 @@
# Copyright 2013 Nicolas Bessi (Camptocamp SA)
# Copyright 2014 Agile Business Group (<http://www.agilebg.com>)
# Copyright 2015 Grupo ESOC (<http://www.grupoesoc.es>)
# 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": "14.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://github.com/OCA/partner-contact",
"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,
}

12
partner_firstname/exceptions.py

@ -0,0 +1,12 @@
# Copyright 2014-2015 Grupo ESOC (<http://www.grupoesoc.es>)
# 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=None):
value = value or _("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)

10
partner_firstname/hooks.py

@ -0,0 +1,10 @@
# Copyright 2017 LasLabs Inc.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import SUPERUSER_ID, api
def post_init_hook(cr, _):
with api.Environment.manage():
env = api.Environment(cr, SUPERUSER_ID, {})
env["res.partner"]._install_partner_firstname()

110
partner_firstname/i18n/am.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n"
"Language: am\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "ተባባሪ"

111
partner_firstname/i18n/ar.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "الشريك"

110
partner_firstname/i18n/bg.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2016\n"
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Партньор"

111
partner_firstname/i18n/bs.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

110
partner_firstname/i18n/ca.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

110
partner_firstname/i18n/cs.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Společník"

115
partner_firstname/i18n/da.po

@ -0,0 +1,115 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Antonio Trueba, 2016
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
# Erwin van der Ploeg <erwin@odooexperts.nl>, 2016
# Paolo Valier, 2016
# Rudolf Schnapka <schnapkar@golive-saar.de>, 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 <transbot@odoo-community.org>\n"
"Language-Team: Danish (http://www.transifex.com/oca/OCA-partner-contact-9-0/"
"language/da/)\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

112
partner_firstname/i18n/de.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-08-22 13:24+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.1.1\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
#, fuzzy
msgid "Config Settings"
msgstr "res.config.settings"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Kontakte erfordern einen Namen."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Kein Name eingetragen."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "Reihenfolge den vollen Namen des Partners zusammenzustellen"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
#, fuzzy
msgid "Partner Names Order"
msgstr "Reihenfolge Partner-Namensbestandteile"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Reihenfolge der Namensbestandteile geändert"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Reihenfolge Partner-Namensbestandteile"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Namen neu ermitteln"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Namen für alle Partner neu bestimmen. Dieser Prozess kann sehr viel Zeit in "
"Anspruch nehmen, wenn es mehr als 10.000 aktive Partner gibt"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Anwender"

111
partner_firstname/i18n/el_GR.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
"el_GR/)\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Συνεργάτης"

111
partner_firstname/i18n/en_GB.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/"
"teams/23907/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

112
partner_firstname/i18n/es.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-07-13 09:34+0000\n"
"Last-Translator: Enric Tobella <etobella@creublanca.es>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.0.1\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
#, fuzzy
msgid "Config Settings"
msgstr "res.config.settings"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Contacto"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Los contactos requieren un nombre."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "Orden para generar el nombre completo"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
#, fuzzy
msgid "Partner Names Order"
msgstr "Orden de los nombres"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Se ha cambiado el Orden de los Nombres"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Orden de los nombres"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Recalcular nombres"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Recalcular todos los nombres. Este proceso puede tardar si se tienen más de "
"10.000 personas asociadas"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Usuarios"

111
partner_firstname/i18n/es_CR.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/"
"teams/23907/es_CR/)\n"
"Language: es_CR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

111
partner_firstname/i18n/es_EC.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/"
"es_EC/)\n"
"Language: es_EC\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

111
partner_firstname/i18n/es_MX.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
"es_MX/)\n"
"Language: es_MX\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

111
partner_firstname/i18n/es_VE.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/"
"teams/23907/es_VE/)\n"
"Language: es_VE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

110
partner_firstname/i18n/et.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

110
partner_firstname/i18n/eu.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Kidea"

110
partner_firstname/i18n/fi.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2016\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Kumppani"

112
partner_firstname/i18n/fr.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
# Nicolas JEUDY <njeudy@panda-chi.io>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2019-05-24 11:19+0000\n"
"Last-Translator: Kilhog <kilhog@protonmail.com>\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.6.1\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr "%s (copié)"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr "Paramètres de configuration"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Contact"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Le nom est obligatoire sur les contacts."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr "Nom"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Aucun nom spécifié."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "Ordre de la composition du nom complet"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr "Ordre des noms des partenaires"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Ordre des noms et prénoms des partenaires modifié"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Ordre des noms et prénoms des partenaires"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Recalculer les noms et prénoms"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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"

111
partner_firstname/i18n/fr_CA.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/"
"fr_CA/)\n"
"Language: fr_CA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partenaire"

111
partner_firstname/i18n/fr_CH.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
"teams/23907/fr_CH/)\n"
"Language: fr_CH\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partenaire"

110
partner_firstname/i18n/gl.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Empresa"

111
partner_firstname/i18n/hr.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2016\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

109
partner_firstname/i18n/hr_HR.po

@ -0,0 +1,109 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
"hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Kontakti moraju imati naziv."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Ime nije unešeno."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 "Korisnici"

112
partner_firstname/i18n/hu.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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: 2020-01-23 22:13+0000\n"
"Last-Translator: Tamás Dombos <tdombos@gmail.com>\n"
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr "%s (másolat)"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr "Konfigurációs beállítások"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Kapcsolat"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "A kapcsolat nevének megadása kötelező."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "A %d partner neve hibá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 "Utónév"
#. 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 "Családnév"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr "Név"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Nincs megadva név."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "A partner teljes nevének összeállításához használt sorrend"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr "Partner nevének sorrendje"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Partner név sorrend megváltozott"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Partner név sorrend"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Nevek újragenerálása"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Összes partner nevének újragenerálása. Sok partner esetén ez sok időbe telhet"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Felhasználók"
#~ msgid "Partner"
#~ msgstr "Partner"

110
partner_firstname/i18n/it.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-12-29 23:42+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.3\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr "%s (copia)"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni configurazione"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Contatto"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "I contatti richiedono un nome."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr "Nome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Nome non impostato."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "Ordinamento per comporre il nome completo del partner"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr "Ordinamento nome partner"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Ordinamento nome partner modificato"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Ordinamento nome del partner"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Ricalcola nome"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Ricalcola il nome per tutti i partner. Se sono presenti più di 10.000 "
"partner attivi questo processo potrebbe durare molto tempo"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Utenti"

110
partner_firstname/i18n/ja.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "パートナ"

111
partner_firstname/i18n/lt.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partneris"

111
partner_firstname/i18n/lv.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partneris"

110
partner_firstname/i18n/mk.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n"
"Language: mk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Партнер"

110
partner_firstname/i18n/mn.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n"
"Language: mn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Харилцагч"

111
partner_firstname/i18n/nb.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/"
"nb/)\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

111
partner_firstname/i18n/nb_NO.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/"
"teams/23907/nb_NO/)\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

107
partner_firstname/i18n/nl.po

@ -0,0 +1,107 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Contact"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Een naam in verplicht bij een contact"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Er is geen naam ingesteld"
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 "Gebruikers"

111
partner_firstname/i18n/nl_BE.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/"
"nl_BE/)\n"
"Language: nl_BE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Relatie"

112
partner_firstname/i18n/nl_NL.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-22 03:38+0000\n"
"PO-Revision-Date: 2017-11-22 03:38+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
#, fuzzy
msgid "Config Settings"
msgstr "res.config.settings"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Relaties moeten een naam hebben"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Geen naam ingesteld."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_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_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
#, fuzzy
msgid "Partner Names Order"
msgstr "Relatienaam volgorde"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Relatienaam volgorde"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Hersorteer namen"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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"

103
partner_firstname/i18n/partner_firstname.pot

@ -0,0 +1,103 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \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/models/res_users.py:0
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""

112
partner_firstname/i18n/pl.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

110
partner_firstname/i18n/pt.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Tiago Baptista <tiago@baptista.net>, 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 <tiago@baptista.net>, 2016\n"
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Parceiro"

111
partner_firstname/i18n/pt_BR.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-22 03:38+0000\n"
"PO-Revision-Date: 2019-11-25 13:58+0000\n"
"Last-Translator: Luis Felipe Miléo <mileo@kmee.com.br>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.8\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr "%s (cópia)"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr "Definições de configuração"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Contato"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Os contatos requerem um nome."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr "Nome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "O nome não foi setado."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr "Ordem para compor o nome completo do parceiro"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr "Ordem do Nome dos Parceiros"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr "Ordem dos nomes dos parceiros alterada"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr "Ordem do nome dos parceiros"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr "Recalcular nomes"
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"O processo de recálculo dos nomes de todos os parceiros, pode levar muito "
"tempo se houver mais de 10.000 parceiros ativos"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Usuários"

111
partner_firstname/i18n/pt_PT.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Tiago Baptista <tiago@baptista.net>, 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 <tiago@baptista.net>, 2017\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
"teams/23907/pt_PT/)\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Parceiro"

111
partner_firstname/i18n/ro.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partener"

112
partner_firstname/i18n/ru.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Контрагент"

110
partner_firstname/i18n/sk.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

108
partner_firstname/i18n/sl.po

@ -0,0 +1,108 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-03 20:26+0000\n"
"PO-Revision-Date: 2018-01-03 20:26+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr "Stik"
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr "Za stike je potrebno ime."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr "Ime ni nastavljeno."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 "Uporabniki"

112
partner_firstname/i18n/sr@latin.po

@ -0,0 +1,112 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/"
"sr@latin/)\n"
"Language: sr@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Partner"

110
partner_firstname/i18n/sv.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Företag"

110
partner_firstname/i18n/th.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "พาร์ทเนอร์"

110
partner_firstname/i18n/tr.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "İş Ortağı"

111
partner_firstname/i18n/tr_TR.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
"tr_TR/)\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Ortak"

110
partner_firstname/i18n/vi.po

@ -0,0 +1,110 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "Đối tác"

111
partner_firstname/i18n/zh_CN.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "业务伙伴"

111
partner_firstname/i18n/zh_TW.po

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 2017\n"
"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/"
"zh_TW/)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: code:addons/partner_firstname/models/res_users.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Contact"
msgstr ""
#. module: partner_firstname
#: model:ir.model.constraint,message:partner_firstname.constraint_res_partner_check_name
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, 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
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner__name
#: model:ir.model.fields,field_description:partner_firstname.field_res_users__name
msgid "Name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:0
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_res_config_settings__partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Partner Names Order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order_changed
msgid "Partner Names Order Changed"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_config_settings__partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model_terms:ir.ui.view,arch_db:partner_firstname.res_config_settings_view_form
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 ""
#~ msgid "Partner"
#~ msgstr "夥伴"

3
partner_firstname/models/__init__.py

@ -0,0 +1,3 @@
from . import base_config_settings
from . import res_partner
from . import res_users

69
partner_firstname/models/base_config_settings.py

@ -0,0 +1,69 @@
# Copyright 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 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",
config_parameter="partner_names_order",
default=lambda a: a._partner_names_order_default(),
required=True,
inverse="_inverse_partner_names_order",
)
partner_names_order_changed = fields.Boolean(
config_parameter="partner_names_order_changed"
)
def _partner_names_order_selection(self):
return [
("last_first", "Lastname Firstname"),
("last_first_comma", "Lastname, Firstname"),
("first_last", "Firstname Lastname"),
]
def _partner_names_order_default(self):
return self.env["res.partner"]._names_order_default()
def _inverse_partner_names_order(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
)
def _partners_for_recalculating(self):
return self.env["res.partner"].search(
[
("is_company", "=", False),
("firstname", "!=", False),
("lastname", "!=", False),
]
)
def action_recalculate_partners_name(self):
self.env["ir.config_parameter"].sudo().set_param(
"partner_names_order", self.partner_names_order
)
partners = self._partners_for_recalculating()
_logger.info("Recalculating names for %d partners.", len(partners))
partners._compute_name()
self.partner_names_order_changed = False
self.execute()
_logger.info("%d partners updated.", len(partners))
return True

217
partner_firstname/models/res_partner.py

@ -0,0 +1,217 @@
# Copyright 2013 Nicolas Bessi (Camptocamp SA)
# Copyright 2014 Agile Business Group (<http://www.agilebg.com>)
# Copyright 2015 Grupo ESOC (<http://www.grupoesoc.es>)
# 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,
readonly=False,
)
@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)
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 "first_last"
@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"]
.sudo()
.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.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)
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)
record.name = clean
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]}
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.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.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.")]

49
partner_firstname/models/res_users.py

@ -0,0 +1,49 @@
# Copyright 2013 Nicolas Bessi (Camptocamp SA)
# Copyright 2014 Agile Business Group (<http://www.agilebg.com>)
# Copyright 2015 Grupo ESOC (<http://www.grupoesoc.es>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import _, api, models
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)
def copy(self, default=None):
self.ensure_one()
default = dict(default or {})
if ("name" not in default) and ("partner_id" not in default):
default["name"] = _("%s (copy)") % self.name
if "login" not in default:
default["login"] = _("%s (copy)") % self.login
if (
("firstname" not in default)
and ("lastname" not in default)
and ("name" in default)
):
default.update(
self.env["res.partner"]._get_inverse_name(default["name"], False)
)
return super(ResUser, self).copy(default)

14
partner_firstname/readme/CONFIGURE.rst

@ -0,0 +1,14 @@
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.

19
partner_firstname/readme/CONTRIBUTORS.rst

@ -0,0 +1,19 @@
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Vincent Renaville <vincent.renaville@camptocamp.com>
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Holger Brunn <hbrunn@terp.nl>
* Jonathan Nemry <jonathan.nemry@acsone.eu>
* Olivier Laurent <olivier.laurent@acsone.eu>
* Sandy Carter <sandy.carter@savoirfairelinux.com>
* Alexis de Lattre <alexis.delattre@akretion.fr>
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Hans Henrik Gabelgaard <hhg@gabelgaard.org>
* Jairo Llopis <j.llopis@grupoesoc.es>
* Adrien Peiffer <adrien.peiffer@acsone.eu>
* Ronald Portier <ronald@therp.nl>
* Sylvain Van Hoof
* Pedro Baeza <pedro.baeza@serviciosbaeza.com>
* Dave Lasley <dave@laslabs.com>
* Graeme Gellatly <graeme@o4sb.com>
* Laurent Mignon <laurent.mignon@acsone.eu>

2
partner_firstname/readme/DESCRIPTION.rst

@ -0,0 +1,2 @@
This module was written to extend the functionality of contacts to support
having separate last name and first name.

3
partner_firstname/readme/ROADMAP.rst

@ -0,0 +1,3 @@
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 <https://github.com/OCA/partner-contact/issues/210>`_

13
partner_firstname/readme/USAGE.rst

@ -0,0 +1,13 @@
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).

BIN
partner_firstname/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

481
partner_firstname/static/description/index.html

@ -0,0 +1,481 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>Partner first name and last name</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="partner-first-name-and-last-name">
<h1 class="title">Partner first name and last name</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/partner-contact/tree/13.0/partner_firstname"><img alt="OCA/partner-contact" src="https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/partner-contact-13-0/partner-contact-13-0-partner_firstname"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/134/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module was written to extend the functionality of contacts to support
having separate last name and first name.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<p>You can configure some common name patterns for the inverse function
in Settings &gt; General settings:</p>
<ul class="simple">
<li>Lastname Firstname: For example ‘Anderson Robert’</li>
<li>Lastname, Firstname: For example ‘Anderson, Robert’</li>
<li>Firstname Lastname: For example ‘Robert Anderson’</li>
</ul>
<p>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.</p>
<p>You can use <em>_get_inverse_name</em> method to get lastname and firstname from a simple string
and also <em>_get_computed_name</em> to get a name form the lastname and firstname.
These methods can be overridden to change the format specified above.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<p>The field <em>name</em> becomes a stored function field concatenating the <em>last name</em>
and the <em>first name</em>. This avoids breaking compatibility with other modules.</p>
<p>Users should fulfill manually the separate fields for <em>last name</em> and <em>first
name</em>, but in case you edit just the <em>name</em> field in some unexpected module,
there is an inverse function that tries to split that automatically. It assumes
that you write the <em>name</em> in format configured (<em>“Lastname Firstname”</em>, 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.</p>
<p>For the same reason, after installing, previous names for contacts will stay in
the <em>name</em> field, and the first time you edit any of them you will be asked to
supply the <em>last name</em> and <em>first name</em> (just once per contact).</p>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
<p>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 <a class="reference external" href="https://github.com/OCA/partner-contact/issues/210">this OCA issue</a></p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/partner-contact/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_firstname%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id5">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id6">Authors</a></h2>
<ul class="simple">
<li>Camptocamp</li>
<li>Grupo ESOC Ingeniería de Servicios</li>
<li>Tecnativa</li>
<li>LasLabs</li>
<li>ACSONE SA/NV</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
<ul class="simple">
<li>Nicolas Bessi &lt;<a class="reference external" href="mailto:nicolas.bessi&#64;camptocamp.com">nicolas.bessi&#64;camptocamp.com</a>&gt;</li>
<li>Yannick Vaucher &lt;<a class="reference external" href="mailto:yannick.vaucher&#64;camptocamp.com">yannick.vaucher&#64;camptocamp.com</a>&gt;</li>
<li>Vincent Renaville &lt;<a class="reference external" href="mailto:vincent.renaville&#64;camptocamp.com">vincent.renaville&#64;camptocamp.com</a>&gt;</li>
<li>Guewen Baconnier &lt;<a class="reference external" href="mailto:guewen.baconnier&#64;camptocamp.com">guewen.baconnier&#64;camptocamp.com</a>&gt;</li>
<li>Holger Brunn &lt;<a class="reference external" href="mailto:hbrunn&#64;terp.nl">hbrunn&#64;terp.nl</a>&gt;</li>
<li>Jonathan Nemry &lt;<a class="reference external" href="mailto:jonathan.nemry&#64;acsone.eu">jonathan.nemry&#64;acsone.eu</a>&gt;</li>
<li>Olivier Laurent &lt;<a class="reference external" href="mailto:olivier.laurent&#64;acsone.eu">olivier.laurent&#64;acsone.eu</a>&gt;</li>
<li>Sandy Carter &lt;<a class="reference external" href="mailto:sandy.carter&#64;savoirfairelinux.com">sandy.carter&#64;savoirfairelinux.com</a>&gt;</li>
<li>Alexis de Lattre &lt;<a class="reference external" href="mailto:alexis.delattre&#64;akretion.fr">alexis.delattre&#64;akretion.fr</a>&gt;</li>
<li>Lorenzo Battistini &lt;<a class="reference external" href="mailto:lorenzo.battistini&#64;agilebg.com">lorenzo.battistini&#64;agilebg.com</a>&gt;</li>
<li>Hans Henrik Gabelgaard &lt;<a class="reference external" href="mailto:hhg&#64;gabelgaard.org">hhg&#64;gabelgaard.org</a>&gt;</li>
<li>Jairo Llopis &lt;<a class="reference external" href="mailto:j.llopis&#64;grupoesoc.es">j.llopis&#64;grupoesoc.es</a>&gt;</li>
<li>Adrien Peiffer &lt;<a class="reference external" href="mailto:adrien.peiffer&#64;acsone.eu">adrien.peiffer&#64;acsone.eu</a>&gt;</li>
<li>Ronald Portier &lt;<a class="reference external" href="mailto:ronald&#64;therp.nl">ronald&#64;therp.nl</a>&gt;</li>
<li>Sylvain Van Hoof</li>
<li>Pedro Baeza &lt;<a class="reference external" href="mailto:pedro.baeza&#64;serviciosbaeza.com">pedro.baeza&#64;serviciosbaeza.com</a>&gt;</li>
<li>Dave Lasley &lt;<a class="reference external" href="mailto:dave&#64;laslabs.com">dave&#64;laslabs.com</a>&gt;</li>
<li>Graeme Gellatly &lt;<a class="reference external" href="mailto:graeme&#64;o4sb.com">graeme&#64;o4sb.com</a>&gt;</li>
<li>Laurent Mignon &lt;<a class="reference external" href="mailto:laurent.mignon&#64;acsone.eu">laurent.mignon&#64;acsone.eu</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/partner-contact/tree/13.0/partner_firstname">OCA/partner-contact</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

12
partner_firstname/tests/__init__.py

@ -0,0 +1,12 @@
from . import (
test_create,
test_defaults,
test_delete,
test_empty,
test_name,
test_partner_form,
test_user_form,
test_order,
test_copy,
test_config_settings,
)

65
partner_firstname/tests/base.py

@ -0,0 +1,65 @@
# Copyright 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(
{"firstname": self.firstname, "lastname": self.lastname}
)
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 "{} {}".format(firstname, lastname)
def tearDown(self):
if self.check_fields:
if not hasattr(self, "changed"):
self.changed = self.original
for field in ("name", "lastname", "firstname"):
self.assertEqual(
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("%s (copy)" % self.lastname, 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

35
partner_firstname/tests/test_config_settings.py

@ -0,0 +1,35 @@
# Copyright 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 SavepointCase
class TestConfigSettings(SavepointCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.config = cls.env["res.config.settings"].create({})
def _change_partner_names_order(self):
orders = [o[0] for o in self.config._partner_names_order_selection()]
current = new = self.config.partner_names_order
for o in orders:
if o != current:
new = o
break
self.config.partner_names_order = new
def test_partner_names_order_changed(self):
# The partner_names_order_changed is set to true at save time when
# the value of partner_names_order is updated
self.assertFalse(self.config.partner_names_order_changed)
self._change_partner_names_order()
self.assertTrue(self.config.partner_names_order_changed)
def test_partner_names_order_changed_reset(self):
# The partner_names_order_changed is reset to false when
# the action action_recalculate_partners_name is executed
self._change_partner_names_order()
self.assertTrue(self.config.partner_names_order_changed)
self.config.action_recalculate_partners_name()
self.assertFalse(self.config.partner_names_order_changed)

54
partner_firstname/tests/test_copy.py

@ -0,0 +1,54 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
"""Test copy function for models."""
from odoo.tests.common import TransactionCase
from .base import MailInstalled
class UserCase(TransactionCase, MailInstalled):
"""Test ``res.users``."""
def setUp(self):
super(UserCase, self).setUp()
self.create_original()
def create_original(self):
self.original = self.env["res.users"].create(
{
"firstname": u"Firstname",
"lastname": u"Lastname",
"name": u"Firstname Lastname",
"login": u"firstname.lastname",
}
)
def tearDown(self):
super(UserCase, self).tearDown()
def compare(self, copy):
self.assertEqual(copy.lastname, u"Lastname2")
self.assertEqual(copy.firstname, u"Firstname2")
self.assertEqual(copy.name, u"Firstname2 Lastname2")
def test_copy_name(self):
"""Copy original with default name set - firstname lastname not set."""
copy = self.original.copy({"name": u"Firstname2 Lastname2"})
self.compare(copy)
def test_copy_firstname_lastname(self):
"""Copy original with default firstname and lastname set"""
copy = self.original.copy(
{"firstname": u"Firstname2", "lastname": u"Lastname2"}
)
self.compare(copy)
def test_copy_firstname_lastname_name(self):
"""Copy original with default firstname, lastname and name set"""
copy = self.original.copy(
{
"firstname": u"Firstname2",
"lastname": u"Lastname2",
"name": u"Firstname2 Lastname2",
}
)
self.compare(copy)

79
partner_firstname/tests/test_create.py

@ -0,0 +1,79 @@
# Copyright 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"] = "{} {}".format(
self.good_values["firstname"], self.good_values["lastname"]
)
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()

64
partner_firstname/tests/test_defaults.py

@ -0,0 +1,64 @@
# Copyright 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"] = "{} {}".format(
self.values["firstname"], self.values["lastname"]
)
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()

38
partner_firstname/tests/test_delete.py

@ -0,0 +1,38 @@
# Copyright 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()

73
partner_firstname/tests/test_empty.py

@ -0,0 +1,73 @@
# Copyright 2014-2015 Grupo ESOC <www.grupoesoc.es>
# Copyright 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 .. import exceptions as ex
from .base import MailInstalled
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": ""}
)

88
partner_firstname/tests/test_name.py

@ -0,0 +1,88 @@
# 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 = " newfïrstname newlästname "
# Need this to refresh the ``name`` field
self.original.invalidate_cache(["name"])
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 = "{} {}".format(self.firstname, self.lastname)
# 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()

38
partner_firstname/tests/test_order.py

@ -0,0 +1,38 @@
# Copyright 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):
config = self.env["res.config.settings"].create({"partner_names_order": order})
config.execute()
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)

106
partner_firstname/tests/test_partner_form.py

@ -0,0 +1,106 @@
# Copyright 2015 Grupo ESOC <www.grupoesoc.es>
# 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 odoo.tests.common import Form, TransactionCase
from ..exceptions import EmptyNamesError
class PartnerCompanyCase(TransactionCase):
is_company = True
def test_create_from_form(self):
name = "Sôme company"
with Form(self.env["res.partner"]) as partner_form:
partner_form.is_company = self.is_company
partner_form.name = name
self.assertEqual(partner_form.name, name)
self.assertEqual(partner_form.firstname, False)
self.assertEqual(partner_form.lastname, name)
def test_empty_name(self):
"""If we empty the name and save the form, EmptyNamesError must
be raised (firstname and lastname are reset...)
"""
with Form(
self.env["res.partner"], view="base.view_partner_simple_form"
) as partner_form:
partner_form.is_company = self.is_company
name = "Foó"
# User sets a name
partner_form.name = name
# call save to trigger the inverse
partner_form.save()
self.assertEqual(partner_form.name, name)
self.assertEqual(partner_form.firstname, False)
self.assertEqual(partner_form.lastname, name)
# User unsets name
partner_form.name = ""
# call save to trigger the inverse and therefore raise an exception
with self.assertRaises(EmptyNamesError), self.env.cr.savepoint():
partner_form.save()
name += " bis"
partner_form.name = name
partner_form.save()
self.assertEqual(partner_form.name, name)
self.assertEqual(partner_form.firstname, False)
# assert below will fail until merge of
# https://github.com/odoo/odoo/pull/45355
# self.assertEqual(partner_form.lastname, name)
class PartnerContactCase(TransactionCase):
is_company = False
def test_create_from_form_only_firstname(self):
"""A user creates a contact with only the firstname from the form."""
firstname = "Fïrst"
with Form(self.env["res.partner"]) as partner_form:
partner_form.is_company = self.is_company
# Changes firstname, which triggers compute
partner_form.firstname = firstname
self.assertEqual(partner_form.lastname, False)
self.assertEqual(partner_form.firstname, firstname)
self.assertEqual(partner_form.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 Form(self.env["res.partner"]) as partner_form:
partner_form.is_company = self.is_company
# Changes lastname, which triggers compute
partner_form.lastname = lastname
self.assertEqual(partner_form.firstname, False)
self.assertEqual(partner_form.lastname, lastname)
self.assertEqual(partner_form.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 Form(self.env["res.partner"]) as partner_form:
partner_form.is_company = self.is_company
# Changes firstname, which triggers compute
partner_form.firstname = firstname
# Changes lastname, which triggers compute
partner_form.lastname = lastname
self.assertEqual(partner_form.lastname, lastname)
self.assertEqual(partner_form.firstname, firstname)
self.assertEqual(partner_form.name, " ".join((firstname, lastname)))

64
partner_firstname/tests/test_user_form.py

@ -0,0 +1,64 @@
# Copyright 2016 Yannick Vaucher (Camptocamp SA)
# Copyright 2020 Therp BV - https://therp.nl.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.tests.common import Form, TransactionCase
class UserOnchangeCase(TransactionCase):
def test_create_from_form_only_firstname(self):
"""In a new users form, a user set only the firstname."""
login = "Zoë"
firstname = "Zoë"
with self.get_clean_user_form() as user_form:
user_form.login = login
# Changes firstname, which triggers onchanges
user_form.firstname = firstname
self.assertEqual(user_form.lastname, False)
self.assertEqual(user_form.firstname, firstname)
self.assertEqual(user_form.name, firstname)
def test_create_from_form_only_lastname(self):
"""In a new user form, a user set only the lastname."""
login = "Żywioł"
lastname = "Żywioł"
with self.get_clean_user_form() as user_form:
user_form.login = login
# Changes lastname, which triggers onchanges
user_form.lastname = lastname
self.assertEqual(user_form.firstname, False)
self.assertEqual(user_form.lastname, lastname)
self.assertEqual(user_form.name, lastname)
def test_create_from_form_all(self):
"""In a new user form, a user set all names."""
login = "Zoë.Żywioł"
firstname = "Zoë"
lastname = "Żywioł"
with self.get_clean_user_form() as user_form:
user_form.login = login
# Changes firstname, which triggers onchanges
user_form.firstname = firstname
# Changes lastname, which triggers onchanges
user_form.lastname = lastname
self.assertEqual(user_form.lastname, lastname)
self.assertEqual(user_form.firstname, firstname)
self.assertEqual(user_form.name, " ".join((firstname, lastname)))
def get_clean_user_form(self):
"""Get form without pseudo_fields.
This will be needed until Odoo Form does weed out these fields by itself.
"""
form = Form(self.env["res.users"], view="partner_firstname.view_users_form")
pseudo_fields = [
fieldname
for fieldname in form._view["fields"].keys()
if fieldname[:11] == "sel_groups_" or fieldname[:9] == "in_group_"
]
for fieldname in pseudo_fields:
del form._view["fields"][fieldname]
del form._values[fieldname]
return form

31
partner_firstname/views/base_config_view.xml

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2015 Antiun Ingenieria S.L. - Antonio Espinosa
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">Add partner_names_order config parameter</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@id='companies']" position='after'>
<h2>Partner Names Order</h2>
<div class="row mt16 o_settings_container" name="partner_names_order">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_right_pane">
<field name="partner_names_order" />
<field name="partner_names_order_changed" invisible="1" />
<button
name="action_recalculate_partners_name"
string="Recalculate names"
icon="fa-play"
type="object"
help="Recalculate names for all partners. This process could take so much time if there are more than 10,000 active partners"
attrs="{'invisible': [('partner_names_order_changed', '=', False)]}"
/>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>

105
partner_firstname/views/res_partner.xml

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="view_partner_simple_form_firstname" model="ir.ui.view">
<field name="name">Add firstname and lastname</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_simple_form" />
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='name']" position="attributes">
<attribute name="attrs">
{
'readonly': [('is_company', '=', False)],
'required': [('is_company', '=', True)]
}
</attribute>
</xpath>
<xpath expr="//h1//field[@name='name']/.." position="before">
<group attrs="{'invisible': [('is_company', '=', True)]}">
<field
name="lastname"
attrs="{'required': [('firstname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
<field
name="firstname"
attrs="{'required': [('lastname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
</group>
</xpath>
</data>
</field>
</record>
<record id="view_partner_form_firstname" model="ir.ui.view">
<field name="name">Add firstname and surnames</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='name']" position="attributes">
<attribute name="attrs">
{
'readonly': [('is_company', '=', False)],
'required': [('is_company', '=', True)]
}
</attribute>
</xpath>
<xpath expr="//h1//field[@name='name']/.." position="after">
<div class="oe_edit_only">
<group attrs="{'invisible': [('is_company', '=', True)]}">
<field
name="lastname"
attrs="{'required': [('firstname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
<field
name="firstname"
attrs="{'required': [('lastname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
</group>
</div>
</xpath>
<!-- Modify inner contact form of child_ids -->
<xpath
expr="//field[@name='child_ids']/form//field[@name='name']"
position="attributes"
>
<attribute name="attrs">
{
'readonly': [('is_company', '=', False)],
'required': [('is_company', '=', True)]
}
</attribute>
</xpath>
<xpath
expr="//field[@name='child_ids']/form//field[@name='name']"
position="after"
>
<div class="oe_edit_only" colspan="2">
<field name="is_company" invisible="True" />
<group attrs="{'invisible': [('is_company', '=', True)]}">
<field
name="lastname"
attrs="{'required': [('firstname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
<field
name="firstname"
attrs="{'required': [('lastname', '=', False),
('is_company', '=', False),
('type', '=', 'contact')]}"
/>
</group>
</div>
</xpath>
</data>
</field>
</record>
</odoo>

28
partner_firstname/views/res_user.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="view_users_form" model="ir.ui.view">
<field name="name">Add firstname and surnames</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form" />
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='name']" position="attributes">
<attribute name="readonly">True</attribute>
<attribute name="required">False</attribute>
</xpath>
<xpath expr="//field[@name='email']" position="after">
<group>
<field
name="lastname"
attrs="{'required': [('firstname', '=', False)]}"
/>
<field
name="firstname"
attrs="{'required': [('lastname', '=', False)]}"
/>
</group>
</xpath>
</data>
</field>
</record>
</odoo>
Loading…
Cancel
Save