合并企业版代码(未测试,先提交到测试分支)

This commit is contained in:
qihao.gong@jikimo.com
2023-04-14 17:42:23 +08:00
parent 7a7b3d7126
commit d28525526a
1300 changed files with 513579 additions and 5426 deletions

5
web_grid/__init__.py Normal file
View File

@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
from . import tools

25
web_grid/__manifest__.py Normal file
View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
{
'name': "Grid View",
'summary': "Basic 2D Grid view for odoo",
'category': 'Hidden',
'version': '0.1',
'depends': ['web'],
'assets': {
'web.assets_backend': [
'web_grid/static/src/**/*',
'web_grid/static/src/xml/**/*',
],
'web.qunit_suite_tests': [
'web_grid/static/tests/grid_tests.js',
'web_grid/static/tests/mock_server.js',
],
'web.qunit_mobile_suite_tests': [
'web_grid/static/tests/grid_mobile_tests.js',
'web_grid/static/tests/mock_server.js',
],
},
'auto_install': True,
'license': 'OEEL-1',
}

100
web_grid/i18n/af.po Normal file
View File

@@ -0,0 +1,100 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
# Andre de Kock <adekock11@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Andre de Kock <adekock11@gmail.com>, 2018\n"
"Language-Team: Afrikaans (https://www.transifex.com/odoo/teams/41243/af/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Totaal"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr "ir.ui.view"

96
web_grid/i18n/am.po Normal file
View File

@@ -0,0 +1,96 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Language-Team: Amharic (https://www.transifex.com/odoo/teams/41243/am/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: am\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

164
web_grid/i18n/ar.po Normal file
View File

@@ -0,0 +1,164 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
# Malaz Abuidris <msea@odoo.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Malaz Abuidris <msea@odoo.com>, 2022\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "عرض نافذة الإجراء"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "إضافة بند"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "إضافة بند"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "أساس"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "لا يمكن استخدام الحقول من نوع %s كأعمدة الشبكة "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "اليوم"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "الشبكة"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "التالي"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "لم يتم العثور على أي أنشطة "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "لا شيء"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "السابق"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "رؤية كافة السجلات المجمعة في هذه الخلية "
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "يجب أن يكون للحقل المستخدم كنوع للقراءة فقط خاصية group_operator. "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "لا يتحمل عرض الشبكة المجزأ المجموعات التي بها مجموعات أعمدة مختلفة "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "اليوم"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "الإجمالي"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "عرض "
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "نوع واجهة العرض"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"الأسبوع %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

162
web_grid/i18n/az.po Normal file
View File

@@ -0,0 +1,162 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Jumshud Sultanov <cumshud@gmail.com>, 2022
# erpgo translator <jumshud@erpgo.az>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: erpgo translator <jumshud@erpgo.az>, 2022\n"
"Language-Team: Azerbaijani (https://www.transifex.com/odoo/teams/41243/az/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: az\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Fəaliyyət Pəncərə Görünüşü"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Sətir əlavə edin"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Baza"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Gün"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Şəbəkə"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Heçbiri"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Bu gün"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Cəmi"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Baxın"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Növə baxın"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

99
web_grid/i18n/bg.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Bulgarian (https://www.transifex.com/odoo/teams/41243/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Общо"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

214
web_grid/i18n/bs.po Normal file
View File

@@ -0,0 +1,214 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2018
# Boško Stojaković <bluesoft83@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Boško Stojaković <bluesoft83@gmail.com>, 2018\n"
"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bs\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Aktivnost"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Osnova"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalendar"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Kontrolna ploča"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Dijagram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Obrazac"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantogram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Dijagram"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Meža"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Slijedeće"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Pivot"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Pretraži"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Danas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Ukupno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Stablo"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Nedefinisano"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Nepoznat"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Pregled"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Vrsta pregleda"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

172
web_grid/i18n/ca.po Normal file
View File

@@ -0,0 +1,172 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Arnau Ros, 2022
# M Palau <mpalau@tda.ad>, 2022
# jabelchi, 2022
# Martin Trigaux, 2022
# Manel Fernandez Ramirez <manelfera@outlook.com>, 2022
# marcescu, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: marcescu, 2022\n"
"Language-Team: Catalan (https://www.transifex.com/odoo/teams/41243/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vista de la finestra d'acció"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Afegir una línia"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Afegir una línia"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "No es pot fer servir camps del tipus %s com columnes de taula"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dia"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Graella"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Següent"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "No s'ha trobat cap activitat"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Cap"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Anterior"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Veure tots els registres agregats d'aquest cel·la"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"El camp utilitzat com a tipus readonly ha de tenir un atribut "
"group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"La vista de taula seccionada no pot gestionar grups amb conjunts de "
"diferents columnes"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Avui"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Vista"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipus de vista"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Setmana %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

164
web_grid/i18n/cs.po Normal file
View File

@@ -0,0 +1,164 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
# trendspotter <jirka.p@volny.cz>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: trendspotter <jirka.p@volny.cz>, 2022\n"
"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Zobrazení okna akcí"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Přidat řádek"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Přidat řádek"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Základní část"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Nelze použít pole typu %s jako sloupce mřížky"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Den"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Mřížka"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Další"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Nic"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Předchozí"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Zobrazit všechny záznamy agregované v této buňce"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "Pole použité jako typ jen pro čtení musí mít atribut group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "Pohled mřížky nemůže použít skupiny s různými sadami sloupců"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Dnes"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Celkem"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Pohled"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Typ zobrazení"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Týden %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

158
web_grid/i18n/da.po Normal file
View File

@@ -0,0 +1,158 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Joe Hansen <joedalton2@yahoo.dk>, 2019
# Martin Trigaux, 2019
# Pernille Kristensen <pernillekristensen1994@gmail.com>, 2019
# Ejner Sønniksen <ejner@vkdata.dk>, 2019
# lhmflexerp <lhm@flexerp.dk>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: lhmflexerp <lhm@flexerp.dk>, 2019\n"
"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Visning af handlingsvindue"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Tilføj en linje"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Basis"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Kan ikke anvende felt type %s som kolonne i gitter"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Grid"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Næste"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Forrige"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Se alle poster, der er aggregeret i denne celle"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Den sektionerede gittervisning kan ikke håndtere grupper med forskellige "
"kolonneopsætning"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "I dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "I alt"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Udefineret"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Ukendt"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Vis"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Se type"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

166
web_grid/i18n/de.po Normal file
View File

@@ -0,0 +1,166 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Aktive Fenster ansicht"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Eintrag hinzufügen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Eintrag hinzufügen"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Basis"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Felder des Typs %s können nicht als Rasterspalten verwendet werden"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Tag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Gitter"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Weiter"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Keine Aktivitäten gefunden"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Keine"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Zurück"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "In dieser Zelle werden alle Datensätze aggregiert angezeigt."
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Das als Readonly-Typ verwendete Feld muss ein group_operator-Attribut haben."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Die zerlegte Rasteransicht kann Gruppen mit unterschiedlichen Spaltengruppen"
" nicht behandeln"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Heute"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Ansicht"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Ansichtstyp"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Woche %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

215
web_grid/i18n/el.po Normal file
View File

@@ -0,0 +1,215 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2019
# Kostas Goutoudis <goutoudis@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2017-12-13 15:26+0000\n"
"Last-Translator: Kostas Goutoudis <goutoudis@gmail.com>, 2019\n"
"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Δραστηριότητα"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Βάση"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Ημερολόγιο"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Ταμπλό"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Διάγραμμα"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Φόρμα"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Γράφημα"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Πλέγμα"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Επόμενο"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Συγκεντρωτικό"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr "Προηγούμενο"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Αναζήτηση"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Σήμερα"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Σύνολο"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Δέντρο"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Μη ορισμένο"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Άγνωστο"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Προβολή"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Τύπος Προβολής"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/en_GB.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: English (United Kingdom) (https://www.transifex.com/odoo/teams/41243/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

167
web_grid/i18n/es.po Normal file
View File

@@ -0,0 +1,167 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vista de acción de ventana"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Añadir una línea"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Agregar línea"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "No se pueden usar campos de tipo %s como columnas de cuadrícula"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Día"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Cuadrícula"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Siguiente"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "No se encontraron actividades"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Ninguno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Anterior"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Ver todos los registros añadidos en esta celda"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"El campo utilizado como tipo de solo lectura debe tener un atributo "
"group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"La vista cuadricula seccionada no puede manejar grupos con diferentes "
"conjuntos de columnas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Hoy"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Ver"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipo de vista"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Semana %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

99
web_grid/i18n/es_AR.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Argentina) (https://www.transifex.com/odoo/teams/41243/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_BO.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Bolivia) (https://www.transifex.com/odoo/teams/41243/es_BO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_BO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_CL.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Chile) (https://www.transifex.com/odoo/teams/41243/es_CL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_CL\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_CO.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Colombia) (https://www.transifex.com/odoo/teams/41243/es_CO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_CO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_CR.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/odoo/teams/41243/es_CR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_CR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_DO.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/odoo/teams/41243/es_DO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_DO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_EC.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Ecuador) (https://www.transifex.com/odoo/teams/41243/es_EC/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_EC\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

167
web_grid/i18n/es_MX.po Normal file
View File

@@ -0,0 +1,167 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
# Braulio D. López Vázquez <bdl@odoo.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Braulio D. López Vázquez <bdl@odoo.com>, 2022\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/odoo/teams/41243/es_MX/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_MX\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vista de ventana de acción"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Agregar una línea"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Agregar una línea"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "No se pueden usar campos de tipo %s como columnas de tabla"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Día"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Tabla"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Siguiente"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "No se encontraron actividades"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Ninguno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Anterior"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Ver todos los registros agregados en esta celda"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"El campo utilizado como tipo readonly debe tener un atributo group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"La vista de tabla seccionada no puede manejar grupos con diferentes "
"conjuntos de columnas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Hoy"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Ver"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipo de vista"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Semana %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

99
web_grid/i18n/es_PE.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Peru) (https://www.transifex.com/odoo/teams/41243/es_PE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_PE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_PY.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Paraguay) (https://www.transifex.com/odoo/teams/41243/es_PY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_PY\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/es_VE.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Spanish (Venezuela) (https://www.transifex.com/odoo/teams/41243/es_VE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_VE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

218
web_grid/i18n/et.po Normal file
View File

@@ -0,0 +1,218 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Rivo Zängov <eraser@eraser.ee>, 2018
# Martin Trigaux, 2018
# Arma Gedonsky <armagedonsky@hot.ee>, 2018
# Egon Raamat <egon@avalah.ee>, 2018
# Eneli Õigus <enelioigus@gmail.com>, 2018
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-08-24 11:49+0000\n"
"Last-Translator: Eneli Õigus <enelioigus@gmail.com>, 2018\n"
"Language-Team: Estonian (https://www.transifex.com/odoo/teams/41243/et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Tegevus"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr "Lisa rida"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Alus"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalender"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr "Kohord"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Töölaud"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Diagramm"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Vorm"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Graafik"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Võrgustik"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Järgmine"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Pivoo"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr "Eelmine"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Otsi"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Täna"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Kokku"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Puu"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Määramata"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Tundmatu"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Vaade"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Vaate tüüp"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/eu.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Basque (https://www.transifex.com/odoo/teams/41243/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

218
web_grid/i18n/fa.po Normal file
View File

@@ -0,0 +1,218 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Zahed Alfak <tamass4116@gmail.com>, 2018
# Martin Trigaux, 2018
# Hamid Darabi, 2018
# Faraz Sadri Alamdari <ifarazir@gmail.com>, 2018
# Sahar Daraye <sahar.daraye.1369@gmail.com>, 2018
# Hamed Mohammadi <hamed@dehongi.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Hamed Mohammadi <hamed@dehongi.com>, 2018\n"
"Language-Team: Persian (https://www.transifex.com/odoo/teams/41243/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fa\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "فعالیت"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "پایه"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "گاهشمار"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "داشبورد"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "دیاگرام"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "فرم"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "گانت"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "نمودار"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "شبکه"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "کانبان"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "بعدی"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "پیوت"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "جستجو"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "امروز"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "جمع کل:"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "درخت"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "تعریف نشده"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "ناشناخته"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "نما"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "نوع نما"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

218
web_grid/i18n/fi.po Normal file
View File

@@ -0,0 +1,218 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2018
# Jussi Lehto <jussi@gulfeo.com>, 2018
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2018
# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2018
# Veikko Väätäjä <veikko.vaataja@gmail.com>, 2018
# Miku Laitinen <miku.laitinen@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Miku Laitinen <miku.laitinen@gmail.com>, 2018\n"
"Language-Team: Finnish (https://www.transifex.com/odoo/teams/41243/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Toimenpide"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr "Lisää rivi"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Perus"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalenteri"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Kenttätyyppiä %s ei voi käyttää taulukon sarakkeena"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr "Cohort"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Työpöytä"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Kaavio"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Lomake"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Kaavio"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Taulukko"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Seuraava"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Taulukko"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Haku"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Näytä kaikki tietueet yhdistettynä tässä solussa"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Tänään"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Yhteensä"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Puu"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Ei määritelty"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Tuntematon"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Näytä"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Näkymän tyyppi"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/fo.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Faroese (https://www.transifex.com/odoo/teams/41243/fo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Íalt"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

168
web_grid/i18n/fr.po Normal file
View File

@@ -0,0 +1,168 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
# Cécile Collart <cco@odoo.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Cécile Collart <cco@odoo.com>, 2022\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vue de la Fenêtre d'Action"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Ajouter une ligne"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Ajouter une ligne"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Les champs %s ne peuvent pas être utilisé dans les vues matrices"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Jour"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Grille"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Suivant"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Aucune activité trouvée"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Aucun"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Précedent"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Voir tous les enregistrements agrégés dans cette cellule"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Le champ utilisé comme type en lecture seule doit avoir un attribut "
"group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"La vue matrice ne peut pas gérer des groupes avec des colonnes de différents"
" types"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Aujourd'hui"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Vue"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Type de Vue"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Semaine %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

99
web_grid/i18n/gl.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Galician (https://www.transifex.com/odoo/teams/41243/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

213
web_grid/i18n/gu.po Normal file
View File

@@ -0,0 +1,213 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Martin Trigaux, 2018\n"
"Language-Team: Gujarati (https://www.transifex.com/odoo/teams/41243/gu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: gu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "પ્રવૃત્તિ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "આધાર"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "કેલેન્ડર"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "ફોર્મ"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "આલેખ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "આગલું"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "શોધ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "આજે"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "કુલ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "ટ્રી"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "અવ્યાખ્યાયિત"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "દેખાવ"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

166
web_grid/i18n/he.po Normal file
View File

@@ -0,0 +1,166 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# דודי מלכה <Dudimalka6@gmail.com>, 2022
# NoaFarkash, 2022
# Martin Trigaux, 2022
# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: ZVI BLONDER <ZVIBLONDER@gmail.com>, 2022\n"
"Language-Team: Hebrew (https://www.transifex.com/odoo/teams/41243/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: he\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "תצוגת חלון פעולה"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "הוסף שורה"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "הוסף שורה"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "בסיס"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "לא ניתן להשתמש בשדות מהסוג %s כעמודות רשת"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "יום"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "רשת"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "הבא"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "לא נמצאו פעילויות"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "אף אחד"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "קודם"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "ראה את כל הרשומות שנצברו בתא זה"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "שדה המשמש לקריאה בלבד חייב להיות בעל תכונה group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "תצוגת הרשת המדורגת אינה יכולה להתמודד עם קבוצות עם עמודות שונות"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "היום"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "סה\"כ"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "תצוגה"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "סוג תצוגה"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"שבוע %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

156
web_grid/i18n/hr.po Normal file
View File

@@ -0,0 +1,156 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Bole <bole@dajmi5.com>, 2019
# Ivica Dimjašević <ivica.dimjasevic@storm.hr>, 2019
# Karolina Tonković <karolina.tonkovic@storm.hr>, 2019
# Tina Milas, 2019
# Martin Trigaux, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Martin Trigaux, 2019\n"
"Language-Team: Croatian (https://www.transifex.com/odoo/teams/41243/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Dodaj stavku"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Osnovica"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Nije moguće koristiti polja tipa %s kao kolone tablice"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dan"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Mreža"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Sljedeći"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Prethodni"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Vidi sve zapise skupljene u ovoj ćeliji"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Danas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Ukupno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Nedefiniran"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Nepoznato"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Pogledaj"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tip pogleda"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

156
web_grid/i18n/hu.po Normal file
View File

@@ -0,0 +1,156 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# krnkris, 2019
# Ákos Nagy <akos.nagy@oregional.hu>, 2019
# Martin Trigaux, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Martin Trigaux, 2019\n"
"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Sor hozzáadása"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Alap"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "A %s típusú mező nem használható rács oszlopokként"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Nap"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Tarifatáblázat"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Következő"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"A szekcionált négyzetrács nézet nem kezelheti a különböző oszlop "
"részletekkel rendelkező csoportokat"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Ma"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Összesen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Nem meghatározott"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Ismeretlen"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Nézet"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Nézet típusa"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

550
web_grid/i18n/hy.po Normal file
View File

@@ -0,0 +1,550 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-07 09:57+0000\n"
"PO-Revision-Date: 2016-09-07 09:57+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2016\n"
"Language-Team: Armenian (https://www.transifex.com/odoo/teams/41243/hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hy\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: grid
#: model:ir.model,name:grid.model_res_groups
msgid "Access Groups"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:71
#, python-format
msgid "Add a Line"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_category
msgid "Application"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_bank
msgid "Bank"
msgstr "Բանկ"
#. module: grid
#: model:ir.model,name:grid.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Բանկային հաշիվներ"
#. module: grid
#: model:ir.model,name:grid.model_utm_campaign
msgid "Campaign"
msgstr ""
#. module: grid
#: code:addons/grid/models.py:213
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_change_password_wizard
msgid "Change Password Wizard"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_change_password_user
msgid "Change Password Wizard User"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_medium
msgid "Channels"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_company
msgid "Companies"
msgstr "Ընկերություններ"
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_todo
msgid "Configuration Wizards"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_country
msgid "Country"
msgstr "Երկիր"
#. module: grid
#: model:ir.model,name:grid.model_res_country_group
msgid "Country Group"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_country_state
msgid "Country state"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_currency
msgid "Currency"
msgstr "Տարադրամ"
#. module: grid
#: model:ir.model,name:grid.model_res_currency_rate
msgid "Currency Rate"
msgstr "Փոխարժեք"
#. module: grid
#: model:ir.model,name:grid.model_ir_model_fields
msgid "Fields"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_filters
msgid "Filters"
msgstr "ֆիլտրեր"
#. module: grid
#: model:ir.model,name:grid.model_res_font
msgid "Fonts available"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:69
#, python-format
msgid "Grid"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_http
msgid "HTTP routing"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_install
msgid "Install Language"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_import
msgid "Language Import"
msgstr "լեզվի ներբեռնում"
#. module: grid
#: model:ir.model,name:grid.model_res_lang
msgid "Languages"
msgstr "Լեզուներ"
#. module: grid
#: model:ir.model,name:grid.model_ir_model
msgid "Models"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_module
msgid "Module"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_module_upgrade
msgid "Module Upgrade"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_module_dependency
msgid "Module dependency"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_partner
msgid "Partner"
msgstr "Գործընկեր"
#. module: grid
#: model:ir.model,name:grid.model_res_partner_category
msgid "Partner Tags"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_server_object_lines
msgid "Server Action value mapping"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_source
msgid "Source"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:206
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:306
#: code:addons/grid/static/src/js/grid_view.js:316
#, python-format
msgid "Total"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_module_update
msgid "Update Module"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_users
msgid "Users"
msgstr "Օգտագործողներ"
#. module: grid
#: model:ir.model,name:grid.model__unknown
msgid "_unknown"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base
msgid "base"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_export
msgid "base.language.export"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_module_configuration
msgid "base.module.configuration"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_update_translations
msgid "base.update.translations"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_url
msgid "ir.actions.act_url"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window
msgid "ir.actions.act_window"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window_close
msgid "ir.actions.act_window_close"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_actions
msgid "ir.actions.actions"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_client
msgid "ir.actions.client"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_report_xml
msgid "ir.actions.report.xml"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_server
msgid "ir.actions.server"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_attachment
msgid "ir.attachment"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_autovacuum
msgid "ir.autovacuum"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_config_parameter
msgid "ir.config_parameter"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_cron
msgid "ir.cron"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_exports
msgid "ir.exports"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_exports_line
msgid "ir.exports.line"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_fields_converter
msgid "ir.fields.converter"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_logging
msgid "ir.logging"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_mail_server
msgid "ir.mail_server"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_access
msgid "ir.model.access"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_constraint
msgid "ir.model.constraint"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_data
msgid "ir.model.data"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_relation
msgid "ir.model.relation"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_needaction_mixin
msgid "ir.needaction_mixin"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_property
msgid "ir.property"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb
msgid "ir.qweb"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field
msgid "ir.qweb.field"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_contact
msgid "ir.qweb.field.contact"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_date
msgid "ir.qweb.field.date"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_datetime
msgid "ir.qweb.field.datetime"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_duration
msgid "ir.qweb.field.duration"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_float
msgid "ir.qweb.field.float"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_html
msgid "ir.qweb.field.html"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_image
msgid "ir.qweb.field.image"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_integer
msgid "ir.qweb.field.integer"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_many2one
msgid "ir.qweb.field.many2one"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_monetary
msgid "ir.qweb.field.monetary"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_qweb
msgid "ir.qweb.field.qweb"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_relative
msgid "ir.qweb.field.relative"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_selection
msgid "ir.qweb.field.selection"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_text
msgid "ir.qweb.field.text"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_rule
msgid "ir.rule"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_sequence
msgid "ir.sequence"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_sequence_date_range
msgid "ir.sequence.date_range"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_translation
msgid "ir.translation"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_menu
msgid "ir.ui.menu"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_view_custom
msgid "ir.ui.view.custom"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_values
msgid "ir.values"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_report_base_report_irmodulereference
msgid "report.base.report_irmodulereference"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config
msgid "res.config"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config_installer
msgid "res.config.installer"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config_settings
msgid "res.config.settings"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_partner_title
msgid "res.partner.title"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_request_link
msgid "res.request.link"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_users_log
msgid "res.users.log"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_mixin
msgid "utm.mixin"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_wizard_ir_model_menu_create
msgid "wizard.ir.model.menu.create"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow
msgid "workflow"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_activity
msgid "workflow.activity"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_instance
msgid "workflow.instance"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_transition
msgid "workflow.transition"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_triggers
msgid "workflow.triggers"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_workitem
msgid "workflow.workitem"
msgstr ""

161
web_grid/i18n/id.po Normal file
View File

@@ -0,0 +1,161 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Indonesian (https://www.transifex.com/odoo/teams/41243/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Jendela Tindakan"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Tambahkan Line"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Tambahkan satu baris"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Dasar"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Hari"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Next"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Tidak Ada"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Sebelum"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Hari Ini"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Tampilan"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipe Tampilan"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

216
web_grid/i18n/is.po Normal file
View File

@@ -0,0 +1,216 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2018
# Birgir Steinarsson <biggboss83@gmail.com>, 2018
# Bjorn Ingvarsson <boi@exigo.is>, 2018
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-08-24 11:49+0000\n"
"Last-Translator: Bjorn Ingvarsson <boi@exigo.is>, 2018\n"
"Language-Team: Icelandic (https://www.transifex.com/odoo/teams/41243/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Virkni"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Stofnupphæð"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Dagatal"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Stjórnborð"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Diagram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Form"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Graph"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Grid"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Pivot"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Leita"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Í dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Samtals"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Tré"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Unknown"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "View"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "View Type"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

163
web_grid/i18n/it.po Normal file
View File

@@ -0,0 +1,163 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vista finestra azione"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Aggiungi una Riga"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Aggiungi riga"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Imponibile"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Giorno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Griglia"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Succ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Nessuna attività trovata"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Nessuna"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Precedente"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Vedi tutti i record aggregati della cella"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Oggi"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Totale"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Visualizza"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipo vista"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Settimana %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

161
web_grid/i18n/ja.po Normal file
View File

@@ -0,0 +1,161 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Japanese (https://www.transifex.com/odoo/teams/41243/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "アクションウィンドウビュー"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "明細を追加"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "明細追加"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "ベース"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "グリッド列として %s タイプのフィールドを使用することはできません"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "日"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "グリッド"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "次"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "なし"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "前"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "このセルに集約されたすべてのレコードを表示する"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "セクション化されたグリッドビューは、異なる列セットを持つグループを処理できません"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "今日"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "合計"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "ビュー"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "ビュータイプ"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

99
web_grid/i18n/ka.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Saba Khmaladze <skhmaladze@uglt.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Saba Khmaladze <skhmaladze@uglt.org>, 2018\n"
"Language-Team: Georgian (https://www.transifex.com/odoo/teams/41243/ka/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ka\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "დღეს"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/kab.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Kabyle (https://www.transifex.com/odoo/teams/41243/kab/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: kab\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Asemday"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

214
web_grid/i18n/km.po Normal file
View File

@@ -0,0 +1,214 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Sengtha Chay <sengtha@gmail.com>, 2018
# Chan Nath <channath@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Chan Nath <channath@gmail.com>, 2018\n"
"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: km\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "សកម្មភាព"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "សរុប​"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr ""
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

163
web_grid/i18n/ko.po Normal file
View File

@@ -0,0 +1,163 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Korean (https://www.transifex.com/odoo/teams/41243/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "작업 윈도우 보기"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "항목 추가하기"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "항목 추가하기"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "그리드 열로는 %s 유형의 필드는 사용할 수 없습니다"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "일"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "그리드"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "다음"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "없음"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "이전"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "이 셀에 집계된 모든 레코드 보기"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "읽기 전용 유형으로 사용되는 필드에는 group_operator 속성이 있어야 합니다."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "구분된 그리드 화면은 다른 열 집합을 가진 그룹을 처리할 수 ​​없습니다"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "오늘"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "합계"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "화면"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "화면 유형"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"%(weeknumber)s 주\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

148
web_grid/i18n/lb.po Normal file
View File

@@ -0,0 +1,148 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr ""
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/lo.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Lao (https://www.transifex.com/odoo/teams/41243/lo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lo\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "ລວມທັງໝົດ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

157
web_grid/i18n/lt.po Normal file
View File

@@ -0,0 +1,157 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2019
# Arminas Grigonis <arminas@versada.lt>, 2019
# Zygimantus <zygimantus@gmail.com>, 2019
# Silvija Butko <silvija.butko@gmail.com>, 2019
# digitouch UAB <digitouchagencyeur@gmail.com>, 2019
# Linas Versada <linaskrisiukenas@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Linas Versada <linaskrisiukenas@gmail.com>, 2019\n"
"Language-Team: Lithuanian (https://www.transifex.com/odoo/teams/41243/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lt\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Veiksmo lango peržiūra"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Pridėti eilutę"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Bazė"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Negalima naudoti laukų, kurių tipas %s, atvaizdavimui stulpeliuose"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Diena"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Tinklelis"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Kitas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Ankstesnis"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Šiandien"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Suma"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Neapibrėžta"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Nežinomas"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Rodinys"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Rodinio tipas"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/lv.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Latvian (https://www.transifex.com/odoo/teams/41243/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Summa"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

99
web_grid/i18n/mk.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Macedonian (https://www.transifex.com/odoo/teams/41243/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Вкупно"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

154
web_grid/i18n/mn.po Normal file
View File

@@ -0,0 +1,154 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2019
# Khishigbat Ganbold <khishigbat@asterisk-tech.mn>, 2019
# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2019\n"
"Language-Team: Mongolian (https://www.transifex.com/odoo/teams/41243/mn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Мөр нэмэх"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Суурь"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "%sтөрлийн талбарыг хүснэгтийн багана болгож ашиглах боломжгүй."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Хоног"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Хүснэгт"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Дараах"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Өмнөх"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Энэ нүдэнд нэгтгэгдсэн бүх бичлэгийг үзэх"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "Хэсэгчилсэн хүснэгтэнд өөр өөр баганын цуглуулгыг харуулах боломжгүй."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Өнөөдөр"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Нийт"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Тодорхойлогдоогүй"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Үл мэдэгдэх"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Харах"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Дэлгэцийн төрөл"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

551
web_grid/i18n/my.po Normal file
View File

@@ -0,0 +1,551 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * grid
#
# Translators:
# Myat Thu <myat90thu@gmail.com>, 2016
# Chester Denn <faceless.void199@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-07 09:57+0000\n"
"PO-Revision-Date: 2016-09-07 09:57+0000\n"
"Last-Translator: Chester Denn <faceless.void199@gmail.com>, 2016\n"
"Language-Team: Burmese (https://www.transifex.com/odoo/teams/41243/my/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: my\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: grid
#: model:ir.model,name:grid.model_res_groups
msgid "Access Groups"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:71
#, python-format
msgid "Add a Line"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_category
msgid "Application"
msgstr "လျှောက်လွှာ"
#. module: grid
#: model:ir.model,name:grid.model_res_bank
msgid "Bank"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_campaign
msgid "Campaign"
msgstr ""
#. module: grid
#: code:addons/grid/models.py:213
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_change_password_wizard
msgid "Change Password Wizard"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_change_password_user
msgid "Change Password Wizard User"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_medium
msgid "Channels"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_company
msgid "Companies"
msgstr "ကုမ္ပဏီများ"
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_todo
msgid "Configuration Wizards"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_country
msgid "Country"
msgstr "နိုင်ငံ"
#. module: grid
#: model:ir.model,name:grid.model_res_country_group
msgid "Country Group"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_country_state
msgid "Country state"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_currency
msgid "Currency"
msgstr "ငွေကြေး"
#. module: grid
#: model:ir.model,name:grid.model_res_currency_rate
msgid "Currency Rate"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_fields
msgid "Fields"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_filters
msgid "Filters"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_font
msgid "Fonts available"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:69
#, python-format
msgid "Grid"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_http
msgid "HTTP routing"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_install
msgid "Install Language"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_import
msgid "Language Import"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_lang
msgid "Languages"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model
msgid "Models"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_module
msgid "Module"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_module_upgrade
msgid "Module Upgrade"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_module_module_dependency
msgid "Module dependency"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_partner
msgid "Partner"
msgstr "မိတ်ဖက်"
#. module: grid
#: model:ir.model,name:grid.model_res_partner_category
msgid "Partner Tags"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_server_object_lines
msgid "Server Action value mapping"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_source
msgid "Source"
msgstr "အရင်းအမြစ်"
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:206
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: grid
#. openerp-web
#: code:addons/grid/static/src/js/grid_view.js:306
#: code:addons/grid/static/src/js/grid_view.js:316
#, python-format
msgid "Total"
msgstr "စုစုပေါင်း"
#. module: grid
#: model:ir.model,name:grid.model_base_module_update
msgid "Update Module"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_users
msgid "Users"
msgstr "အသုံးပြုသူများ"
#. module: grid
#: model:ir.model,name:grid.model__unknown
msgid "_unknown"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base
msgid "base"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_language_export
msgid "base.language.export"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_module_configuration
msgid "base.module.configuration"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_base_update_translations
msgid "base.update.translations"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_url
msgid "ir.actions.act_url"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window
msgid "ir.actions.act_window"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_act_window_close
msgid "ir.actions.act_window_close"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_actions
msgid "ir.actions.actions"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_client
msgid "ir.actions.client"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_report_xml
msgid "ir.actions.report.xml"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_actions_server
msgid "ir.actions.server"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_attachment
msgid "ir.attachment"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_autovacuum
msgid "ir.autovacuum"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_config_parameter
msgid "ir.config_parameter"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_cron
msgid "ir.cron"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_exports
msgid "ir.exports"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_exports_line
msgid "ir.exports.line"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_fields_converter
msgid "ir.fields.converter"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_logging
msgid "ir.logging"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_mail_server
msgid "ir.mail_server"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_access
msgid "ir.model.access"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_constraint
msgid "ir.model.constraint"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_data
msgid "ir.model.data"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_model_relation
msgid "ir.model.relation"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_needaction_mixin
msgid "ir.needaction_mixin"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_property
msgid "ir.property"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb
msgid "ir.qweb"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field
msgid "ir.qweb.field"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_contact
msgid "ir.qweb.field.contact"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_date
msgid "ir.qweb.field.date"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_datetime
msgid "ir.qweb.field.datetime"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_duration
msgid "ir.qweb.field.duration"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_float
msgid "ir.qweb.field.float"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_html
msgid "ir.qweb.field.html"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_image
msgid "ir.qweb.field.image"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_integer
msgid "ir.qweb.field.integer"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_many2one
msgid "ir.qweb.field.many2one"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_monetary
msgid "ir.qweb.field.monetary"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_qweb
msgid "ir.qweb.field.qweb"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_relative
msgid "ir.qweb.field.relative"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_selection
msgid "ir.qweb.field.selection"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_qweb_field_text
msgid "ir.qweb.field.text"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_rule
msgid "ir.rule"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_sequence
msgid "ir.sequence"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_sequence_date_range
msgid "ir.sequence.date_range"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_translation
msgid "ir.translation"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_menu
msgid "ir.ui.menu"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_ui_view_custom
msgid "ir.ui.view.custom"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_ir_values
msgid "ir.values"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_report_base_report_irmodulereference
msgid "report.base.report_irmodulereference"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config
msgid "res.config"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config_installer
msgid "res.config.installer"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_config_settings
msgid "res.config.settings"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_partner_title
msgid "res.partner.title"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_request_link
msgid "res.request.link"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_res_users_log
msgid "res.users.log"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_utm_mixin
msgid "utm.mixin"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_wizard_ir_model_menu_create
msgid "wizard.ir.model.menu.create"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow
msgid "workflow"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_activity
msgid "workflow.activity"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_instance
msgid "workflow.instance"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_transition
msgid "workflow.transition"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_triggers
msgid "workflow.triggers"
msgstr ""
#. module: grid
#: model:ir.model,name:grid.model_workflow_workitem
msgid "workflow.workitem"
msgstr ""

163
web_grid/i18n/nb.po Normal file
View File

@@ -0,0 +1,163 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Marius Stedjan <marius@stedjan.com>, 2022
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Legg til en linje"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Legg til linje"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Kan ikke bruke felter av typen %s som kolonner i rutenett"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Rutenett"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Neste"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Ingen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Tilbake"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Se alle poster sammenlagt i denne cellen"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Rutenettvisningen med seksjoner håndterer ikke grupper med ulike kolonnesett"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "I dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Vis"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Se type"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

99
web_grid/i18n/ne.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Laxman Bhatt <laxmanbhatt1001@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Laxman Bhatt <laxmanbhatt1001@gmail.com>, 2018\n"
"Language-Team: Nepali (https://www.transifex.com/odoo/teams/41243/ne/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ne\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "कुल"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

167
web_grid/i18n/nl.po Normal file
View File

@@ -0,0 +1,167 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Dutch (https://www.transifex.com/odoo/teams/41243/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Actie venster weergave"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Regel toevoegen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Regel toevoegen"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Basis"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Kan geen velden van het soort %s gebruiken als matrix kolommen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Matrix"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Volgende"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Geen activiteiten gevonden"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Geen"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Vorige"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Bekijk alle regels opgeteld in deze cel."
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Het veld gebruikt als alleen lezen soort moet een group_operator attribuut "
"hebben."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"De gesectioneerde matrix weergave kan niet omgaan met groepen die "
"verschillende kolommen bevatten."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Vandaag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Totaal"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Weergave"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Soort weergave"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

99
web_grid/i18n/nl_BE.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
"Language-Team: Dutch (Belgium) (https://www.transifex.com/odoo/teams/41243/nl_BE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl_BE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Totaal"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

158
web_grid/i18n/pl.po Normal file
View File

@@ -0,0 +1,158 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2019
# Piotr Szlązak <szlazakpiotr@gmail.com>, 2019
# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2019
# Monika Motyczyńska <m.monia@op.pl>, 2019
# Paweł Wodyński <pw@myodoo.pl>, 2019
# Maksym <ms@myodoo.pl>, 2019
# Martin Trigaux, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Martin Trigaux, 2019\n"
"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Widok okna akcji"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Dodaj pozycję"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Baza"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Nie można użyć pól typu %s jako kolumn siatki"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dzień"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Tabela"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Następny"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Poprzedni"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Zobacz wszystkie rekordy zagregowane w tej komórce"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "Widok przekroju siatki nie obsługuje grup o różnych zestawach kolumn"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Dzisiaj"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Suma"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Niezdefiniowane"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Nieznany"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Widok"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Typ widoku"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

148
web_grid/i18n/pt.po Normal file
View File

@@ -0,0 +1,148 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Language-Team: Portuguese (https://www.transifex.com/odoo/teams/41243/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr ""
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

160
web_grid/i18n/pt_BR.po Normal file
View File

@@ -0,0 +1,160 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2019
# Marcel Savegnago <marcel.savegnago@gmail.com>, 2019
# Emanuel Martins <emanuel.breno@gmail.com>, 2019
# Mateus Lopes <mateus1@gmail.com>, 2019
# grazziano <gra.negocia@gmail.com>, 2019
# Franciele Neiva <franciele.neiva@br.ey.com>, 2019
# Martin Trigaux, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~12.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-09 11:59+0000\n"
"PO-Revision-Date: 2019-08-26 09:38+0000\n"
"Last-Translator: Martin Trigaux, 2019\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Adicionar uma linha"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "base"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Não é possível usar campos do tipo %s Como colunas de grade"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Dia"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Grade"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Próximo"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Anterior"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"A exibição de grade seccionada não pode manipular grupos com conjuntos de "
"colunas diferentes"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Hoje"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "Undefined"
msgstr "Indefinido"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Unknown"
msgstr "Desconhecido(a)"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Visualizações"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tipo de Visão"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

169
web_grid/i18n/ro.po Normal file
View File

@@ -0,0 +1,169 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Foldi Robert <foldirobert@nexterp.ro>, 2022
# Dorin Hongu <dhongu@gmail.com>, 2022
# Martin Trigaux, 2022
# Hongu Cosmin <cosmin513@gmail.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Hongu Cosmin <cosmin513@gmail.com>, 2022\n"
"Language-Team: Romanian (https://www.transifex.com/odoo/teams/41243/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Vizualizare Acțiune Fereastră"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Adăugați o linie"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Adăugă o linie"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Baza"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Nu se pot utiliza câmpuri de tipul %s pentru coloane de tabel"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Zi"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Grilă"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Înainte"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Fără"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Anterior"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Vedeți toate înregistrările agregate în această celulă"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Câmpul folosit ca tip doar citire trebuie să aibă un atribut group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Vizualizarea grilă secționată nu poate suporta grupuri cu seturi de coloane "
"diferite"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Astăzi"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Total"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Afișare"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Tip vizualizare"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Săptămână %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

164
web_grid/i18n/ru.po Normal file
View File

@@ -0,0 +1,164 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Сергей Шебанин <sergey@shebanin.ru>, 2022
# Martin Trigaux, 2022
# Ivan Kropotkin <yelizariev@itpp.dev>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Ivan Kropotkin <yelizariev@itpp.dev>, 2022\n"
"Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Действие, открывающее окно"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Добавить строку"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "добавить строку"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Базовый"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Нельзя использовать поля типа %s в качестве колонок"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "День"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Сетка"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Далее"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Нет"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Назад"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Просмотреть все записи, агрегированные в этой ячейке"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Табличный вид нельзя настроить для групп с различными наборами колонок"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Сегодня"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Всего"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Осмотр"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Тип представления"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr "Неделя% (weeknumber) s% (week_start) s -% (week_end) s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

216
web_grid/i18n/sk.po Normal file
View File

@@ -0,0 +1,216 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2018
# Matus Krnac <matus.krnac@gmail.com>, 2018
# Jaroslav Bosansky <jaro.bosansky@ekoenergo.sk>, 2018
# gebri <gebri@inmail.sk>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: gebri <gebri@inmail.sk>, 2018\n"
"Language-Team: Slovak (https://www.transifex.com/odoo/teams/41243/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Aktivita"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr "Pridať ako riadok"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Základ"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalendár"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Nástenka"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Diagram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Formulár"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Graf"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Mriežka"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Ďalší"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr "Pivot"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Hľadať"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Dnes"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Celkom"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Strom"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Nedefinované"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Neznáme"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Zobrazenie"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Typ zobrazenia"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

99
web_grid/i18n/sl.po Normal file
View File

@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# matjaz k <matjaz@mentis.si>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: matjaz k <matjaz@mentis.si>, 2018\n"
"Language-Team: Slovenian (https://www.transifex.com/odoo/teams/41243/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Skupaj"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

96
web_grid/i18n/sq.po Normal file
View File

@@ -0,0 +1,96 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Language-Team: Albanian (https://www.transifex.com/odoo/teams/41243/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr ""

214
web_grid/i18n/sr.po Normal file
View File

@@ -0,0 +1,214 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Slobodan Simić <slsimic@gmail.com>, 2018
# Martin Trigaux, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2018-09-21 14:07+0000\n"
"Last-Translator: Martin Trigaux, 2018\n"
"Language-Team: Serbian (https://www.transifex.com/odoo/teams/41243/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sr\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: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Активност"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Основа"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalendar"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Dijagram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Obrazac"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gant"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Grafikon"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Mreža"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Pronađi"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Danas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Ukupno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Stablo"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Nepoznato"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Pregled"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Vrsta pregleda"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

100
web_grid/i18n/sr@latin.po Normal file
View File

@@ -0,0 +1,100 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux <mat@odoo.com>, 2017
# Nemanja Dragovic <nemanjadragovic94@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 11:33+0000\n"
"PO-Revision-Date: 2017-09-20 11:33+0000\n"
"Last-Translator: Nemanja Dragovic <nemanjadragovic94@gmail.com>, 2017\n"
"Language-Team: Serbian (Latin) (https://www.transifex.com/odoo/teams/41243/sr%40latin/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:155
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models.py:218 code:addons/web_grid/models.py:250
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:14
#, python-format
msgid "Grid"
msgstr "Mreža"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:199
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:137
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Danas"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:337
#: code:addons/web_grid/static/src/js/grid_renderer.js:342
#, python-format
msgid "Total"
msgstr "Ukupno"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:210
#, python-format
msgid "Undefined"
msgstr "Nedefinisan"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:258
#, python-format
msgid "Unknown"
msgstr "Nepoznato"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "base"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "ir.actions.act_window.view"
msgstr ""
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "ir.ui.view"
msgstr "ir.ui.view"

216
web_grid/i18n/sv.po Normal file
View File

@@ -0,0 +1,216 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Anders Wallenquist <anders.wallenquist@vertel.se>, 2018
# Kristoffer Grundström <hamnisdude@gmail.com>, 2019
# Martin Trigaux, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 14:07+0000\n"
"PO-Revision-Date: 2017-12-13 15:26+0000\n"
"Last-Translator: Martin Trigaux, 2019\n"
"Language-Team: Swedish (https://www.transifex.com/odoo/teams/41243/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Activity"
msgstr "Aktivitet"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:148
#: code:addons/web_grid/static/src/xml/grid_view.xml:5
#, python-format
msgid "Add a Line"
msgstr "Lägg till en rad"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Bas"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Calendar"
msgstr "Kalender"
#. module: web_grid
#: code:addons/web_grid/models/models.py:201
#: code:addons/web_grid/models/models.py:233
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Cohort"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Dashboard"
msgstr "Anslagstavla"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Diagram"
msgstr "Diagram"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Form"
msgstr "Formulär"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Gantt"
msgstr "Gantt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Graph"
msgstr "Diagram"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:15
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
#, python-format
msgid "Grid"
msgstr "Matris"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Kanban"
msgstr "Kanban"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:24
#, python-format
msgid "Next"
msgstr "Framåt"
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Pivot"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:17
#, python-format
msgid "Previous"
msgstr ""
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "QWeb"
msgstr "QWeb"
#. module: web_grid
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr "Sök"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:244
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:183
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:19
#, python-format
msgid "Today"
msgstr "Idag"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:395
#, python-format
msgid "Total"
msgstr "Totalt"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:393
#, python-format
msgid "Total (%s)"
msgstr ""
#. module: web_grid
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
msgstr "Träd"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:204
#, python-format
msgid "Undefined"
msgstr "Odefinierad"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:160
#: code:addons/web_grid/static/src/js/grid_renderer.js:323
#: code:addons/web_grid/static/src/js/grid_renderer.js:358
#, python-format
msgid "Unknown"
msgstr "Okänd"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Visa"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Typ av vy"
#. module: web_grid
#: code:addons/web_grid/models/models.py:244
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""

165
web_grid/i18n/th.po Normal file
View File

@@ -0,0 +1,165 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Khwunchai Jaengsawang <khwunchai.j@ku.th>, 2022
# Martin Trigaux, 2022
# Wichanon Jamwutthipreecha, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Wichanon Jamwutthipreecha, 2022\n"
"Language-Team: Thai (https://www.transifex.com/odoo/teams/41243/th/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: th\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "มุมมองหน้าต่างการดำเนินการ"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "เพิ่มไลน์"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "เพิ่มไลน์"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "ฐาน"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "ไม่สามารถใช้ฟิลด์ประเภท%s เป็นคอลัมน์กริด"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "วัน"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "ตาราง"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "ถัดไป"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "ไม่พบกิจกรรม"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "ไม่มี"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "ก่อนหน้า"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "ดูบันทึกทั้งหมดที่รวมอยู่ในเซลล์นี้"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "ฟิลด์ที่ใช้เป็นแบบอ่านอย่างเดียวต้องมีgroup_operator แอตทริบิวต์ "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "มุมมองกริดแบบแบ่งส่วนไม่สามารถจัดการกลุ่มที่มีชุดคอลัมน์ต่างกันได้"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "วันนี้"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "รวม"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "ดู"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "ประเภทมุมมอง"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"สัปดาห์ %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

174
web_grid/i18n/tr.po Normal file
View File

@@ -0,0 +1,174 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Ediz Duman <neps1192@gmail.com>, 2022
# İmat Yahya Çataklı <yahyacatakli@gmail.com>, 2022
# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2022
# Yedigen, 2022
# Murat Kaplan <muratk@projetgrup.com>, 2022
# abc Def <hdogan1974@gmail.com>, 2022
# Martin Trigaux, 2022
# Buket Şeker <buket_skr@hotmail.com>, 2022
# Tugay Hatıl <tugayh@projetgrup.com>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Tugay Hatıl <tugayh@projetgrup.com>, 2022\n"
"Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Pencere Eylem Görünümü"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Satır Ekle"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Satır Ekle"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Temel"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "%s alan tipleri tablo kolonu olarak kullanılamaz."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Gün"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Tablo"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Sonraki"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Etkinlik bulunamadı"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Hiçbiri"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Önceki"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Bu hücrede toplanan tüm kayıtları görün"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Salt okunur tür olarak kullanılan alanın group_operator niteliğinde olması "
"gerekir."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Kesit ızgara görünümü farklı sütun kümelerine sahip grupları işleyemez"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Bugün"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Toplam"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Görüntüle"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Görünüm Türü"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Hafta%(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

168
web_grid/i18n/uk.po Normal file
View File

@@ -0,0 +1,168 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2022\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: uk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Перегляд вікна дії"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Додати рядок"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Додати рядок"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "База"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Не можна використовувати поля типу %sяк стовпчики сітки"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "День"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Сітка"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Наступний"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Не знайдено дій"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Немає"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Попередній"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Переглянути всі записи, зведені в цій клітинці"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
"Поле, яке використовується як тип лише для читання, повинно мати атрибут "
"group_operator."
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Розділений перегляд сітки не дозволяє обробляти групи з різними наборами "
"стовпчиків"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Сьогодні"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Разом"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Перегляд"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Тип перегляду"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"Тиждень %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

162
web_grid/i18n/vi.po Normal file
View File

@@ -0,0 +1,162 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "Action Window View"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "Thêm một dòng"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "Thêm một dòng"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "Cơ bản"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "Không thể dùng kiểu dữ liệu %s với cột khung lưới"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "Ngày"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "Lưới"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "Kế tiếp"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "Không tìm thấy hoạt động"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "Không "
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "Trước đó"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "Xem tất cả các bản ghi được tổng hợp trong ô này"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
"Chế độ Khung lưới không thể xử lý các nhóm có các tập hợp cột khác nhau"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "Hôm nay"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "Tổng"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "Xem"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "Dạng hiển thị"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

163
web_grid/i18n/zh_CN.po Normal file
View File

@@ -0,0 +1,163 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "动作窗口视图"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "添加明细"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "添加明细行"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "基础"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr "不能使用类型 %s 的字段作为表格栏位"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "天"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "表格"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "下一页"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "找不到活动!"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "无"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "上一页"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr "升序查看单元格内的所有记录"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr "用作只读类型的字段必须具有group_operator属性。"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr "节化的网格视图不能处理具有不同列集的组"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "今天"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "合计"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "视图"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "视图类型"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
"周 %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr "\\u00A0"

161
web_grid/i18n/zh_TW.po Normal file
View File

@@ -0,0 +1,161 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_grid
#
# Translators:
# Martin Trigaux, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.5alpha1+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-20 09:49+0000\n"
"PO-Revision-Date: 2022-09-22 05:49+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Chinese (Taiwan) (https://www.transifex.com/odoo/teams/41243/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_actions_act_window_view
msgid "Action Window View"
msgstr "動作窗視圖"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a Line"
msgstr "添加明細"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Add a line"
msgstr "增加明細"
#. module: web_grid
#: model:ir.model,name:web_grid.model_base
msgid "Base"
msgstr "基礎"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "Can not use fields of type %s as grid columns"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#, python-format
msgid "Day"
msgstr "日"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_view.js:0
#: model:ir.model.fields.selection,name:web_grid.selection__ir_actions_act_window_view__view_mode__grid
#: model:ir.model.fields.selection,name:web_grid.selection__ir_ui_view__type__grid
#, python-format
msgid "Grid"
msgstr "矩陣"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Next"
msgstr "下一個"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_controller.js:0
#, python-format
msgid "No activities found"
msgstr "未找到任何活動"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "None"
msgstr "無"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Previous"
msgstr "前一個"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "See all the records aggregated in this cell"
msgstr ""
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid "The field used as readonly type must have a group_operator attribute."
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_model.js:0
#, python-format
msgid ""
"The sectioned grid view can't handle groups with different columns sets"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "Today"
msgstr "今天"
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/js/grid_renderer.js:0
#, python-format
msgid "Total"
msgstr "總計"
#. module: web_grid
#: model:ir.model,name:web_grid.model_ir_ui_view
msgid "View"
msgstr "檢視"
#. module: web_grid
#: model:ir.model.fields,field_description:web_grid.field_ir_actions_act_window_view__view_mode
#: model:ir.model.fields,field_description:web_grid.field_ir_ui_view__type
msgid "View Type"
msgstr "檢視類型"
#. module: web_grid
#: code:addons/web_grid/models/models.py:0
#, python-format
msgid ""
"Week %(weeknumber)s\n"
"%(week_start)s - %(week_end)s"
msgstr ""
#. module: web_grid
#. openerp-web
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#: code:addons/web_grid/static/src/xml/grid_view.xml:0
#, python-format
msgid "\\u00A0"
msgstr ""

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import ir_ui_view
from . import ir_actions
from . import models

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ActWindowView(models.Model):
_inherit = 'ir.actions.act_window.view'
view_mode = fields.Selection(selection_add=[('grid', "Grid")], ondelete={'grid': 'cascade'})

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class View(models.Model):
_inherit = 'ir.ui.view'
type = fields.Selection(selection_add=[('grid', "Grid")])

704
web_grid/models/models.py Normal file
View File

@@ -0,0 +1,704 @@
# -*- coding: utf-8 -*-
import datetime
from dateutil import rrule
import collections
from functools import partial
import babel.dates
from dateutil.relativedelta import relativedelta, MO, TU, WE, TH, FR, SA, SU
import pytz
from odoo import _, api, models
from odoo.exceptions import UserError
from odoo.osv import expression
from odoo.tools.misc import format_date, get_lang
class Base(models.AbstractModel):
_inherit = 'base'
@api.model
def read_grid(self, row_fields, col_field, cell_field, domain=None, range=None, readonly_field=None, orderby=None):
"""
Current anchor (if sensible for the col_field) can be provided by the
``grid_anchor`` value in the context
:param list[str] row_fields: group row header fields
:param str col_field: column field
:param str cell_field: cell field, summed
:param range: displayed range for the current page
:param readonly_field: make cell readonly based on value of readonly_field given
:type range: None | {'step': object, 'span': object}
:type domain: None | list
:returns: dict of prev context, next context, matrix data, row values
and column values
"""
domain = expression.normalize_domain(domain)
column_info = self._grid_column_info(col_field, range)
grid_select = set([col_field, cell_field])
# readonly field should be in select clause with group_operator, or in group by clause too
if readonly_field:
grid_select.add(readonly_field)
if readonly_field != column_info.grouping and not self._fields[readonly_field].group_operator:
raise UserError(_("The field used as readonly type must have a group_operator attribute."))
# [{ __count, __domain, grouping, **row_fields, cell_field }]
groups = self._read_group_raw(
expression.AND([domain, column_info.domain]),
list(grid_select) + [f.partition(':')[0] for f in row_fields],
[column_info.grouping] + row_fields,
lazy=False, orderby=orderby
)
results = self._build_grid(row_fields, col_field, cell_field, column_info,
groups=groups, domain=domain, readonly_field=readonly_field)
return self._apply_grid_grouped_expand(domain, row_fields, results)
@api.model
def read_grid_grouped(self, row_fields, col_field, cell_field, section_field, domain,
current_range=None, readonly_field=None, orderby=None):
"""
Fetches grouped grid data.
:param list[str] row_fields: group row header fields
:param str col_field: column field
:param str cell_field: cell field, summed
:param str section_field: section field
:param list domain: default domain to apply
:param current_range: displayed range for the current page
:param readonly_field: make cell readonly based on value of readonly_field given
:type current_range: None | {'step': object, 'span': object}
:type domain: None | list
:returns: list of dict with prev context, next context, matrix data, row values
and column values
"""
grid_domain = self.read_grid_domain(col_field, current_range)
grid_domain = grid_domain + (domain or [])
column_info = self._grid_column_info(col_field, current_range)
grid_select = set([col_field, cell_field])
# readonly field should be in select clause with group_operator, or in group by clause too
if readonly_field:
grid_select.add(readonly_field)
if readonly_field != column_info.grouping and not self._fields[readonly_field].group_operator:
raise UserError(_("The field used as readonly type must have a group_operator attribute."))
# [{ __count, __domain, grouping, **row_fields, cell_field }]
groups = self._read_group_raw(
expression.AND([grid_domain, column_info.domain]),
list(grid_select) + [f.partition(':')[0] for f in row_fields] + [section_field],
[column_info.grouping] + row_fields + [section_field],
lazy=False, orderby=orderby
)
section_all_groups = {}
s_field = self._fields[section_field]
if s_field.group_expand:
section_read_group = self.read_group(grid_domain, [section_field], [section_field])
section_all_groups = {group[section_field]: group['__domain'] for group in section_read_group}
section_groups = collections.defaultdict(lambda: {'__domain': [], 'groups': []})
group_expand_section_values = set()
for group in groups:
section_field_value = group[section_field]
section_group = section_groups[section_field_value]
section_all_groups.pop(section_field_value, None)
if s_field.type == 'many2one' and section_field_value:
section_field_value = section_field_value[0]
group_expand_section_values.add(section_field_value)
if not section_group['__domain']:
section_group['__domain'] = expression.AND([
grid_domain,
[(section_field, '=', section_field_value)],
])
section_group['groups'].append(group)
for key, value in section_all_groups.items():
section_field_value = key
if s_field.type == 'many2one' and key:
section_field_value = key[0]
group_expand_section_values.add(section_field_value)
section_groups[key]['__domain'] = value
if not section_groups:
# if there are no groups in the output we still need to fetch an empty grid
# so we can render the table's decoration (pagination and columns &etc)
# otherwise we get a completely empty grid
results = [{
**self._build_grid(row_fields, col_field, cell_field, column_info,
domain=domain, readonly_field=readonly_field),
'__label': False,
}]
else:
results = [{
**self._build_grid(row_fields, col_field, cell_field, column_info,
groups=section_group['groups'], domain=section_group['__domain'],
readonly_field=readonly_field),
'__label': section_group_label,
} for section_group_label, section_group in section_groups.items()]
return self._apply_grid_grouped_expand(
grid_domain, row_fields, results,
section_field, group_expand_section_values
)
@api.model
def _apply_grid_grouped_expand(
self, grid_domain, row_fields, built_grids, section_field=None, group_expand_section_values=None):
""" Returns the built_grids, after having applied the group_expand on it, according to the grid_domain,
row_fields, section_field and group_expand_domain_info.
:param grid_domain: The grid domain.
:param row_fields: The row fields.
:param built_grids: The grids that have been previously built and on top of which the group expand has to
be performed.
:param section_field: The section field.
:param group_expand_section_values: A set containing the record ids for the section field, resulting from the
read_group_raw. The ids can be used in order to limit the queries scopes.
:return: The modified built_grids.
"""
return built_grids
@api.model
def _build_grid(self, row_fields, col_field, cell_field, column_info,
groups=None, domain=None, readonly_field=None):
if groups is None:
groups = []
def row_key(it, fs=row_fields):
return tuple(it[f] for f in fs)
# [{ values: { field1: value1, field2: value2 } }]
rows = self._grid_get_row_headers(row_fields, groups, key=row_key)
# column_info.values is a [(value, label)] seq
# convert to [{ values: { col_field: (value, label) } }]
cols = column_info.values
# map of cells indexed by row_key (tuple of row values) then column value
cell_map = collections.defaultdict(dict)
for group in groups:
row = row_key(group)
col = column_info.format(group[column_info.grouping])
cell_map[row][col] = self._grid_format_cell(group, cell_field, readonly_field)
# pre-build whole grid, row-major, h = len(rows), w = len(cols),
# each cell is
#
# * size (number of records)
# * value (accumulated cell_field)
# * domain (domain for the records of that cell
grid = []
for r in rows:
row = []
grid.append(row)
r_k = row_key(r['values'])
for c in cols:
col_value = c['values'][col_field][0]
it = cell_map[r_k].get(col_value)
if it: # accumulated cell exists, just use it
row.append(it)
else:
# generate de novo domain for the cell
# The domain of the cell is the combination of the domain of the row, the
# column and the view.
row.append(self._grid_make_empty_cell(r['domain'], c['domain'], domain))
row[-1]['is_current'] = c.get('is_current', False)
row[-1]['is_unavailable'] = c.get('is_unavailable', False)
return {
'prev': column_info.prev,
'next': column_info.next,
'initial': column_info.initial,
'cols': cols,
'rows': rows,
'grid': grid,
}
def _grid_make_empty_cell(self, row_domain, column_domain, view_domain):
cell_domain = expression.AND([row_domain, column_domain, view_domain])
return {'size': 0, 'domain': cell_domain, 'value': 0}
def _grid_format_cell(self, group, cell_field, readonly_field):
return {
'size': group['__count'],
'domain': group['__domain'],
'value': group[cell_field],
'readonly': group.get(readonly_field, False),
}
def _grid_get_row_headers(self, row_fields, groups, key):
seen = {}
rows = []
for cell in groups:
k = key(cell)
if k in seen:
seen[k][1].append(cell['__domain'])
else:
r = (
{f: cell[f] for f in row_fields},
[cell['__domain']],
)
seen[k] = r
rows.append(r)
# TODO: generates pretty long domains, is there a way to simplify them?
return [
{'values': values, 'domain': expression.OR(domains)}
for values, domains in rows
]
def _grid_column_info(self, name, range):
"""
:param str name:
:param range:
:type range: None | dict
:rtype: ColumnMetadata
"""
if not range:
range = {}
field = self._fields[name]
context_anchor = self.env.context.get('grid_anchor')
if field.type == 'selection':
return ColumnMetadata(
grouping=name,
domain=[],
prev=False,
next=False,
initial=False,
values=[{
'values': { name: v },
'domain': [(name, '=', v[0])],
'is_current': False,
'is_unavailable': False
} for v in field._description_selection(self.env)
],
format=lambda a: a,
)
elif field.type == 'many2one':
return ColumnMetadata(
grouping=name,
domain=[],
prev=False,
next=False,
initial=False,
values=[{
'values': { name: v },
'domain': [(name, '=', v[0])],
'is_current': False
} for v in self.env[field.comodel_name].search([]).name_get()
],
format=lambda a: a and a[0],
)
elif field.type == 'date':
# seemingly sane defaults
step = range.get('step', 'day')
span = range.get('span', 'month')
today = anchor = field.from_string(field.context_today(self))
if context_anchor:
anchor = field.from_string(context_anchor)
r = self._grid_range_of(span, step, anchor, field)
pagination = self._grid_pagination(field, span, step, anchor)
return ColumnMetadata(
grouping='{}:{}'.format(name, step),
domain=[
'&',
(name, '>=', field.to_string(r.start)),
(name, '<=', field.to_string(r.end))
],
prev=pagination.get('prev'),
next=pagination.get('next'),
initial=pagination.get('initial'),
values=[{
'values': {
name: self._get_date_column_label(d, field, span, step)
},
'domain': ['&',
(name, '>=', field.to_string(d)),
(name, '<', field.to_string(d + self._grid_step_by(step)))],
'is_current': self._grid_date_is_current(field, span, step, d),
'is_unavailable': self._grid_datetime_is_unavailable(field, span, step, d)
} for d in r.iter(step)
],
format=lambda a: a and a[0],
)
elif field.type == 'datetime':
# seemingly sane defaults
step = range.get('step', 'day')
span = range.get('span', 'month')
anchor = field.from_string(field.today(self))
if context_anchor:
anchor = field.from_string(context_anchor)
r = self._grid_range_of(span, step, anchor, field)
pagination = self._grid_pagination(field, span, step, anchor)
return ColumnMetadata(
grouping='{}:{}'.format(name, step),
domain=[
'&',
(name, '>=', r.start_utc),
(name, '<=', r.end_utc)
],
prev=pagination.get('prev'),
next=pagination.get('next'),
initial=pagination.get('initial'),
values=[{
'values': {
name: self._get_date_column_label(d[0], field, span, step)
},
'domain': ['&',
(name, '>=', field.to_string(d[0])),
(name, '<', field.to_string(d[1]))],
'is_current': self._grid_datetime_is_current(field, span, step, d),
'is_unavailable': self._grid_datetime_is_unavailable(field, span, step, d),
} for d in r.iter()],
format=lambda a: a and a[0],
)
else:
raise ValueError(_("Can not use fields of type %s as grid columns", field.type))
@api.model
def read_grid_domain(self, field, range):
""" JS grid view may need to know the "span domain" of the grid before
it has been able to read the grid at all. This provides only that part
of the grid processing
.. warning:: the result domain *must* be properly normalized
"""
if not range:
range = {}
field = self._fields[field]
if field.type == 'selection':
return []
elif field.type == 'many2one':
return []
elif field.type == 'date':
step = range.get('step', 'day')
span = range.get('span', 'month')
anchor = field.from_string(field.context_today(self))
context_anchor = self.env.context.get('grid_anchor')
if context_anchor:
anchor = field.from_string(context_anchor)
r = self._grid_range_of(span, step, anchor, field)
return [
'&',
(field.name, '>=', field.to_string(r.start)),
(field.name, '<=', field.to_string(r.end))
]
elif field.type == 'datetime':
step = range.get('step', 'day')
span = range.get('span', 'month')
anchor = field.from_string(field.today(self))
context_anchor = self.env.context.get('grid_anchor')
if context_anchor:
anchor = field.from_string(context_anchor)
r = self._grid_range_of(span, step, anchor, field)
return [
'&',
(field.name, '>=', field.to_string(r.start_utc)),
(field.name, '<=', field.to_string(r.end_utc))
]
raise UserError(_("Can not use fields of type %s as grid columns", field.type))
def _get_date_column_label(self, date, field, span, step):
"""
:param date: date of period beginning (datetime object)
:param field: odoo.field object of the current model
"""
locale = get_lang(self.env).code
_labelize = self._get_date_formatter(step, field, locale=locale)
if field.type == 'datetime': # we want the column label to be the infos in user tz, while the date domain should still be in UTC
_date_tz = date.astimezone(pytz.timezone(self._context.get('tz') or 'UTC'))
else:
_date_tz = date
return ("%s/%s" % (field.to_string(date), field.to_string(date + self._grid_step_by(step))), _labelize(_date_tz))
def _get_date_formatter(self, step, field, locale):
""" Returns a callable taking a single positional date argument and
formatting it for the step and locale provided.
"""
# Week number calculation does not have a dedicated format in `FORMAT['week']`. So its method is a little more
# complex. More over, `babel` lib does not return correct number. See below.
if step == 'week':
def _week_format(date):
if field.type == 'date':
weeknumber = babel.dates.format_date(date, format=FORMAT[step], locale=locale)
elif field.type == 'datetime':
# For some reason, babel returns the '2018-12-31' as "Week 53" instead of "Week 1"
# Check https://github.com/python-babel/babel/issues/619 and change this when Odoo will use a fixed Babel version
weeknumber = date.strftime('%V') # ISO 8601 week as a decimal number with Monday as the first day of the week.
return _("Week %(weeknumber)s\n%(week_start)s - %(week_end)s") % {
'weeknumber': weeknumber,
'week_start': format_date(self.env, date, locale, "MMM\u00A0dd"),
'week_end': format_date(self.env, date + self._grid_step_by(step) - relativedelta(days=1), locale, "MMM\u00A0dd")
}
return _week_format
if hasattr(babel.dates, 'format_skeleton'):
def _format(d, _fmt=babel.dates.format_skeleton, _sk=SKELETONS[step], _l=locale):
result = _fmt(datetime=d, skeleton=_sk, locale=_l)
# approximate distribution over two lines, for better
# precision should be done by rendering with an actual
# proportional font, for even better precision should be done
# using the fonts the browser asks for, here we just use
# non-whitespace length which is really gross. Also may need
# word-splitting in non-latin scripts.
#
# also ideally should not split the lines at all under a
# certain width
cl = lambda l: sum(len(s) for s in l)
line1 = result.split(u' ')
halfway = cl(line1) / 2.
line2 = collections.deque(maxlen=int(halfway) + 1)
while cl(line1) > halfway:
line2.appendleft(line1.pop())
middle = line2.popleft()
if cl(line1) < cl(line2):
line1.append(middle)
else:
line2.appendleft(middle)
return u"%s\n%s" % (
u'\u00A0'.join(line1),
u'\u00A0'.join(line2),
)
return _format
else:
return partial(babel.dates.format_date,
format=FORMAT[step],
locale=locale)
def _grid_pagination(self, field, span, step, anchor):
if field.type in ['date', 'datetime']:
if field.type == 'datetime':
today_utc = pytz.utc.localize(field.today(self))
today = today_utc.astimezone(pytz.timezone(self._context.get('tz') or 'UTC'))
else:
today = field.from_string(field.context_today(self))
diff = self._grid_step_by(span)
period_prev = field.to_string(anchor - diff)
period_next = field.to_string(anchor + diff)
return {
'prev': {'grid_anchor': period_prev, 'default_%s' % field.name: period_prev},
'next': {'grid_anchor': period_next, 'default_%s' % field.name: period_next},
'initial': {'grid_anchor': field.to_string(today), 'default_%s' % field.name: field.to_string(today)}
}
return dict.fromkeys(['prev', 'initial', 'next'], False)
def _grid_step_by(self, span):
return STEP_BY.get(span)
def _grid_range_of(self, span, step, anchor, field):
"""
For `datetime` field, this method will return a range object containing the list of column date
bounds. Those datetime are timezoned in UTC. The closing date should not be included in column
domain.
:param span: name of the grid range (total period displayed)
:param step: name of the time unit used as step for grid column
:param anchor: the `date` or `datetime` in the period to display
:param field: `odoo.field` used as grouping criteria
"""
if field.type == 'datetime':
user_tz = pytz.timezone(self._context.get('tz') or 'UTC')
return datetime_range(self._grid_start_of(span, step, anchor), self._grid_end_of(span, step, anchor), step, user_tz)
return date_range(self._grid_start_of(span, step, anchor), self._grid_end_of(span, step, anchor))
def _grid_start_of(self, span, step, anchor):
if step == 'week':
return anchor + self._get_start_of_week(span)
return anchor + self._get_start_of(span)
def _grid_end_of(self, span, step, anchor):
if step == 'week':
return anchor + self._get_end_of_week(span)
return anchor + self._get_end_of(span)
def _grid_start_of_period(self, span, step, anchor):
if step == 'day':
return anchor
return anchor + self._get_start_of(span)
def _grid_end_of_period(self, span, step, anchor):
if step == 'day':
return anchor
return anchor + self._get_end_of(span)
def _grid_date_is_current(self, field, span, step, date):
today = field.from_string(field.context_today(self))
if step == 'day':
return today == date
elif step in ['week', 'month']:
return self._grid_start_of_period(span, step, date) <= today < self._grid_end_of_period(span, step, date)
return False
def _grid_datetime_is_current(self, field, span, step, column_dates):
"""
:param column_dates: tuple of start/stop dates of a grid column, timezoned in UTC
"""
today_utc = pytz.utc.localize(field.now())
return column_dates[0] <= today_utc < column_dates[1]
def _grid_datetime_is_unavailable(self, field, span, step, column_dates):
"""
:param column_dates: tuple of start/stop dates of a grid column, timezoned in UTC
This method is meant to be overriden by each model that want to
implement this feature on a Grid view.
"""
return False
def _get_start_of(self, span):
if span == 'week':
user_lang = self.env['res.lang'].search([('code', '=', self.env.user.lang)])
week_start_map = {'1': MO(-1), '2': TU(-1), '3': WE(-1), '4': TH(-1), '5': FR(-1), '6': SA(-1), '7': SU(-1)}
return relativedelta(weekday=week_start_map.get(user_lang.week_start, MO(-1)))
return START_OF[span]
def _get_start_of_week(self, span):
user_lang = self.env['res.lang'].search([('code', '=', self.env.user.lang)])
week_start_map = {'1': MO(-1), '2': TU(-1), '3': WE(-1), '4': TH(-1), '5': FR(-1), '6': SA(-1), '7': SU(-1)}
week_start_delta = relativedelta(weekday=week_start_map.get(user_lang.week_start, MO(-1)))
if span == 'week':
return week_start_delta
return START_OF[span] + week_start_delta
def _get_end_of(self, span):
if span == 'week':
user_lang = self.env['res.lang'].search([('code', '=', self.env.user.lang)])
week_end_map = {'1': SU, '2': MO, '3': TU, '4': WE, '5': TH, '6': FR, '7': SA}
return relativedelta(weekday=week_end_map.get(user_lang.week_start, SU))
return END_OF[span]
def _get_end_of_week(self, span):
user_lang = self.env['res.lang'].search([('code', '=', self.env.user.lang)])
week_end_map = {'1': SU, '2': MO, '3': TU, '4': WE, '5': TH, '6': FR, '7': SA}
week_end_delta = relativedelta(weekday=week_end_map.get(user_lang.week_start, SU))
if span == 'week':
return week_end_delta
return END_OF[span] + week_end_delta
# ---------------------------------------------------------
# Internal Data Structure:
# - namedtuple for Metadata of grid column
# - date/datetime range objects
# ---------------------------------------------------------
ColumnMetadata = collections.namedtuple('ColumnMetadata', 'grouping domain prev next initial values format')
class date_range(object):
def __init__(self, start, stop):
assert start <= stop
self.start = start
self.end = stop
def iter(self, step):
v = self.start
step = STEP_BY[step]
while v <= self.end:
yield v
v += step
class datetime_range(object):
def __init__(self, start, stop, step, user_tz):
assert start <= stop
self._start = user_tz.localize(datetime.datetime.combine(start, datetime.time.min))
self._end = user_tz.localize(datetime.datetime.combine(stop, datetime.time.max))
self.step = step
self._user_tz = user_tz
self._periods = self._generate_period()
@property
def start_utc(self):
return self._user_tz.localize(self._start.replace(tzinfo=None)).astimezone(pytz.utc)
@property
def end_utc(self):
return self._user_tz.localize(self._end.replace(tzinfo=None)).astimezone(pytz.utc)
def _generate_period(self):
""" Generate tuple reprenseting grid column period with start datetime and end datetime. We use `rrule` as this lib takes
DST (Daylight Saving Time) into account. We select the period the user wants in its timezone (the `read_group` groups by
datetime in current user TZ). Then, convert it into UTC to be sent and use by the sytem.
"""
start = self._start.replace(tzinfo=None)
stop = self._end.replace(tzinfo=None) + STEP_BY[self.step] # add a step as the given stop limit is not included in column domain
if self.step == 'day':
r = rrule.rrule(rrule.DAILY, dtstart=start, until=stop)
if self.step == 'week':
# Seems that PostgresSQL consider Monday as first week day (The ISO-8601 week starts on
# Monday). See https://www.postgresql.org/docs/9.1/functions-datetime.html
start = start + relativedelta(weekday=MO(-1))
stop = stop + relativedelta(weekday=MO(-1))
r = rrule.rrule(rrule.WEEKLY, dtstart=start, until=stop, wkst=MO)
if self.step == 'month':
r = rrule.rrule(rrule.MONTHLY, dtstart=start, until=stop)
date_range = []
previous_dt = None
for dt in r:
current_dt = self._user_tz.localize(dt)
if previous_dt:
date_range.append((previous_dt.astimezone(pytz.utc), current_dt.astimezone(pytz.utc)))
previous_dt = current_dt
return date_range
def iter(self):
return iter(self._periods)
# ---------------------------------------------------------
# CONSTANTS
# ---------------------------------------------------------
START_OF = {
'day': relativedelta(days=0),
'month': relativedelta(day=1),
'year': relativedelta(yearday=1),
}
END_OF = {
'day': relativedelta(days=0),
'month': relativedelta(months=1, day=1, days=-1),
'year': relativedelta(years=1, yearday=1, days=-1),
}
STEP_BY = {
'day': relativedelta(days=1),
'week': relativedelta(weeks=1),
'month': relativedelta(months=1),
'year': relativedelta(years=1),
}
FORMAT = {
'day': u"EEE\nMMM\u00A0dd",
'week': u'w',
'month': u'MMMM\u00A0yyyy',
}
SKELETONS = {
'day': u"MMMEEEdd",
'month': u'yyyyMMMM',
}

View File

@@ -0,0 +1,19 @@
odoo.define('web_grid.component_registry', function (require) {
"use strict";
const Registry = require('web.Registry');
return new Registry();
});
odoo.define('web_grid._component_registry', function (require) {
"use strict";
const components = require('web_grid.components');
const registry = require('web_grid.component_registry');
registry
.add('float_factor', components.FloatFactorComponent)
.add('float_time', components.FloatTimeComponent)
.add('float_toggle', components.FloatToggleComponent);
});

View File

@@ -0,0 +1,265 @@
odoo.define('web_grid.components', function (require) {
"use strict";
const fieldUtils = require('web.field_utils');
const utils = require('web.utils');
const { debounce } = require("@web/core/utils/timing");
const { Component, onPatched, onWillUpdateProps, useRef, useState } = owl;
class BaseGridComponent extends Component {
setup() {
this.currentInput = useRef("currentInput");
this.state = useState({
error: false,
});
onWillUpdateProps(this.onWillUpdateProps);
onPatched(this.onPatched);
}
onWillUpdateProps(nextProps) {
if (nextProps.date !== this.props.date) {
// if we change the range of dates we are looking at, the
// component must remove it's error state
this.state.error = false;
}
}
onPatched() {
if (this.currentInput.el) {
this.currentInput.el.select();
}
}
//----------------------------------------------------------------------
// Getters
//----------------------------------------------------------------------
/**
* Returns the additional options needed for format/parse.
* Override this getter to add options.
*
* @returns {Object}
*/
get fieldOptions() {
return this.props.nodeOptions;
}
/**
* Returns the formatType needed for the format/parse function.
* Override this getter to add options.
*
* @returns {Object}
*/
get formatType() {
return this.constructor.formatType || this.props.fieldInfo.type;
}
//----------------------------------------------------------------------
// Private
//----------------------------------------------------------------------
/**
* @private
* @param {any} value
* @returns {string}
*/
_format(value) {
return fieldUtils.format[this.formatType](value, {}, this.fieldOptions);
}
/**
* @private
* @param {any} value
* @returns {string}
*/
_parse(value) {
return fieldUtils.parse[this.formatType](value, {}, this.fieldOptions);
}
//----------------------------------------------------------------------
// Handlers
//----------------------------------------------------------------------
/**
* This handler verifies that the value has a good format, if it is
* the case it will trigger an event to update the value in DB.
*
* @private
* @param {MouseEvent} ev
*/
_onBlurCell(ev) {
let value;
try {
value = this._parse(ev.target.value);
this.state.error = false;
} catch (_) {
this.state.error = ev.target.value;
} finally {
this.props.onCellUpdated({
path: this.props.path,
value
});
}
}
/**
* This handler notifies the grid that a cell has been focused
*
* @private
*/
_onFocusCell() {
this.props.onCellFocused(this.props.path);
}
}
BaseGridComponent.defaultProps = {
cellHeight: 0,
cellValue: 0,
hasBarChartTotal: false,
readonly: false,
isTotal: false,
nodeOptions: {},
onCellFocused: () => {},
onCellUpdated: () => {},
};
BaseGridComponent.props = {
cellHeight: {
type: Number,
optional: true
},
cellValue: {
type: Number,
optional: true
},
fieldInfo: Object,
hasBarChartTotal: {
type: Boolean,
optional: true,
},
isInput: Boolean,
nodeOptions: {
type: Object,
optional: true,
},
onCellFocused: {
type: Function,
optional: true,
},
onCellUpdated: {
type: Function,
optional: true,
},
path: {
type: String,
optional: true
},
readonly: {
type: Boolean,
optional: true,
},
isTotal: {
type: Boolean,
optional: true
},
date: {
type: String,
optional: true
},
};
BaseGridComponent.template = 'web_grid.BaseGridComponent';
BaseGridComponent.formatType = 'float_factor';
class FloatFactorComponent extends BaseGridComponent {}
class FloatTimeComponent extends BaseGridComponent {
get fieldOptions() {
return Object.assign({}, super.fieldOptions, {
noLeadingZeroHour: true,
});
}
}
FloatTimeComponent.formatType = 'float_time';
class FloatToggleComponent extends BaseGridComponent {
setup() {
super.setup();
this.state = useState({
disabled: false,
value: this.initialValue,
});
this._onClickButton = debounce(this._onClickButton, 200, true);
}
onWillUpdateProps(nextProps) {
if (nextProps.cellValue !== this.initialValue) {
this.state.value = nextProps.cellValue;
}
}
//----------------------------------------------------------------------
// Getters
//----------------------------------------------------------------------
/**
* Returns the additional options to the format function.
*
* @returns {Object}
*/
get fieldOptions() {
const fieldOptions = Object.assign({}, this.props.nodeOptions);
if (!fieldOptions.factor) {
fieldOptions.factor = 1;
}
const range = [0.0, 0.5, 1.0];
if (!fieldOptions.range) {
fieldOptions.range = range;
}
return fieldOptions;
}
/**
* Returns the initial value.
*
* @returns {Number}
*/
get initialValue() {
return this.props.cellValue;
}
//----------------------------------------------------------------------
// Handlers
//----------------------------------------------------------------------
/**
* This handler is called when a user clicks on a button
* it will change the value in the state
*
* @private
* @param {MouseEvent} ev
*/
_onClickButton() {
const range = this.fieldOptions.range;
const currentFloat = fieldUtils.parse.float(this._format(this.state.value));
const closest = utils.closestNumber(currentFloat, range);
const closestIndex = range.indexOf(closest);
const nextIndex = closestIndex + 1 < range.length ? closestIndex + 1 : 0;
this.state.value = this._parse(fieldUtils.format.float(range[nextIndex]));
this.state.disabled = true;
this.props.onCellUpdated({
path: this.props.path,
value: this.state.value,
doneCallback: () => {
this.state.disabled = false;
}
});
}
}
FloatToggleComponent.template = 'web_grid.FloatToggleComponent';
return {
BaseGridComponent,
FloatFactorComponent,
FloatTimeComponent,
FloatToggleComponent,
};
});

View File

@@ -0,0 +1,369 @@
odoo.define('web_grid.GridController', function (require) {
"use strict";
var AbstractController = require('web.AbstractController');
var config = require('web.config');
var core = require('web.core');
var utils = require('web.utils');
var concurrency = require('web.concurrency');
const { escape } = require("@web/core/utils/strings");
const { FormViewDialog } = require("@web/views/view_dialogs/form_view_dialog");
var qweb = core.qweb;
var _t = core._t;
const { Component, markup } = owl;
var GridController = AbstractController.extend({
custom_events: Object.assign({}, AbstractController.prototype.custom_events, {
'create_inline': '_addLine',
'cell_edited': '_onCellEdited',
'open_cell_information': '_onOpenCellInformation',
}),
/**
* @override
*/
init: function (parent, model, renderer, params) {
this._super.apply(this, arguments);
this.context = params.context;
this.navigationButtons = params.navigationButtons;
this.ranges = params.ranges;
this.currentRange = params.currentRange;
this.formViewID = params.formViewID;
this.listViewID = params.listViewID;
this.adjustment = params.adjustment;
this.adjustName = params.adjustName;
this.canCreate = params.activeActions.create;
this.createInline = params.createInline;
this.displayEmpty = params.displayEmpty;
this.mutex = new concurrency.Mutex();
},
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
/**
* @override
* @param {jQuery} [$node]
*/
renderButtons: function ($node) {
this.$buttons = $(qweb.render('grid.GridArrows', {
widget: {
_ranges: this.ranges,
_buttons: this.navigationButtons,
allowCreate: this.canCreate,
},
isMobile: config.device.isMobile
}));
this.$buttons.on('click', '.o_grid_button_add', this._onAddLine.bind(this));
this.$buttons.on('click', '.grid_arrow_previous', this._onPaginationChange.bind(this, 'prev'));
this.$buttons.on('click', '.grid_button_initial', this._onPaginationChange.bind(this, 'initial'));
this.$buttons.on('click', '.grid_arrow_next', this._onPaginationChange.bind(this, 'next'));
this.$buttons.on('click', '.grid_arrow_range', this._onRangeChange.bind(this));
this.$buttons.on('click', '.grid_arrow_button', this._onButtonClicked.bind(this));
this.updateButtons();
if ($node) {
this.$buttons.appendTo($node);
}
},
/**
* @override
*/
updateButtons: function () {
if (!this.$buttons) {
return;
}
const state = this.model.get();
this.$buttons.find('.o_grid_button_add').toggleClass('d-none', this.createInline && (!!state.data[0].rows.length || this.displayEmpty));
this.$buttons.find('.grid_arrow_previous').toggleClass('d-none', !state.data[0].prev);
this.$buttons.find('.grid_arrow_next').toggleClass('d-none', !state.data[0].next);
this.$buttons.find('.grid_button_initial').toggleClass('d-none', !state.data[0].initial);
this.$buttons.find('.grid_arrow_range').removeClass('active');
this.$buttons.find('.grid_arrow_range[data-name=' + this.currentRange + ']').addClass('active');
},
/**
* Get the action to execute.
*/
_getEventAction(label, cell, ctx) {
const noActivitiesFound = _t('No activities found');
return {
type: 'ir.actions.act_window',
name: label,
res_model: this.modelName,
views: [
[this.listViewID, 'list'],
[this.formViewID, 'form']
],
domain: cell.domain,
context: ctx,
help: markup(`<p class='o_view_nocontent_smiling_face'>${escape(noActivitiesFound)}</p>`),
};
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* Get the context for the form view.
* @private
*/
_getFormContext() {
return Object.assign({}, this.model.getContext(), { view_grid_add_line: true });
},
/**
* @private
* @returns {object}
*/
_getFormDialogOptions() {
const formContext = this._getFormContext();
// TODO: document quick_create_view (?) context key
var formViewID = formContext.quick_create_view || this.formViewID || false;
return {
resModel: this.modelName,
resId: false,
context: formContext,
viewId: formViewID,
title: _t("Add a Line"),
onRecordSaved: this.reload.bind(this, {}),
};
},
/**
* Open a form View to create a new entry in the grid
* @private
*/
_addLine() {
const options = this._getFormDialogOptions()
Component.env.services.dialog.add(FormViewDialog, options);
},
/**
* @private
* @param {Object} cell
* @param {number} newValue
* @returns {Promise}
*/
_adjust: function (cell, newValue) {
var difference = newValue - cell.value;
// 1e-6 is probably an overkill, but that way milli-values are usable
if (Math.abs(difference) < 1e-6) {
// cell value was set to itself, don't hit the server
return Promise.resolve();
}
// convert row values to a domain, concat to action domain
var state = this.model.get();
var domain = this.model.domain.concat(cell.row.domain);
// early rendering of the new value.
// FIXME: only the model should modify the state, so in master
// move the _adjust method in the model so that it can properly
// handle "pending" data
utils.into(state.data, cell.cell_path).value = newValue;
var self = this;
return this.mutex.exec(function () {
if (self.adjustment === 'action') {
const actionData = {
type: self.adjustment,
name: self.adjustName,
context: self.model.getContext({
grid_adjust: { // context for type=action
row_domain: domain,
column_field: state.colField,
column_value: cell.col.values[state.colField][0],
cell_field: state.cellField,
change: difference,
},
}),
};
return self.trigger_up('execute_action', {
action_data: actionData,
env: {
context: self.model.getContext(),
model: self.modelName
},
on_success: async function () {
let state = self.model.get();
await self.model.reloadCell(cell, state.cellField, state.colField);
state = self.model.get();
await self.renderer.update(state);
self.updateButtons(state);
},
});
}
return self._rpc({
model: self.modelName,
method: self.adjustName,
args: [ // args for type=object
[],
domain,
state.colField,
cell.col.values[state.colField][0],
state.cellField,
difference
],
context: self.model.getContext()
}).then(function () {
return self.model.reloadCell(cell, state.cellField, state.colField);
}).then(function () {
var state = self.model.get();
return self.renderer.update(state);
}).then(function () {
self.updateButtons(state);
});
});
},
/**
* @override
* @private
* @returns {Promise}
*/
_update: function () {
return this._super.apply(this, arguments)
.then(this.updateButtons.bind(this));
},
//--------------------------------------------------------------------------
// Handlers
//--------------------------------------------------------------------------
/**
* @private
* @param {MouseEvent} event
*/
_onAddLine: function (event) {
event.preventDefault();
this._addLine();
},
/**
* If something needs to be done when a new value has been set, it can be done here
* @param ev the event that triggered the update
*/
_cellHasBeenUpdated(ev) {
// Currently overriden in timesheet_grid.timesheet_grid_controller
},
/**
* @private
* @param {OdooEvent} e
*/
_onCellEdited: function (event) {
var state = this.model.get();
this._adjust({
row: utils.into(state.data, event.data.row_path),
col: utils.into(state.data, event.data.col_path),
value: utils.into(state.data, event.data.cell_path).value,
cell_path: event.data.cell_path,
}, event.data.value)
.then(() => {
if (event.data.doneCallback !== undefined) {
event.data.doneCallback();
}
this._cellHasBeenUpdated(event);
})
.guardedCatch(function () {
if (event.data.doneCallback !== undefined) {
event.data.doneCallback();
}
});
},
/**
* @private
* @param {MouseEvent} e
*/
_onButtonClicked: function (e) {
var self = this;
e.stopPropagation();
// TODO: maybe allow opting out of getting ids?
var button = this.navigationButtons[$(e.target).attr('data-index')];
var actionData = _.extend({}, button, {
context: this.model.getContext(button.context),
});
this.model.getIds().then(function (ids) {
self.trigger_up('execute_action', {
action_data: actionData,
env: {
context: self.model.getContext(),
model: self.modelName,
resIDs: ids,
},
on_closed: self.reload.bind(self, {}),
});
});
},
/**
* @private
* @param {OwlEvent} ev
*/
_onOpenCellInformation: function (ev) {
var cell_path = ev.data.path.split('.');
var row_path = cell_path.slice(0, -3).concat(['rows'], cell_path.slice(-2, -1));
var state = this.model.get();
var cell = utils.into(state.data, cell_path);
var row = utils.into(state.data, row_path);
var groupFields = state.groupBy.slice(state.isGrouped ? 1 : 0);
var label = _.filter(_.map(groupFields, function (g) {
return row.values[g][1];
}), function (g) {
return g;
}).join(' - ');
// pass group by, section and col fields as default in context
var cols_path = cell_path.slice(0, -3).concat(['cols'], cell_path.slice(-1));
var col = utils.into(state.data, cols_path);
var column_value = col.values[state.colField][0];
if (!column_value) {
column_value = false;
} else if (!_.isNumber(column_value)) {
column_value = column_value.split("/")[0];
}
var ctx = _.extend({}, this.context);
if (this.model.sectionField && state.groupBy && state.groupBy[0] === this.model.sectionField) {
var value = state.data[parseInt(cols_path[0])].__label;
ctx['default_' + this.model.sectionField] = _.isArray(value) ? value[0] : value;
}
_.each(groupFields, function (field) {
ctx['default_' + field] = row.values[field][0] || false;
});
ctx['default_' + state.colField] = column_value;
ctx['create'] = this.canCreate && !cell.readonly;
ctx['edit'] = this.activeActions.edit && !cell.readonly;
this.do_action(this._getEventAction(label, cell, ctx));
},
/**
* @private
* @param {string} dir either 'prev', 'initial' or 'next
*/
_onPaginationChange: function (dir) {
var state = this.model.get();
this.update({pagination: state.data[0][dir]});
},
/**
* @private
* @param {MouseEvent} e
*/
_onRangeChange: function (e) {
e.stopPropagation();
var $target = $(e.target);
if (config.device.isMobile) {
$target.closest(".dropdown-menu").prev().dropdown("toggle");
}
if ($target.hasClass('active')) {
return;
}
this.currentRange = $target.attr('data-name');
this.context.grid_range = this.currentRange;
this.update({range: this.currentRange});
},
});
return GridController;
});

View File

@@ -0,0 +1,393 @@
odoo.define('web_grid.GridModel', function (require) {
"use strict";
var AbstractModel = require('web.AbstractModel');
var concurrency = require('web.concurrency');
var utils = require('web.utils');
const fieldUtils = require('web.field_utils');
const { _t } = require('web.core');
const GridModel = AbstractModel.extend({
/**
* GridModel
*
* All data will be loaded in the _gridData object and can be retrieved with
* the `get` method.
*/
/**
* @override
*/
init: function () {
this._super.apply(this, arguments);
this._gridData = null;
this.dp = new concurrency.DropPrevious();
},
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
/**
* @public
*/
computeAllTotals: function (state) {
state.data.forEach((group, groupIndex) => {
state.data[groupIndex].totals = this._computeTotals(group.grid);
});
state.totals = this._computeTotals(_.flatten(_.pluck(state.data, 'grid'), true));
return state;
},
/**
* @override
* @returns {Object}
*/
__get: function () {
return this._gridData;
},
/**
* @override
* @param {Object} context
* @returns {Object}
*/
getContext: function (context) {
var c = _.extend({}, this.context, context);
return c;
},
/**
* The data from the grid view basically come from a read_group so we don't
* have any res_ids. A big domain is thus computed with the domain of all
* cells and this big domain is used to search for res_ids.
*
* @returns {Promise<integer[]>} the list of ids used in the grid
*/
getIds: function () {
var data = this._gridData.data;
if (!_.isArray(data)) {
data = [data];
}
var domain = [];
// count number of non-empty cells and only add those to the search
// domain, on sparse grids this makes domains way smaller
var cells = 0;
for (var i = 0; i < data.length; i++) {
var grid = data[i].grid;
for (var j = 0; j < grid.length; j++) {
var row = grid[j];
for (var k = 0; k < row.length; k++) {
var cell = row[k];
if (cell.size !== 0) {
cells++;
domain.push.apply(domain, cell.domain);
}
}
}
}
// if there are no elements in the grid we'll get an empty domain
// which will select all records of the model... that is *not* what
// we want
if (cells === 0) {
return Promise.resolve([]);
}
while (--cells > 0) {
domain.unshift('|');
}
return this._rpc({
model: this.modelName,
method: 'search',
args: [domain],
context: this.getContext(),
});
},
/**
* @override
* @param {Object} params
* @returns {Promise}
*/
__load: function (params) {
this.fields = params.fields;
this.modelName = params.modelName;
this.rowFields = params.rowFields;
this.sectionField = params.sectionField;
this.colField = params.colField;
this.cellField = params.cellField;
this.ranges = params.ranges;
this.currentRange = params.currentRange;
this.domain = params.domain;
this.context = params.context;
var groupedBy = (params.groupedBy && params.groupedBy.length) ?
params.groupedBy : this.rowFields;
this.groupedBy = Array.isArray(groupedBy) ? groupedBy : [groupedBy];
this.readonlyField = params.readonlyField;
return this._fetch(this.groupedBy);
},
/**
* @override
* @param {any} handle this parameter is ignored
* @param {Object} params
* @returns {Promise}
*/
__reload: function (handle, params) {
if (params === 'special') {
return Promise.resolve();
}
params = params || {};
if ('context' in params) {
// keep the grid anchor, when reloading view (e.i.: removing a filter in search view)
var old_context = this.context;
this.context = params.context;
if (old_context.grid_anchor !== undefined || params.context.grid_anchor !== undefined) {
this.context.grid_anchor = old_context.grid_anchor || params.context.grid_anchor;
}
}
if ('domain' in params) {
this.domain = params.domain;
}
if ('pagination' in params) {
_.extend(this.context, params.pagination);
}
if ('range' in params) {
this.context.grid_range = params.range || this.context.grid_range;
this.currentRange = _.findWhere(this.ranges, {name: params.range});
}
if ('groupBy' in params) {
if (params.groupBy.length) {
this.groupedBy = Array.isArray(params.groupBy) ?
params.groupBy : [params.groupBy];
} else {
this.groupedBy = this.rowFields;
}
}
return this._fetch(this.groupedBy);
},
reloadCell: function (cell, cellField, colField) {
var self = this;
var domain = cell.col.domain.concat(this.domain);
var domainRow = cell.row.values;
for (var value in domainRow) {
domain = domain.concat([[value.toString(), '=', domainRow[value][0]]]);
}
/**
* We're doing this because the record can be attribute to someone else
* when it's attribute to no one at the beginning.
* Once we've done this we have to reload all the grid and not only the cell
* (to also change de name of the person it's attribute to)
*/
if (this._gridData.isGrouped) {
var groupLabel = this._gridData.data[cell.cell_path[0]].__label;
if (groupLabel !== undefined)
domain = domain.concat([[this._gridData.groupBy[0], '=', groupLabel[0]]]);
else {
return self._fetch(self._gridData.groupBy);
}
}
return this._rpc({
model: this.modelName,
method: 'read_group',
kwargs: {
domain: domain,
fields: [cellField],
groupby: [colField],
},
context: this.getContext()
}).then(function (result) {
if (result.length === 0 || !(cellField in result[0])) {
return Promise.resolve();
}
var currentCell = utils.into(self._gridData.data, cell.cell_path);
currentCell.value = result[0][cellField];
currentCell.size = result[0][colField + '_count'];
currentCell.domain = domain;
self._gridData = self.computeAllTotals(self._gridData);
});
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* @private
* @param {Object[]} grid
* @returns {{super: number, rows: {}, columns: {}}}
*/
_computeTotals: function (grid) {
const totals = {
super: 0,
rows: {},
columns: {}
};
for (let i = 0; i < grid.length; i++) {
const row = grid[i];
for (let j = 0; j < row.length; j++) {
const cell = row[j];
totals.super += cell.value;
totals.rows[i] = (totals.rows[i] || 0) + cell.value;
totals.columns[j] = (totals.columns[j] || 0) + cell.value;
}
}
return totals;
},
/**
* @private
* @param {Object} rows
* @param {boolean} grouped
* @returns {Object with keys id (string) and label (string[])}
*/
_getRowInfo(row, grouped) {
const fieldNames = Object.keys(row.values);
const rowValues = [];
const rowIds = [];
for (let i = 0; i < fieldNames.length; i++) {
const rowField = fieldNames[i];
let value = row.values[rowField];
const fieldName = rowField.split(':')[0]; // remove groupby function (:day, :month...)
const fieldType = this.fields[fieldName].type;
if (fieldType === 'selection') {
value = this.fields[fieldName].selection.find(function (choice) {
return choice[0] === value;
});
}
const id = value && ["many2one", "selection"].includes(fieldType) ? value[0] : value;
value = value && ["many2one", "selection"].includes(fieldType) ? value[1] : value;
rowValues.push(value);
rowIds.push(id);
}
return { id: rowIds.join(','), label: rowValues };
},
/**
* @private
* @param {string[]} groupBy
* @returns {Promise}
*/
_fetch: function (groupBy) {
if (!this.currentRange) {
return Promise.resolve();
}
if (this.sectionField && this.sectionField === groupBy[0]) {
return this._fetchGroupedData(groupBy);
} else {
return this._fetchUngroupedData(groupBy);
}
},
/**
* @private
* @param {string[]} groupBy
* @returns {Promise}
*/
_fetchGroupedData: async function (groupBy) {
const results = await this.dp.add(this._rpc({
model: this.modelName,
method: 'read_grid_grouped',
kwargs: {
row_fields: groupBy.slice(1),
col_field: this.colField,
cell_field: this.cellField,
section_field: this.sectionField,
domain: (this.domain || []),
current_range: this.currentRange,
readonly_field: this.readonlyField,
},
context: this.getContext(),
}));
if (!(_.isEmpty(results) || _.reduce(results, function (m, it) {
return _.isEqual(m.cols, it.cols) && m;
}))) {
throw new Error(_t("The sectioned grid view can't handle groups with different columns sets"));
}
results.forEach((group, groupIndex) => {
results[groupIndex].totals = this._computeTotals(group.grid);
group.rows.forEach((row, rowIndex) => {
const { id, label } = this._getRowInfo(row, true);
results[groupIndex].rows[rowIndex].id = id;
results[groupIndex].rows[rowIndex].label = label;
});
});
this._updateContext(results);
this._gridData = {
isGrouped: true,
data: results,
totals: this._computeTotals(_.flatten(_.pluck(results, 'grid'), true)),
groupBy,
colField: this.colField,
cellField: this.cellField,
range: this.currentRange.name,
context: this.context,
};
},
/**
* @private
* @param {string[]} groupBy
* @returns {Promise}
*/
_fetchUngroupedData: async function (groupBy) {
const result = await this.dp.add(this._rpc({
model: this.modelName,
method: 'read_grid',
kwargs: {
row_fields: groupBy,
col_field: this.colField,
cell_field: this.cellField,
domain: this.domain,
range: this.currentRange,
readonly_field: this.readonlyField,
},
context: this.getContext(),
}));
const rows = result.rows;
rows.forEach((row, rowIndex) => {
const { id, label } = this._getRowInfo(row, false);
result.rows[rowIndex].label = label;
result.rows[rowIndex].id = id;
});
const data = [result];
this._updateContext(data);
this._gridData = {
isGrouped: false,
data,
totals: this._computeTotals(result.grid),
groupBy,
colField: this.colField,
cellField: this.cellField,
range: this.currentRange.name,
context: this.context,
};
},
/**
*
* @param {Array<Record<string, any>>} records
* @returns
*/
_updateContext(records) {
if (this.currentRange.span && this.currentRange.step && records && records.length) {
// then the colField should be a date/datetime and we need to check if the grid anchor is in the right place.
const record = records[0];
const previousAnchor = fieldUtils.parse.date(record.prev.grid_anchor);
const initialAnchor = fieldUtils.parse.date(record.initial.grid_anchor);
const nextAnchor = fieldUtils.parse.date(record.next.grid_anchor);
if (previousAnchor < initialAnchor && initialAnchor < nextAnchor) {
// then the context will be the initial one.
this.context = Object.assign({}, this.context, record.initial);
}
}
return this.context;
},
});
return GridModel;
});

View File

@@ -0,0 +1,440 @@
odoo.define('web_grid.GridRenderer', function (require) {
"use strict";
const AbstractRenderer = require('web.AbstractRendererOwl');
const fieldUtils = require('web.field_utils');
const utils = require('web.utils');
const gridComponentRegistry = require('web_grid.component_registry');
const { useListener } = require("@web/core/utils/hooks");
const { onPatched, onWillUpdateProps, useRef, useState } = owl;
class GridRenderer extends AbstractRenderer {
setup() {
super.setup();
this.root = useRef("root");
this.state = useState({
editMode: false,
currentPath: "",
errors: {},
});
this.currentInput = useRef("currentInput");
useListener('mouseover', 'td:not(:first-child), th:not(:first-child)', this._onMouseEnter);
useListener('mouseout', 'td:not(:first-child), th:not(:first-child)', this._onMouseLeave);
onWillUpdateProps(this.onWillUpdateProps);
onPatched(this.onPatched);
}
onWillUpdateProps(nextProps) {
if (nextProps.data[0].next.grid_anchor !== this.props.data[0].next.grid_anchor) {
//if we change the range of dates we are looking at,
//the cells should not be in error state anymore
this.state.errors = {};
}
}
onPatched() {
if (this.currentInput.el) {
this.currentInput.el.select();
}
}
//----------------------------------------------------------------------
// Getters
//----------------------------------------------------------------------
/**
* returns the columns of the first gridgroup
*
* @returns {Object}
*/
get columns() {
return this.props.data.length ? this.props.data[0].cols : [];
}
/**
* returns a boolean expressing if the grid uses cellComponents
*
* @returns {Object}
*/
get component() {
return gridComponentRegistry.get(this.props.cellComponent);
}
get gridAnchorNext() {
return this.props.data[0].next.grid_anchor;
}
/**
* As there have to be a minimum of 5 rows in an ungrouped grid,
* this will return the number of empty rows to add
* if there are not enough.
*
* @returns {Array}
*/
get emptyRows() {
const rowLength = this.props.isGrouped ? this.props.data.reduce((count, d) => count + d.rows.length + 1, 0) : this.props.data[0].rows.length;
return Array.from({
length: Math.max(5 - rowLength, 0)
}, (_, i) => i);
}
/**
* get the formatType needed for format and parse
*
* @returns {string}
*/
get formatType() {
if (this.hasComponent) {
return this.component.formatType;
}
return this.props.fields[this.props.cellField].type;
}
/**
* returns a boolean expressing if the grid uses cellComponents
*
* @returns {Boolean}
*/
get hasComponent() {
return gridComponentRegistry.contains(this.props.cellComponent);
}
/**
* Get the information needed to display the total of a grid correctly
* will contain the classMap and the value
*
* @returns {classmap: Object, value: number}
*/
get gridTotal() {
if (this.props.totals.super) {
const classMap = {
'o_grid_super': true,
'text-danger': this.props.totals.super < 0,
};
const value = this.props.totals.super;
return {
classMap,
value
};
} else {
return {
classMap: {
o_grid_super: true
},
value: 0.0
};
}
}
/**
* returns the getMeasureLabels
*
* @returns {string}
*/
get measureLabel() {
if (this.props.measureLabel) {
return _.str.sprintf("%s", this.props.measureLabel);
} else {
return this.env._t("Total");
}
}
/**
* returns the xml of the noContentHelper
*
* @returns {string}
*/
get noContentHelper() {
return utils.json_node_to_xml(this.props.noContentHelper);
}
/**
* returns a boolean expressing if yes or no the noContentHelp should be shown
*
* @returns {Boolean}
*/
get showNoContentHelp() {
const stateRow = Array.isArray(this.props.data) ? this.props.data.find(data => data.rows[0]) : this.props.data.rows[0];
return stateRow === undefined && !!this.props.noContentHelp;
}
//----------------------------------------------------------------------
// Private
//----------------------------------------------------------------------
/**
* Notifies the model that a cell has been edited.
*
* @private
* @param {string} path path to the cell
* @param {Number} value new value that we want to store in DB
* @param {Function} doneCallback function to call after update
*/
_cellEdited(path, value, doneCallback) {
const cell_path = path.split('.');
const grid_path = cell_path.slice(0, -3);
const row_path = grid_path.concat(['rows'], cell_path.slice(-2, -1));
const col_path = grid_path.concat(['cols'], cell_path.slice(-1));
this.trigger('cell-edited', {
cell_path,
row_path,
col_path,
value,
doneCallback,
});
}
/**
* @private
* @param {any} value
* @returns {string}
*/
_format(value) {
if (value === undefined) {
return '';
}
const cellField = this.props.fields[this.props.cellField];
return fieldUtils.format[this.formatType](value, cellField, this.props.cellComponentOptions);
}
/**
* @private
* @param {integer} index
* @returns {value: number, smallerThanZero: boolean, muted: boolean}
*/
_formatCellContentTotals(index) {
if (this.props.totals) {
return {
value: this.props.totals.columns[index],
smallerThanZero: this.props.totals.columns[index] < 0,
muted: !this.props.totals.columns || !this.props.totals.columns[index]
};
} else {
return {};
}
}
/**
* @private
* @param {Object} cell
* @returns {Object}
*/
_getCellClassMap(cell) {
// these are "hard-set" for correct grid behaviour
const classmap = {
o_grid_cell_container: true,
o_grid_cell_empty: !cell.size,
o_grid_cell_readonly: !this.props.editableCells || cell.readonly,
};
// merge in class info from the cell
for (const cls of cell.classes || []) {
// don't allow overwriting initial values
if (!(cls in classmap)) {
classmap[cls] = true;
}
}
return classmap;
}
/**
* @private
* @param {string} value
* @returns {*}
*/
_parse(value) {
const cellField = this.props.fields[this.props.cellField];
return fieldUtils.parse[this.formatType](value, cellField, this.props.cellComponentOptions);
}
/**
* measure the height value of footer cell if hasBarChartTotal="true"
* max height value is 90%
*
* @private
* @param {number} index
* @returns {number} height: to be used as css percentage
*/
_totalHeight(index) {
const maxCount = Math.max(...Object.values(this.props.totals.columns));
const factor = maxCount ? (90 / maxCount) : 0;
return factor * this.props.totals.columns[index];
}
//----------------------------------------------------------------------
// Handlers
//----------------------------------------------------------------------
/**
* @private
*/
_onClickCreateInline() {
this.trigger('create-inline');
}
/**
* @private
* @param path path to the cell
*/
_onClickCellInformation(path) {
this.state.editMode = false;
this.trigger('open-cell-information', {
path
});
}
/**
* @private
* @param {string} path
*/
_onFocusComponent(path) {
this.state.editMode = true;
this.state.currentPath = path;
}
/**
* @private
* @param {string} path path to the cell
* @param {CustomEvent} ev
*/
_onFocusGridCell(path) {
this.state.editMode = true;
this.state.currentPath = path;
}
/**
* @private
* @param {Object} cell
* @param {CustomEvent} ev
*/
_onGridInputBlur(ev) {
this.state.editMode = false;
let hasError = false;
let value = ev.target.value;
try {
value = this._parse(value);
} catch (_) {
hasError = true;
}
const path = this.state.currentPath;
if (hasError) {
this.state.errors[path] = value;
} else {
delete this.state.errors[path];
this._cellEdited(path, value);
}
}
/**
* @private
* @param {Object}
*/
_onUpdateValue({ path, value, doneCallback }) {
this.state.editMode = false;
if (value !== undefined) {
this._cellEdited(path, value, doneCallback);
}
}
/**
* Hover the column in which the mouse is.
*
* @private
* @param {MouseEvent} ev
*/
_onMouseEnter(ev) {
const cellParent = ev.target.closest('td,th');
const rowParent = ev.target.closest('tr');
const index = [...rowParent.children].indexOf(cellParent) + 1;
this.root.el.querySelectorAll(`td:nth-child(${index}), th:nth-child(${index})`)
.forEach(el => {
if (cellParent.querySelector('.o_grid_total_title')) {
el.classList.add('o_cell_highlight');
}
el.classList.add('o_cell_hover');
});
}
/**
* Remove the hover on the columns.
*
* @private
*/
_onMouseLeave() {
this.root.el.querySelectorAll('.o_cell_hover')
.forEach(el => el.classList.remove('o_cell_hover', 'o_cell_highlight'));
}
}
GridRenderer.defaultProps = {
cellComponentOptions: {},
hasBarChartTotal: false,
hideColumnTotal: false,
hideLineTotal: false,
};
GridRenderer.props = {
editableCells: {
type: Boolean,
optional: true
},
canCreate: Boolean,
cellComponent: {
type: String,
optional: true
},
cellComponentOptions: {
type: Object,
optional: true,
},
cellField: String,
colField: String,
createInline: Boolean,
displayEmpty: Boolean,
fields: Object,
groupBy: Array,
hasBarChartTotal: {
type: Boolean,
optional: true,
},
hideColumnTotal: {
type: Boolean,
optional: true,
},
hideLineTotal: {
type: Boolean,
optional: true,
},
measureLabel: {
type: String,
optional: true
},
noContentHelp: {
type: String,
optional: true
},
range: String,
context: Object,
arch: Object,
isEmbedded: Boolean,
isGrouped: Boolean,
data: [{
cols: [{
values: Object,
domain: Array,
is_current: Boolean,
is_unavailable: Boolean,
}],
grid: [{
size: Number,
domain: Array,
value: Number,
readonly: {
type: Boolean,
optional: true
},
is_current: Boolean,
is_unavailable: Boolean,
}],
initial: Object,
next: Object,
prev: Object,
rows: [{
values: Object,
domain: Array,
project: Object,
label: Array
}],
totals: {
columns: Object,
rows: Object,
super: Number
},
__label: Array
}],
totals: Object,
};
GridRenderer.template = 'web_grid.GridRenderer';
return GridRenderer;
});

View File

@@ -0,0 +1,165 @@
odoo.define('web_grid.GridView', function (require) {
"use strict";
var AbstractView = require('web.AbstractView');
var config = require('web.config');
var core = require('web.core');
var GridModel = require('web_grid.GridModel');
var GridController = require('web_grid.GridController');
var GridRenderer = require('web_grid.GridRenderer');
var viewRegistry = require('web.view_registry');
var pyUtils = require('web.py_utils');
const RendererWrapper = require('web.RendererWrapper');
var _t = core._t;
var _lt = core._lt;
var GridView = AbstractView.extend({
display_name: _lt('Grid'),
mobile_friendly: true,
icon: 'fa fa-th',
config: _.extend({}, AbstractView.prototype.config, {
Model: GridModel,
Controller: GridController,
Renderer: GridRenderer,
}),
viewType: 'grid',
init: function (viewInfo, params) {
var self = this;
this._super.apply(this, arguments);
var arch = this.arch;
var fields = this.fields;
var rowFields = [];
var sectionField, colField, cellField, ranges, cellComponent, cellComponentOptions, measureLabel, readonlyField;
_.each(arch.children, function (child) {
if (child.tag === 'field') {
if (child.attrs.type === 'row') {
if (child.attrs.section === '1' && !sectionField) {
sectionField = child.attrs.name;
}
rowFields.push(child.attrs.name);
}
if (child.attrs.type === 'col') {
colField = child.attrs.name;
ranges = self._extract_ranges(child, params.context);
}
if (child.attrs.type === 'measure') {
cellField = child.attrs.name;
cellComponent = child.attrs.widget;
if (child.attrs.options) {
cellComponentOptions = JSON.parse(child.attrs.options.replace(/'/g, '"'));
}
measureLabel = child.attrs.string;
}
if (child.attrs.type === 'readonly') {
readonlyField = child.attrs.name;
}
}
});
// model
this.loadParams.ranges = ranges;
let default_range_name = config.device.isMobile ? 'day' : '';
ranges.forEach(range => {
if (range['name'] === 'week' && !config.device.isMobile) {
default_range_name = range['name'];
}
})
let contextRangeName = params.context.grid_range || default_range_name;
var contextRange = contextRangeName && _.findWhere(ranges, {name: contextRangeName});
this.loadParams.fields = this.fields;
this.loadParams.currentRange = contextRange || ranges[0];
this.loadParams.rowFields = rowFields;
this.loadParams.sectionField = sectionField;
this.loadParams.colField = colField;
this.loadParams.cellField = cellField;
this.loadParams.groupedBy = params.groupBy;
this.loadParams.readonlyField = readonlyField;
// renderer
this.rendererParams.canCreate = this.controllerParams.activeActions.create;
this.rendererParams.fields = fields;
this.rendererParams.measureLabel = measureLabel;
this.rendererParams.editableCells = !!(this.controllerParams.activeActions.edit && arch.attrs.adjustment);
this.rendererParams.cellComponent = cellComponent;
this.rendererParams.cellComponentOptions = cellComponentOptions;
this.rendererParams.hideLineTotal = !!JSON.parse(arch.attrs.hide_line_total || '0');
this.rendererParams.hideColumnTotal = !!JSON.parse(arch.attrs.hide_column_total || '0');
this.rendererParams.hasBarChartTotal = !!JSON.parse(arch.attrs.barchart_total || '0');
this.rendererParams.createInline = !!JSON.parse(arch.attrs.create_inline || 'false');
this.rendererParams.displayEmpty = !!JSON.parse(arch.attrs.display_empty || 'false');
this.rendererParams.noContentHelp = (!this.rendererParams.displayEmpty && this.rendererParams.noContentHelp) || "";
// controller
this.controllerParams.formViewID = false;
this.controllerParams.listViewID = false;
_.each(params.actionViews, function (view) {
if (view.type === 'form') {
self.controllerParams.formViewID = view.viewID;
}
if (view.type === 'list') {
self.controllerParams.listViewID = view.viewID;
}
});
this.controllerParams.context = params.context;
this.controllerParams.ranges = ranges;
this.controllerParams.currentRange = this.loadParams.currentRange.name;
this.controllerParams.navigationButtons = arch.children
.filter(function (c) { return c.tag === 'button'; })
.map(function (c) { return c.attrs; });
this.controllerParams.adjustment = arch.attrs.adjustment;
this.controllerParams.adjustName = arch.attrs.adjust_name;
this.controllerParams.createInline = this.rendererParams.createInline;
this.controllerParams.displayEmpty = this.rendererParams.displayEmpty;
},
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
/**
* @override
*/
getRenderer(parent, state) {
state = Object.assign({}, state, this.rendererParams);
return new RendererWrapper(null, this.config.Renderer, state);
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* Extract the range to display on the view, and filter
* them according they should be visible or not (attribute 'invisible')
*
* @private
* @param {node} col_node - the node of 'col' in grid view arch definition
* @param {Object} context - the context used to instanciate the view
* @returns {Array<{name: string, string: string, span: string, step: string}>}
*/
_extract_ranges: function(col_node, context) {
let ranges = [];
const pyevalContext = py.dict.fromJSON(context || {});
for (const range of col_node.children.map(node => node.attrs)) {
if (range.invisible && pyUtils.py_eval(range.invisible, { 'context': pyevalContext })) {
continue;
}
ranges.push(range);
}
if (config.device.isMobile && !ranges.find(r => r.name === 'day')) {
ranges.unshift({
name: 'day',
string: _t('Day'),
span: 'day',
step: 'day',
});
}
return ranges;
},
});
viewRegistry.add('grid', GridView);
return GridView;
});

View File

@@ -0,0 +1,258 @@
$grid-pill-height: 3rem;
.o_web_client .o_view_grid {
table {
margin-bottom: 0;
table-layout: fixed;
min-width: 100%;
@include media-breakpoint-up(sm) {
width: auto;
}
max-width: none;
}
th, td {
border: 0 !important;
vertical-align: middle;
width: 5em;
}
.o_grid_title_header {
width: 10em;
}
thead {
color: $o-main-text-color;
background-color: $o-brand-lightsecondary;
border-bottom: 1px solid $gray-300;
th {
text-align: center;
white-space: pre-line;
&.o_grid_total {
text-align: center;
}
}
}
tfoot, .o_grid_total {
.o_total_barchart {
height: 50px;
line-height: 50px;
.o_grid_super > div {
bottom: 2px;
line-height: 1.5;
position: absolute;
right: 3px;
}
}
.o_grid_unavailable, .o_grid_current:not(.o_grid_total) {
background-color: transparent;
}
color: $o-main-text-color;
border-top: 1px solid $gray-300;
border-bottom: 1px solid $gray-300;
font-weight: bold;
text-align: right;
td {
position: relative;
> .o_grid_total_bar {
@include o-position-absolute(auto, 1px, 0, 0);
text-align: center;
background-color: rgba($o-brand-odoo, .5);
> .o_grid_total_title {
bottom: 2px;
transform: translate(-50%);
line-height: 1.5;
}
&:hover {
background-color: rgba($o-brand-odoo, .8);
}
}
}
}
.o_cell_hover {
background-color: $table-hover-bg;
position: relative;
}
.o_cell_highlight:not(.o_grid_total, .o_grid_super) {
box-shadow: inset -4px 0 4px -4px $o-brand-odoo, inset 4px 0 4px -4px $o-brand-odoo;
}
tbody {
border-top: none;
background-color: $o-view-background-color;
text-align: right;
th, td {
padding: 0;
& > div {
padding: 0.3rem;
}
}
th > div {
display: flex;
> div {
flex: 1 1 auto;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: left;
&.o_grid_row_header_part:before {
content: "/\00a0";
padding: 0 2px;
}
&:first-child:before {
content: " ";
}
&:last-child {
flex: 100 1 auto;
padding-right: 0;
}
}
}
tr:nth-of-type(odd) th > div:after, tr:hover td.o_grid_total {
background-color: $table-accent-bg;
}
td.o_grid_total {
padding-right: 4px;
border-left: 1px solid $gray-300 !important;
&.o_grid_cell_empty > div {
opacity: 0.2;
}
}
.o_grid_cell_information {
cursor: pointer;
opacity: 0;
transition: opacity 100ms ease 0s;
}
.o_grid_cell_container {
display: flex;
outline: none;
align-items: center;
&:hover {
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px $o-brand-primary;
&.o_grid_cell_readonly {
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px $o-brand-lightsecondary;
cursor: not-allowed;
}
.o_grid_cell_information {
opacity: 0.4;
}
}
> i {
padding: 2px;
flex: 0 0 auto;
}
> .o_grid_input, > .o_grid_show {
width: 100%;
flex: 1 1 auto;
}
&.o_grid_cell_empty {
& > .o_grid_input, & > .o_grid_show, & > .o_grid_float_toggle {
opacity: 0.2;
}
}
}
.o_grid_input {
cursor: text;
padding: 0;
text-align: right;
outline: none;
border: none;
&:focus {
opacity: 1 !important;
background-color: $o-view-background-color;
outline: none;
}
}
// "grouped" tbodies get special styling for their title rows (first
// row of the tbody) and the row labels of both title and regular rows
&.o_grid_section {
tr th {
padding-left: 6 * $table-cell-padding-x-sm;
text-align: left;
}
tr:first-child {
font-weight: bold;
background-color: rgba($o-brand-secondary, 0.15);
&:hover {
background-color: rgba($o-brand-secondary, 0.30);
}
th {
padding-left: $table-cell-padding-x-sm;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
td.o_grid_cell_null > div {
opacity: 0.2;
}
.o_grid_current:not(.o_grid_total) {
background-color: rgba($o-brand-primary, 0.25);
&.o_cell_hover {
background-color: rgba($o-brand-primary, 0.35);
}
}
.o_grid_weekend:not(.o_grid_total) {
background-color: rgba(220,220,220, 0.25);
}
.o_grid_unavailable {
background-color: rgba($o-brand-secondary, 0.25);
&.o_cell_hover {
background-color: rgba($o-brand-secondary, 0.35);
}
}
.o_grid_text_muted{
color: lighten($o-main-text-color, 15%);
font-style: italic;
}
.o_grid_add_line {
text-align: left;
}
.o_grid_float_toggle {
outline: 0;
border: 0;
box-shadow: none;
line-height: 1;
padding: 0px;
}
@media print {
.o_grid_add_line {
display: none;
}
}
// ensure white background completely surrounds nocontent bubble
.o_grid_nocontent_container {
overflow: auto;
.oe_view_nocontent_img_link {
padding:10px;
}
}
}
@include media-breakpoint-down(md) {
.o_grid_range.show > .dropdown-menu {
display: inline-flex;
min-width: 0px;
}
}

View File

@@ -0,0 +1,434 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="web_grid.GridRenderer" owl="1">
<div class="o_grid_view" t-ref="root">
<div t-if="showNoContentHelp" class="o_view_nocontent">
<div class="o_nocontent_help">
<t t-out="props.noContentHelp"/>
</div>
</div>
<div t-else="">
<t t-call="web_grid.Table"/>
</div>
</div>
</t>
<t t-name="web_grid.AddLineRow" owl="1">
<tr class="o_grid_add_line_row">
<th t-if="showTimerButton" class="o_grid_timer_header">
\u00A0
</th>
<th>
<div class="ms-3">
<div>
<a href="javascript:void(0)" role="button" t-on-click="_onClickCreateInline" data-hotkey="i">Add a line</a>
</div>
</div>
</th>
<t t-foreach="columns" t-as="column" t-key="column_index">
<td t-att-class="{o_grid_current: column.is_current, o_grid_unavailable: column.is_unavailable}"></td>
</t>
<t t-if="!props.hideLineTotal and props.range !== 'day'" >
<td class="o_grid_total"/>
</t>
</tr>
</t>
<t t-name="web_grid.Table" owl="1">
<div class="o_view_grid table-responsive cursor-default">
<table class="table table-hover table-sm table-striped">
<thead>
<tr>
<th class="o_grid_title_header"></th>
<t t-foreach="columns" t-as="column" t-key="column_index">
<th t-att-class="{o_grid_current: column.is_current, o_grid_unavailable: column.is_unavailable}">
<t t-esc="column.values[props.colField][1]"/>
</th>
</t>
<t t-if="!props.hideLineTotal and props.range !== 'day'" >
<th class="o_grid_total">
<t t-esc="measureLabel"/>
</th>
</t>
</tr>
</thead>
<t t-if="props.isGrouped" t-call="web_grid.GroupedGridBody"/>
<t t-else="" t-call="web_grid.UnGroupedGridBody"/>
<tfoot t-if="!props.hideColumnTotal">
<tr t-att-class="{o_total_barchart: props.hasBarChartTotal}">
<td/>
<t t-foreach="columns" t-as="column" t-key="column_index">
<t t-set="total_cells" t-value="_formatCellContentTotals(column_index)"/>
<t t-if="props.hasBarChartTotal" t-set="totalHeight" t-value="_totalHeight(column_index)"/>
<td t-att-class="{
'o_grid_current': column.is_current,
'o_grid_unavailable': column.is_unavailable,
'o_grid_cell_null' : total_cells.muted,
'text-danger': total_cells.smallerThanZero,
}">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
hasBarChartTotal="props.hasBarChartTotal"
cellHeight="props.hasBarChartTotal ? totalHeight : 0"
cellValue="total_cells.value"
readonly="cellReadOnly"
isInput="state.editMode and state.currentPath===cellPath"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
path="cellPath"
isTotal="true"/>
</t>
<t t-else="">
<div t-if="props.hasBarChartTotal"
class="o_grid_total_bar"
t-att-style="'height:' + totalHeight + '%;'">
<span t-if="totalHeight"
class="o_grid_total_title position-absolute bg-white px-1"
t-esc="_format(total_cells.value)"/>
</div>
<div t-else="" t-esc="_format(total_cells.value)"/>
</t>
</td>
</t>
<t t-if="props.range !== 'day' and !props.hideLineTotal">
<td t-att-class="{
...gridTotal.classMap,
'o_grid_cell_null': gridTotal.value === 0,
}">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
cellValue="gridTotal.value"
readonly="cellReadOnly"
isInput="state.editMode and state.currentPath===cellPath"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
path="cellPath"
isTotal="true"/>
</t>
<div t-else="">
<t t-esc="_format(gridTotal.value)"/>
</div>
</td>
</t>
</tr>
</tfoot>
</table>
</div>
</t>
<t t-name="web_grid.GroupedGridBody" owl="1">
<t t-foreach="props.data" t-as="grid" t-key="grid_index">
<tbody class="o_grid_section">
<tr t-if="grid.__label">
<th>
<t t-out="grid.__label[1]"/>
</th>
<t t-foreach="columns" t-as="column" t-key="column_index">
<td t-att-class="{
o_grid_current: column.is_current,
o_grid_unavailable: column.is_unavailable,
'text-danger': grid.totals.columns[column_index] lt 0,
'o_grid_cell_null': grid.totals.columns[column_index] == 0,
}">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
cellValue="grid.totals.columns[column_index]"
readonly="true"
isInput="false"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
isTotal="true"/>
</t>
<div t-else="" t-esc="_format(grid.totals.columns[column_index])"/>
</td>
</t>
<t t-if="props.range !== 'day' and !props.hideLineTotal" >
<td class="o_grid_total"
t-att-class="{
'text-danger': grid.totals.super lt 0,
'o_grid_cell_null': grid.totals.super == 0,
}">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
cellValue="grid.totals.super"
readonly="true"
isInput="false"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
isTotal="true"/>
</t>
<div t-else="" t-esc="_format(grid.totals.super)"/>
</td>
</t>
</tr>
<t t-call="web_grid.GridRows">
<t t-set="groupTotals" t-value="grid.totals" />
<t t-set="rows" t-value="grid.rows"/>
<t t-set="path" t-value="[grid_index, 'grid']"/>
</t>
</tbody>
</t>
<tbody>
<t t-call="web_grid.GridEmptyRows"/>
</tbody>
<tbody t-if="props.canCreate and props.createInline" class="o_grid_section">
<t t-call="web_grid.AddLineRow"></t>
</tbody>
</t>
<t t-name="web_grid.UnGroupedGridBody" owl="1">
<tbody>
<t t-call="web_grid.GridRows">
<t t-set="groupTotals" t-value="props.totals" />
<t t-set="rows" t-value="props.data[0].rows"/>
<t t-set="grid" t-value="props.data[0]"/>
<t t-set="path" t-value="[0,'grid']"/>
</t>
<t t-call="web_grid.GridEmptyRows"/>
<t t-if="props.canCreate and props.createInline" t-call="web_grid.AddLineRow"/>
</tbody>
</t>
<t t-name="web_grid.GridEmptyRows" owl="1">
<t t-foreach="emptyRows" t-as="row" t-key="row_index">
<tr class="o_grid_padding">
<th><div>\u00A0</div></th>
<t t-foreach="props.data[0].cols" t-as="col" t-key="col_index">
<td t-att-class="{o_grid_current: col.is_current, o_grid_unavailable: col.is_unavailable}"></td>
</t>
<t t-if="props.range !== 'day' and !props.hideLineTotal">
<td class="o_grid_total"/>
</t>
</tr>
</t>
</t>
<t t-name="web_grid.GridRows" owl="1">
<t t-foreach="grid.rows" t-as="rowlabel" t-key="grid.rows[rowlabel_index].id">
<t t-set="row" t-value="grid.grid[rowlabel_index]"/>
<tr>
<th>
<div class="ms-3">
<t t-foreach="grid.rows[rowlabel_index].label" t-as="label" t-key="label_index">
<div t-if="label or (grid.rows[rowlabel_index].label.every(element => !element) and !label_index)" t-att-title="label"
class="o_grid_row_header_part"
t-att-class="{o_grid_text_muted: !label }">
<t t-if="label" t-esc="label"/>
<t t-else="">None</t>
</div>
</t>
</div>
</th>
<t t-foreach="row" t-as="cell" t-key="cell_index">
<t t-set="rowIndex" t-value="rowlabel_index"/>
<t t-call="web_grid.Cell" />
</t>
<t t-if="props.range !== 'day' and !props.hideLineTotal" >
<td class="o_grid_total"
t-att-class="{
'text-danger': groupTotals.rows[rowlabel_index] lt 0,
'o_grid_cell_empty': groupTotals.rows[rowlabel_index] == 0,
}">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
cellValue="groupTotals.rows[rowlabel_index]"
readonly="true"
isInput="false"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
isTotal="true"/>
</t>
<div t-else="" t-esc="_format(groupTotals.rows[rowlabel_index])"/>
</td>
</t>
</tr>
</t>
</t>
<t t-name="web_grid.Cell" owl="1">
<td t-att-class="{o_grid_current: cell.is_current, o_grid_unavailable: cell.is_unavailable}">
<t t-set="cellPath" t-value="path.concat([rowIndex, cell_index]).join('.')"/>
<t t-set="cellReadOnly" t-value="!props.editableCells || cell.readonly"/>
<div t-att-class="_getCellClassMap(cell)">
<t t-if="cell.size or !cellReadOnly">
<i class="fa fa-search-plus o_grid_cell_information" t-on-click="() => this._onClickCellInformation(cellPath)"
title="See all the records aggregated in this cell">
</i >
</t>
<t t-call="web_grid.CellValue"/>
</div>
</td>
</t>
<t t-name="web_grid.CellValue" owl="1">
<t t-if="hasComponent">
<t t-component="component"
onCellFocused.bind="_onFocusComponent"
onCellUpdated.bind="_onUpdateValue"
cellValue="cell.value"
readonly="cellReadOnly"
isInput="state.editMode and state.currentPath===cellPath"
fieldInfo="props.fields[props.cellField]"
nodeOptions="props.cellComponentOptions"
path="cellPath"
date="gridAnchorNext"/>
</t>
<t t-elif="cellReadOnly">
<div class="o_grid_show" t-att-class="{'text-danger': cell.value lt 0}">
<t t-esc="_format(cell.value)"/>
</div>
</t>
<t t-else="">
<t t-if="state.editMode and state.currentPath===cellPath">
<input class="o_grid_input"
t-ref="currentInput"
t-att-class="{'text-danger': cell.value lt 0}"
tabindex="1" t-att-value="_format(cell.value)"
t-on-blur="_onGridInputBlur"/>
</t>
<t t-else="">
<t t-if="state.errors[cellPath]">
<div class="o_grid_input text-danger o_has_error" tabindex="1"
t-on-focus="() => this._onFocusGridCell(cellPath)">
<t t-esc="state.errors[cellPath]"/>
</div>
</t>
<t t-else="">
<div class="o_grid_input" tabindex="1"
t-on-focus="() => this._onFocusGridCell(cellPath)"
t-att-class="{'text-danger': cell.value lt 0}">
<t t-esc="_format(cell.value)"/>
</div>
</t>
</t>
</t>
</t>
<t t-name="web_grid.BaseGridComponent" owl="1">
<t t-if="props.isTotal">
<div t-if="props.hasBarChartTotal"
class="o_grid_total_bar"
t-att-style="'height:' + props.cellHeight + '%;'">
<span t-if="props.cellHeight"
class="o_grid_total_title position-absolute bg-white px-1"
t-esc="_format(props.cellValue)"/>
</div>
<div t-else="" t-esc="_format(props.cellValue)"/>
</t>
<t t-elif="!props.readonly">
<t t-if="props.isInput">
<input class="o_grid_input" tabindex="1"
t-ref="currentInput"
t-att-value="_format(props.cellValue)"
t-on-blur="_onBlurCell"/>
</t>
<t t-else="">
<t t-if="state.error">
<div class="o_grid_input o_has_error" tabindex="1"
t-on-focus="_onFocusCell">
<t t-esc="state.error"/>
</div>
</t>
<t t-else="">
<div class="o_grid_input" tabindex="1"
t-att-class="{'text-danger': props.cellValue lt 0}"
t-on-focus="_onFocusCell">
<t t-esc="_format(props.cellValue)"/>
</div>
</t>
</t>
</t>
<t t-else="">
<div class="o_grid_show"
t-att-class="{'text-danger': props.cellValue lt 0}"
t-att-contentEditable="!props.readonly">
<t t-esc="_format(props.cellValue)"/>
</div>
</t>
</t>
<t t-name="web_grid.FloatToggleComponent" class="btn-block" owl="1">
<t t-if="props.isTotal">
<div t-if="props.hasBarChartTotal"
class="o_grid_total_bar"
t-att-style="'height:' + props.cellHeight + '%;'">
<span t-if="props.cellHeight"
class="o_grid_total_title position-absolute bg-white px-1"
t-esc="_format(props.cellValue)"/>
</div>
<div t-else="" t-esc="_format(props.cellValue)"/>
</t>
<t t-else="">
<button
class="o_grid_float_toggle btn btn-default d-inline-block w-100 text-end pe-0"
t-att-class="{'text-danger': state.value lt 0}"
t-att-disabled="props.readonly or state.disabled"
t-on-click="_onClickButton">
<t t-esc="_format(state.value)"/>
</button>
</t>
</t>
<t t-name="grid.GridArrows">
<div>
<button t-if="widget.allowCreate" class="btn btn-primary o_grid_button_add" type="button">
Add a Line
</button>
<div t-if="widget._buttons.length" class="btn-group">
<button t-foreach="widget._buttons" t-as="btn" t-key="btn_index"
t-attf-class="grid_arrow_button btn {{ btn['class'] || 'btn-secondary' }}"
type="button" t-att-data-index="btn_index" t-att-data-hotkey="btn['data-hotkey']">
<t t-esc="btn.string"/>
</button>
</div>
<button class="grid_arrow_previous o_grid_button_change_range btn btn-primary d-none"
type="button">
<span class="fa fa-arrow-left" role="img" aria-label="Previous" title="Previous"/>
</button>
<button class="btn btn-primary grid_button_initial o_grid_button_change_range d-none" type="button" data-hotkey="t">
Today
</button>
<button class="grid_arrow_next o_grid_button_change_range btn btn-primary d-none"
type="button">
<span class="fa fa-arrow-right" role="img" aria-label="Next" title="Next"/>
</button>
<div t-if="widget._ranges.length > 1" class="btn-group o_grid_range">
<t t-if="isMobile">
<t t-call="grid.RangeButtons.Mobile"/>
</t>
<t t-else="">
<t t-foreach="widget._ranges" t-as="range" t-key="range_index">
<t t-call="grid.RangeButton"/>
</t>
</t>
</div>
</div>
</t>
<t t-name="grid.RangeButtons.Mobile">
<button class="btn btn-link btn-sm fa fa-calendar" data-bs-toggle="dropdown" aria-expanded="false">
</button>
<ul class="dropdown-menu dropdown-menu-end list-inline">
<li t-foreach="widget._ranges" t-as="range" t-key="range_index">
<t t-call="grid.RangeButton"/>
</li>
</ul>
</t>
<t t-name="grid.RangeButton">
<button class="grid_arrow_range btn btn-secondary" type="button" t-att-data-name="range.name" t-att-data-hotkey="range.hotkey">
<t t-esc="range.string"/>
</button>
</t>
</templates>

View File

@@ -0,0 +1,125 @@
odoo.define('web_grid.grid_mobile_tests', function (require) {
"use strict";
let GridView = require('web_grid.GridView');
let testUtils = require('web.test_utils');
let createView = testUtils.createView;
QUnit.module('LegacyViews', {
beforeEach: function () {
this.data = {
'analytic.line': {
fields: {
project_id: {string: "Project", type: "many2one", relation: "project"},
task_id: {string: "Task", type: "many2one", relation: "task"},
date: {string: "Date", type: "date"},
unit_amount: {string: "Unit Amount", type: "float"},
},
records: [
{id: 1, project_id: 31, date: "2017-01-24", unit_amount: 2.5},
{id: 2, project_id: 31, task_id: 1, date: "2017-01-25", unit_amount: 2},
{id: 3, project_id: 31, task_id: 1, date: "2017-01-25", unit_amount: 5.5},
{id: 4, project_id: 31, task_id: 1, date: "2017-01-30", unit_amount: 10},
{id: 5, project_id: 142, task_id: 12, date: "2017-01-31", unit_amount: 3.5},
]
},
project: {
fields: {
name: {string: "Project Name", type: "char"}
},
records: [
{id: 31, display_name: "P1"},
{id: 142, display_name: "Webocalypse Now"},
]
},
task: {
fields: {
name: {string: "Task Name", type: "char"},
project_id: {string: "Project", type: "many2one", relation: "project"},
},
records: [
{id: 1, display_name: "BS task", project_id: 31},
{id: 12, display_name: "Another BS task", project_id: 142},
{id: 54, display_name: "yet another task", project_id: 142},
]
},
};
this.arch = `
<grid string="Timesheet" adjustment="object" adjust_name="adjust_grid">
<field name="project_id" type="row"/>
<field name="task_id" type="row"/>
<field name="date" type="col">
<range name="week" string="Week" span="week" step="day"/>
</field>
<field name="unit_amount" type="measure" widget="float_time"/>
</grid>
`;
}
}, function () {
QUnit.module('GridView (legacy) - Mobile');
QUnit.test('basic grid view, range button in mobile', async function (assert) {
assert.expect(5);
let countCallRPC = 0;
let grid = await createView({
View: GridView,
model: 'analytic.line',
data: this.data,
arch: this.arch,
currentDate: "2017-01-25",
mockRPC: function (route, args) {
if (args.method === 'read_grid') {
if (countCallRPC === 0) {
assert.equal(args.kwargs.range.span, 'day', "range should be day");
} else if (countCallRPC === 1) {
assert.equal(args.kwargs.range.span, 'week', "range should be month");
}
}
countCallRPC++;
return this._super.apply(this, arguments);
},
});
await testUtils.nextTick();
assert.equal(grid.$('table').length, 1, "should have rendered one table");
let btnCal = grid.$buttons.find('.btn-group.o_grid_range > button.btn.fa-calendar');
assert.equal(btnCal.length, 1, "should have a calendar button for range");
await testUtils.dom.click(btnCal);
// Day range should be automatically added.
let btnRange = grid.$buttons.find('.btn-group.o_grid_range button.grid_arrow_range');
assert.equal(btnRange.length, 2, "should have two range buttons (Day and Week)");
await testUtils.dom.click(grid.$buttons.find('button[data-name=week]'));
grid.destroy();
});
QUnit.test('grid view should open in day range for mobile', async function (assert) {
assert.expect(1);
const grid = await createView({
View: GridView,
model: 'analytic.line',
data: this.data,
arch: `<grid string="Timesheet" adjustment="object" adjust_name="adjust_grid">
<field name="project_id" type="row"/>
<field name="task_id" type="row"/>
<field name="date" type="col">
<range name="week" string="Week" span="week" step="day"/>
<range name="day" string="Day" span="day" step="day"/>
</field>
<field name="unit_amount" type="measure" widget="float_time"/>
</grid>`,
currentDate: "2017-01-25",
});
const btnRangeDay = grid.$buttons[0].querySelector('button[data-name=day]');
assert.hasClass(btnRangeDay, "active", "Grid view should be open in day range for mobile");
grid.destroy();
});
});
});

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,223 @@
odoo.define('web_grid.MockServer', function (require) {
"use strict";
var MockServer = require('web.MockServer');
MockServer.include({
/**
* @override
*/
_performRpc: function (route, args) {
if (args.method === 'read_grid') {
return this._mockReadGrid(args.model, args.kwargs);
} else if (args.method === 'read_grid_grouped') {
return this._mockReadGridGrouped(args.model, args.kwargs);
} else if (args.method === 'adjust_grid') {
var domain = args.args[1];
var columnField = args.args[2];
var columnValue = args.args[3];
var cellField = args.args[4];
var change = args.args[5];
var lines = this._mockSearchReadController({
model: args.model,
domain: domain,
fields: [],
});
var newID = this._mockCopy(args.model, lines.records[0].id);
var newRecord = _.findWhere(this.data[args.model].records, {id: newID});
newRecord[cellField] = change;
newRecord[columnField] = columnValue.split('/')[0];
return Promise.resolve({});
} else {
return this._super(route, args);
}
},
/**
* @private
* @param {string} model
* @param {Object} kwargs
* @returns {Promise}
*/
_mockReadGrid: function (model, kwargs) {
var self = this;
// various useful dates
var gridAnchor = moment(kwargs.context.grid_anchor || this.currentDate);
const currentDate = kwargs.context.grid_anchor ? moment(this.currentDate) : gridAnchor;
var today = moment();
var span = kwargs.range.span;
var start = gridAnchor.clone().startOf(span === 'day' ? 'day' : span === 'week' ? 'isoWeek' : 'month');
var end = gridAnchor.clone().endOf(span === 'day' ? 'day' : span === 'week' ? 'isoWeek' : 'month');
var nextAnchor = gridAnchor.clone().add(1, span === 'day' ? 'day' : span === 'week' ? 'weeks' : 'month').format('YYYY-MM-DD');
var prevAnchor = gridAnchor.clone().subtract(1, span === 'day' ? 'day' : span === 'week' ? 'weeks' : 'month').format('YYYY-MM-DD');
// compute columns
var columns = [];
var current = start.clone().subtract(1, 'days');
var unavailable = end.clone().subtract(2, 'days');
while (!current.isSame(end, 'days')) {
current.add(1, 'days');
var dayStr = current.format('YYYY-MM-DD');
var nextDayStr = current.clone().add(1, 'days').format('YYYY-MM-DD');
columns.push({
is_current: current.isSame(today),
is_unavailable: unavailable.isSame(current, 'day'),
domain: ["&", ["date", ">=", dayStr], ["date", "<", nextDayStr]],
values: {date: [dayStr + '/' + nextDayStr, current.format('ddd,\nMMM\u00a0DD')]}
});
}
// compute rows
var rows = [];
var domain = [
'&',
[kwargs.col_field, '>=', start.format('YYYY-MM-DD')],
[kwargs.col_field, '<=', end.format('YYYY-MM-DD')]
].concat(kwargs.domain);
var groups = this._mockReadGroup(model, {
domain: domain,
fields: [kwargs.cell_field],
groupby: [kwargs.row_fields[0]],
});
_.each(groups, function (group) {
var groupValue = {};
groupValue[kwargs.row_fields[0]] = group[kwargs.row_fields[0]];
var groupDomain = ['&'].concat(domain).concat(group.__domain);
if (kwargs.row_fields[1]) {
var subGroups = self._mockReadGroup(model, {
domain: groupDomain,
fields: [kwargs.cell_field],
groupby: [kwargs.row_fields[1]],
});
_.each(subGroups, function (subGroup) {
var subGroupDomain = ['&'].concat(groupDomain, subGroup.__domain);
var values = _.extend({}, groupValue);
values[kwargs.row_fields[1]] = subGroup[kwargs.row_fields[1]] || false;
rows.unshift({
domain: subGroupDomain,
values: values,
});
});
} else {
rows.unshift({
domain: groupDomain,
values: groupValue,
});
}
});
// generate cells
var grid = [];
_.each(rows, function (row) {
var cells = [];
_.each(columns, function (col) {
var cellDomain = ['&'].concat(row.domain).concat(col.domain);
var read_fields = kwargs.readonly_field ? [kwargs.cell_field, kwargs.readonly_field] : [kwargs.cell_field];
var records = self._mockSearchReadController({
model: model,
domain: cellDomain,
fields: read_fields,
});
var value = 0;
_.each(records.records, function (rec) {
value += rec[kwargs.cell_field];
});
var readonly_dict = {};
readonly_dict[kwargs.readonly_field] = true;
cells.push({
size: records.length,
value: value,
is_current: col.is_current,
is_unavailable: col.is_unavailable,
readonly: _.isMatch(records.records[0], readonly_dict),
domain: cellDomain,
});
});
grid.push(cells);
});
return Promise.resolve({
cols: columns,
rows: rows,
grid: grid,
prev: {
default_date: prevAnchor,
grid_anchor: prevAnchor,
},
next: {
default_date: nextAnchor,
grid_anchor: nextAnchor,
},
initial: {
default_date: currentDate.format('YYYY-MM-DD'),
grid_anchor: currentDate.format('YYYY-MM-DD'),
},
});
},
_mockReadGridGrouped(model, kwargs) {
const self = this;
return this._mockReadGridDomain(model, kwargs).then(function (gridDomain) {
gridDomain = gridDomain.concat(kwargs.domain || []);
const groups = self._mockReadGroup(model, {
domain: gridDomain,
fields: [kwargs.section_field],
groupby: [kwargs.section_field],
});
if (!groups.length) {
return Promise.all([self._mockReadGrid(model, {
row_fields: kwargs.row_fields,
col_field: kwargs.col_field,
cell_field: kwargs.cell_field,
domain: kwargs.domain,
range: kwargs.current_range,
readonly_field: kwargs.readonly_field,
context: kwargs.context,
})]);
} else {
return Promise.all((groups || []).map((group) => {
return self._mockReadGrid(model, {
row_fields: kwargs.row_fields,
col_field: kwargs.col_field,
cell_field: kwargs.cell_field,
domain: group.__domain,
range: kwargs.current_range,
readonly_field: kwargs.readonly_field,
context: kwargs.context,
}).then(function (result) {
result.__label = group[kwargs.section_field];
return result;
});
}));
}
});
},
/**
* @TODO: this is not very generic but it works for the tests
* @private
* @returns {Promise}
*/
_mockReadGridDomain: function (model, kwargs) {
if (kwargs.context && kwargs.context.grid_anchor && kwargs.current_range && kwargs.current_range.span) {
var gridAnchor = moment(kwargs.context.grid_anchor || this.currentDate);
var span = kwargs.current_range.span;
var start = gridAnchor.clone().startOf(span === 'day' ? 'day' : span === 'week' ? 'isoWeek' : 'month');
var end = gridAnchor.clone().endOf(span === 'day' ? 'day' : span === 'week' ? 'isoWeek' : 'month');
return Promise.resolve([
'&',
['date', '>=', start.format('YYYY-MM-DD')],
['date', '<=', end.format('YYYY-MM-DD')],
]);
}
return Promise.resolve([
'&',
['date', '>=', '2017-01-01'],
['date', '<=', '2017-01-31'],
]);
},
});
});

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import grid_view_validation

View File

@@ -0,0 +1,53 @@
# -*- coding: utf-8 -*-
import logging
import os
from lxml import etree
from odoo.loglevels import ustr
from odoo.tools import misc, view_validation
_logger = logging.getLogger(__name__)
_grid_validator = None
@view_validation.validate('grid')
def schema_grid(arch, **kwargs):
""" Check the grid view against its schema
:type arch: etree._Element
"""
global _grid_validator
if _grid_validator is None:
with misc.file_open(os.path.join('web_grid', 'views', 'grid.rng')) as f:
_grid_validator = etree.RelaxNG(etree.parse(f))
if _grid_validator.validate(arch):
return True
for error in _grid_validator.error_log:
_logger.error(ustr(error))
return False
@view_validation.validate('grid')
def valid_field_types(arch, **kwargs):
""" Each of the row, col and measure <field>s must appear once and only
once in a grid view
:type arch: etree._Element
"""
types = {'col', 'measure', 'readonly'}
for f in arch.iterdescendants('field'):
field_type = f.get('type')
if field_type == 'row':
continue
if field_type in types:
types.remove(field_type)
else:
return False
return True

188
web_grid/views/grid.rng Normal file
View File

@@ -0,0 +1,188 @@
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<ref name="grid"/>
</start>
<define name="grid">
<element name="grid">
<ref name="acl"/>
<attribute name="string"/>
<optional>
<attribute name="adjustment">
<choice>
<value>object</value>
<value>action</value>
</choice>
</attribute>
<attribute name="adjust_name"/>
</optional>
<optional>
<attribute name="class"/>
</optional>
<optional>
<attribute name="create_inline"/>
</optional>
<optional>
<attribute name="display_empty"/>
</optional>
<optional>
<attribute name="js_class"/>
</optional>
<optional>
<attribute name="hide_column_total"/>
</optional>
<optional>
<attribute name="hide_line_total"/>
</optional>
<optional>
<attribute name="barchart_total"/>
</optional>
<interleave>
<oneOrMore><ref name="field"/></oneOrMore>
<zeroOrMore><ref name="button"/></zeroOrMore>
<optional>
<element name="empty">
<oneOrMore>
<element name="p">
<optional>
<attribute name="class"/>
</optional>
<interleave>
<text/>
<zeroOrMore>
<ref name="link"/>
</zeroOrMore>
<zeroOrMore>
<ref name="image"/>
</zeroOrMore>
</interleave>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</define>
<define name="field">
<element name="field">
<attribute name="name"/>
<choice>
<group>
<attribute name="type"><value>row</value></attribute>
<optional>
<attribute name="section">
<value>1</value>
</attribute>
</optional>
</group>
<!-- TODO: column anchor, range & prev/next? -->
<group>
<attribute name="type"><value>col</value></attribute>
<zeroOrMore>
<element name="range">
<attribute name="name"/>
<attribute name="string"/>
<attribute name="span"/>
<attribute name="step"/>
<optional><attribute name="invisible"/></optional>
<optional><attribute name="hotkey"/></optional>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="type"><value>measure</value></attribute>
<optional>
<attribute name="widget"/>
<optional>
<attribute name="options"/>
</optional>
</optional>
<optional>
<attribute name="string"/>
</optional>
</group>
<group>
<attribute name="type"><value>readonly</value></attribute>
</group>
</choice>
<!-- other garbage -->
<optional><attribute name="on_change"/></optional>
<optional><attribute name="modifiers"/></optional>
<optional><attribute name="can_create"/></optional>
<optional><attribute name="can_write"/></optional>
</element>
</define>
<define name="button">
<element name="button">
<attribute name="string"/>
<attribute name="type">
<choice>
<value>object</value>
<value>action</value>
</choice>
</attribute>
<!-- method name or action id -->
<attribute name="name"/>
<optional><attribute name="class"/></optional>
<optional><attribute name="data-hotkey"/></optional>
<!-- Python dict literal -->
<optional><attribute name="context"/></optional>
</element>
</define>
<define name="acl">
<optional>
<attribute name="create">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="edit">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="delete">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
</define>
<define name="image">
<element name="img">
<attribute name="src"/>
<optional>
<attribute name="class"/>
</optional>
<optional>
<attribute name="alt"/>
</optional>
<optional>
<attribute name="style"/>
</optional>
</element>
</define>
<define name="link">
<element name="a">
<attribute name="href"/>
<optional>
<attribute name="class"/>
</optional>
<optional>
<attribute name="target"/>
</optional>
<mixed>
<zeroOrMore>
<ref name="image"/>
</zeroOrMore>
</mixed>
</element>
</define>
</grammar>