Repository: OCA/l10n-france (language: python)

Issue:
l10n_fr_department: Corsica is not supported
Corsica has 2 departments, with code 2A and 2B, but the zipcodes start with '20' -> they are not matched correctly, and we need a special case for these 2 departments. 

Reference:
* https://www.annuaire-administration.com/code-postal/departement/corse-du-sud.html
* https://www.annuaire-administration.com/code-postal/departement/haute-corse.html



Discussion / hints:

Fix patch:
diff --git a/l10n_fr_department/README.rst b/l10n_fr_department/README.rst
new file mode 100644
index 000000000..af5093782
--- /dev/null
+++ b/l10n_fr_department/README.rst
@@ -0,0 +1,93 @@
+=================================
+French Departments (Départements)
+=================================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !! This file is generated by oca-gen-addon-readme !!
+   !! changes will be overwritten.                   !!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+    :target: https://odoo-community.org/page/development-status
+    :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+    :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github
+    :target: https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department
+    :alt: OCA/l10n-france
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+    :target: https://translation.odoo-community.org/projects/l10n-france-15-0/l10n-france-15-0-l10n_fr_department
+    :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+    :target: https://runbot.odoo-community.org/runbot/121/15.0
+    :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5| 
+
+This module creates a new model *res_country_department*, sub
+division of the *res_country_state* and populate it with all the
+french departments, but only the french departments of mainland.
+If you need the overseas departments, please install the module
+*l10n_fr_department_oversea*.
+
+It also adds a computed many2one *department_id* field on the
+*res_partner* object (this field is not displayed in the partner form
+view by default).
+
+**Table of contents**
+
+.. contents::
+   :local:
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-france/issues>`_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback <https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_department%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* GRAP
+* Akretion
+* Nicolas JEUDY
+
+Contributors
+~~~~~~~~~~~~
+
+* Sylvain LE GAL (`Twitter <https://twitter.com/legalsylvain>`_), GRAP (Groupement Régional Alimentaire de Proximité)
+* Alexis de Lattre <alexis.delattre@akretion.com>
+* Nicolas JEUDY <https://github.com/njeudy>
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+   :alt: Odoo Community Association
+   :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
+    :target: https://github.com/legalsylvain
+    :alt: legalsylvain
+
+Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
+
+|maintainer-legalsylvain| 
+
+This module is part of the `OCA/l10n-france <https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department>`_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/l10n_fr_department/__init__.py b/l10n_fr_department/__init__.py
new file mode 100644
index 000000000..b3fd126bb
--- /dev/null
+++ b/l10n_fr_department/__init__.py
@@ -0,0 +1,2 @@
+from . import model
+from .post_install import set_department_on_partner
diff --git a/l10n_fr_department/__manifest__.py b/l10n_fr_department/__manifest__.py
new file mode 100644
index 000000000..b4595d9d5
--- /dev/null
+++ b/l10n_fr_department/__manifest__.py
@@ -0,0 +1,31 @@
+# Copyright 2013-2022 GRAP (Sylvain LE GAL https://twitter.com/legalsylvain)
+# Copyright 2015-2022 Akretion France
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+{
+    "name": "French Departments (Départements)",
+    "summary": "Populate Database with French Departments (Départements)",
+    "version": "16.0.1.0.0",
+    "category": "French Localization",
+    "author": "GRAP, "
+    "Akretion, "
+    "Nicolas JEUDY, "
+    "Odoo Community Association (OCA)",
+    "maintainers": ["legalsylvain"],
+    "website": "https://github.com/OCA/l10n-france",
+    "license": "AGPL-3",
+    "depends": [
+        "l10n_fr_state",
+        "contacts",
+    ],
+    "data": [
+        "security/ir.model.access.csv",
+        "data/res_country_department.xml",
+        "view/res_country_department.xml",
+        "view/res_partner.xml",
+    ],
+    "post_init_hook": "set_department_on_partner",
+    "images": ["static/src/img/screenshots/1.png"],
+    "installable": True,
+}
diff --git a/l10n_fr_department/data/res_country_department.xml b/l10n_fr_department/data/res_country_department.xml
new file mode 100644
index 000000000..f50539a16
--- /dev/null
+++ b/l10n_fr_department/data/res_country_department.xml
@@ -0,0 +1,557 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  Copyright 2018-2020 Akretion France (http://www.akretion.com/)
+  @author: Alexis de Lattre <alexis.delattre@akretion.com>
+  License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+-->
+<odoo noupdate="1">
+    <record id="res_country_department_ain" model="res.country.department">
+        <field name="name">Ain</field>
+        <field name="code">01</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_aisne" model="res.country.department">
+        <field name="name">Aisne</field>
+        <field name="code">02</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_nordpasdecalais" />
+    </record>
+    <record id="res_country_department_allier" model="res.country.department">
+        <field name="name">Allier</field>
+        <field name="code">03</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record
+        id="res_country_department_alpesdehauteprovence"
+        model="res.country.department"
+    >
+        <field name="name">Alpes-de-Haute-Provence</field>
+        <field name="code">04</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_hautesalpes" model="res.country.department">
+        <field name="name">Hautes-Alpes</field>
+        <field name="code">05</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_alpesmaritimes" model="res.country.department">
+        <field name="name">Alpes-Maritimes</field>
+        <field name="code">06</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_ardeche" model="res.country.department">
+        <field name="name">Ardèche</field>
+        <field name="code">07</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_ardennes" model="res.country.department">
+        <field name="name">Ardennes</field>
+        <field name="code">08</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_ariege" model="res.country.department">
+        <field name="name">Ariège</field>
+        <field name="code">09</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_aube" model="res.country.department">
+        <field name="name">Aube</field>
+        <field name="code">10</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_aude" model="res.country.department">
+        <field name="name">Aude</field>
+        <field name="code">11</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_aveyron" model="res.country.department">
+        <field name="name">Aveyron</field>
+        <field name="code">12</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_bouchesdurhone" model="res.country.department">
+        <field name="name">Bouches-du-Rhône</field>
+        <field name="code">13</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_calvados" model="res.country.department">
+        <field name="name">Calvados</field>
+        <field name="code">14</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bassenormandie" />
+    </record>
+    <record id="res_country_department_cantal" model="res.country.department">
+        <field name="name">Cantal</field>
+        <field name="code">15</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_charente" model="res.country.department">
+        <field name="name">Charente</field>
+        <field name="code">16</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_charentemaritime" model="res.country.department">
+        <field name="name">Charente-Maritime</field>
+        <field name="code">17</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_cher" model="res.country.department">
+        <field name="name">Cher</field>
+        <field name="code">18</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_correze" model="res.country.department">
+        <field name="name">Corrèze</field>
+        <field name="code">19</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_cotedor" model="res.country.department">
+        <field name="name">Côte-d'Or</field>
+        <field name="code">21</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_cotesdarmor" model="res.country.department">
+        <field name="name">Côtes-d'Armor</field>
+        <field name="code">22</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bretagne" />
+    </record>
+    <record id="res_country_department_creuse" model="res.country.department">
+        <field name="name">Creuse</field>
+        <field name="code">23</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_dordogne" model="res.country.department">
+        <field name="name">Dordogne</field>
+        <field name="code">24</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_doubs" model="res.country.department">
+        <field name="name">Doubs</field>
+        <field name="code">25</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_drome" model="res.country.department">
+        <field name="name">Drôme</field>
+        <field name="code">26</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_eure" model="res.country.department">
+        <field name="name">Eure</field>
+        <field name="code">27</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bassenormandie" />
+    </record>
+    <record id="res_country_department_eureetloir" model="res.country.department">
+        <field name="name">Eure-et-Loir</field>
+        <field name="code">28</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_finistere" model="res.country.department">
+        <field name="name">Finistère</field>
+        <field name="code">29</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bretagne" />
+    </record>
+    <record id="res_country_department_corsedusud" model="res.country.department">
+        <field name="name">Corse-du-Sud</field>
+        <field name="code">2A</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_corse" />
+    </record>
+    <record id="res_country_department_hautecorse" model="res.country.department">
+        <field name="name">Haute-Corse</field>
+        <field name="code">2B</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_corse" />
+    </record>
+    <record id="res_country_department_gard" model="res.country.department">
+        <field name="name">Gard</field>
+        <field name="code">30</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_hautegaronne" model="res.country.department">
+        <field name="name">Haute-Garonne</field>
+        <field name="code">31</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_gers" model="res.country.department">
+        <field name="name">Gers</field>
+        <field name="code">32</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_gironde" model="res.country.department">
+        <field name="name">Gironde</field>
+        <field name="code">33</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_herault" model="res.country.department">
+        <field name="name">Hérault</field>
+        <field name="code">34</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_illeetvilaine" model="res.country.department">
+        <field name="name">Ille-et-Vilaine</field>
+        <field name="code">35</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bretagne" />
+    </record>
+    <record id="res_country_department_indre" model="res.country.department">
+        <field name="name">Indre</field>
+        <field name="code">36</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_indreetloire" model="res.country.department">
+        <field name="name">Indre-et-Loire</field>
+        <field name="code">37</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_isere" model="res.country.department">
+        <field name="name">Isère</field>
+        <field name="code">38</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_jura" model="res.country.department">
+        <field name="name">Jura</field>
+        <field name="code">39</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_landes" model="res.country.department">
+        <field name="name">Landes</field>
+        <field name="code">40</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_loiretcher" model="res.country.department">
+        <field name="name">Loir-et-Cher</field>
+        <field name="code">41</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_loire" model="res.country.department">
+        <field name="name">Loire</field>
+        <field name="code">42</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_hauteloire" model="res.country.department">
+        <field name="name">Haute-Loire</field>
+        <field name="code">43</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_loireatlantique" model="res.country.department">
+        <field name="name">Loire-Atlantique</field>
+        <field name="code">44</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_paysdelaloire" />
+    </record>
+    <record id="res_country_department_loiret" model="res.country.department">
+        <field name="name">Loiret</field>
+        <field name="code">45</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_centre" />
+    </record>
+    <record id="res_country_department_lot" model="res.country.department">
+        <field name="name">Lot</field>
+        <field name="code">46</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_lotetgaronne" model="res.country.department">
+        <field name="name">Lot-et-Garonne</field>
+        <field name="code">47</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_lozere" model="res.country.department">
+        <field name="name">Lozère</field>
+        <field name="code">48</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_maineetloire" model="res.country.department">
+        <field name="name">Maine-et-Loire</field>
+        <field name="code">49</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_paysdelaloire" />
+    </record>
+    <record id="res_country_department_manche" model="res.country.department">
+        <field name="name">Manche</field>
+        <field name="code">50</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bassenormandie" />
+    </record>
+    <record id="res_country_department_marne" model="res.country.department">
+        <field name="name">Marne</field>
+        <field name="code">51</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_hautemarne" model="res.country.department">
+        <field name="name">Haute-Marne</field>
+        <field name="code">52</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_mayenne" model="res.country.department">
+        <field name="name">Mayenne</field>
+        <field name="code">53</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_paysdelaloire" />
+    </record>
+    <record id="res_country_department_meurtheetmoselle" model="res.country.department">
+        <field name="name">Meurthe-et-Moselle</field>
+        <field name="code">54</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_meuse" model="res.country.department">
+        <field name="name">Meuse</field>
+        <field name="code">55</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_morbihan" model="res.country.department">
+        <field name="name">Morbihan</field>
+        <field name="code">56</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bretagne" />
+    </record>
+    <record id="res_country_department_moselle" model="res.country.department">
+        <field name="name">Moselle</field>
+        <field name="code">57</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_nievre" model="res.country.department">
+        <field name="name">Nièvre</field>
+        <field name="code">58</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_nord" model="res.country.department">
+        <field name="name">Nord</field>
+        <field name="code">59</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_nordpasdecalais" />
+    </record>
+    <record id="res_country_department_oise" model="res.country.department">
+        <field name="name">Oise</field>
+        <field name="code">60</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_nordpasdecalais" />
+    </record>
+    <record id="res_country_department_orne" model="res.country.department">
+        <field name="name">Orne</field>
+        <field name="code">61</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bassenormandie" />
+    </record>
+    <record id="res_country_department_pasdecalais" model="res.country.department">
+        <field name="name">Pas-de-Calais</field>
+        <field name="code">62</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_nordpasdecalais" />
+    </record>
+    <record id="res_country_department_puydedome" model="res.country.department">
+        <field name="name">Puy-de-Dôme</field>
+        <field name="code">63</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record
+        id="res_country_department_pyreneesatlantiques"
+        model="res.country.department"
+    >
+        <field name="name">Pyrénées-Atlantiques</field>
+        <field name="code">64</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_hautespyrenees" model="res.country.department">
+        <field name="name">Hautes-Pyrénées</field>
+        <field name="code">65</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record
+        id="res_country_department_pyreneesorientales"
+        model="res.country.department"
+    >
+        <field name="name">Pyrénées-Orientales</field>
+        <field name="code">66</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_basrhin" model="res.country.department">
+        <field name="name">Bas-Rhin</field>
+        <field name="code">67</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_hautrhin" model="res.country.department">
+        <field name="name">Haut-Rhin</field>
+        <field name="code">68</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_rhone" model="res.country.department">
+        <field name="name">Rhône</field>
+        <field name="code">69</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_hautesaone" model="res.country.department">
+        <field name="name">Haute-Saône</field>
+        <field name="code">70</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_saoneetloire" model="res.country.department">
+        <field name="name">Saône-et-Loire</field>
+        <field name="code">71</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_sarthe" model="res.country.department">
+        <field name="name">Sarthe</field>
+        <field name="code">72</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_paysdelaloire" />
+    </record>
+    <record id="res_country_department_savoie" model="res.country.department">
+        <field name="name">Savoie</field>
+        <field name="code">73</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_hautesavoie" model="res.country.department">
+        <field name="name">Haute-Savoie</field>
+        <field name="code">74</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_auvergne" />
+    </record>
+    <record id="res_country_department_paris" model="res.country.department">
+        <field name="name">Paris</field>
+        <field name="code">75</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_seinemaritime" model="res.country.department">
+        <field name="name">Seine-Maritime</field>
+        <field name="code">76</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bassenormandie" />
+    </record>
+    <record id="res_country_department_seineetmarne" model="res.country.department">
+        <field name="name">Seine-et-Marne</field>
+        <field name="code">77</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_yvelines" model="res.country.department">
+        <field name="name">Yvelines</field>
+        <field name="code">78</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_deuxsevres" model="res.country.department">
+        <field name="name">Deux-Sèvres</field>
+        <field name="code">79</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_somme" model="res.country.department">
+        <field name="name">Somme</field>
+        <field name="code">80</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_nordpasdecalais" />
+    </record>
+    <record id="res_country_department_tarn" model="res.country.department">
+        <field name="name">Tarn</field>
+        <field name="code">81</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_tarnetgaronne" model="res.country.department">
+        <field name="name">Tarn-et-Garonne</field>
+        <field name="code">82</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_languedocroussillon"
+        />
+    </record>
+    <record id="res_country_department_var" model="res.country.department">
+        <field name="name">Var</field>
+        <field name="code">83</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_vaucluse" model="res.country.department">
+        <field name="name">Vaucluse</field>
+        <field name="code">84</field>
+        <field
+            name="state_id"
+            ref="l10n_fr_state.res_country_state_provencealpescotedazur"
+        />
+    </record>
+    <record id="res_country_department_vendee" model="res.country.department">
+        <field name="name">Vendée</field>
+        <field name="code">85</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_paysdelaloire" />
+    </record>
+    <record id="res_country_department_vienne" model="res.country.department">
+        <field name="name">Vienne</field>
+        <field name="code">86</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_hautevienne" model="res.country.department">
+        <field name="name">Haute-Vienne</field>
+        <field name="code">87</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_aquitaine" />
+    </record>
+    <record id="res_country_department_vosges" model="res.country.department">
+        <field name="name">Vosges</field>
+        <field name="code">88</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_alsace" />
+    </record>
+    <record id="res_country_department_yonne" model="res.country.department">
+        <field name="name">Yonne</field>
+        <field name="code">89</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record
+        id="res_country_department_territoiredebelfort"
+        model="res.country.department"
+    >
+        <field name="name">Territoire de Belfort</field>
+        <field name="code">90</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_bourgogne" />
+    </record>
+    <record id="res_country_department_essonne" model="res.country.department">
+        <field name="name">Essonne</field>
+        <field name="code">91</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_hautsdeseine" model="res.country.department">
+        <field name="name">Hauts-de-Seine</field>
+        <field name="code">92</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_seinesaintdenis" model="res.country.department">
+        <field name="name">Seine-Saint-Denis</field>
+        <field name="code">93</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_valdemarne" model="res.country.department">
+        <field name="name">Val-de-Marne</field>
+        <field name="code">94</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+    <record id="res_country_department_valdoise" model="res.country.department">
+        <field name="name">Val-d'Oise</field>
+        <field name="code">95</field>
+        <field name="state_id" ref="l10n_fr_state.res_country_state_iledefrance" />
+    </record>
+</odoo>
diff --git a/l10n_fr_department/i18n/am.po b/l10n_fr_department/i18n/am.po
new file mode 100644
index 000000000..1f4f1a301
--- /dev/null
+++ b/l10n_fr_department/i18n/am.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-09-09 12:26+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Amharic (http://www.transifex.com/oca/OCA-l10n-france-9-0/"
+"language/am/)\n"
+"Language: am\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/bg.po b/l10n_fr_department/i18n/bg.po
new file mode 100644
index 000000000..32398844c
--- /dev/null
+++ b/l10n_fr_department/i18n/bg.po
@@ -0,0 +1,147 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Партньор"
diff --git a/l10n_fr_department/i18n/ca.po b/l10n_fr_department/i18n/ca.po
new file mode 100644
index 000000000..d96016368
--- /dev/null
+++ b/l10n_fr_department/i18n/ca.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-09-09 12:25+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Catalan (http://www.transifex.com/oca/OCA-l10n-france-9-0/"
+"language/ca/)\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creat per"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creat el"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Darrera Actualització per"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Darrera Actualització el"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/cs_CZ.po b/l10n_fr_department/i18n/cs_CZ.po
new file mode 100644
index 000000000..9e7764447
--- /dev/null
+++ b/l10n_fr_department/i18n/cs_CZ.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# Lukáš Spurný <lukasspurny8@gmail.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: Lukáš Spurný <lukasspurny8@gmail.com>, 2018\n"
+"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/"
+"teams/23907/cs_CZ/)\n"
+"Language: cs_CZ\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr "Kontakt"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr "Země"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr "Země příslušného státu"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr "Stav státu"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Vytvořil"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Vytvořeno"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr "Oddělení"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr "Kód oddělení"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr "Název oddělení"
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr "Oddělení"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr "Oddělení související s tímto stavem"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Zobrazovaný název"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr "Skupina vytvořená"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Poslední změna dne"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Naposledy aktualizováno"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Poslední aktualizace dne"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr "Jméno nebo kód"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr "Stát"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr "Stát ve vztahu k současnému oddělení"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr "Kód oddělení (kodifikace ISO 3166-2)"
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr "Nemůžete mít dvě oddělení se stejným kódem!"
+
+#~ msgid "Display and manage the list of all departments."
+#~ msgstr "Zobrazte a spravujte seznam všech oddělení."
diff --git a/l10n_fr_department/i18n/da.po b/l10n_fr_department/i18n/da.po
new file mode 100644
index 000000000..642073378
--- /dev/null
+++ b/l10n_fr_department/i18n/da.po
@@ -0,0 +1,147 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Partner"
diff --git a/l10n_fr_department/i18n/de.po b/l10n_fr_department/i18n/de.po
new file mode 100644
index 000000000..a3c4046dd
--- /dev/null
+++ b/l10n_fr_department/i18n/de.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Erstellt von"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Erstellt am:"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Zuletzt aktualisiert von"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Zuletzt aktualisiert am"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/el_GR.po b/l10n_fr_department/i18n/el_GR.po
new file mode 100644
index 000000000..ad770fe0b
--- /dev/null
+++ b/l10n_fr_department/i18n/el_GR.po
@@ -0,0 +1,145 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
+"el_GR/)\n"
+"Language: el_GR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Δημιουργήθηκε από "
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Δημιουργήθηκε στις"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "Κωδικός"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Τελευταία ενημέρωση από"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Τελευταία ενημέρωση στις"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/es.po b/l10n_fr_department/i18n/es.po
new file mode 100644
index 000000000..2fcb9a7b1
--- /dev/null
+++ b/l10n_fr_department/i18n/es.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Nombre mostrado"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Última modificación el"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Última actualización el"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/es_ES.po b/l10n_fr_department/i18n/es_ES.po
new file mode 100644
index 000000000..6892b1da0
--- /dev/null
+++ b/l10n_fr_department/i18n/es_ES.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-07-29 19:51+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Spanish (Spain) (http://www.transifex.com/oca/OCA-l10n-"
+"france-9-0/language/es_ES/)\n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/es_MX.po b/l10n_fr_department/i18n/es_MX.po
new file mode 100644
index 000000000..424b8ca55
--- /dev/null
+++ b/l10n_fr_department/i18n/es_MX.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
+"es_MX/)\n"
+"Language: es_MX\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Compañero"
diff --git a/l10n_fr_department/i18n/fi.po b/l10n_fr_department/i18n/fi.po
new file mode 100644
index 000000000..c40828723
--- /dev/null
+++ b/l10n_fr_department/i18n/fi.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Luonut"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Luotu"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Nimi"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Viimeksi muokattu"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Viimeksi päivittänyt"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Viimeksi päivitetty"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr "Tila"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/fr.po b/l10n_fr_department/i18n/fr.po
new file mode 100644
index 000000000..d25a3eb85
--- /dev/null
+++ b/l10n_fr_department/i18n/fr.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# Quentin THEURET <odoo@kerpeo.com>, 2018
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr "Contact"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr "Pays"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr "Pays associé à la région"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr "État"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr "Département"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr "Code du département"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr "Nom du département"
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr "Départements"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr "Départements associés à cette région"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Afficher le nom"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr "Grouper par"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Dernière Modification le"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Dernière modification par"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Dernière modification le"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr "Nom ou code"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr "État"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr "Région associée au département courrant"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr "Code du département (codification ISO 3166-2)"
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr "Vous ne pouvez pas avoir deux départements avec le même code !"
+
+#~ msgid "Display and manage the list of all departments."
+#~ msgstr "Afficher et gérer la liste de tous les départements."
diff --git a/l10n_fr_department/i18n/fr_CH.po b/l10n_fr_department/i18n/fr_CH.po
new file mode 100644
index 000000000..8b6cb47d7
--- /dev/null
+++ b/l10n_fr_department/i18n/fr_CH.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
+"teams/23907/fr_CH/)\n"
+"Language: fr_CH\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Partenaire"
diff --git a/l10n_fr_department/i18n/gl.po b/l10n_fr_department/i18n/gl.po
new file mode 100644
index 000000000..15fcf642f
--- /dev/null
+++ b/l10n_fr_department/i18n/gl.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-09-09 12:25+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Galician (http://www.transifex.com/oca/OCA-l10n-france-9-0/"
+"language/gl/)\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "ültima actualización por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/hr.po b/l10n_fr_department/i18n/hr.po
new file mode 100644
index 000000000..4d6c5e575
--- /dev/null
+++ b/l10n_fr_department/i18n/hr.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Partner"
diff --git a/l10n_fr_department/i18n/it.po b/l10n_fr_department/i18n/it.po
new file mode 100644
index 000000000..18517fd0e
--- /dev/null
+++ b/l10n_fr_department/i18n/it.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Creato da"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Creato il"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Nome da visualizzare"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Ultima modifica il"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Ultimo aggiornamento di"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Ultimo aggiornamento il"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/l10n_fr_department.pot b/l10n_fr_department/i18n/l10n_fr_department.pot
new file mode 100644
index 000000000..3d8d8a002
--- /dev/null
+++ b/l10n_fr_department/i18n/l10n_fr_department.pot
@@ -0,0 +1,131 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* l10n_fr_department
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_users__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/nb_NO.po b/l10n_fr_department/i18n/nb_NO.po
new file mode 100644
index 000000000..7e6816b1c
--- /dev/null
+++ b/l10n_fr_department/i18n/nb_NO.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/"
+"teams/23907/nb_NO/)\n"
+"Language: nb_NO\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr "Land"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr "Landet til den relaterte staten"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr "Landsstat"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Laget av"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Laget den"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr "Departement"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr "Departement-navn"
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr "Departementer"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr "Departementer relatert til denne staten"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Vis navn"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr "Gruppe laget av"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Sist endret den"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Sist oppdatert av"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Sist oppdatert den"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr "Navn eller kode"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr "Stat"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Display and manage the list of all departments."
+#~ msgstr "Vis og håndter en liste over alle departementene."
diff --git a/l10n_fr_department/i18n/nl.po b/l10n_fr_department/i18n/nl.po
new file mode 100644
index 000000000..4a608993f
--- /dev/null
+++ b/l10n_fr_department/i18n/nl.po
@@ -0,0 +1,147 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# 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-01-17 03:38+0000\n"
+"PO-Revision-Date: 2017-01-17 03:38+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
+
+#~ msgid "Partner"
+#~ msgstr "Relatie"
diff --git a/l10n_fr_department/i18n/pt.po b/l10n_fr_department/i18n/pt.po
new file mode 100644
index 000000000..166aa7c3b
--- /dev/null
+++ b/l10n_fr_department/i18n/pt.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Criado em"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Atualizado pela última vez por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Atualizado pela última vez em"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/pt_BR.po b/l10n_fr_department/i18n/pt_BR.po
new file mode 100644
index 000000000..18652a624
--- /dev/null
+++ b/l10n_fr_department/i18n/pt_BR.po
@@ -0,0 +1,145 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
+"teams/23907/pt_BR/)\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Criado em"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "Identificação"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Última atualização por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Última atualização em"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/pt_PT.po b/l10n_fr_department/i18n/pt_PT.po
new file mode 100644
index 000000000..28fb32459
--- /dev/null
+++ b/l10n_fr_department/i18n/pt_PT.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-07-29 19:51+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/oca/OCA-l10n-"
+"france-9-0/language/pt_PT/)\n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Criado em"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Atualizado pela última vez por"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Atualizado pela última vez em"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/sl.po b/l10n_fr_department/i18n/sl.po
new file mode 100644
index 000000000..9420f92a6
--- /dev/null
+++ b/l10n_fr_department/i18n/sl.po
@@ -0,0 +1,145 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-22 03:41+0000\n"
+"PO-Revision-Date: 2018-02-22 03:41+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
+"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr "Država"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Ustvaril"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Ustvarjeno"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr "Prikazni naziv"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr "Združi po"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr "Zadnjič spremenjeno"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Zadnjič posodobil"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Zadnjič posodobljeno"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr "Stanje"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/i18n/tr.po b/l10n_fr_department/i18n/tr.po
new file mode 100644
index 000000000..c18412879
--- /dev/null
+++ b/l10n_fr_department/i18n/tr.po
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_department
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: l10n-france (9.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-26 15:35+0000\n"
+"PO-Revision-Date: 2016-09-09 11:33+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
+"Language-Team: Turkish (http://www.transifex.com/oca/OCA-l10n-france-9-0/"
+"language/tr/)\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__country_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Country"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__country_id
+msgid "Country of the related state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_state
+msgid "Country state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_uid
+msgid "Created by"
+msgstr "Oluşturan"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__create_date
+msgid "Created on"
+msgstr "Oluşturuldu"
+
+#. module: l10n_fr_department
+#: model:ir.model,name:l10n_fr_department.model_res_country_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__department_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_res_partner_filter
+msgid "Department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__code
+msgid "Department Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__name
+msgid "Department Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.actions.act_window,name:l10n_fr_department.action_view_country_department_tree
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__department_ids
+#: model:ir.ui.menu,name:l10n_fr_department.menu_res_country_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_form
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_tree
+msgid "Departments"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_state__department_ids
+msgid "Departments related to this state"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__display_name
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Group By"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state__id
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_state____last_update
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_uid
+msgid "Last Updated by"
+msgstr "Son güncelleyen"
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__write_date
+msgid "Last Updated on"
+msgstr "Son güncelleme"
+
+#. module: l10n_fr_department
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "Name or Code"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,field_description:l10n_fr_department.field_res_country_department__state_id
+#: model_terms:ir.ui.view,arch_db:l10n_fr_department.view_country_department_search
+msgid "State"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__state_id
+msgid "State related to the current department"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.fields,help:l10n_fr_department.field_res_country_department__code
+msgid "The department code (ISO 3166-2 codification)"
+msgstr ""
+
+#. module: l10n_fr_department
+#: model:ir.model.constraint,message:l10n_fr_department.constraint_res_country_department_code_uniq
+msgid "You cannot have two departments with the same code!"
+msgstr ""
diff --git a/l10n_fr_department/migrations/16.0.1.0.0/pre-migration.py b/l10n_fr_department/migrations/16.0.1.0.0/pre-migration.py
new file mode 100644
index 000000000..2407c4ad5
--- /dev/null
+++ b/l10n_fr_department/migrations/16.0.1.0.0/pre-migration.py
@@ -0,0 +1,21 @@
+# Copyright 2022 Akretion France (http://www.akretion.com/)
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from openupgradelib import openupgrade
+
+
+@openupgrade.migrate()
+def migrate(env, version):
+    if not openupgrade.column_exists(env.cr, "res_partner", "country_department_id"):
+        openupgrade.rename_fields(
+            env,
+            [
+                (
+                    "res.partner",
+                    "res_partner",
+                    "department_id",
+                    "country_department_id",
+                ),
+            ],
+        )
diff --git a/l10n_fr_department/model/__init__.py b/l10n_fr_department/model/__init__.py
new file mode 100644
index 000000000..e6e8abb6b
--- /dev/null
+++ b/l10n_fr_department/model/__init__.py
@@ -0,0 +1,3 @@
+from . import res_country_state
+from . import res_country_department
+from . import res_partner
diff --git a/l10n_fr_department/model/res_country_department.py b/l10n_fr_department/model/res_country_department.py
new file mode 100644
index 000000000..b124b8502
--- /dev/null
+++ b/l10n_fr_department/model/res_country_department.py
@@ -0,0 +1,50 @@
+# Copyright 2013-2022 GRAP (http://www.grap.coop)
+# Copyright 2015-2022 Akretion France (http://www.akretion.com)
+# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
+# @author Alexis de Lattre (alexis.delattre@akretion.com)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+
+
+class ResCountryDepartment(models.Model):
+    _description = "Department"
+    _name = "res.country.department"
+    _order = "country_id, code"
+
+    state_id = fields.Many2one(
+        "res.country.state",
+        string="State",
+        required=True,
+        help="State related to the current department",
+    )
+    country_id = fields.Many2one(
+        "res.country",
+        related="state_id.country_id",
+        string="Country",
+        store=True,
+        help="Country of the related state",
+    )
+    name = fields.Char(string="Department Name", size=128, required=True)
+    code = fields.Char(
+        string="Department Code",
+        size=3,
+        required=True,
+        help="The department code (ISO 3166-2 codification)",
+    )
+
+    _sql_constraints = [
+        (
+            "code_uniq",
+            "unique (code)",
+            "You cannot have two departments with the same code!",
+        )
+    ]
+
+    @api.depends("name", "code")
+    def name_get(self):
+        res = []
+        for rec in self:
+            dname = "{} ({})".format(rec.name, rec.code)
+            res.append((rec.id, dname))
+        return res
diff --git a/l10n_fr_department/model/res_country_state.py b/l10n_fr_department/model/res_country_state.py
new file mode 100644
index 000000000..4bf66f8da
--- /dev/null
+++ b/l10n_fr_department/model/res_country_state.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2022 GRAP (http://www.grap.coop)
+# Copyright 2015-2022 Akretion France (http://www.akretion.com)
+# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
+# @author Alexis de Lattre (alexis.delattre@akretion.com)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class ResCountryState(models.Model):
+    _inherit = "res.country.state"
+
+    department_ids = fields.One2many(
+        "res.country.department",
+        "state_id",
+        string="Departments",
+        help="Departments related to this state",
+    )
diff --git a/l10n_fr_department/model/res_partner.py b/l10n_fr_department/model/res_partner.py
new file mode 100644
index 000000000..55e42dd23
--- /dev/null
+++ b/l10n_fr_department/model/res_partner.py
@@ -0,0 +1,115 @@
+# Copyright 2014-2022 Akretion France (http://www.akretion.com/)
+# author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+from odoo.tools.cache import ormcache
+from odoo.tools.misc import groupby
+
+
+class ResPartner(models.Model):
+    _inherit = "res.partner"
+
+    # Warning: The OCA module 'partner_contact_department'
+    # from https://github.com/OCA/partner-contact
+    # adds a field 'department_id' on res.partner
+    # So we chose a more specific field name: country_department_id
+    country_department_id = fields.Many2one(
+        "res.country.department",
+        compute="_compute_country_department",
+        string="Department",
+        store=True,
+    )
+
+    @api.depends("zip", "country_id", "country_id.code")
+    # If a department code changes, it will have to be manually recomputed
+    def _compute_country_department(self):
+        def _get_zipcode(partner) -> str:
+            if partner.country_id not in fr_countries:
+                return ""
+            partner_zip = partner.zip
+            if not partner_zip:
+                return ""
+            partner_zip = partner_zip.strip().replace(" ", "").rjust(5, "0")
+            return partner_zip if len(partner_zip) == 5 else ""
+
+        fr_countries_codes = ("FR", "GP", "MQ", "GF", "RE", "YT")
+        fr_countries_domain = [("code", "in", fr_countries_codes)]
+        fr_countries = self.env["res.country"].search(fr_countries_domain)
+
+        # Group partners by zip code
+        partners_by_zipcode = dict(groupby(self, key=_get_zipcode))
+
+        # Retrieve all available departments by normalized department zip code
+        department_obj = self.env["res.country.department"]
+        zip2dep = self._fr_zipcode_to_department_code
+        department_codes = {zip2dep(c) for c in partners_by_zipcode if c}
+        departments = department_obj
+        if department_codes:
+            departments_domain = [
+                ("code", "in", tuple(department_codes)),
+                ("country_id", "in", fr_countries.ids),
+            ]
+            departments = department_obj.search(departments_domain)
+
+        # Shortcut: if no department is set for the given zip codes, make a
+        # single assignment for the whole recordset with the null value (this
+        # will surely happen the first time the module is installed: field is
+        # computed before loading ``res.country.department`` records via
+        # .xml file)
+        if not departments:
+            self.country_department_id = False
+        # Else: group departments by zip code, assign them to the grouped
+        # partners according to their common zip code
+        else:
+            departments_by_code = dict(groupby(departments, key=lambda d: d.code))
+            for zipcode, partner_list in partners_by_zipcode.items():
+                department = department_obj
+                if zipcode:
+                    dep_code = zip2dep(zipcode)
+                    if dep_code in departments_by_code:
+                        department = departments_by_code[dep_code][0]
+                self.browse().concat(*partner_list).country_department_id = department
+
+    @api.model
+    @ormcache("zipcode")
+    def _fr_zipcode_to_department_code(self, zipcode):
+        code = zipcode[0:2]
+        # https://fr.wikipedia.org/wiki/Liste_des_communes_de_France_dont_le_code_postal_ne_correspond_pas_au_d%C3%A9partement  # noqa
+        special_zipcodes = {
+            "42620": "03",
+            "05110": "04",
+            "05130": "04",
+            "05160": "04",
+            "06260": "04",
+            "48250": "07",
+            "43450": "15",
+            "33220": "24",
+            "05700": "26",
+            "73670": "38",
+            "01410": "39",
+            "01590": "39",
+            "52100": "51",
+            "21340": "71",
+            "01200": "74",
+            "13780": "83",
+            "37160": "86",
+            "94390": "91",
+        }
+        if zipcode in special_zipcodes:
+            return special_zipcodes[zipcode]
+        if code == "97":
+            code = zipcode[0:3]
+        elif code == "20":
+            try:
+                zipcode = int(zipcode)
+            except ValueError:
+                return "20"
+            if 20000 <= zipcode < 20200:
+                # Corse du Sud / 2A
+                code = "2A"
+            elif 20200 <= zipcode <= 20620:
+                code = "2B"
+            else:
+                code = "20"
+        return code
diff --git a/l10n_fr_department/post_install.py b/l10n_fr_department/post_install.py
new file mode 100644
index 000000000..32d6427a2
--- /dev/null
+++ b/l10n_fr_department/post_install.py
@@ -0,0 +1,25 @@
+# Copyright 2014-2021 Akretion France (http://www.akretion.com/)
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import SUPERUSER_ID, api
+
+
+def set_department_on_partner(cr, registry):
+    """This post_install script is required because, when the module
+    is installed, Odoo creates the column in the DB and compute the field
+    and THEN it loads the file data/res_country_department.xml...
+    So, when it computes the field on module installation, the
+    departments are not available in the DB, so the country_department_id field
+    on res.partner stays null. This post_install script fixes this."""
+    env = api.Environment(cr, SUPERUSER_ID, {})
+    fr_countries = env["res.country"].search(
+        [("code", "in", ("FR", "GP", "MQ", "GF", "RE", "YT"))]
+    )
+    partners = (
+        env["res.partner"]
+        .with_context(active_test=False)
+        .search([("country_id", "in", fr_countries.ids)])
+    )
+    partners._compute_country_department()
+    return
diff --git a/l10n_fr_department/readme/CONTRIBUTORS.rst b/l10n_fr_department/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..b9bd37043
--- /dev/null
+++ b/l10n_fr_department/readme/CONTRIBUTORS.rst
@@ -0,0 +1,3 @@
+* Sylvain LE GAL (`Twitter <https://twitter.com/legalsylvain>`_), GRAP (Groupement Régional Alimentaire de Proximité)
+* Alexis de Lattre <alexis.delattre@akretion.com>
+* Nicolas JEUDY <https://github.com/njeudy>
diff --git a/l10n_fr_department/readme/DESCRIPTION.rst b/l10n_fr_department/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..d0b869be0
--- /dev/null
+++ b/l10n_fr_department/readme/DESCRIPTION.rst
@@ -0,0 +1,8 @@
+This module creates a new model *res_country_department*, sub
+division of the *res_country_state* and populate it with all the
+french departments, but only the french departments of mainland.
+If you need the overseas departments, please install the module
+*l10n_fr_department_oversea*.
+
+It also adds a computed many2one *country_department_id* field on the
+*res_partner* object.
diff --git a/l10n_fr_department/security/ir.model.access.csv b/l10n_fr_department/security/ir.model.access.csv
new file mode 100644
index 000000000..5b26f09ba
--- /dev/null
+++ b/l10n_fr_department/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_res_country_department_all,Read access to res.country.department to everybody,model_res_country_department,,1,0,0,0
+access_res_country_department_manager,Full access to res.country.department to System user,model_res_country_department,base.group_system,1,1,1,1
diff --git a/l10n_fr_department/static/description/icon.png b/l10n_fr_department/static/description/icon.png
new file mode 100644
index 000000000..2a65de309
Binary files /dev/null and b/l10n_fr_department/static/description/icon.png differ
diff --git a/l10n_fr_department/static/description/index.html b/l10n_fr_department/static/description/index.html
new file mode 100644
index 000000000..7c75f344a
--- /dev/null
+++ b/l10n_fr_department/static/description/index.html
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
+<title>French Departments (Départements)</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+.subscript {
+  vertical-align: sub;
+  font-size: smaller }
+
+.superscript {
+  vertical-align: super;
+  font-size: smaller }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left, table.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right, table.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+table.align-center {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+.align-top    {
+  vertical-align: top }
+
+.align-middle {
+  vertical-align: middle }
+
+.align-bottom {
+  vertical-align: bottom }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+/* "booktabs" style (no vertical lines) */
+table.docutils.booktabs {
+  border: 0px;
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+  border-collapse: collapse;
+}
+table.docutils.booktabs * {
+  border: 0px;
+}
+table.docutils.booktabs th {
+  border-bottom: thin solid;
+  text-align: left;
+}
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="french-departments-departements">
+<h1 class="title">French Departments (Départements)</h1>
+
+<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! This file is generated by oca-gen-addon-readme !!
+!! changes will be overwritten.                   !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department"><img alt="OCA/l10n-france" src="https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/l10n-france-15-0/l10n-france-15-0-l10n_fr_department"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/121/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p>This module creates a new model <em>res_country_department</em>, sub
+division of the <em>res_country_state</em> and populate it with all the
+french departments, but only the french departments of mainland.
+If you need the overseas departments, please install the module
+<em>l10n_fr_department_oversea</em>.</p>
+<p>It also adds a computed many2one <em>department_id</em> field on the
+<em>res_partner</em> object (this field is not displayed in the partner form
+view by default).</p>
+<p><strong>Table of contents</strong></p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#bug-tracker" id="id1">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="id2">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="id3">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="id4">Contributors</a></li>
+<li><a class="reference internal" href="#maintainers" id="id5">Maintainers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="bug-tracker">
+<h1><a class="toc-backref" href="#id1">Bug Tracker</a></h1>
+<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-france/issues">GitHub Issues</a>.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+<a class="reference external" href="https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_department%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<p>Do not contact contributors directly about support or help with technical issues.</p>
+</div>
+<div class="section" id="credits">
+<h1><a class="toc-backref" href="#id2">Credits</a></h1>
+<div class="section" id="authors">
+<h2><a class="toc-backref" href="#id3">Authors</a></h2>
+<ul class="simple">
+<li>GRAP</li>
+<li>Akretion</li>
+<li>Nicolas JEUDY</li>
+</ul>
+</div>
+<div class="section" id="contributors">
+<h2><a class="toc-backref" href="#id4">Contributors</a></h2>
+<ul class="simple">
+<li>Sylvain LE GAL (<a class="reference external" href="https://twitter.com/legalsylvain">Twitter</a>), GRAP (Groupement Régional Alimentaire de Proximité)</li>
+<li>Alexis de Lattre &lt;<a class="reference external" href="mailto:alexis.delattre&#64;akretion.com">alexis.delattre&#64;akretion.com</a>&gt;</li>
+<li>Nicolas JEUDY &lt;<a class="reference external" href="https://github.com/njeudy">https://github.com/njeudy</a>&gt;</li>
+</ul>
+</div>
+<div class="section" id="maintainers">
+<h2><a class="toc-backref" href="#id5">Maintainers</a></h2>
+<p>This module is maintained by the OCA.</p>
+<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
+<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.</p>
+<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
+<p><a class="reference external" href="https://github.com/legalsylvain"><img alt="legalsylvain" src="https://github.com/legalsylvain.png?size=40px" /></a></p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department">OCA/l10n-france</a> project on GitHub.</p>
+<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/l10n_fr_department/static/src/img/screenshots/1.png b/l10n_fr_department/static/src/img/screenshots/1.png
new file mode 100644
index 000000000..01f3b65c0
Binary files /dev/null and b/l10n_fr_department/static/src/img/screenshots/1.png differ
diff --git a/l10n_fr_department/view/res_country_department.xml b/l10n_fr_department/view/res_country_department.xml
new file mode 100644
index 000000000..d9bcdf64c
--- /dev/null
+++ b/l10n_fr_department/view/res_country_department.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  Copyright 2013-2022 GRAP (http://www.grap.coop)
+  @author Sylvain LE GAL (https://twitter.com/legalsylvain)
+  License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+-->
+<odoo>
+    <record id="view_country_department_search" model="ir.ui.view">
+        <field name="name">res.country.department.search</field>
+        <field name="model">res.country.department</field>
+        <field name="arch" type="xml">
+            <search>
+                <field
+                    name="name"
+                    string="Name or Code"
+                    filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
+                />
+                <field name="state_id" />
+                <field name="country_id" />
+                <group string="Group By" name="groupby">
+                    <filter
+                        name="state_groupby"
+                        string="State"
+                        context="{'group_by': 'state_id'}"
+                    />
+                    <filter
+                        name="country_groupby"
+                        string="Country"
+                        context="{'group_by': 'country_id'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
+    <record id="view_country_department_tree" model="ir.ui.view">
+        <field name="name">res.country.department.tree</field>
+        <field name="model">res.country.department</field>
+        <field name="arch" type="xml">
+            <tree>
+                <field name="name" />
+                <field name="code" />
+                <field name="state_id" />
+                <field name="country_id" />
+            </tree>
+        </field>
+    </record>
+    <record id="view_country_department_form" model="ir.ui.view">
+        <field name="name">res.country.department.form</field>
+        <field name="model">res.country.department</field>
+        <field name="arch" type="xml">
+            <form>
+                <group name="main">
+                    <field name="name" />
+                    <field name="code" />
+                    <field name="state_id" />
+                    <field name="country_id" />
+                </group>
+            </form>
+        </field>
+    </record>
+    <record id="action_view_country_department_tree" model="ir.actions.act_window">
+        <field name="name">Departments</field>
+        <field name="res_model">res.country.department</field>
+        <field name="view_mode">tree,form</field>
+    </record>
+    <menuitem
+        id="menu_res_country_department"
+        parent="contacts.menu_localisation"
+        action="action_view_country_department_tree"
+        sequence="2"
+    />
+</odoo>
diff --git a/l10n_fr_department/view/res_partner.xml b/l10n_fr_department/view/res_partner.xml
new file mode 100644
index 000000000..dcce6569b
--- /dev/null
+++ b/l10n_fr_department/view/res_partner.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+  @author: Alexis de Lattre <alexis.delattre@akretion.com>
+  License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+-->
+<odoo>
+    <record id="view_res_partner_filter" model="ir.ui.view">
+        <field name="name">l10n_fr_department.partner.search</field>
+        <field name="model">res.partner</field>
+        <field name="inherit_id" ref="base.view_res_partner_filter" />
+        <field name="arch" type="xml">
+            <filter name="group_country" position="before">
+                <filter
+                    name="country_department_groupby"
+                    string="Department"
+                    context="{'group_by': 'country_department_id'}"
+                />
+            </filter>
+        </field>
+    </record>
+    <record id="view_partner_form" model="ir.ui.view">
+        <field name="name">l10n_fr_department.partner.address</field>
+        <field name="model">res.partner</field>
+        <field name="inherit_id" ref="base.view_partner_form" />
+        <field name="arch" type="xml">
+            <field name="country_id" position="before">
+                <field
+                    name="country_department_id"
+                    class="o_address_country"
+                    attrs="{'invisible': [('country_department_id', '=', False)]}"
+                />
+            </field>
+            <xpath
+                expr="//field[@name='child_ids']/form//field[@name='country_id']"
+                position="before"
+            >
+                <field
+                    name="country_department_id"
+                    class="o_address_country"
+                    attrs="{'invisible': [('country_department_id', '=', False)]}"
+                />
+            </xpath>
+        </field>
+    </record>
+</odoo>
diff --git a/l10n_fr_department_oversea/README.rst b/l10n_fr_department_oversea/README.rst
new file mode 100644
index 000000000..c4b5df0e2
--- /dev/null
+++ b/l10n_fr_department_oversea/README.rst
@@ -0,0 +1,82 @@
+=================================
+French Overseas Departments (DOM)
+=================================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !! This file is generated by oca-gen-addon-readme !!
+   !! changes will be overwritten.                   !!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+    :target: https://odoo-community.org/page/development-status
+    :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+    :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github
+    :target: https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department_oversea
+    :alt: OCA/l10n-france
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+    :target: https://translation.odoo-community.org/projects/l10n-france-15-0/l10n-france-15-0-l10n_fr_department_oversea
+    :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+    :target: https://runbot.odoo-community.org/runbot/121/15.0
+    :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5| 
+
+This module adds the 5 French overseas States (Régions) and Departments (Départements) in the *res_country_state* and *res_country_department* tables.
+
+**Table of contents**
+
+.. contents::
+   :local:
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-france/issues>`_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback <https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_department_oversea%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Akretion
+
+Contributors
+~~~~~~~~~~~~
+
+* Alexis de Lattre <alexis.delattre@akretion.com>
+* Danh Vo <https://github.com/danhvophuong>
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+   :alt: Odoo Community Association
+   :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
+    :target: https://github.com/alexis-via
+    :alt: alexis-via
+
+Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
+
+|maintainer-alexis-via| 
+
+This module is part of the `OCA/l10n-france <https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department_oversea>`_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/l10n_fr_department_oversea/__init__.py b/l10n_fr_department_oversea/__init__.py
new file mode 100644
index 000000000..03ca410df
--- /dev/null
+++ b/l10n_fr_department_oversea/__init__.py
@@ -0,0 +1,2 @@
+from .pre_init_hook import create_fr_oversea_state_xmlid
+from .post_install import set_oversea_department_on_partner
diff --git a/l10n_fr_department_oversea/__manifest__.py b/l10n_fr_department_oversea/__manifest__.py
new file mode 100644
index 000000000..6ce0bba0d
--- /dev/null
+++ b/l10n_fr_department_oversea/__manifest__.py
@@ -0,0 +1,23 @@
+# Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+{
+    "name": "French Overseas Departments (DOM)",
+    "summary": "Populate Database with overseas French "
+    "Departments (Départements d'outre-mer)",
+    "version": "16.0.1.0.0",
+    "category": "French Localization",
+    "author": "Akretion,Odoo Community Association (OCA)",
+    "maintainers": ["alexis-via"],
+    "website": "https://github.com/OCA/l10n-france",
+    "license": "AGPL-3",
+    "depends": ["l10n_fr_department"],
+    "data": [
+        "data/res_country_state.xml",
+        "data/res_country_department.xml",
+    ],
+    "pre_init_hook": "create_fr_oversea_state_xmlid",
+    "post_init_hook": "set_oversea_department_on_partner",
+    "installable": True,
+}
diff --git a/l10n_fr_department_oversea/data/res_country_department.xml b/l10n_fr_department_oversea/data/res_country_department.xml
new file mode 100644
index 000000000..d48b086eb
--- /dev/null
+++ b/l10n_fr_department_oversea/data/res_country_department.xml
@@ -0,0 +1,32 @@
+<!--
+  Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+  @author: Alexis de Lattre <alexis.delattre@akretion.com>
+  License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+-->
+<odoo noupdate="1">
+    <record id="res_country_department_guadeloupe" model="res.country.department">
+        <field name="name">Guadeloupe</field>
+        <field name="code">971</field>
+        <field name="state_id" ref="res_country_state_guadeloupe" />
+    </record>
+    <record id="res_country_department_martinique" model="res.country.department">
+        <field name="name">Martinique</field>
+        <field name="code">972</field>
+        <field name="state_id" ref="res_country_state_martinique" />
+    </record>
+    <record id="res_country_department_guyane" model="res.country.department">
+        <field name="name">Guyane</field>
+        <field name="code">973</field>
+        <field name="state_id" ref="res_country_state_guyane" />
+    </record>
+    <record id="res_country_department_reunion" model="res.country.department">
+        <field name="name">La Réunion</field>
+        <field name="code">974</field>
+        <field name="state_id" ref="res_country_state_reunion" />
+    </record>
+    <record id="res_country_department_mayotte" model="res.country.department">
+        <field name="name">Mayotte</field>
+        <field name="code">976</field>
+        <field name="state_id" ref="res_country_state_mayotte" />
+    </record>
+</odoo>
diff --git a/l10n_fr_department_oversea/data/res_country_state.xml b/l10n_fr_department_oversea/data/res_country_state.xml
new file mode 100644
index 000000000..9f30c702b
--- /dev/null
+++ b/l10n_fr_department_oversea/data/res_country_state.xml
@@ -0,0 +1,32 @@
+<!--
+  Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+  @author: Alexis de Lattre <alexis.delattre@akretion.com>
+  License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+-->
+<odoo noupdate="1">
+    <record id="res_country_state_guadeloupe" model="res.country.state">
+        <field name="code">GP</field>
+        <field name="country_id" ref="base.gp" />
+        <field name="name">Guadeloupe</field>
+    </record>
+    <record id="res_country_state_martinique" model="res.country.state">
+        <field name="code">MQ</field>
+        <field name="country_id" ref="base.mq" />
+        <field name="name">Martinique</field>
+    </record>
+    <record id="res_country_state_guyane" model="res.country.state">
+        <field name="code">GF</field>
+        <field name="country_id" ref="base.gf" />
+        <field name="name">Guyane</field>
+    </record>
+    <record id="res_country_state_reunion" model="res.country.state">
+        <field name="code">RE</field>
+        <field name="country_id" ref="base.re" />
+        <field name="name">La Réunion</field>
+    </record>
+    <record id="res_country_state_mayotte" model="res.country.state">
+        <field name="code">YT</field>
+        <field name="country_id" ref="base.yt" />
+        <field name="name">Mayotte</field>
+    </record>
+</odoo>
diff --git a/l10n_fr_department_oversea/i18n/l10n_fr_department_oversea.pot b/l10n_fr_department_oversea/i18n/l10n_fr_department_oversea.pot
new file mode 100644
index 000000000..a11baf5cd
--- /dev/null
+++ b/l10n_fr_department_oversea/i18n/l10n_fr_department_oversea.pot
@@ -0,0 +1,13 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
diff --git a/l10n_fr_department_oversea/post_install.py b/l10n_fr_department_oversea/post_install.py
new file mode 100644
index 000000000..f5896f043
--- /dev/null
+++ b/l10n_fr_department_oversea/post_install.py
@@ -0,0 +1,30 @@
+# Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import SUPERUSER_ID, api
+
+
+def set_oversea_department_on_partner(cr, registry):
+    """This post_install script is required because, when the module
+    is installed, Odoo creates the column in the DB and compute the field
+    and THEN it loads the file data/res_country_department.xml...
+    So, when it computes the field on module installation, the
+    departments are not available in the DB, so the country_department_id field
+    on res.partner stays null. This post_install script fixes this."""
+    env = api.Environment(cr, SUPERUSER_ID, {})
+    fr_countries = env["res.country"].search(
+        [("code", "in", ("FR", "GP", "MQ", "GF", "RE", "YT"))]
+    )
+    partners = (
+        env["res.partner"]
+        .with_context(active_test=False)
+        .search(
+            [
+                ("country_id", "in", fr_countries.ids),
+                ("country_department_id", "=", False),
+            ]
+        )
+    )
+    partners._compute_country_department()
+    return
diff --git a/l10n_fr_department_oversea/pre_init_hook.py b/l10n_fr_department_oversea/pre_init_hook.py
new file mode 100644
index 000000000..df60f10dd
--- /dev/null
+++ b/l10n_fr_department_oversea/pre_init_hook.py
@@ -0,0 +1,20 @@
+# Copyright 2017-2022 Akretion France
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo.addons.l10n_fr_state.pre_init_hook import generic_create_state_xmlid
+
+# This code is designed to avoid a problem in the following scenario:
+# On a new database, the administrator executes these steps in this order:
+# 1) installs base_address_extended_geonames_import and run the geonames import wizard
+#  for one of the French DOMs
+# -> it creates the corresponding French regions (without xmlid)
+# 2) installs l10n_fr_department_oversea
+# -> it tries to create the res.country.state, but it fails due to the unicity
+#  constraint unique(country_id, code) of res.country.state.
+
+
+def create_fr_oversea_state_xmlid(cr):
+    generic_create_state_xmlid(
+        cr, "l10n_fr_department_oversea", "data/res_country_state.xml"
+    )
diff --git a/l10n_fr_department_oversea/readme/CONTRIBUTORS.rst b/l10n_fr_department_oversea/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..c4d3a800c
--- /dev/null
+++ b/l10n_fr_department_oversea/readme/CONTRIBUTORS.rst
@@ -0,0 +1,2 @@
+* Alexis de Lattre <alexis.delattre@akretion.com>
+* Danh Vo <https://github.com/danhvophuong>
diff --git a/l10n_fr_department_oversea/readme/DESCRIPTION.rst b/l10n_fr_department_oversea/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..5ba98f05e
--- /dev/null
+++ b/l10n_fr_department_oversea/readme/DESCRIPTION.rst
@@ -0,0 +1,1 @@
+This module adds the 5 French overseas States (Régions) and Departments (Départements) in the *res_country_state* and *res_country_department* tables.
diff --git a/l10n_fr_department_oversea/static/description/icon.png b/l10n_fr_department_oversea/static/description/icon.png
new file mode 100644
index 000000000..3a0328b51
Binary files /dev/null and b/l10n_fr_department_oversea/static/description/icon.png differ
diff --git a/l10n_fr_department_oversea/static/description/index.html b/l10n_fr_department_oversea/static/description/index.html
new file mode 100644
index 000000000..89c0db2e3
--- /dev/null
+++ b/l10n_fr_department_oversea/static/description/index.html
@@ -0,0 +1,422 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
+<title>French Overseas Departments (DOM)</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+.subscript {
+  vertical-align: sub;
+  font-size: smaller }
+
+.superscript {
+  vertical-align: super;
+  font-size: smaller }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left, table.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right, table.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+table.align-center {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+.align-top    {
+  vertical-align: top }
+
+.align-middle {
+  vertical-align: middle }
+
+.align-bottom {
+  vertical-align: bottom }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+/* "booktabs" style (no vertical lines) */
+table.docutils.booktabs {
+  border: 0px;
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+  border-collapse: collapse;
+}
+table.docutils.booktabs * {
+  border: 0px;
+}
+table.docutils.booktabs th {
+  border-bottom: thin solid;
+  text-align: left;
+}
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="french-overseas-departments-dom">
+<h1 class="title">French Overseas Departments (DOM)</h1>
+
+<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! This file is generated by oca-gen-addon-readme !!
+!! changes will be overwritten.                   !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department_oversea"><img alt="OCA/l10n-france" src="https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/l10n-france-15-0/l10n-france-15-0-l10n_fr_department_oversea"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/121/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p>This module adds the 5 French overseas States (Régions) and Departments (Départements) in the <em>res_country_state</em> and <em>res_country_department</em> tables.</p>
+<p><strong>Table of contents</strong></p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#bug-tracker" id="id1">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="id2">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="id3">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="id4">Contributors</a></li>
+<li><a class="reference internal" href="#maintainers" id="id5">Maintainers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="bug-tracker">
+<h1><a class="toc-backref" href="#id1">Bug Tracker</a></h1>
+<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-france/issues">GitHub Issues</a>.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+<a class="reference external" href="https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_department_oversea%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<p>Do not contact contributors directly about support or help with technical issues.</p>
+</div>
+<div class="section" id="credits">
+<h1><a class="toc-backref" href="#id2">Credits</a></h1>
+<div class="section" id="authors">
+<h2><a class="toc-backref" href="#id3">Authors</a></h2>
+<ul class="simple">
+<li>Akretion</li>
+</ul>
+</div>
+<div class="section" id="contributors">
+<h2><a class="toc-backref" href="#id4">Contributors</a></h2>
+<ul class="simple">
+<li>Alexis de Lattre &lt;<a class="reference external" href="mailto:alexis.delattre&#64;akretion.com">alexis.delattre&#64;akretion.com</a>&gt;</li>
+<li>Danh Vo &lt;<a class="reference external" href="https://github.com/danhvophuong">https://github.com/danhvophuong</a>&gt;</li>
+</ul>
+</div>
+<div class="section" id="maintainers">
+<h2><a class="toc-backref" href="#id5">Maintainers</a></h2>
+<p>This module is maintained by the OCA.</p>
+<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
+<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.</p>
+<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
+<p><a class="reference external" href="https://github.com/alexis-via"><img alt="alexis-via" src="https://github.com/alexis-via.png?size=40px" /></a></p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-france/tree/15.0/l10n_fr_department_oversea">OCA/l10n-france</a> project on GitHub.</p>
+<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/setup/l10n_fr_department/odoo/addons/l10n_fr_department b/setup/l10n_fr_department/odoo/addons/l10n_fr_department
new file mode 120000
index 000000000..ef76cf8de
--- /dev/null
+++ b/setup/l10n_fr_department/odoo/addons/l10n_fr_department
@@ -0,0 +1,1 @@
+../../../../l10n_fr_department
\ No newline at end of file
diff --git a/setup/l10n_fr_department/setup.py b/setup/l10n_fr_department/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/l10n_fr_department/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+    setup_requires=['setuptools-odoo'],
+    odoo_addon=True,
+)
diff --git a/setup/l10n_fr_department_oversea/odoo/addons/l10n_fr_department_oversea b/setup/l10n_fr_department_oversea/odoo/addons/l10n_fr_department_oversea
new file mode 120000
index 000000000..25b84d92c
--- /dev/null
+++ b/setup/l10n_fr_department_oversea/odoo/addons/l10n_fr_department_oversea
@@ -0,0 +1,1 @@
+../../../../l10n_fr_department_oversea
\ No newline at end of file
diff --git a/setup/l10n_fr_department_oversea/setup.py b/setup/l10n_fr_department_oversea/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/l10n_fr_department_oversea/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+    setup_requires=['setuptools-odoo'],
+    odoo_addon=True,
+)


Test patch:
diff --git a/l10n_fr_department/tests/__init__.py b/l10n_fr_department/tests/__init__.py
new file mode 100644
index 000000000..8459c319d
--- /dev/null
+++ b/l10n_fr_department/tests/__init__.py
@@ -0,0 +1,1 @@
+from . import test_department
diff --git a/l10n_fr_department/tests/test_department.py b/l10n_fr_department/tests/test_department.py
new file mode 100644
index 000000000..247f8bd36
--- /dev/null
+++ b/l10n_fr_department/tests/test_department.py
@@ -0,0 +1,77 @@
+# Copyright 2016-2022 Akretion France (http://www.akretion.com/)
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
+
+from odoo.tests.common import TransactionCase
+
+
+class TestFrDepartment(TransactionCase):
+    def test_fr_department(self):
+        rpo = self.env["res.partner"]
+        partner1 = rpo.create(
+            {
+                "name": "Akretion France",
+                "street": "27 rue Henri Rolland",
+                "zip": "69100",
+                "city": "Villeurbanne",
+                "country_id": self.env.ref("base.fr").id,
+            }
+        )
+        self.assertEqual(
+            partner1.country_department_id,
+            self.env.ref("l10n_fr_department.res_country_department_rhone"),
+        )
+        partner2 = rpo.create(
+            {
+                "name": "Abbaye du Barroux",
+                "street": "1201 chemin des Rabassières",
+                "zip": "84330",
+                "city": "Le Barroux",
+                "country_id": self.env.ref("base.fr").id,
+            }
+        )
+        self.assertEqual(
+            partner2.country_department_id,
+            self.env.ref("l10n_fr_department.res_country_department_vaucluse"),
+        )
+
+    def test_corse(self):
+        rpo = self.env["res.partner"]
+        corse2A = self.env.ref("l10n_fr_department.res_country_department_corsedusud")
+        corse2B = self.env.ref("l10n_fr_department.res_country_department_hautecorse")
+        partner = rpo.create(
+            {
+                "name": "name",
+                "street": "street",
+                "zip": "20000",
+                "city": "Ajaccio",
+                "country_id": self.env.ref("base.fr").id,
+            }
+        )
+        self.assertEqual(partner.country_department_id, corse2A)
+
+        partner.write({"zip": "20200", "city": "Bastia"})
+        self.assertEqual(partner.country_department_id, corse2B)
+
+        partner.write({"zip": "20190", "city": "Zigliara"})
+        self.assertEqual(partner.country_department_id, corse2A)
+        partner.write({"zip": "20620", "city": "Biguglia"})
+        self.assertEqual(partner.country_department_id, corse2B)
+        partner.write({"zip": "20999", "city": "Unknown"})
+        self.assertFalse(partner.country_department_id)
+
+    def test_special(self):
+        partner1 = self.env["res.partner"].create(
+            {
+                "name": "Test special",
+                "zip": "05110",
+                "city": "La Saulce",
+                "country_id": self.env.ref("base.fr").id,
+            }
+        )
+        self.assertEqual(
+            partner1.country_department_id,
+            self.env.ref(
+                "l10n_fr_department.res_country_department_alpesdehauteprovence"
+            ),
+        )
diff --git a/l10n_fr_department_oversea/tests/__init__.py b/l10n_fr_department_oversea/tests/__init__.py
new file mode 100644
index 000000000..1f27294f6
--- /dev/null
+++ b/l10n_fr_department_oversea/tests/__init__.py
@@ -0,0 +1,1 @@
+from . import test_department_oversea
diff --git a/l10n_fr_department_oversea/tests/test_department_oversea.py b/l10n_fr_department_oversea/tests/test_department_oversea.py
new file mode 100644
index 000000000..a8f79dcb4
--- /dev/null
+++ b/l10n_fr_department_oversea/tests/test_department_oversea.py
@@ -0,0 +1,38 @@
+# Copyright 2016-2022 Akretion France
+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
+from odoo.tests.common import TransactionCase
+
+
+class TestFrDepartmentOversea(TransactionCase):
+    def test_fr_department_oversea(self):
+        rpo = self.env["res.partner"]
+        partner1 = rpo.create(
+            {
+                "name": "Monsieur Payet",
+                "street": "11 rue du Stade",
+                "street2": "Montgaillard",
+                "zip": "97400",
+                "city": "Saint Denis",
+                "country_id": self.env.ref("base.re").id,
+            }
+        )
+        self.assertEqual(
+            partner1.country_department_id,
+            self.env.ref("l10n_fr_department_oversea.res_country_department_reunion"),
+        )
+        # I also want it to work if you select France as country
+        partner2 = rpo.create(
+            {
+                "name": "Monsieur Hoarau",
+                "street": "13 rue du Stade",
+                "street2": "Montgaillard",
+                "zip": "97400",
+                "city": "Saint Denis",
+                "country_id": self.env.ref("base.fr").id,
+            }
+        )
+        self.assertEqual(
+            partner2.country_department_id,
+            self.env.ref("l10n_fr_department_oversea.res_country_department_reunion"),
+        )