Browse Source

Merge pull request #487 from etobella/11.0-mig-partner_firstname

[11.0] [MIG] partner_firstname: Migration to 11.0
pull/483/merge
Jordi Ballester Alomar 7 years ago
committed by GitHub
parent
commit
7ed604511e
  1. 118
      partner_firstname/README.rst
  2. 6
      partner_firstname/__init__.py
  3. 30
      partner_firstname/__manifest__.py
  4. 12
      partner_firstname/exceptions.py
  5. 11
      partner_firstname/hooks.py
  6. 58
      partner_firstname/i18n/am.po
  7. 58
      partner_firstname/i18n/ar.po
  8. 58
      partner_firstname/i18n/bg.po
  9. 58
      partner_firstname/i18n/bs.po
  10. 58
      partner_firstname/i18n/ca.po
  11. 58
      partner_firstname/i18n/cs.po
  12. 62
      partner_firstname/i18n/da.po
  13. 59
      partner_firstname/i18n/de.po
  14. 58
      partner_firstname/i18n/el_GR.po
  15. 58
      partner_firstname/i18n/en_GB.po
  16. 90
      partner_firstname/i18n/es.po
  17. 58
      partner_firstname/i18n/es_CR.po
  18. 58
      partner_firstname/i18n/es_EC.po
  19. 58
      partner_firstname/i18n/es_MX.po
  20. 58
      partner_firstname/i18n/es_VE.po
  21. 58
      partner_firstname/i18n/et.po
  22. 58
      partner_firstname/i18n/eu.po
  23. 58
      partner_firstname/i18n/fi.po
  24. 94
      partner_firstname/i18n/fr.po
  25. 58
      partner_firstname/i18n/fr_CA.po
  26. 58
      partner_firstname/i18n/fr_CH.po
  27. 58
      partner_firstname/i18n/gl.po
  28. 58
      partner_firstname/i18n/hr.po
  29. 58
      partner_firstname/i18n/hr_HR.po
  30. 58
      partner_firstname/i18n/hu.po
  31. 59
      partner_firstname/i18n/it.po
  32. 58
      partner_firstname/i18n/ja.po
  33. 58
      partner_firstname/i18n/lt.po
  34. 58
      partner_firstname/i18n/lv.po
  35. 58
      partner_firstname/i18n/mk.po
  36. 58
      partner_firstname/i18n/mn.po
  37. 58
      partner_firstname/i18n/nb.po
  38. 58
      partner_firstname/i18n/nb_NO.po
  39. 63
      partner_firstname/i18n/nl.po
  40. 58
      partner_firstname/i18n/nl_BE.po
  41. 92
      partner_firstname/i18n/nl_NL.po
  42. 48
      partner_firstname/i18n/partner_firstname.pot
  43. 58
      partner_firstname/i18n/pl.po
  44. 58
      partner_firstname/i18n/pt.po
  45. 58
      partner_firstname/i18n/pt_BR.po
  46. 58
      partner_firstname/i18n/pt_PT.po
  47. 58
      partner_firstname/i18n/ro.po
  48. 58
      partner_firstname/i18n/ru.po
  49. 58
      partner_firstname/i18n/sk.po
  50. 59
      partner_firstname/i18n/sl.po
  51. 58
      partner_firstname/i18n/sr@latin.po
  52. 58
      partner_firstname/i18n/sv.po
  53. 58
      partner_firstname/i18n/th.po
  54. 58
      partner_firstname/i18n/tr.po
  55. 58
      partner_firstname/i18n/tr_TR.po
  56. 58
      partner_firstname/i18n/vi.po
  57. 58
      partner_firstname/i18n/zh_CN.po
  58. 58
      partner_firstname/i18n/zh_TW.po
  59. 7
      partner_firstname/models/__init__.py
  60. 80
      partner_firstname/models/base_config_settings.py
  61. 252
      partner_firstname/models/res_partner.py
  62. 37
      partner_firstname/models/res_users.py
  63. BIN
      partner_firstname/static/description/icon.png
  64. 14
      partner_firstname/tests/__init__.py
  65. 74
      partner_firstname/tests/base.py
  66. 81
      partner_firstname/tests/test_create.py
  67. 65
      partner_firstname/tests/test_defaults.py
  68. 38
      partner_firstname/tests/test_delete.py
  69. 74
      partner_firstname/tests/test_empty.py
  70. 90
      partner_firstname/tests/test_name.py
  71. 105
      partner_firstname/tests/test_onchange.py
  72. 40
      partner_firstname/tests/test_order.py
  73. 53
      partner_firstname/tests/test_user_onchange.py
  74. 34
      partner_firstname/views/base_config_view.xml
  75. 88
      partner_firstname/views/res_partner.xml
  76. 25
      partner_firstname/views/res_user.xml

118
partner_firstname/README.rst

@ -0,0 +1,118 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
================================
Partner first name and last name
================================
This module was written to extend the functionality of contacts to support
having separate last name and first name.
Configuration
=============
You can configure some common name patterns for the inverse function
in Settings > General settings:
* Lastname Firstname: For example 'Anderson Robert'
* Lastname, Firstname: For example 'Anderson, Robert'
* Firstname Lastname: For example 'Robert Anderson'
After applying the changes, you can recalculate all partners name clicking
"Recalculate names" button. Note: This process could take so much time depending
how many partners there are in database.
You can use *_get_inverse_name* method to get lastname and firstname from a simple string
and also *_get_computed_name* to get a name form the lastname and firstname.
These methods can be overridden to change the format specified above.
Usage
=====
The field *name* becomes a stored function field concatenating the *last name*
and the *first name*. This avoids breaking compatibility with other modules.
Users should fulfill manually the separate fields for *last name* and *first
name*, but in case you edit just the *name* field in some unexpected module,
there is an inverse function that tries to split that automatically. It assumes
that you write the *name* in format configured (*"Lastname Firstname"*, by default),
but it could lead to wrong splitting (because it's just blindly trying to
guess what you meant), so you better specify it manually.
For the same reason, after installing, previous names for contacts will stay in
the *name* field, and the first time you edit any of them you will be asked to
supply the *last name* and *first name* (just once per contact).
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/134/11.0
For further information, please visit:
* https://www.odoo.com/forum/help-1
Known issues / Roadmap
======================
Patterns for the inverse function are configurable only at system level. Maybe
this configuration could depend on partner language, country or company,
as discussed at `this OCA issue <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.
Credits
=======
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>
Translations
------------
* Danish: Hans Henrik Gabelgaard
* Italian: Leonardo Donelli
* Spanish: Antonio Espinosa
* Antonio Espinosa <antonioea@antiun.com>
Maintainer
----------
.. image:: http://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: http://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.

6
partner_firstname/__init__.py

@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2013 Nicolas Bessi (Camptocamp SA)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
from .hooks import post_init_hook

30
partner_firstname/__manifest__.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
# © 2013 Nicolas Bessi (Camptocamp SA)
# © 2014 Agile Business Group (<http://www.agilebg.com>)
# © 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': '11.0.1.0.0',
'author': "Camptocamp, "
"Grupo ESOC Ingeniería de Servicios, "
"Tecnativa, "
"LasLabs, "
"ACSONE SA/NV, "
"Odoo Community Association (OCA)",
'license': "AGPL-3",
'maintainer': 'Camptocamp, Acsone',
'category': 'Extra Tools',
'website': 'https://odoo-community.org/',
'depends': ['base_setup'],
'post_init_hook': 'post_init_hook',
'data': [
'views/base_config_view.xml',
'views/res_partner.xml',
'views/res_user.xml',
],
'auto_install': False,
'installable': True,
}

12
partner_firstname/exceptions.py

@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
# © 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=_("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)

11
partner_firstname/hooks.py

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

58
partner_firstname/i18n/am.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: am\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "ተባባሪ"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/ar.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "الشريك"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/bg.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Партньор"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/bs.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bs\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/ca.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/cs.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Společník"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

62
partner_firstname/i18n/da.po

@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Antonio Trueba, 2016
# Armando Vulcano Junior <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

59
partner_firstname/i18n/de.po

@ -0,0 +1,59 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
# Niki Waibel <niki.waibel@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-14 03:37+0000\n"
"PO-Revision-Date: 2016-11-14 03:37+0000\n"
"Last-Translator: Niki Waibel <niki.waibel@gmail.com>, 2016\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Kontakte erfordern einen Namen."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Fehler beim Namen des Partners %d ."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Vorname"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Nachname"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Kein Name eingetragen."
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Anwender"

58
partner_firstname/i18n/el_GR.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: el_GR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Συνεργάτης"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/en_GB.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

90
partner_firstname/i18n/es.po

@ -0,0 +1,90 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-30 02:48+0000\n"
"PO-Revision-Date: 2017-06-30 02:48+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Los contactos requieren un nombre."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Errores con el nombre de la empresa %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Nombre"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Apellido"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "No se ha establecido ningún nombre."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order
msgid "Order to compose partner fullname"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order
msgid "Partner names order"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed
msgid "Partner names order changed"
msgstr ""
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid "Recalculate names"
msgstr ""
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Usuarios"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_base_config_settings
msgid "res.config.settings"
msgstr "res.config.settings"

58
partner_firstname/i18n/es_CR.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_CR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/es_EC.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_EC\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/es_MX.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_MX\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/es_VE.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_VE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/et.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/eu.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Kidea"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/fi.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Kumppani"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

94
partner_firstname/i18n/fr.po

@ -0,0 +1,94 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
# Lixon Jean-Yves <jy.lixon@ls-development.net>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-08 02:42+0000\n"
"PO-Revision-Date: 2017-07-08 02:42+0000\n"
"Last-Translator: Lixon Jean-Yves <jy.lixon@ls-development.net>, 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Le nom est obligatoire sur les contacts."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Erreur(s) avec le num du contact %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Prénom"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Nom"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Aucun nom spécifié."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order
msgid "Order to compose partner fullname"
msgstr "Ordre de la composition du nom complet"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order
msgid "Partner names order"
msgstr "Ordre des noms et prénoms des partenaires"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed
msgid "Partner names order changed"
msgstr "L'ordre des noms et prénoms des partenaires a changé"
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid "Recalculate names"
msgstr "Recalculer les noms et prénoms"
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Calcul des noms et prénoms de tous les partenaires. Ce traitement peut "
"prendre plusieurs minutes, voir plus si le nombre de partenaires actifs "
"dépasse les 10000. "
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Utilisateurs"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_base_config_settings
msgid "res.config.settings"
msgstr ""

58
partner_firstname/i18n/fr_CA.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr_CA\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/fr_CH.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr_CH\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/gl.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Empresa"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/hr.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/hr_HR.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Bole <bole@dajmi5.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (9.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-06-28 11:23+0000\n"
"PO-Revision-Date: 2016-06-14 10:58+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>\n"
"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/hr_HR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr_HR\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Kontakti moraju imati naziv."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Greška(e) u nazivu partnera %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Ime"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Prezime"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Ime nije unešeno."
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Korisnici"

58
partner_firstname/i18n/hu.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

59
partner_firstname/i18n/it.po

@ -0,0 +1,59 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
# Giuliano Lotta <giuliano.lotta@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-21 03:40+0000\n"
"PO-Revision-Date: 2016-12-21 03:40+0000\n"
"Last-Translator: Giuliano Lotta <giuliano.lotta@gmail.com>, 2016\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "I contatti richiedono un nome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Errore(i) con il nome del partner %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Nome"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Cognome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Il none non è impostato."
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Utenti"

58
partner_firstname/i18n/ja.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "パートナ"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/lt.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partneris"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/lv.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partneris"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/mk.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Партнер"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/mn.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Харилцагч"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/nb.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/nb_NO.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

63
partner_firstname/i18n/nl.po

@ -0,0 +1,63 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Antonio Trueba, 2016
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
# Erwin van der Ploeg <erwin@odooexperts.nl>, 2016
# Francisco Palm <francisco.palm@gmail.com>, 2015
# lfreeke <lfreeke@therp.nl>, 2015
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (9.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-14 11:14+0000\n"
"PO-Revision-Date: 2016-04-05 10:01+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Een naam in verplicht bij een contact"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Fout(en) met relatie %d's naam"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Voornaam"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Achternaam"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Er is geen naam ingesteld"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Relatie"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Gebruikers"

58
partner_firstname/i18n/nl_BE.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl_BE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Relatie"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

92
partner_firstname/i18n/nl_NL.po

@ -0,0 +1,92 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Peter Hageman <hageman.p@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-30 02:48+0000\n"
"PO-Revision-Date: 2017-06-30 02:48+0000\n"
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl_NL\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Relaties moeten een naam hebben"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Fout(en) met de naam van relatie %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Voornaam"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Achternaam"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Geen naam ingesteld."
#. module: partner_firstname
#: model:ir.model.fields,help:partner_firstname.field_base_config_settings_partner_names_order
msgid "Order to compose partner fullname"
msgstr "Volgorde om volledige naam van relatie samen te stellen"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Relatie"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order
msgid "Partner names order"
msgstr "Relatienaam volgorde"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_base_config_settings_partner_names_order_changed
msgid "Partner names order changed"
msgstr "Volgorde van Relatienamen gewijzigd"
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid "Recalculate names"
msgstr "Hersorteer namen"
#. module: partner_firstname
#: model:ir.ui.view,arch_db:partner_firstname.view_general_configuration
msgid ""
"Recalculate names for all partners. This process could take so much time if "
"there are more than 10,000 active partners"
msgstr ""
"Hersorteer de namen van alle relaties. Dit proces kan zeer veel tijd kosten "
"indien er meer dan 10.000 actieve relaties zijn."
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Gebruikers"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_base_config_settings
msgid "res.config.settings"
msgstr "res.config.settings"

48
partner_firstname/i18n/partner_firstname.pot

@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0-20150327\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-30 07:53+0000\n"
"PO-Revision-Date: 2015-03-30 07:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:26
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: field:res.partner,firstname:0
msgid "First name"
msgstr ""
#. module: partner_firstname
#: view:res.partner:partner_firstname.partner_form
msgid "Is a Company?"
msgstr ""
#. module: partner_firstname
#: field:res.partner,lastname:0
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:40
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr ""

58
partner_firstname/i18n/pl.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/pt.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Tiago Baptista <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Parceiro"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/pt_BR.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Albert Vonpupp <vonpupp@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-03 03:23+0000\n"
"PO-Revision-Date: 2016-12-03 03:23+0000\n"
"Last-Translator: Albert Vonpupp <vonpupp@gmail.com>, 2016\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Os contatos requerem um nome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Erro(s) com o nome do parceiro %d."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Nome"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Sobrenome"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "O nome nao foi setado"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Parceiro"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Usuarios"

58
partner_firstname/i18n/pt_PT.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Tiago Baptista <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Parceiro"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/ro.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partener"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/ru.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Контрагент"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/sk.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sk\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

59
partner_firstname/i18n/sl.po

@ -0,0 +1,59 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (9.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-14 11:14+0000\n"
"PO-Revision-Date: 2016-04-05 10:01+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-partner-contact-9-0/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr "Za stike je potrebno ime."
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr "Napaka(e) pri nazivu partnerja %d's ."
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr "Lastno ime"
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr "Priimek"
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr "Ime ni nastavljeno."
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr "Uporabniki"

58
partner_firstname/i18n/sr@latin.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/sv.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Företag"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/th.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: th\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "พาร์ทเนอร์"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/tr.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "İş Ortağı"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/tr_TR.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr_TR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Ortak"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/vi.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "Đối tác"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/zh_CN.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "业务伙伴"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

58
partner_firstname/i18n/zh_TW.po

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_firstname
#
# Translators:
# OCA Transbot <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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: partner_firstname
#: sql_constraint:res.partner:0
msgid "Contacts require a name."
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:11
#, python-format
msgid "Error(s) with partner %d's name."
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_firstname
msgid "First name"
msgstr ""
#. module: partner_firstname
#: model:ir.model.fields,field_description:partner_firstname.field_res_partner_lastname
#: model:ir.model.fields,field_description:partner_firstname.field_res_users_lastname
msgid "Last name"
msgstr ""
#. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:8
#, python-format
msgid "No name is set."
msgstr ""
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_partner
msgid "Partner"
msgstr "夥伴"
#. module: partner_firstname
#: model:ir.model,name:partner_firstname.model_res_users
msgid "Users"
msgstr ""

7
partner_firstname/models/__init__.py

@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import base_config_settings
from . import res_partner
from . import res_users

80
partner_firstname/models/base_config_settings.py

@ -0,0 +1,80 @@
# -*- coding: utf-8 -*-
# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import logging
from odoo import api, fields, models
_logger = logging.getLogger(__name__)
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
partner_names_order = fields.Selection(
string="Partner names order",
selection="_partner_names_order_selection",
help="Order to compose partner fullname",
required=True,
)
partner_names_order_changed = fields.Boolean(
compute="_compute_names_order_changed",
)
def _partner_names_order_selection(self):
return [
('last_first', 'Lastname Firstname'),
('last_first_comma', 'Lastname, Firstname'),
('first_last', 'Firstname Lastname'),
]
@api.multi
def _partner_names_order_default(self):
return self.env['res.partner']._names_order_default()
@api.model
def get_values(self):
res = super(ResConfigSettings, self).get_values()
partner_names_order = self.env['ir.config_parameter'].sudo().get_param(
'partner_names_order',
default=self._partner_names_order_default()
)
res.update(partner_names_order=partner_names_order)
return res
@api.multi
@api.depends('partner_names_order')
def _compute_names_order_changed(self):
current = self.env['ir.config_parameter'].sudo().get_param(
'partner_names_order', default=self._partner_names_order_default()
)
for record in self:
record.partner_names_order_changed = bool(
record.partner_names_order != current
)
@api.multi
@api.onchange('partner_names_order')
def _onchange_partner_names_order(self):
self._compute_names_order_changed()
@api.multi
def set_values(self):
super(ResConfigSettings, self).set_values()
self.env['ir.config_parameter'].sudo().set_param(
'partner_names_order', self.partner_names_order
)
@api.multi
def _partners_for_recalculating(self):
return self.env['res.partner'].search([
('is_company', '=', False),
('firstname', '!=', False), ('lastname', '!=', False),
])
@api.multi
def action_recalculate_partners_name(self):
partners = self._partners_for_recalculating()
_logger.info("Recalculating names for %d partners.", len(partners))
partners._compute_name()
_logger.info("%d partners updated.", len(partners))
return True

252
partner_firstname/models/res_partner.py

@ -0,0 +1,252 @@
# -*- coding: utf-8 -*-
# © 2013 Nicolas Bessi (Camptocamp SA)
# © 2014 Agile Business Group (<http://www.agilebg.com>)
# © 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)
@api.model
def create(self, vals):
"""Add inverted names at creation if unavailable."""
context = dict(self.env.context)
name = vals.get("name", context.get("default_name"))
if name is not None:
# Calculate the splitted fields
inverted = self._get_inverse_name(
self._get_whitespace_cleaned_name(name),
vals.get("is_company",
self.default_get(["is_company"])["is_company"]))
for key, value in inverted.items():
if not vals.get(key) or context.get("copy"):
vals[key] = value
# Remove the combined fields
if "name" in vals:
del vals["name"]
if "default_name" in context:
del context["default_name"]
return super(ResPartner, self.with_context(context)).create(vals)
@api.multi
def copy(self, default=None):
"""Ensure partners are copied right.
Odoo adds ``(copy)`` to the end of :attr:`~.name`, but that would get
ignored in :meth:`~.create` because it also copies explicitly firstname
and lastname fields.
"""
return super(ResPartner, self.with_context(copy=True)).copy(default)
@api.model
def default_get(self, fields_list):
"""Invert name when getting default values."""
result = super(ResPartner, self).default_get(fields_list)
inverted = self._get_inverse_name(
self._get_whitespace_cleaned_name(result.get("name", "")),
result.get("is_company", False))
for field in list(inverted.keys()):
if field in fields_list:
result[field] = inverted.get(field)
return result
@api.model
def _names_order_default(self):
return 'last_first'
@api.model
def _get_names_order(self):
"""Get names order configuration from system parameters.
You can override this method to read configuration from language,
country, company or other"""
return self.env['ir.config_parameter'].get_param(
'partner_names_order', self._names_order_default())
@api.model
def _get_computed_name(self, lastname, firstname):
"""Compute the 'name' field according to splitted data.
You can override this method to change the order of lastname and
firstname the computed name"""
order = self._get_names_order()
if order == 'last_first_comma':
return ", ".join((p for p in (lastname, firstname) if p))
elif order == 'first_last':
return " ".join((p for p in (firstname, lastname) if p))
else:
return " ".join((p for p in (lastname, firstname) if p))
@api.multi
@api.depends("firstname", "lastname")
def _compute_name(self):
"""Write the 'name' field according to splitted data."""
for record in self:
record.name = record._get_computed_name(
record.lastname, record.firstname,
)
@api.multi
def _inverse_name_after_cleaning_whitespace(self):
"""Clean whitespace in :attr:`~.name` and split it.
The splitting logic is stored separately in :meth:`~._inverse_name`, so
submodules can extend that method and get whitespace cleaning for free.
"""
for record in self:
# Remove unneeded whitespace
clean = record._get_whitespace_cleaned_name(record.name)
# Clean name avoiding infinite recursion
if record.name != clean:
record.name = clean
# Save name in the real fields
else:
record._inverse_name()
@api.model
def _get_whitespace_cleaned_name(self, name, comma=False):
"""Remove redundant whitespace from :param:`name`.
Removes leading, trailing and duplicated whitespace.
"""
try:
name = " ".join(name.split()) if name else name
except UnicodeDecodeError:
# with users coming from LDAP, name can be a str encoded as utf-8
# this happens with ActiveDirectory for instance, and in that case
# we get a UnicodeDecodeError during the automatic ASCII -> Unicode
# conversion that Python does for us.
# In that case we need to manually decode the string to get a
# proper unicode string.
name = ' '.join(name.decode('utf-8').split()) if name else name
if comma:
name = name.replace(" ,", ",")
name = name.replace(", ", ",")
return name
@api.model
def _get_inverse_name(self, name, is_company=False):
"""Compute the inverted name.
- If the partner is a company, save it in the lastname.
- Otherwise, make a guess.
This method can be easily overriden by other submodules.
You can also override this method to change the order of name's
attributes
When this method is called, :attr:`~.name` already has unified and
trimmed whitespace.
"""
# Company name goes to the lastname
if is_company or not name:
parts = [name or False, False]
# Guess name splitting
else:
order = self._get_names_order()
# Remove redundant spaces
name = self._get_whitespace_cleaned_name(
name, comma=(order == 'last_first_comma'))
parts = name.split("," if order == 'last_first_comma' else " ", 1)
if len(parts) > 1:
if order == 'first_last':
parts = [" ".join(parts[1:]), parts[0]]
else:
parts = [parts[0], " ".join(parts[1:])]
else:
while len(parts) < 2:
parts.append(False)
return {"lastname": parts[0], "firstname": parts[1]}
@api.multi
def _inverse_name(self):
"""Try to revert the effect of :meth:`._compute_name`."""
for record in self:
parts = record._get_inverse_name(record.name, record.is_company)
record.lastname = parts['lastname']
record.firstname = parts['firstname']
@api.multi
@api.constrains("firstname", "lastname")
def _check_name(self):
"""Ensure at least one name is set."""
for record in self:
if all((
record.type == 'contact' or record.is_company,
not (record.firstname or record.lastname)
)):
raise exceptions.EmptyNamesError(record)
@api.onchange("firstname", "lastname")
def _onchange_subnames(self):
"""Avoid recursion when the user changes one of these fields.
This forces to skip the :attr:`~.name` inversion when the user is
setting it in a not-inverted way.
"""
# Modify self's context without creating a new Environment.
# See https://github.com/odoo/odoo/issues/7472#issuecomment-119503916.
self.env.context = self.with_context(skip_onchange=True).env.context
@api.onchange("name")
def _onchange_name(self):
"""Ensure :attr:`~.name` is inverted in the UI."""
if self.env.context.get("skip_onchange"):
# Do not skip next onchange
self.env.context = (
self.with_context(skip_onchange=False).env.context)
else:
self._inverse_name_after_cleaning_whitespace()
@api.model
def _install_partner_firstname(self):
"""Save names correctly in the database.
Before installing the module, field ``name`` contains all full names.
When installing it, this method parses those names and saves them
correctly into the database. This can be called later too if needed.
"""
# Find records with empty firstname and lastname
records = self.search([("firstname", "=", False),
("lastname", "=", False)])
# Force calculations there
records._inverse_name()
_logger.info("%d partners updated installing module.", len(records))
# Disabling SQL constraint givint a more explicit error using a Python
# contstraint
_sql_constraints = [(
'check_name',
"CHECK( 1=1 )",
'Contacts require a name.'
)]

37
partner_firstname/models/res_users.py

@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
# © 2013 Nicolas Bessi (Camptocamp SA)
# © 2014 Agile Business Group (<http://www.agilebg.com>)
# © 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, models
_logger = logging.getLogger(__name__)
class ResUser(models.Model):
_inherit = 'res.users'
@api.model
def default_get(self, fields_list):
"""Invert name when getting default values."""
result = super(ResUser, self).default_get(fields_list)
partner_model = self.env['res.partner']
inverted = partner_model._get_inverse_name(
partner_model._get_whitespace_cleaned_name(result.get("name", "")),
result.get("is_company", False))
for field in list(inverted.keys()):
if field in fields_list:
result[field] = inverted.get(field)
return result
@api.onchange("firstname", "lastname")
def _compute_name(self):
"""Write the 'name' field according to splitted data."""
for rec in self:
rec.name = rec.partner_id._get_computed_name(
rec.lastname, rec.firstname)

BIN
partner_firstname/static/description/icon.png

After

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

14
partner_firstname/tests/__init__.py

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
# © 2014 Nemry Jonathan (Acsone SA/NV) (http://www.acsone.eu)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import (
test_create,
test_defaults,
test_delete,
test_empty,
test_name,
test_onchange,
test_user_onchange,
test_order,
)

74
partner_firstname/tests/base.py

@ -0,0 +1,74 @@
# -*- coding: utf-8 -*-
# © 2014 Nemry Jonathan (Acsone SA/NV) (http://www.acsone.eu)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
from .. import exceptions as ex
class MailInstalled():
def mail_installed(self):
"""Check if ``mail`` module is installed.``"""
return (self.env["ir.module.module"]
.search([("name", "=", "mail")])
.state == "installed")
class BaseCase(TransactionCase, MailInstalled):
def setUp(self):
super(BaseCase, self).setUp()
self.check_fields = True
self.expect("Núñez", "Fernán")
self.create_original()
def create_original(self):
self.original = self.env["res.partner"].create({
"lastname": self.lastname,
"firstname": self.firstname})
def expect(self, lastname, firstname, name=None):
"""Define what is expected in each field when ending."""
self.lastname = lastname
self.firstname = firstname
self.name = name or "%s %s" % (lastname, firstname)
def tearDown(self):
if self.check_fields:
if not hasattr(self, "changed"):
self.changed = self.original
for field in ("name", "lastname", "firstname"):
self.assertEqual(
getattr(self.changed, field),
getattr(self, field),
"Test failed with wrong %s" % field)
super(BaseCase, self).tearDown()
def test_copy(self):
"""Copy the partner and compare the result."""
self.expect(self.lastname, "%s (copy)" % self.firstname)
self.changed = (self.original.with_context(copy=True, lang="en_US")
.copy())
def test_one_name(self):
"""Test what happens when only one name is given."""
name = "Mönty"
self.expect(name, False, name)
self.original.name = name
def test_no_names(self):
"""Test that you cannot set a partner/user without names."""
self.check_fields = False
with self.assertRaises(ex.EmptyNamesError):
self.original.firstname = self.original.lastname = False
class OnChangeCase(TransactionCase):
is_company = False
def new_partner(self):
"""Create an empty partner. Ensure it is (or not) a company."""
new = self.env["res.partner"].new()
new.is_company = self.is_company
return new

81
partner_firstname/tests/test_create.py

@ -0,0 +1,81 @@
# -*- coding: utf-8 -*-
# © 2015 Grupo ESOC Ingeniería de Servicios, S.L. - Jairo Llopis.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
"""Test default values for models."""
from odoo.tests.common import TransactionCase
from .base import MailInstalled
class PersonCase(TransactionCase):
"""Test ``res.partner`` when it is a person."""
context = {"default_is_company": False}
model = "res.partner"
def setUp(self):
super(PersonCase, self).setUp()
self.good_values = {
"firstname": "Núñez",
"lastname": "Fernán",
}
self.good_values["name"] = "%s %s" % (self.good_values["lastname"],
self.good_values["firstname"])
if "default_is_company" in self.context:
self.good_values["is_company"] = self.context["default_is_company"]
self.values = self.good_values.copy()
def tearDown(self):
self.record = (self.env[self.model]
.with_context(self.context)
.create(self.values))
for key, value in self.good_values.items():
self.assertEqual(
self.record[key],
value,
"Checking key %s" % key)
super(PersonCase, self).tearDown()
def test_no_name(self):
"""Name is calculated."""
del self.values["name"]
def test_wrong_name_value(self):
"""Wrong name value is ignored, name is calculated."""
self.values["name"] = "BÄD"
def test_wrong_name_context(self):
"""Wrong name context is ignored, name is calculated."""
del self.values["name"]
self.context["default_name"] = "BÄD"
def test_wrong_name_value_and_context(self):
"""Wrong name value and context is ignored, name is calculated."""
self.values["name"] = "BÄD1"
self.context["default_name"] = "BÄD2"
class CompanyCase(PersonCase):
"""Test ``res.partner`` when it is a company."""
context = {"default_is_company": True}
def setUp(self):
super(CompanyCase, self).setUp()
self.good_values.update(lastname=self.values["name"], firstname=False)
self.values = self.good_values.copy()
class UserCase(PersonCase, MailInstalled):
"""Test ``res.users``."""
model = "res.users"
context = {"default_login": "user@example.com"}
def tearDown(self):
# Cannot create users if ``mail`` is installed
if self.mail_installed():
# Skip tests
super(PersonCase, self).tearDown()
else:
# Run tests
super(UserCase, self).tearDown()

65
partner_firstname/tests/test_defaults.py

@ -0,0 +1,65 @@
# -*- coding: utf-8 -*-
# © 2015 Grupo ESOC Ingeniería de Servicios, S.L. - Jairo Llopis.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
"""Test default values for models."""
from odoo.tests.common import TransactionCase
from .base import MailInstalled
class PersonCase(TransactionCase):
"""Test ``res.partner`` when it is a person."""
context = {"default_is_company": False}
model = "res.partner"
def setUp(self):
super(PersonCase, self).setUp()
self.values = {
"firstname": "Núñez",
"lastname": "Fernán",
}
self.values["name"] = "%s %s" % (self.values["lastname"],
self.values["firstname"])
if "default_is_company" in self.context:
self.values["is_company"] = self.context["default_is_company"]
def tearDown(self):
for key, value in self.values.items():
self.assertEqual(
self.defaults.get(key),
value,
"Checking key %s" % key)
return super(PersonCase, self).tearDown()
def test_default_get(self):
"""Getting default values for fields includes new fields."""
self.defaults = (self.env[self.model]
.with_context(self.context,
default_name=self.values["name"])
.default_get(list(self.values.keys())))
class CompanyCase(PersonCase):
"""Test ``res.partner`` when it is a company."""
context = {"default_is_company": True}
def tearDown(self):
self.values.update(lastname=self.values["name"], firstname=False)
return super(CompanyCase, self).tearDown()
class UserCase(PersonCase, MailInstalled):
"""Test ``res.users``."""
model = "res.users"
context = {"default_login": "user@example.com"}
def tearDown(self):
# Cannot create users if ``mail`` is installed
if self.mail_installed():
# Skip tests
super(PersonCase, self).tearDown()
else:
# Run tests
super(UserCase, self).tearDown()

38
partner_firstname/tests/test_delete.py

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# © 2015 Grupo ESOC
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
from .base import MailInstalled
class CompanyCase(TransactionCase):
model = "res.partner"
context = {"default_is_company": True}
def test_computing_after_unlink(self):
"""Test what happens if recomputed after unlinking.
This test might seem useless, but really this happens when module
``partner_relations`` is installed.
See https://github.com/OCA/partner-contact/issues/154.
"""
data = {"name": "Söme name"}
record = self.env[self.model].with_context(**self.context).create(data)
record.unlink()
record.recompute()
class PersonCase(CompanyCase):
context = {"default_is_company": False}
class UserCase(CompanyCase, MailInstalled):
model = "res.users"
context = {"default_login": "user@example.com"}
def test_computing_after_unlink(self):
# Cannot create users if ``mail`` is installed
if not self.mail_installed():
super(UserCase, self).test_computing_after_unlink()

74
partner_firstname/tests/test_empty.py

@ -0,0 +1,74 @@
# -*- coding: utf-8 -*-
# © 2014-2015 Grupo ESOC <www.grupoesoc.es>
# © 2016 Yannick Vaucher (Camptocamp)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
"""Test situations where names are empty.
To have more accurate results, remove the ``mail`` module before testing.
"""
from odoo.tests.common import TransactionCase
from .base import MailInstalled
from .. import exceptions as ex
class CompanyCase(TransactionCase):
"""Test ``res.partner`` when it is a company."""
model = "res.partner"
context = {"default_is_company": True}
def tearDown(self):
try:
data = {"name": self.name}
model = self.env[self.model].with_context(**self.context)
with self.assertRaises(ex.EmptyNamesError):
model.create(data)
finally:
super(CompanyCase, self).tearDown()
def test_name_empty_string(self):
"""Test what happens when the name is an empty string."""
self.name = ""
def test_name_false(self):
"""Test what happens when the name is ``False``."""
self.name = False
class PersonCase(CompanyCase):
"""Test ``res.partner`` when it is a person."""
context = {"default_is_company": False, "default_type": 'contact'}
class UserCase(CompanyCase, MailInstalled):
"""Test ``res.users``."""
model = "res.users"
context = {"default_login": "user@example.com"}
def tearDown(self):
# Cannot create users if ``mail`` is installed
if self.mail_installed():
# Skip tests
super(CompanyCase, self).tearDown()
else:
# Run tests
super(UserCase, self).tearDown()
class AddressCase(TransactionCase):
"""Test ``res.partner`` when it is a address."""
def test_new_empty_invoice_address(self):
"""Create an invoice patner without name."""
self.original = self.env["res.partner"].create({
"is_company": False,
"type": 'invoice',
"lastname": "",
"firstname": ""})
def test_new_empty_shipping_address(self):
"""Create an shipping patner without name."""
self.original = self.env["res.partner"].create({
"is_company": False,
"type": 'delivery',
"lastname": "",
"firstname": ""})

90
partner_firstname/tests/test_name.py

@ -0,0 +1,90 @@
# -*- coding: utf-8 -*-
# Authors: Nemry Jonathan
# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu)
# All Rights Reserved
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs.
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly advised to contact a Free Software
# Service Company.
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
"""Test naming logic.
To have more accurate results, remove the ``mail`` module before testing.
"""
from .base import BaseCase
class PartnerContactCase(BaseCase):
def test_update_lastname(self):
"""Change lastname."""
self.expect("newlästname", self.firstname)
self.original.name = self.name
def test_update_firstname(self):
"""Change firstname."""
self.expect(self.lastname, "newfïrstname")
self.original.name = self.name
def test_whitespace_cleanup(self):
"""Check that whitespace in name gets cleared."""
self.expect("newlästname", "newfïrstname")
self.original.name = " newlästname newfïrstname "
# Need this to refresh the ``name`` field
self.original.invalidate_cache()
class PartnerCompanyCase(BaseCase):
def create_original(self):
super(PartnerCompanyCase, self).create_original()
self.original.is_company = True
def test_copy(self):
"""Copy the partner and compare the result."""
super(PartnerCompanyCase, self).test_copy()
self.expect(self.name, False, self.name)
def test_company_inverse(self):
"""Test the inverse method in a company record."""
name = "Thïs is a Companŷ"
self.expect(name, False, name)
self.original.name = name
class UserCase(PartnerContactCase):
def create_original(self):
name = "%s %s" % (self.lastname, self.firstname)
# Cannot create users if ``mail`` is installed
if self.mail_installed():
self.original = self.env.ref("base.user_demo")
self.original.name = name
else:
self.original = self.env["res.users"].create({
"name": name,
"login": "firstnametest@example.com"})
def test_copy(self):
"""Copy the partner and compare the result."""
# Skip if ``mail`` is installed
if not self.mail_installed():
super(UserCase, self).test_copy()

105
partner_firstname/tests/test_onchange.py

@ -0,0 +1,105 @@
# -*- coding: utf-8 -*-
# © 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 .base import OnChangeCase
class PartnerCompanyCase(OnChangeCase):
is_company = True
def test_create_from_form(self):
"""A user creates a company from the form."""
name = "Sôme company"
with self.env.do_in_onchange():
# User presses ``new``
partner = self.new_partner()
# User sets a name, which triggers onchanges
partner.name = name
partner._onchange_name()
self.assertEqual(partner.name, name)
self.assertEqual(partner.firstname, False)
self.assertEqual(partner.lastname, name)
def test_empty_name_and_subnames(self):
"""If the user empties ``name``, subnames must be ``False``.
Otherwise, the ``required`` attr will not work as expected.
"""
with self.env.do_in_onchange():
# User presses ``new``
partner = self.new_partner()
# User sets a name, which triggers onchanges
partner.name = "Foó"
partner._onchange_name()
# User unsets name, which triggers onchanges
partner.name = ""
partner._onchange_name()
self.assertEqual(partner.firstname, False)
self.assertEqual(partner.lastname, False)
class PartnerContactCase(OnChangeCase):
def test_create_from_form_only_firstname(self):
"""A user creates a contact with only the firstname from the form."""
firstname = "Fïrst"
with self.env.do_in_onchange():
# User presses ``new``
partner = self.new_partner()
# Changes firstname, which triggers onchanges
partner.firstname = firstname
partner._onchange_subnames()
partner._onchange_name()
self.assertEqual(partner.lastname, False)
self.assertEqual(partner.firstname, firstname)
self.assertEqual(partner.name, firstname)
def test_create_from_form_only_lastname(self):
"""A user creates a contact with only the lastname from the form."""
lastname = "Läst"
with self.env.do_in_onchange():
# User presses ``new``
partner = self.new_partner()
# Changes lastname, which triggers onchanges
partner.lastname = lastname
partner._onchange_subnames()
partner._onchange_name()
self.assertEqual(partner.firstname, False)
self.assertEqual(partner.lastname, lastname)
self.assertEqual(partner.name, lastname)
def test_create_from_form_all(self):
"""A user creates a contact with all names from the form."""
firstname = "Fïrst"
lastname = "Läst"
with self.env.do_in_onchange():
# User presses ``new``
partner = self.new_partner()
# Changes firstname, which triggers onchanges
partner.firstname = firstname
partner._onchange_subnames()
partner._onchange_name()
# Changes lastname, which triggers onchanges
partner.lastname = lastname
partner._onchange_subnames()
partner._onchange_name()
self.assertEqual(partner.lastname, lastname)
self.assertEqual(partner.firstname, firstname)
self.assertEqual(partner.name, " ".join((lastname, firstname)))

40
partner_firstname/tests/test_order.py

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
class PartnerNamesOrder(TransactionCase):
def order_set(self, order):
return self.env['ir.config_parameter'].sudo().set_param(
'partner_names_order', order)
def test_get_computed_name(self):
lastname = "García Lorca"
firstname = "Federico"
cases = (
('last_first', "García Lorca Federico"),
('last_first_comma', "García Lorca, Federico"),
('first_last', "Federico García Lorca"),
)
for order, name in cases:
self.order_set(order)
result = self.env['res.partner']._get_computed_name(
lastname, firstname)
self.assertEqual(result, name)
def test_get_inverse_name(self):
lastname = "Flanker"
firstname = "Petër"
cases = (
('last_first', "Flanker Petër"),
('last_first_comma', "Flanker, Petër"),
('first_last', "Petër Flanker"),
)
for order, name in cases:
self.order_set(order)
result = self.env['res.partner']._get_inverse_name(name)
self.assertEqual(result['lastname'], lastname)
self.assertEqual(result['firstname'], firstname)

53
partner_firstname/tests/test_user_onchange.py

@ -0,0 +1,53 @@
# -*- coding: utf-8 -*-
# © 2016 Yannick Vaucher (Camptocamp SA)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
class UserOnchangeCase(TransactionCase):
def test_create_from_form_only_firstname(self):
"""In a new users form, a user set only the firstname."""
firstname = "Zoë"
with self.env.do_in_onchange():
# Changes firstname, which triggers onchanges
self.user.firstname = firstname
self.user._compute_name()
self.assertEqual(self.user.lastname, False)
self.assertEqual(self.user.firstname, firstname)
self.assertEqual(self.user.name, firstname)
def test_create_from_form_only_lastname(self):
"""In a new user form, a user set only the lastname."""
lastname = "Żywioł"
with self.env.do_in_onchange():
# Changes lastname, which triggers onchanges
self.user.lastname = lastname
self.user._compute_name()
self.assertEqual(self.user.firstname, False)
self.assertEqual(self.user.lastname, lastname)
self.assertEqual(self.user.name, lastname)
def test_create_from_form_all(self):
"""In a new user form, a user set all names."""
firstname = "Zoë"
lastname = "Żywioł"
with self.env.do_in_onchange():
# Changes firstname, which triggers onchanges
self.user.firstname = firstname
self.user._compute_name()
# Changes lastname, which triggers onchanges
self.user.lastname = lastname
self.user._compute_name()
self.assertEqual(self.user.lastname, lastname)
self.assertEqual(self.user.firstname, firstname)
self.assertEqual(self.user.name, " ".join((lastname, firstname)))
def setUp(self):
super(UserOnchangeCase, self).setUp()
self.user = self.env["res.users"].new()

34
partner_firstname/views/base_config_view.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- © 2015 Antiun Ingenieria S.L. - Antonio Espinosa
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record id="view_general_configuration" 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[@name='multi_company']" 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>

88
partner_firstname/views/res_partner.xml

@ -0,0 +1,88 @@
<?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>

25
partner_firstname/views/res_user.xml

@ -0,0 +1,25 @@
<?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