diff --git a/.copier-answers.yml b/.copier-answers.yml index 6ae3d3057f71..2053f2ee6670 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.32 +_commit: v1.36 _src_path: git+https://github.com/OCA/oca-addons-repo-template additional_ruff_rules: [] ci: GitHub diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000000..e0d56685a954 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +test-requirements.txt merge=union diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 5eb021ef153c..852a07469b2e 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -17,6 +17,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.11" + cache: 'pip' - name: Get python version run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV - uses: actions/cache@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6032014807ea..5df33daee45e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,7 +51,7 @@ jobs: makepot: "true" services: postgres: - image: postgres:12.0 + image: postgres:12 env: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo @@ -76,6 +76,13 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests + - name: Upload screenshots from JS tests + uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: Screenshots of failed JS tests - ${{ matrix.name }}${{ join(matrix.include) }} + path: /tmp/odoo_tests/${{ env.PGDATABASE }} + if-no-files-found: ignore - uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9fc02859e158..3054c9f3f23e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,11 +39,11 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/sbidoul/whool - rev: v1.2 + rev: v1.3 hooks: - id: whool-init - repo: https://github.com/oca/maintainer-tools - rev: bf9ecb9938b6a5deca0ff3d870fbd3f33341fded + rev: b89f767503be6ab2b11e4f50a7557cb20066e667 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons diff --git a/.pylintrc b/.pylintrc index 7c62b6d2edde..197cb673705b 100644 --- a/.pylintrc +++ b/.pylintrc @@ -25,19 +25,25 @@ disable=all enable=anomalous-backslash-in-string, api-one-deprecated, api-one-multi-together, - assignment-from-none, - attribute-deprecated, class-camelcase, - dangerous-default-value, dangerous-view-replace-wo-priority, - development-status-allowed, duplicate-id-csv, - duplicate-key, duplicate-xml-fields, duplicate-xml-record-id, eval-referenced, - eval-used, incoherent-interpreter-exec-perm, + openerp-exception-warning, + redundant-modulename-xml, + relative-import, + rst-syntax-error, + wrong-tabs-instead-of-spaces, + xml-syntax-error, + assignment-from-none, + attribute-deprecated, + dangerous-default-value, + development-status-allowed, + duplicate-key, + eval-used, license-allowed, manifest-author-string, manifest-deprecated-key, @@ -48,73 +54,68 @@ enable=anomalous-backslash-in-string, method-inverse, method-required-super, method-search, - openerp-exception-warning, pointless-statement, pointless-string-statement, print-used, redundant-keyword-arg, - redundant-modulename-xml, reimported, - relative-import, return-in-init, - rst-syntax-error, sql-injection, too-few-format-args, translation-field, translation-required, unreachable, use-vim-comment, - wrong-tabs-instead-of-spaces, - xml-syntax-error, - attribute-string-redundant, character-not-valid-in-resource-link, - consider-merging-classes-inherited, - context-overridden, create-user-wo-reset-password, dangerous-filter-wo-user, dangerous-qweb-replace-wo-priority, deprecated-data-xml-node, deprecated-openerp-xml-node, duplicate-po-message-definition, - except-pass, file-not-used, + missing-newline-extrafiles, + old-api7-method-defined, + po-msgstr-variables, + po-syntax-error, + str-format-used, + unnecessary-utf8-coding-comment, + xml-attribute-translatable, + xml-deprecated-qweb-directive, + xml-deprecated-tree-attribute, + attribute-string-redundant, + consider-merging-classes-inherited, + context-overridden, + except-pass, invalid-commit, manifest-maintainers-list, - missing-newline-extrafiles, missing-readme, missing-return, odoo-addons-relative-import, - old-api7-method-defined, - po-msgstr-variables, - po-syntax-error, renamed-field-parameter, resource-not-exist, - str-format-used, test-folder-imported, translation-contains-variable, translation-positional-used, - unnecessary-utf8-coding-comment, website-manifest-key-not-valid-uri, - xml-attribute-translatable, - xml-deprecated-qweb-directive, - xml-deprecated-tree-attribute, external-request-timeout, - # messages that do not cause the lint step to fail - consider-merging-classes-inherited, + missing-manifest-dependency, + too-complex,, create-user-wo-reset-password, dangerous-filter-wo-user, - deprecated-module, file-not-used, - invalid-commit, - missing-manifest-dependency, missing-newline-extrafiles, - missing-readme, no-utf8-coding-comment, - odoo-addons-relative-import, old-api7-method-defined, + unnecessary-utf8-coding-comment, + # messages that do not cause the lint step to fail + consider-merging-classes-inherited, + deprecated-module, + invalid-commit, + missing-readme, + odoo-addons-relative-import, redefined-builtin, - too-complex, - unnecessary-utf8-coding-comment + manifest-external-assets [REPORTS] diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 018fd61cdd70..73674c04d426 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -17,19 +17,25 @@ disable=all enable=anomalous-backslash-in-string, api-one-deprecated, api-one-multi-together, - assignment-from-none, - attribute-deprecated, class-camelcase, - dangerous-default-value, dangerous-view-replace-wo-priority, - development-status-allowed, duplicate-id-csv, - duplicate-key, duplicate-xml-fields, duplicate-xml-record-id, eval-referenced, - eval-used, incoherent-interpreter-exec-perm, + openerp-exception-warning, + redundant-modulename-xml, + relative-import, + rst-syntax-error, + wrong-tabs-instead-of-spaces, + xml-syntax-error, + assignment-from-none, + attribute-deprecated, + dangerous-default-value, + development-status-allowed, + duplicate-key, + eval-used, license-allowed, manifest-author-string, manifest-deprecated-key, @@ -40,56 +46,50 @@ enable=anomalous-backslash-in-string, method-inverse, method-required-super, method-search, - openerp-exception-warning, pointless-statement, pointless-string-statement, print-used, redundant-keyword-arg, - redundant-modulename-xml, reimported, - relative-import, return-in-init, - rst-syntax-error, sql-injection, too-few-format-args, translation-field, translation-required, unreachable, use-vim-comment, - wrong-tabs-instead-of-spaces, - xml-syntax-error, - attribute-string-redundant, character-not-valid-in-resource-link, - consider-merging-classes-inherited, - context-overridden, create-user-wo-reset-password, dangerous-filter-wo-user, dangerous-qweb-replace-wo-priority, deprecated-data-xml-node, deprecated-openerp-xml-node, duplicate-po-message-definition, - except-pass, file-not-used, + missing-newline-extrafiles, + old-api7-method-defined, + po-msgstr-variables, + po-syntax-error, + str-format-used, + unnecessary-utf8-coding-comment, + xml-attribute-translatable, + xml-deprecated-qweb-directive, + xml-deprecated-tree-attribute, + attribute-string-redundant, + consider-merging-classes-inherited, + context-overridden, + except-pass, invalid-commit, manifest-maintainers-list, - missing-newline-extrafiles, missing-readme, missing-return, odoo-addons-relative-import, - old-api7-method-defined, - po-msgstr-variables, - po-syntax-error, renamed-field-parameter, resource-not-exist, - str-format-used, test-folder-imported, translation-contains-variable, translation-positional-used, - unnecessary-utf8-coding-comment, website-manifest-key-not-valid-uri, - xml-attribute-translatable, - xml-deprecated-qweb-directive, - xml-deprecated-tree-attribute, external-request-timeout [REPORTS] diff --git a/README.md b/README.md index 9674feef1db0..71e3e930ac44 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ +[![Support the OCA](https://odoo-community.org/readme-banner-image)](https://odoo-community.org/get-involved?utm_source=repo-readme) +# web [![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0) [![Pre-commit Status](https://github.com/OCA/web/actions/workflows/pre-commit.yml/badge.svg?branch=18.0)](https://github.com/OCA/web/actions/workflows/pre-commit.yml?query=branch%3A18.0) [![Build Status](https://github.com/OCA/web/actions/workflows/test.yml/badge.svg?branch=18.0)](https://github.com/OCA/web/actions/workflows/test.yml?query=branch%3A18.0) @@ -7,8 +9,6 @@ -# web - web @@ -23,8 +23,9 @@ addon | version | maintainers | summary --- | --- | --- | --- [web_calendar_slot_duration](web_calendar_slot_duration/) | 18.0.1.0.0 | Yajo | Customizable calendar slot durations [web_chatter_position](web_chatter_position/) | 18.0.1.0.1 | trisdoan | Add an option to change the chatter position -[web_company_color](web_company_color/) | 18.0.1.0.4 | | Web Company Color +[web_company_color](web_company_color/) | 18.0.1.0.7 | | Web Company Color [web_copy_confirm](web_copy_confirm/) | 18.0.1.0.0 | | Show confirmation dialogue before copying records +[web_dark_mode](web_dark_mode/) | 18.0.1.0.0 | | Enabled Dark Mode for the Odoo Backend [web_datetime_picker_default_time](web_datetime_picker_default_time/) | 18.0.1.0.0 | grindtildeath | Allows to define a default time on datetime picker [web_dialog_size](web_dialog_size/) | 18.0.1.0.1 | | A module that lets the user expand a dialog box to the full screen width. [web_disable_export_group](web_disable_export_group/) | 18.0.1.0.0 | | Web Disable Export Group @@ -34,7 +35,7 @@ addon | version | maintainers | summary [web_excel_export_dynamic_expand](web_excel_export_dynamic_expand/) | 18.0.1.0.0 | | Export collapsed groups or the full tree, based on its view. [web_favicon](web_favicon/) | 18.0.1.0.0 | | Allows to set a custom shortcut icon (aka favicon) [web_filter_header_button](web_filter_header_button/) | 18.0.1.0.0 | | Show selected filters as buttons in the control panel -[web_form_banner](web_form_banner/) | 18.0.1.0.0 | | Web Form Banner +[web_form_banner](web_form_banner/) | 18.0.1.0.1 | | Web Form Banner [web_group_expand](web_group_expand/) | 18.0.1.0.1 | | Group Expand Buttons [web_ir_actions_act_multi](web_ir_actions_act_multi/) | 18.0.1.0.0 | | Enables triggering of more than one action on ActionManager [web_ir_actions_act_window_message](web_ir_actions_act_window_message/) | 18.0.1.0.1 | | Show a message box to users @@ -49,14 +50,19 @@ addon | version | maintainers | summary [web_quick_start_screen](web_quick_start_screen/) | 18.0.1.0.0 | | Configurable start screen for quick actions [web_refresher](web_refresher/) | 18.0.1.0.0 | | Web Refresher [web_remember_tree_column_width](web_remember_tree_column_width/) | 18.0.1.0.2 | frahikLV luisg123v cuongnmtm | Remember the tree columns' widths across sessions. -[web_responsive](web_responsive/) | 18.0.1.0.3 | Tardo SplashS | Responsive web client, community-supported -[web_save_discard_button](web_save_discard_button/) | 18.0.1.0.0 | synconics | Save & Discard Buttons +[web_responsive](web_responsive/) | 18.0.1.0.4 | Tardo SplashS | Responsive web client, community-supported +[web_save_discard_button](web_save_discard_button/) | 18.0.1.0.1 | synconics | Save & Discard Buttons [web_search_with_and](web_search_with_and/) | 18.0.1.0.1 | | Use AND conditions on omnibar search [web_send_message_popup](web_send_message_popup/) | 18.0.1.0.0 | | Web Send Message as Popup [web_session_auto_close](web_session_auto_close/) | 18.0.1.0.1 | | Automatically logs out inactive users based on a configurable timeout. +[web_sort_menu](web_sort_menu/) | 18.0.1.0.0 | | Sort Apps in DropDown/NavBar Menu alphabetically [web_systray_button_init_action](web_systray_button_init_action/) | 18.0.1.0.2 | | Add a button to go to the user init action. [web_theme_classic](web_theme_classic/) | 18.0.1.1.0 | legalsylvain | Contrasted style on fields to improve the UI. -[web_timeline](web_timeline/) | 18.0.1.0.1 | tarteo | Interactive visualization chart to show events in time +[web_time_range_menu_custom](web_time_range_menu_custom/) | 18.0.1.0.0 | | Web Time Range Menu Custom +[web_timeline](web_timeline/) | 18.0.1.0.3 | | Interactive visualization chart to show events in time +[web_toggle_chatter](web_toggle_chatter/) | 18.0.1.0.0 | | Toggle chatter in backend form views +[web_touchscreen](web_touchscreen/) | 18.0.1.0.0 | yajo rafaelbn | UX improvements for touch screens +[web_tree_column_keyboard_resize](web_tree_column_keyboard_resize/) | 18.0.1.0.0 | | Allow resizing tree view columns using keyboard shortcuts [web_tree_dynamic_colored_field](web_tree_dynamic_colored_field/) | 18.0.1.0.1 | | Allows you to dynamically color fields on tree views [web_tree_many2one_clickable](web_tree_many2one_clickable/) | 18.0.1.0.1 | | Open the linked resource when clicking on their name [web_widget_bokeh_chart](web_widget_bokeh_chart/) | 18.0.1.0.1 | LoisRForgeFlow JasminSForgeFlow | This widget allows to display charts using Bokeh library. @@ -64,13 +70,13 @@ addon | version | maintainers | summary [web_widget_dropdown_dynamic](web_widget_dropdown_dynamic/) | 18.0.2.0.0 | | This module adds support for dynamic dropdown widget [web_widget_mpld3_chart](web_widget_mpld3_chart/) | 18.0.1.0.0 | JordiBForgeFlow ThiagoMForgeFlow | This widget allows to display charts using MPLD3 library. [web_widget_numeric_step](web_widget_numeric_step/) | 18.0.1.0.2 | rafaelbn yajo | Web Widget Numeric Step -[web_widget_one2many_tree_line_duplicate](web_widget_one2many_tree_line_duplicate/) | 18.0.1.0.0 | | Web Widget One2many Tree Line Duplicate +[web_widget_one2many_tree_line_duplicate](web_widget_one2many_tree_line_duplicate/) | 18.0.1.0.1 | | Web Widget One2many Tree Line Duplicate [web_widget_open_tab](web_widget_open_tab/) | 18.0.1.0.0 | | Allow to open record from trees on new tab from tree views [web_widget_popover](web_widget_popover/) | 18.0.1.0.0 | ivantodorovich | Render an icon that displays the field content in a popover [web_widget_product_label_section_and_note_full_label](web_widget_product_label_section_and_note_full_label/) | 18.0.1.0.0 | | Display the full label in the product_label_section_and_note widget. [web_widget_product_label_section_and_note_name_visibility](web_widget_product_label_section_and_note_name_visibility/) | 18.0.1.0.1 | carlos-lopez-tecnativa | Alternate the visibility of the product and description. [web_widget_url_advanced](web_widget_url_advanced/) | 18.0.1.0.0 | | This module extends URL widget for displaying anchors with custom labels. -[web_widget_x2many_2d_matrix](web_widget_x2many_2d_matrix/) | 18.0.2.0.2 | JasminSForgeFlow DavidJForgeFlow hbrunn | Show list fields as a matrix +[web_widget_x2many_2d_matrix](web_widget_x2many_2d_matrix/) | 18.0.2.1.0 | JasminSForgeFlow DavidJForgeFlow hbrunn | Show list fields as a matrix [//]: # (end addons) diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 8bdd7c2188f0..3ec909679fff 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,11 +1,12 @@ [project] name = "odoo-addons-oca-web" -version = "18.0.20251121.0" +version = "18.0.20260224.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==18.0.*", "odoo-addon-web_chatter_position==18.0.*", "odoo-addon-web_company_color==18.0.*", "odoo-addon-web_copy_confirm==18.0.*", + "odoo-addon-web_dark_mode==18.0.*", "odoo-addon-web_datetime_picker_default_time==18.0.*", "odoo-addon-web_dialog_size==18.0.*", "odoo-addon-web_disable_export_group==18.0.*", @@ -35,9 +36,14 @@ dependencies = [ "odoo-addon-web_search_with_and==18.0.*", "odoo-addon-web_send_message_popup==18.0.*", "odoo-addon-web_session_auto_close==18.0.*", + "odoo-addon-web_sort_menu==18.0.*", "odoo-addon-web_systray_button_init_action==18.0.*", "odoo-addon-web_theme_classic==18.0.*", + "odoo-addon-web_time_range_menu_custom==18.0.*", "odoo-addon-web_timeline==18.0.*", + "odoo-addon-web_toggle_chatter==18.0.*", + "odoo-addon-web_touchscreen==18.0.*", + "odoo-addon-web_tree_column_keyboard_resize==18.0.*", "odoo-addon-web_tree_dynamic_colored_field==18.0.*", "odoo-addon-web_tree_many2one_clickable==18.0.*", "odoo-addon-web_widget_bokeh_chart==18.0.*", diff --git a/web_company_color/README.rst b/web_company_color/README.rst index 13215077c780..60a91b70e7fb 100644 --- a/web_company_color/README.rst +++ b/web_company_color/README.rst @@ -11,7 +11,7 @@ Web Company Color !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 + !! source digest: sha256:dae72dca32daa1de5666e39a00359088595ea0c6330b4b4300670e4e3a0b6680 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -86,6 +86,10 @@ Contributors - Alexandre Díaz - Carlos Roca +- `PyTech `__: + + - Simone Rubino + Maintainers ----------- diff --git a/web_company_color/__manifest__.py b/web_company_color/__manifest__.py index be2582397a45..f5329cfa86d0 100644 --- a/web_company_color/__manifest__.py +++ b/web_company_color/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Company Color", "category": "web", - "version": "18.0.1.0.4", + "version": "18.0.1.0.7", "author": "Alexandre Díaz, Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", "depends": ["web", "base_sparse_field"], diff --git a/web_company_color/i18n/ca.po b/web_company_color/i18n/ca.po index 2f64a6b7d597..c36461d45121 100644 --- a/web_company_color/i18n/ca.po +++ b/web_company_color/i18n/ca.po @@ -85,6 +85,11 @@ msgstr "" msgid "Navbar Background Color Hover" msgstr "" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/de.po b/web_company_color/i18n/de.po index 4f2de1e13084..2dd74304a23b 100644 --- a/web_company_color/i18n/de.po +++ b/web_company_color/i18n/de.po @@ -89,6 +89,11 @@ msgstr "Navbar-Hintergrundfarbe" msgid "Navbar Background Color Hover" msgstr "Navbar Hintergrundfarbe Hover" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/es.po b/web_company_color/i18n/es.po index 6a77cc347908..bce719311df5 100644 --- a/web_company_color/i18n/es.po +++ b/web_company_color/i18n/es.po @@ -89,6 +89,11 @@ msgstr "Color de fondo de la barra de navegación" msgid "Navbar Background Color Hover" msgstr "Desplazamiento del color de fondo de la barra de navegación" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/fr.po b/web_company_color/i18n/fr.po index 353aa82db2d2..b2d9c4880af1 100644 --- a/web_company_color/i18n/fr.po +++ b/web_company_color/i18n/fr.po @@ -89,6 +89,11 @@ msgstr "Couleur de fond de la barre de navigation" msgid "Navbar Background Color Hover" msgstr "Couleur de fond de la barre de navigation (survol)" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/hr.po b/web_company_color/i18n/hr.po index ba43ab6ee956..216b13e7d62f 100644 --- a/web_company_color/i18n/hr.po +++ b/web_company_color/i18n/hr.po @@ -86,6 +86,11 @@ msgstr "Boja pozadine Navigacijske trake" msgid "Navbar Background Color Hover" msgstr "Poja pozadine navigacijske trake (hoover)" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/it.po b/web_company_color/i18n/it.po index 8ba2741fa715..1b69efd1e106 100644 --- a/web_company_color/i18n/it.po +++ b/web_company_color/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-01-10 14:06+0000\n" +"PO-Revision-Date: 2026-03-26 10:45+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.15.2\n" #. module: web_company_color #: model_terms:ir.ui.view,arch_db:web_company_color.view_company_form @@ -88,6 +88,11 @@ msgstr "Sfondo Barra Navigazione" msgid "Navbar Background Color Hover" msgstr "Colore Hover Sfondo Barra Navigazione" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "Colore bordo inferiore barra navigazione" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/nl.po b/web_company_color/i18n/nl.po index 854b597db379..dd38b466dd76 100644 --- a/web_company_color/i18n/nl.po +++ b/web_company_color/i18n/nl.po @@ -89,6 +89,11 @@ msgstr "Navigatiebalk Achtergrondkleur" msgid "Navbar Background Color Hover" msgstr "Navigatiebalk Achtergrondkleur (als je de muis er overheen beweegt)" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/pt.po b/web_company_color/i18n/pt.po index a707ece0a95c..02fb6798848a 100644 --- a/web_company_color/i18n/pt.po +++ b/web_company_color/i18n/pt.po @@ -88,6 +88,11 @@ msgstr "Cor de Fundo da Barra de Navegação" msgid "Navbar Background Color Hover" msgstr "Cor de Fundo da Barra de Navegação com Foco" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/web_company_color.pot b/web_company_color/i18n/web_company_color.pot index 0edc979260f1..f6430b4dffc1 100644 --- a/web_company_color/i18n/web_company_color.pot +++ b/web_company_color/i18n/web_company_color.pot @@ -81,6 +81,11 @@ msgstr "" msgid "Navbar Background Color Hover" msgstr "" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/i18n/zh_CN.po b/web_company_color/i18n/zh_CN.po index 1a1d86541cd0..586cdf9d68f1 100644 --- a/web_company_color/i18n/zh_CN.po +++ b/web_company_color/i18n/zh_CN.po @@ -85,6 +85,11 @@ msgstr "导航栏背景颜色" msgid "Navbar Background Color Hover" msgstr "导航栏鼠标悬停背景颜色" +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_border_bottom +msgid "Navbar Bottom Border Color" +msgstr "" + #. module: web_company_color #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text msgid "Navbar Text Color" diff --git a/web_company_color/models/res_company.py b/web_company_color/models/res_company.py index f4c296b0fba6..1e98afa97a5d 100644 --- a/web_company_color/models/res_company.py +++ b/web_company_color/models/res_company.py @@ -5,6 +5,8 @@ from odoo import api, fields, models +from odoo.addons.base.models.assetsbundle import ScssStylesheetAsset + from ..utils import convert_to_image, image_to_rgb, n_rgb_to_hex URL_BASE = "/web_company_color/static/src/scss/" @@ -14,10 +16,12 @@ class ResCompany(models.Model): _inherit = "res.company" - SCSS_TEMPLATE = """ + def _get_scss_template(self): + return """ .o_main_navbar { background: %(color_navbar_bg)s !important; background-color: %(color_navbar_bg)s !important; + border-bottom: 1px solid %(color_navbar_border_bottom)s !important; color: %(color_navbar_text)s !important; .show { @@ -106,6 +110,7 @@ class ResCompany(models.Model): &:hover, &:focus, &:active, &:focus:active { background-color: %(color_navbar_bg_hover)s !important; } + border-bottom: 1px solid %(color_navbar_border_bottom)s !important; } .o_menu_sections .dropdown-toggle { background: %(color_navbar_bg)s !important; @@ -114,6 +119,7 @@ class ResCompany(models.Model): &:hover, &:focus, &:active, &:focus:active { background-color: %(color_navbar_bg_hover)s !important; } + border-bottom: 1px solid %(color_navbar_border_bottom)s !important; } .o_menu_systray button, .o_navbar_breadcrumbs, @@ -134,6 +140,9 @@ class ResCompany(models.Model): color_navbar_bg_hover = fields.Char( "Navbar Background Color Hover", sparse="company_colors" ) + color_navbar_border_bottom = fields.Char( + "Navbar Bottom Border Color", sparse="company_colors" + ) color_navbar_text = fields.Char("Navbar Text Color", sparse="company_colors") color_button_text = fields.Char("Button Text Color", sparse="company_colors") color_button_bg = fields.Char("Button Background Color", sparse="company_colors") @@ -162,22 +171,15 @@ def unlink(self): return super().unlink() def write(self, values): - if not self.env.context.get("ignore_company_color", False): - fields_to_check = ( - "color_navbar_bg", - "color_navbar_bg_hover", - "color_navbar_text", - "color_button_bg", - "color_button_bg_hover", - "color_button_text", - "color_link_text", - "color_link_text_hover", - ) - result = super().write(values) - if any([field in values for field in fields_to_check]): + result = super().write(values) + if not self.env.context.get("ignore_company_color"): + fields_to_check = ["company_colors"] + [ + field_name + for field_name, field in self._fields.items() + if field.sparse == "company_colors" + ] + if any(field in values for field in fields_to_check): self.scss_create_or_update_attachment() - else: - result = super().write(values) return result def button_compute_color(self): @@ -198,10 +200,11 @@ def button_compute_color(self): { "color_navbar_bg": n_rgb_to_hex(_r, _g, _b), "color_navbar_bg_hover": n_rgb_to_hex(_rd, _gd, _bd), + "color_navbar_border_bottom": n_rgb_to_hex(_rd, _gd, _bd), "color_navbar_text": "#000" if _a < 0.5 else "#fff", } ) - self.write(values) + self.update(values) def _scss_get_sanitized_values(self): self.ensure_one() @@ -213,6 +216,8 @@ def _scss_get_sanitized_values(self): { "color_navbar_bg": (values.get("color_navbar_bg") or "$o-brand-odoo"), "color_navbar_bg_hover": (values.get("color_navbar_bg_hover")), + "color_navbar_border_bottom": values.get("color_navbar_border_bottom") + or f"darken({values.get('color_navbar_bg') or '$o-brand-odoo'}, 10%)", "color_navbar_text": (values.get("color_navbar_text") or "#FFF"), "color_button_bg": values.get("color_button_bg") or "#71639e", "color_button_bg_hover": values.get("color_button_bg_hover") @@ -231,7 +236,7 @@ def _scss_generate_content(self): # ir.attachment need files with content to work if not self.company_colors: return "// No Web Company Color SCSS Content\n" - return self.SCSS_TEMPLATE % self._scss_get_sanitized_values() + return self._get_scss_template() % self._scss_get_sanitized_values() def scss_get_url(self): self.ensure_one() @@ -240,8 +245,12 @@ def scss_get_url(self): def scss_create_or_update_attachment(self): IrAttachmentObj = self.env["ir.attachment"] for record in self: - datas = base64.b64encode(record._scss_generate_content().encode("utf-8")) custom_url = record.scss_get_url() + SCSS_asset = ScssStylesheetAsset( + "web_company_color.company_color_assets", url=custom_url + ) + compiled_CSS = SCSS_asset.compile(record._scss_generate_content()) + datas = base64.b64encode(compiled_CSS.encode("utf-8")) custom_attachment = IrAttachmentObj.sudo().search( [("url", "=", custom_url), ("company_id", "=", record.id)] ) diff --git a/web_company_color/readme/CONTRIBUTORS.md b/web_company_color/readme/CONTRIBUTORS.md index c66d22568de5..e074b858bf02 100644 --- a/web_company_color/readme/CONTRIBUTORS.md +++ b/web_company_color/readme/CONTRIBUTORS.md @@ -8,3 +8,5 @@ - Jairo Llopis - Alexandre Díaz - Carlos Roca +- [PyTech](https://www.pytech.it): + - Simone Rubino \<\> diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html index 8545f0ec29b1..dd2882acf635 100644 --- a/web_company_color/static/description/index.html +++ b/web_company_color/static/description/index.html @@ -372,7 +372,7 @@

Web Company Color

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 +!! source digest: sha256:dae72dca32daa1de5666e39a00359088595ea0c6330b4b4300670e4e3a0b6680 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module change navbar colors based in the company logo colors.

@@ -432,6 +432,10 @@

Contributors

  • Carlos Roca
  • +
  • PyTech: +
  • diff --git a/web_company_color/tests/test_res_company.py b/web_company_color/tests/test_res_company.py index 1c2fb665e975..ea300cb38cb0 100644 --- a/web_company_color/tests/test_res_company.py +++ b/web_company_color/tests/test_res_company.py @@ -1,5 +1,8 @@ # Copyright 2019 Alexandre Díaz # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import base64 + from odoo.tests import common from ..models.res_company import URL_BASE @@ -75,3 +78,46 @@ def test_change_color(self): company_id.company_colors, "Invalid Navbar Background Color", ) + + def test_compiled_scss(self): + """The SCSS is compiled before being sent to the client.""" + # Arrange + company = self.env.company + color = "#d2e1dd" + desaturated_color = "#dadada" + company.color_navbar_bg = "desaturate(#d2e1dd, 30%)" + + # Act + company.scss_create_or_update_attachment() + + # Assert + attachment = self.env["ir.attachment"].search( + [("url", "=", company.scss_get_url())] + ) + css = base64.b64decode(attachment.datas).decode() + self.assertNotIn("desaturate", css) + self.assertNotIn(color, css) + self.assertIn(desaturated_color, css) + + def test_ignore_company_color(self): + """ + Test that we can turn off regenerating css attachment via context key + """ + company = self.env.company + attachment = self.env["ir.attachment"].search( + [("url", "=", company.scss_get_url())] + ) + attachment.unlink() + + company.company_colors = {} + attachment = self.env["ir.attachment"].search( + [("url", "=", company.scss_get_url())] + ) + self.assertTrue(attachment, "attachment should have been regenerated") + + attachment.unlink() + company.with_context(ignore_company_color=True).company_colors = {} + attachment = self.env["ir.attachment"].search( + [("url", "=", company.scss_get_url())] + ) + self.assertFalse(attachment, "attachment should not have been regenerated") diff --git a/web_company_color/view/res_company.xml b/web_company_color/view/res_company.xml index 45dd79421834..55969037919a 100644 --- a/web_company_color/view/res_company.xml +++ b/web_company_color/view/res_company.xml @@ -18,6 +18,7 @@ + diff --git a/web_dark_mode/README.rst b/web_dark_mode/README.rst new file mode 100644 index 000000000000..bdebf789ad24 --- /dev/null +++ b/web_dark_mode/README.rst @@ -0,0 +1,89 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +========= +Dark Mode +========= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:412634e63cb76e61a9461ecdc1ffef9271510b8a8a1d6e63ee98df7eeeedaaae + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_dark_mode + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_dark_mode + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This modules offers the dark mode for Odoo CE. The dark mode can be +activated by every user in the user menu in the top right. + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +- Implement dark mode for PoS with a glue module + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* initOS GmbH + +Contributors +------------ + +- Florian Kantelberg +- `Pyxiris `__ + + - `Liam Noonan `__ + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_dark_mode/__init__.py b/web_dark_mode/__init__.py new file mode 100644 index 000000000000..1d408a8a039e --- /dev/null +++ b/web_dark_mode/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/web_dark_mode/__manifest__.py b/web_dark_mode/__manifest__.py new file mode 100644 index 000000000000..44ea0acfcf69 --- /dev/null +++ b/web_dark_mode/__manifest__.py @@ -0,0 +1,60 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Dark Mode", + "summary": "Enabled Dark Mode for the Odoo Backend", + "license": "AGPL-3", + "version": "18.0.1.0.0", + "website": "https://github.com/OCA/web", + "author": "initOS GmbH, Odoo Community Association (OCA)", + "depends": ["web"], + "excludes": ["web_enterprise"], + "installable": True, + "assets": { + "web.assets_backend": [ + "web_dark_mode/static/src/js/switch_item.esm.js", + ], + "web.assets_backend_lazy_dark": [ + ("include", "web.assets_variables_dark"), + ("include", "web.assets_backend_helpers_dark"), + ], + "web.assets_variables_dark": [ + ( + "before", + "web/static/src/scss/primary_variables.scss", + "web_dark_mode/static/src/scss/primary_variables.dark.scss", + ), + ( + "before", + "web/static/src/scss/secondary_variables.scss", + "web_dark_mode/static/src/scss/secondary_variables.dark.scss", + ), + ( + "before", + "web/static/src/**/*.variables.scss", + "web_dark_mode/static/src/**/*.variables.dark.scss", + ), + ], + "web.assets_backend_helpers_dark": [ + ( + "before", + "web/static/src/scss/bootstrap_overridden.scss", + "web_dark_mode/static/src/scss/bootstrap_overridden.dark.scss", + ), + ( + "after", + "web/static/lib/bootstrap/scss/_functions.scss", + "web_dark_mode/static/src/scss/bs_functions_overrides.dark.scss", + ), + ], + "web.assets_web_dark": [ + ("include", "web.assets_variables_dark"), + ("include", "web.assets_backend_helpers_dark"), + "web_dark_mode/static/src/**/*.dark.scss", + ], + }, + "data": [ + "views/res_users_views.xml", + ], +} diff --git a/web_dark_mode/i18n/es.po b/web_dark_mode/i18n/es.po new file mode 100644 index 000000000000..903638c864d5 --- /dev/null +++ b/web_dark_mode/i18n/es.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-09-02 20:35+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Modo Oscuro" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "Modo Oscuro en Función del Dispositivo" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "Enrutamiento HTTP" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Usuario" diff --git a/web_dark_mode/i18n/es_AR.po b/web_dark_mode/i18n/es_AR.po new file mode 100644 index 000000000000..1ad2d1f79e73 --- /dev/null +++ b/web_dark_mode/i18n/es_AR.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-01-01 21:45+0000\n" +"Last-Translator: Ignacio Buioli \n" +"Language-Team: none\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Modo Oscuro" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "Dispositivo que Depende del Modo Oscuro" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "Ruteo HTTP" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Usuario" diff --git a/web_dark_mode/i18n/fr.po b/web_dark_mode/i18n/fr.po new file mode 100644 index 000000000000..3333b16a9660 --- /dev/null +++ b/web_dark_mode/i18n/fr.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-23 18:56+0000\n" +"Last-Translator: Grégory Moka Tourisme \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Mode sombre" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Utilisateur" diff --git a/web_dark_mode/i18n/hr.po b/web_dark_mode/i18n/hr.po new file mode 100644 index 000000000000..21e8842000f7 --- /dev/null +++ b/web_dark_mode/i18n/hr.po @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-02-16 14:23+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Tamni način" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "Tamni način zavisi od uređaja" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "HTTP Routing" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Korisnik" diff --git a/web_dark_mode/i18n/it.po b/web_dark_mode/i18n/it.po new file mode 100644 index 000000000000..e14a675b293c --- /dev/null +++ b/web_dark_mode/i18n/it.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-27 11:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Dark mode" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "Dark mode dipendente dal dispositivo" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "Instradamento HTTP" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Utente" diff --git a/web_dark_mode/i18n/tr.po b/web_dark_mode/i18n/tr.po new file mode 100644 index 000000000000..0cd019cf46af --- /dev/null +++ b/web_dark_mode/i18n/tr.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-03-06 20:08+0000\n" +"Last-Translator: Ediz Duman \n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "Koyu Mod" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "Cihaza Bağlı Karanlık Mod" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "HTTP Yönlendirme" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "Kullanıcı" diff --git a/web_dark_mode/i18n/web_dark_mode.pot b/web_dark_mode/i18n/web_dark_mode.pot new file mode 100644 index 000000000000..020fd87e814e --- /dev/null +++ b/web_dark_mode/i18n/web_dark_mode.pot @@ -0,0 +1,36 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +msgid "Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "" diff --git a/web_dark_mode/i18n/zh.po b/web_dark_mode/i18n/zh.po new file mode 100644 index 000000000000..ad8461437429 --- /dev/null +++ b/web_dark_mode/i18n/zh.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "" diff --git a/web_dark_mode/models/__init__.py b/web_dark_mode/models/__init__.py new file mode 100644 index 000000000000..d565f59dcc8d --- /dev/null +++ b/web_dark_mode/models/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import ir_http, res_users diff --git a/web_dark_mode/models/ir_http.py b/web_dark_mode/models/ir_http.py new file mode 100644 index 000000000000..e2c90b53773f --- /dev/null +++ b/web_dark_mode/models/ir_http.py @@ -0,0 +1,23 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models +from odoo.http import request + + +class IrHttp(models.AbstractModel): + _inherit = "ir.http" + + @classmethod + def _set_color_scheme(cls, response): + scheme = request.httprequest.cookies.get("color_scheme") + user = request.env.user + user_scheme = "dark" if getattr(user, "dark_mode", None) else "light" + device_dependent = getattr(user, "dark_mode_device_dependent", None) + if (not device_dependent) and scheme != user_scheme: + response.set_cookie("color_scheme", user_scheme) + + @classmethod + def _post_dispatch(cls, response): + cls._set_color_scheme(response) + return super()._post_dispatch(response) diff --git a/web_dark_mode/models/res_users.py b/web_dark_mode/models/res_users.py new file mode 100644 index 000000000000..be6fd3ebc05a --- /dev/null +++ b/web_dark_mode/models/res_users.py @@ -0,0 +1,26 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import fields, models + + +class ResUsers(models.Model): + _inherit = "res.users" + + dark_mode = fields.Boolean() + dark_mode_device_dependent = fields.Boolean("Device Dependent Dark Mode") + + @property + def SELF_READABLE_FIELDS(self): + return super().SELF_READABLE_FIELDS + [ + "dark_mode_device_dependent", + "dark_mode", + ] + + @property + def SELF_WRITEABLE_FIELDS(self): + return super().SELF_WRITEABLE_FIELDS + [ + "dark_mode_device_dependent", + "dark_mode", + ] diff --git a/web_dark_mode/pyproject.toml b/web_dark_mode/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_dark_mode/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_dark_mode/readme/CONTRIBUTORS.md b/web_dark_mode/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..38be6e4844f8 --- /dev/null +++ b/web_dark_mode/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- Florian Kantelberg \ +- [Pyxiris](https://github.com/Pyxiris) + - [Liam Noonan](https://github.com/ljmnoonan) diff --git a/web_dark_mode/readme/DESCRIPTION.md b/web_dark_mode/readme/DESCRIPTION.md new file mode 100644 index 000000000000..7d90c04edb1d --- /dev/null +++ b/web_dark_mode/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This modules offers the dark mode for Odoo CE. The dark mode can be +activated by every user in the user menu in the top right. diff --git a/web_dark_mode/readme/ROADMAP.md b/web_dark_mode/readme/ROADMAP.md new file mode 100644 index 000000000000..b1437e5f398e --- /dev/null +++ b/web_dark_mode/readme/ROADMAP.md @@ -0,0 +1 @@ +- Implement dark mode for PoS with a glue module diff --git a/web_dark_mode/static/description/icon.png b/web_dark_mode/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/web_dark_mode/static/description/icon.png differ diff --git a/web_dark_mode/static/description/index.html b/web_dark_mode/static/description/index.html new file mode 100644 index 000000000000..660e33ec5346 --- /dev/null +++ b/web_dark_mode/static/description/index.html @@ -0,0 +1,441 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Dark Mode

    + +

    Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    This modules offers the dark mode for Odoo CE. The dark mode can be +activated by every user in the user menu in the top right.

    +

    Table of contents

    + +
    +

    Known issues / Roadmap

    +
      +
    • Implement dark mode for PoS with a glue module
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • initOS GmbH
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/web project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/web_dark_mode/static/src/core/colorlist/colorlist.dark.scss b/web_dark_mode/static/src/core/colorlist/colorlist.dark.scss new file mode 100644 index 000000000000..901c78c8e758 --- /dev/null +++ b/web_dark_mode/static/src/core/colorlist/colorlist.dark.scss @@ -0,0 +1,13 @@ +@for $size from 2 through length($o-colors) { + .o_colorlist_item_color_#{$size - 1} { + --background-color: #{mix( + nth($o-colors, $size), + $o-view-background-color, + 95% + )}; + // As far as I can tell this is never used to display text. The only use i found for + // It was around the border of the colorlist color square when clicked. I'm just + // setting it to contrast just in case it ever gets used for text. + --color: #{color-contrast(nth($o-colors, $size))}; + } +} diff --git a/web_dark_mode/static/src/core/notebook/notebook.dark.scss b/web_dark_mode/static/src/core/notebook/notebook.dark.scss new file mode 100644 index 000000000000..63f0dc7ac951 --- /dev/null +++ b/web_dark_mode/static/src/core/notebook/notebook.dark.scss @@ -0,0 +1,5 @@ +.o_notebook { + --notebook-link-border-color: #{$nav-tabs-border-color}; + --notebook-link-border-color-hover: #{$nav-tabs-border-color}; + --notebook-link-border-color-active-accent: #{$o-main-link-color}; +} diff --git a/web_dark_mode/static/src/core/tags_list/tags_list.dark.scss b/web_dark_mode/static/src/core/tags_list/tags_list.dark.scss new file mode 100644 index 000000000000..2b0e6c63f3b0 --- /dev/null +++ b/web_dark_mode/static/src/core/tags_list/tags_list.dark.scss @@ -0,0 +1,18 @@ +.o_tag { + @for $size from 1 through length($o-colors) { + &.o_tag_color_#{$size - 1} { + $-bg: mix(nth($o-colors, $size), $o-view-background-color, 10%); + $-color: scale-color( + nth($o-colors, $size), + $lightness: 65%, + $saturation: 100% + ); + + &, + &::after { + --background-color: #{$-bg}; + --color: #{$-color}; + } + } + } +} diff --git a/web_dark_mode/static/src/js/switch_item.esm.js b/web_dark_mode/static/src/js/switch_item.esm.js new file mode 100644 index 000000000000..63530ae974e9 --- /dev/null +++ b/web_dark_mode/static/src/js/switch_item.esm.js @@ -0,0 +1,50 @@ +/** @odoo-module **/ + +import {_t} from "@web/core/l10n/translation"; +import {browser} from "@web/core/browser/browser"; +import {cookie} from "@web/core/browser/cookie"; +import {registry} from "@web/core/registry"; +import {user} from "@web/core/user"; + +export function darkModeSwitchItem(env) { + return { + type: "switch", + id: "color_scheme.switch", + description: _t("Dark Mode"), + callback: () => { + env.services.color_scheme.switchColorScheme(); + }, + isChecked: cookie.get("color_scheme") === "dark", + sequence: 40, + }; +} + +export const colorSchemeService = { + dependencies: ["orm", "ui"], + + async start(env, {orm, ui}) { + registry.category("user_menuitems").add("darkmode", darkModeSwitchItem); + + if (!cookie.get("color_scheme")) { + const match_media = window.matchMedia("(prefers-color-scheme: dark)"); + const dark_mode = match_media.matches; + cookie.set("color_scheme", dark_mode ? "dark" : "light"); + if (dark_mode) browser.location.reload(); + } + + return { + async switchColorScheme() { + const scheme = cookie.get("color_scheme") === "dark" ? "light" : "dark"; + cookie.set("color_scheme", scheme); + await orm.write("res.users", [user.userId], { + dark_mode: scheme === "dark", + }); + + ui.block(); + browser.location.reload(); + }, + }; + }, +}; + +registry.category("services").add("color_scheme", colorSchemeService); diff --git a/web_dark_mode/static/src/scss/bootstrap_overridden.dark.scss b/web_dark_mode/static/src/scss/bootstrap_overridden.dark.scss new file mode 100644 index 000000000000..17861d9d6fa3 --- /dev/null +++ b/web_dark_mode/static/src/scss/bootstrap_overridden.dark.scss @@ -0,0 +1,37 @@ +// This overrides the overrides in web/static/src/scss/bootstrap_overridden.scss +// and also some additional overrides to web/static/lib/bootstrap/scss/_variables.scss + +// Shadows +$box-shadow: 0 0.5rem 1rem rgba($o-white, 0.4) !default; +$box-shadow-sm: 0 0.125rem 0.25rem rgba($o-white, 0.2) !default; +$box-shadow-lg: 0 1rem 3rem rgba($o-white, 0.4) !default; +$box-shadow-inset: inset 0 1px 2px rgba($o-white, 0.2) !default; + +// Dropdowns +$dropdown-bg: $o-white !default; + +// Navs +$nav-tabs-link-active-bg: transparent !default; +$nav-link-color: $o-main-text-color !default; + +// Tooltips +$tooltip-bg: $o-white !default; +$tooltip-color: $o-main-text-color !default; + +// Modals +$modal-backdrop-bg: $o-white !default; + +// User input typically entered via keyboard +$kbd-color: $o-gray-100 !default; +$kbd-bg: $o-gray-900 !default; +$kbd-box-shadow: + 0px 1px 1px rgba($o-gray-100, 0.2), + inset 0px -1px 1px 1px rgba($o-gray-700, 0.8), + inset 0px 2px 0px 0px rgba($o-black, 0.8) !default; + +// Input +$input-focus-box-shadow: 0 !default; +$input-focus-border-color: $o-enterprise-action-color !default; +$form-check-input-checked-color: $o-white !default; +$form-check-input-checked-border-color: $o-enterprise-action-color !default; +$form-check-input-checked-bg-color: $o-enterprise-action-color !default; diff --git a/web_dark_mode/static/src/scss/bs_functions_overrides.dark.scss b/web_dark_mode/static/src/scss/bs_functions_overrides.dark.scss new file mode 100644 index 000000000000..726cf9aecd20 --- /dev/null +++ b/web_dark_mode/static/src/scss/bs_functions_overrides.dark.scss @@ -0,0 +1,11 @@ +// Inverse the tint and shade functions found in web/static/lib/bootstrap/scss/_functions.scss +// It would make a lot more sense if we could use web/static/lib/bootstrap/scss/_variables-dark.scss +// but odoo has everything hardcoded to the light mode versions of the variables, so we are left +// with this rather hacky way of inverting shades and tints +@function tint-color($color, $weight) { + @return mix(#000000, $color, $weight); +} + +@function shade-color($color, $weight) { + @return mix(#ffffff, $color, $weight); +} diff --git a/web_dark_mode/static/src/scss/primary_variables.dark.scss b/web_dark_mode/static/src/scss/primary_variables.dark.scss new file mode 100644 index 000000000000..ecf7bd291f47 --- /dev/null +++ b/web_dark_mode/static/src/scss/primary_variables.dark.scss @@ -0,0 +1,131 @@ +// This file is just the things in web/static/src/scss/primary_variables.scss +// that need to be overridden for dark mode. Anything that does not need to be +// changed does not make it here. +// These variables will be loaded right before web/static/src/scss/primary_variables.scss +// so any variable defined here will override the default ones. +// The !default flag is included in case any other model needs to override these values again. + +// Color-scheme +$o-webclient-color-scheme: dark !default; + +// Colors +$o-white: #000000 !default; +$o-black: #ffffff !default; + +$o-gray-100: #181818 !default; // L: 9% +$o-gray-200: #1f1f1f !default; // L: 12% +$o-gray-300: #303030 !default; // L: 19% +$o-gray-400: #4a4a4a !default; // L: 29% +$o-gray-500: #696969 !default; // L: 41% +$o-gray-600: #8b8b8b !default; // L: 55% +$o-gray-700: #aeaeae !default; // L: 68% +$o-gray-800: #c0c0c0 !default; // L: 75% +$o-gray-900: #c8c8c8 !default; // L: 78% + +$o-community-color: $o-gray-200 !default; +$o-enterprise-color: #71639e !default; +$o-enterprise-action-color: #00c7c7 !default; + +$o-brand-odoo: $o-enterprise-color !default; +$o-brand-primary: $o-enterprise-color !default; + +// This only has 3 uses. The only one I was able to test is at +// web/static/src/views/form/form_controller.scss which changes form lables +// to this in mobile. Those are usually gray-900. +$o-brand-secondary: $o-gray-900 !default; + +$o-action: $o-enterprise-action-color !default; + +// Font colors +$o-main-link-color: $o-enterprise-action-color !default; + +// Component colors +$o-view-background-color: $o-gray-200 !default; +$o-shadow-color: $o-gray-100 !default; + +$o-form-lightsecondary: $o-gray-500 !default; + +// This is the background color. it is declared in web/static/src/scss/secondary_variables.scss +// but it really ought to be here +$o-webclient-background-color: $o-gray-100 !default; + +// List group +$o-list-group-active-bg: $o-gray-300 !default; + +// Buttons +$o-btns-bs-override: () !default; +$o-btns-bs-override: map-merge( + $o-btns-bs-override, + ( + "primary": ( + background: $o-brand-primary, + border: $o-brand-primary, + color: $o-black, + hover-background: lighten($o-brand-primary, 5%), + hover-border: lighten($o-brand-primary, 5%), + hover-color: $o-black, + + active-background: lighten($o-brand-primary, 10%), + active-border: lighten($o-brand-primary, 10%), + active-color: $o-black, + ), + "secondary": ( + background: $o-gray-300, + border: $o-gray-300, + color: $o-gray-900, + + hover-background: $o-gray-400, + hover-border: $o-gray-400, + hover-color: $o-gray-900, + + active-background: mix($o-action, $o-gray-100, 10%), + active-border: $o-action, + active-color: $o-black, + ), + "light": ( + background: transparent, + border: transparent, + color: $o-gray-800, + + hover-background: $o-gray-300, + hover-border: $o-gray-300, + hover-color: $o-gray-900, + + active-background: mix($o-action, $o-gray-100, 10%), + active-border: $o-action, + active-color: $o-black, + ), + ) +); + +$o-btns-bs-outline-override: () !default; +$o-btns-bs-outline-override: map-merge( + $o-btns-bs-outline-override, + ( + "primary": ( + background: transparent, + border: saturate(lighten($o-brand-primary, 20%), 25%), + color: saturate(lighten($o-brand-primary, 20%), 25%), + hover-background: lighten($o-brand-primary, 5%), + hover-border: lighten($o-brand-primary, 5%), + hover-color: $o-black, + + active-background: lighten($o-brand-primary, 10%), + active-border: lighten($o-brand-primary, 10%), + active-color: $o-black, + ), + "secondary": ( + background: transparent, + border: $o-gray-300, + color: $o-gray-900, + + hover-background: $o-gray-300, + hover-border: $o-gray-300, + hover-color: $o-gray-900, + + active-background: mix($o-action, $o-gray-100, 10%), + active-border: $o-action, + active-color: $o-black, + ), + ) +); diff --git a/web_dark_mode/static/src/scss/secondary_variables.dark.scss b/web_dark_mode/static/src/scss/secondary_variables.dark.scss new file mode 100644 index 000000000000..04cb45d48407 --- /dev/null +++ b/web_dark_mode/static/src/scss/secondary_variables.dark.scss @@ -0,0 +1,12 @@ +$o-colors: #a2a2a2, #ee2d2d, #dc8534, #e8bb1d, #5794dd, #9f628f, #db8865, #41a9a2, + #304be0, #ee2f8a, #61c36e, #9872e6 !default; + +// An epically lazy solution to colors that do not do well on the dark background: just delete them. +// Unfortunately this does introduce a problem where, when there are more calendar users than colors, +// the event gets a $o-webclient-background-color background and the filter check gets +// $form-check-input-checked-bg-color. This problem exists in enterprise too, +// so hopefully they will fix it. +$o-colors-secondary: #aa4b6b, #30c381, #f7cd1f, #4285f4, #d6145f, #aa3a38, #6be585, + #e9d362, #b56969, #bdc3c7, #ea00ff, #ff0026, #8bcc00, #00bfaf, #006aff, #af00bf, + #bf6300, #8cff00, #00f2ff, #ff00d0, #ffa600, #3acc00, #00b6bf, #0048ff, #bf7c00, + #04ff00, #00d0ff, #ff008c, #00bf49, #0092b3, #0004ff, #b20062 !default; diff --git a/web_dark_mode/static/src/search/search_panel/search_view.dark.scss b/web_dark_mode/static/src/search/search_panel/search_view.dark.scss new file mode 100644 index 000000000000..42581895f19e --- /dev/null +++ b/web_dark_mode/static/src/search/search_panel/search_view.dark.scss @@ -0,0 +1,13 @@ +.o_searchview { + --SearchBar-background-color: #{$o-gray-100}; + &:focus-within { + $-searchbar-border-color: rgba($input-focus-border-color, 0.5); + border-color: $-searchbar-border-color; + + .o_searchview_dropdown_toggler { + border-left-color: $-searchbar-border-color; + border-top-color: $-searchbar-border-color; + border-right-color: $-searchbar-border-color; + border-bottom-color: $-searchbar-border-color; + } + } +} diff --git a/web_dark_mode/static/src/views/calendar/calendar_renderer.dark.scss b/web_dark_mode/static/src/views/calendar/calendar_renderer.dark.scss new file mode 100644 index 000000000000..d3df07ba6203 --- /dev/null +++ b/web_dark_mode/static/src/views/calendar/calendar_renderer.dark.scss @@ -0,0 +1,63 @@ +// I really hate this whole loop and with I could just override +// $color and $color-subtle, but that doesn't seem to be possible. +@for $i from 1 through length($o-colors-complete) { + $color: nth($o-colors-complete, $i); + $color-subtle: scale-color( + mix($o-white, $color, 30%), + $lightness: -20%, + $saturation: -35% + ); + + .o_calendar_renderer { + .o_calendar_color_#{$i - 1} { + --fc-event-bg-color: #{$color-subtle}; + --o-event-bg: #{$color}; + --o-event-bg--subtle-rgb: #{to-rgb($color-subtle)}; + + &.fc-bg-event { + --fc-bg-event-color: #{$color-subtle}; + } + + &.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not( + .fc-timegrid-event + ), + &.o_event_hatched .fc-bg, + &.o_attendee_status_tentative:not(.o_event_dot) .fc-bg { + background: repeating-linear-gradient( + 45deg, + RGBA(to-rgb($color), 0.3), + RGBA(to-rgb($color), 0.3) 10px, + RGBA(to-rgb($color), 0.6) 10px, + RGBA(to-rgb($color), 0.6) 20px + ) !important; + } + + &.o_event_striked:not(.o_event_dot) { + background: linear-gradient( + transparent 0 45%, + $color 45% 55%, + transparent 55% 100% + ); + } + + &.fc-event:not(.o_event_dot):not(.fc-dragging) { + --fc-event-text-color: #{color-contrast($color-subtle)}; + --fc-event-border-color: #{tint-color($color, 50%)}; + } + } + } + + .o_cw_filter_color_#{$i - 1} { + &.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) { + border-color: shade-color($color, 20%); + } + + .o_cw_filter_input_bg { + border-color: $color; + + &:checked { + background-color: $color; + } + } + } +} diff --git a/web_dark_mode/static/src/views/fields/image/image_field.dark.scss b/web_dark_mode/static/src/views/fields/image/image_field.dark.scss new file mode 100644 index 000000000000..f6371764635f --- /dev/null +++ b/web_dark_mode/static/src/views/fields/image/image_field.dark.scss @@ -0,0 +1,7 @@ +// Unfortunately, images with trasparent backgrounds do +// not display well on a dark background. +// I use #ffffff instead of $o-black to ensure that they will +// always be on a white background no matter what. +.o_field_image { + --ImageField-background-color: #ffffff; +} diff --git a/web_dark_mode/static/src/views/fields/properties/properties_field.dark.scss b/web_dark_mode/static/src/views/fields/properties/properties_field.dark.scss new file mode 100644 index 000000000000..41098213b50b --- /dev/null +++ b/web_dark_mode/static/src/views/fields/properties/properties_field.dark.scss @@ -0,0 +1,27 @@ +.o_field_property_definition_type .o_field_property_dropdown img, +.o_field_property_definition_type_menu .dropdown-item img { + -webkit-filter: invert(100%); + filter: invert(100%); +} + +.o_property_field_value { + select { + option { + background-color: $dropdown-bg; + } + } +} + +// This is the < Create "tagname" > link that shows when you type a +// tag that doesn't exist. It was getting set to purple for some reason +.o_property_field_value + .ui-widget.ui-autocomplete + .ui-menu-item.o_field_property_dropdown_add + a { + color: $o-main-link-color !important; +} + +.o_field_properties div:not([columns="1"]) .o_property_drag_group { + background-color: #{mix($o-action, $o-view-background-color, 10%)}; + border: 1px solid #{rgba($o-action, 0.5)}; +} diff --git a/web_dark_mode/static/src/views/form/form_controller.dark.scss b/web_dark_mode/static/src/views/form/form_controller.dark.scss new file mode 100644 index 000000000000..5b6014e7d4a2 --- /dev/null +++ b/web_dark_mode/static/src/views/form/form_controller.dark.scss @@ -0,0 +1,3 @@ +.o_form_view .o_field_widget .o_list_renderer { + --ListRenderer-thead-bg-active-color: #{$o-gray-300}; +} diff --git a/web_dark_mode/static/src/views/kanban/kanban_controller.dark.scss b/web_dark_mode/static/src/views/kanban/kanban_controller.dark.scss new file mode 100644 index 000000000000..265dd424f30a --- /dev/null +++ b/web_dark_mode/static/src/views/kanban/kanban_controller.dark.scss @@ -0,0 +1,11 @@ +.o_kanban_renderer { + --KanbanColumn__highlight-background: #{mix($o-action, $o-gray-100, 10%)}; + --KanbanColumn__highlight-border: #{rgba($o-action, 0.5)}; + + // For some reason attachment images do not get the o_field_image class + .o_kanban_record:not(.o_legacy_kanban_record) { + .o_attachment_image > img { + background-color: #ffffff; + } + } +} diff --git a/web_dark_mode/static/src/webclient/navbar/navbar.variables.dark.scss b/web_dark_mode/static/src/webclient/navbar/navbar.variables.dark.scss new file mode 100644 index 000000000000..537cc13a64f7 --- /dev/null +++ b/web_dark_mode/static/src/webclient/navbar/navbar.variables.dark.scss @@ -0,0 +1,14 @@ +// The navbar is usually purple, as set by web/static/src/webclient/navbar/navbar.variables.scss +// We override it here for dark mode. +$o-navbar-background: $o-view-background-color !default; +// We do not really need to disable the border, but it helps on web_responsive +// when we change the color of the navbar to match the app grid background. +// If we do not disable it, it changes color with a noticeable delay after the navbar. +$o-navbar-border-bottom: 0px solid $o-navbar-background !default; + +$o-navbar-entry-color: $o-gray-900 !default; +$o-navbar-entry-color--hover: $o-black !default; + +$o-navbar-badge-bg: $o-danger !default; +$o-navbar-badge-color: $o-black !default; +$o-navbar-badge-text-shadow: 0 !default; diff --git a/web_dark_mode/tests/__init__.py b/web_dark_mode/tests/__init__.py new file mode 100644 index 000000000000..634cfc9d3dc0 --- /dev/null +++ b/web_dark_mode/tests/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_dark_mode diff --git a/web_dark_mode/tests/test_dark_mode.py b/web_dark_mode/tests/test_dark_mode.py new file mode 100644 index 000000000000..466ee7e3ac19 --- /dev/null +++ b/web_dark_mode/tests/test_dark_mode.py @@ -0,0 +1,35 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from unittest.mock import MagicMock + +import odoo.http +from odoo.tests import common + + +class TestDarkMode(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.request = MagicMock(env=cls.env) + odoo.http._request_stack.push(cls.request) + + def test_dark_mode_cookie(self): + response = MagicMock() + + # Cookie is set because the color_scheme changed + self.request.httprequest.cookies = {"color_scheme": "dark"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_called_with("color_scheme", "light") + + # Cookie isn't set because the color_scheme is the same + response.reset_mock() + self.request.httprequest.cookies = {"color_scheme": "light"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_not_called() + + # Cookie isn't set because it's device dependent + self.env.user.dark_mode_device_dependent = True + self.request.httprequest.cookies = {"color_scheme": "dark"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_not_called() diff --git a/web_dark_mode/views/res_users_views.xml b/web_dark_mode/views/res_users_views.xml new file mode 100644 index 000000000000..47f02427f757 --- /dev/null +++ b/web_dark_mode/views/res_users_views.xml @@ -0,0 +1,14 @@ + + + + res.users + + + + + + + + + + diff --git a/web_diagram/__init__.py b/web_diagram/__init__.py new file mode 100644 index 000000000000..2edd608af5f1 --- /dev/null +++ b/web_diagram/__init__.py @@ -0,0 +1,10 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import controllers, models + + +def post_init_hook(env): + langs = env["res.lang"].search([("active", "=", True), ("code", "!=", "en_US")]).mapped("code") + if langs: + module = env["ir.module.module"].search([("name", "=", "web_diagram")]) + module._update_translations(filter_lang=langs) diff --git a/web_diagram/__manifest__.py b/web_diagram/__manifest__.py new file mode 100644 index 000000000000..2cf888eeaa92 --- /dev/null +++ b/web_diagram/__manifest__.py @@ -0,0 +1,35 @@ +# Copyright 2024 TechnoLibre - Manel Guechetouli +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +{ + "name": "Odoo Web Diagram", + "version": "18.0.1.0.0", + "category": "Hidden", + "summary": "Interactive diagram view for Odoo using Cytoscape.js", + "author": "TechnoLibre, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web", + "license": "LGPL-3", + "depends": ["web"], + "post_init_hook": "post_init_hook", + "data": [ + "security/ir.model.access.csv", + "views/diagram_nav_help_views.xml", + ], + "assets": { + "web.assets_backend": [ + "web_diagram/static/lib/js/cytoscape.min.js", + "web_diagram/static/lib/js/dagre.min.js", + "web_diagram/static/lib/js/cytoscape-dagre.min.js", + "web_diagram/static/src/scss/diagram_view.scss", + "web_diagram/static/src/js/diagram_model.js", + "web_diagram/static/src/js/diagram_controller.js", + "web_diagram/static/src/js/diagram_renderer.js", + "web_diagram/static/src/js/diagram_view.js", + "web_diagram/static/src/xml/base_diagram.xml", + ], + "web.assets_unit_tests": [ + "web_diagram/static/tests/diagram_tests.js", + ], + }, + "auto_install": True, +} diff --git a/web_diagram/controllers/__init__.py b/web_diagram/controllers/__init__.py new file mode 100644 index 000000000000..80ee4da1c5ec --- /dev/null +++ b/web_diagram/controllers/__init__.py @@ -0,0 +1,3 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import main diff --git a/web_diagram/controllers/main.py b/web_diagram/controllers/main.py new file mode 100644 index 000000000000..67008f1ee4ac --- /dev/null +++ b/web_diagram/controllers/main.py @@ -0,0 +1,194 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from collections import deque + +import odoo.http as http + +from odoo.tools.safe_eval import safe_eval + +# Spacing between nodes +NODE_W = 150 # horizontal gap between nodes +NODE_H = 110 # vertical gap between levels +MAX_COLS = 8 # max nodes per row before wrapping within a level + + +def _parse_key_value_spec(spec_str): + """Parse a semicolon-separated list of 'key:value' pairs into a dict. + Malformed pairs (missing colon) are silently skipped. + """ + result = {} + for item in (spec_str or '').split(';'): + if ':' in item: + key, value = item.split(':', 1) + result[key] = value + return result + + +def _tree_layout(nodes, transitions): + """Compact top-down tree layout. + + - Parents appear above their children. + - Siblings of the same parent are grouped together horizontally. + - Each depth level is capped at MAX_COLS columns; extra nodes wrap to + a sub-row within the same level (vertical scroll only, no wide canvas). + - Isolated nodes (no edges) are placed at the very bottom. + """ + # Build children map and track which nodes have a parent + children = {} + has_parent = set() + + for _tr_id, (src_id, dst_id) in transitions.items(): + src_str = str(src_id) + dst_str = str(dst_id) + children.setdefault(src_str, []) + if dst_str not in children[src_str]: + children[src_str].append(dst_str) + has_parent.add(dst_str) + + all_ids = set(nodes.keys()) + roots = [nid for nid in all_ids if nid not in has_parent] + + # BFS to build depth and BFS order (siblings grouped by parent) + depth = {} + visited = set() + queue = deque() + for root in roots: + depth[root] = 0 + queue.append(root) + visited.add(root) + + bfs_order = [] + while queue: + nid = queue.popleft() + bfs_order.append(nid) + for child in children.get(nid, []): + if child not in visited: + visited.add(child) + depth[child] = depth[nid] + 1 + queue.append(child) + + # Group nodes by depth level, preserving BFS order + # (so siblings of the same parent are consecutive) + levels = {} + for nid in bfs_order: + d = depth[nid] + levels.setdefault(d, []) + levels[d].append(nid) + + # Assign positions level by level + current_y = 0 + for d in sorted(levels.keys()): + level_nodes = levels[d] + n_rows = max(1, (len(level_nodes) + MAX_COLS - 1) // MAX_COLS) + + for i, nid in enumerate(level_nodes): + col = i % MAX_COLS + wrap_row = i // MAX_COLS + nodes[nid]['x'] = col * NODE_W + nodes[nid]['y'] = current_y + wrap_row * NODE_H + + # Advance y by: one main level gap + extra rows within this level + current_y += NODE_H * n_rows + + # Place isolated nodes (not reachable from any root) at the bottom + unplaced = [nid for nid in all_ids if nid not in visited] + for i, nid in enumerate(unplaced): + nodes[nid]['x'] = (i % MAX_COLS) * NODE_W + nodes[nid]['y'] = current_y + NODE_H + + return nodes + + +class DiagramView(http.Controller): + + @http.route('/web_diagram/diagram/get_diagram_info', type='json', auth='user') + def get_diagram_info(self, id, model, node, connector, + src_node, des_node, label, **kw): + + visible_node_fields = kw.get('visible_node_fields', []) + invisible_node_fields = kw.get('invisible_node_fields', []) + node_fields_string = kw.get('node_fields_string', []) + connector_fields = kw.get('connector_fields', []) + connector_fields_string = kw.get('connector_fields_string', []) + + bgcolors = _parse_key_value_spec(kw.get('bgcolor', '')) + shapes = _parse_key_value_spec(kw.get('shape', '')) + + ir_view = http.request.env['ir.ui.view'] + graphs = ir_view.graph_get(int(id), model, node, connector, src_node, + des_node, label, (NODE_W, NODE_H)) + nodes = graphs['nodes'] + transitions = graphs['transitions'] + isolate_nodes = { + blnk_node['id']: blnk_node + for blnk_node in graphs['blank_nodes'] + } + y = [t['y'] for t in nodes.values() if t['x'] == 20 and t['y']] + y_max = (y and max(y)) or 120 + + connectors = {} + list_tr = list(transitions.keys()) + + for tr in transitions: + connectors.setdefault(tr, { + 'id': int(tr), + 's_id': transitions[tr][0], + 'd_id': transitions[tr][1] + }) + + connector_model = http.request.env[connector] + data_connectors = connector_model.search([('id', 'in', list_tr)]).read(connector_fields) + + for tr in data_connectors: + transition_id = str(tr['id']) + label = graphs['label'][transition_id][1] + t = connectors[transition_id] + t.update( + source=tr[src_node][1], + destination=tr[des_node][1], + options={}, + signal=label + ) + + for i, fld in enumerate(connector_fields): + t['options'][connector_fields_string[i]] = tr[fld] + + fields = http.request.env['ir.model.fields'] + field = fields.search([('model', '=', model), ('relation', '=', node)], limit=1) + node_act = http.request.env[node] + if field and field.relation_field: + search_acts = node_act.search([(field.relation_field, '=', id)]) + else: + search_acts = node_act.browse() + data_acts = search_acts.read(invisible_node_fields + visible_node_fields) + + for act in data_acts: + act_id_str = str(act['id']) + n = nodes.get(act_id_str) + if not n: + n = isolate_nodes.get(act['id'], {}) + y_max += NODE_H + n.update(x=20, y=y_max) + nodes[act_id_str] = n + + n.update(id=act['id'], color='white', options={}) + + for color, expr in bgcolors.items(): + if safe_eval(expr, act): + n['color'] = color + + for shape, expr in shapes.items(): + if safe_eval(expr, act): + n['shape'] = shape + + for i, fld in enumerate(visible_node_fields): + n['options'][node_fields_string[i]] = act[fld] + + # Apply compact hierarchical layout + nodes = _tree_layout(nodes, transitions) + + name = http.request.env[model].browse(id).display_name + return dict(nodes=nodes, + conn=connectors, + display_name=name, + parent_field=graphs['node_parent_field']) diff --git a/web_diagram/i18n/af.po b/web_diagram/i18n/af.po new file mode 100644 index 000000000000..6fc1afb00fba --- /dev/null +++ b/web_diagram/i18n/af.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-08-25 10:26+0000\n" +"Last-Translator: <>\n" +"Language-Team: Afrikaans (http://www.transifex.com/odoo/odoo-9/language/" +"af/)\n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Aktiwiteit" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuwe" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/am.po b/web_diagram/i18n/am.po new file mode 100644 index 000000000000..887435258eb1 --- /dev/null +++ b/web_diagram/i18n/am.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Amharic (http://www.transifex.com/odoo/odoo-9/language/am/)\n" +"Language: am\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "አዲስ" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/ar.po b/web_diagram/i18n/ar.po new file mode 100644 index 000000000000..6f6a2a49f496 --- /dev/null +++ b/web_diagram/i18n/ar.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Akram Alfusayal , 2019 +# Martin Trigaux, 2019 +# Shaima Safar , 2019 +# Malaz Abuidris , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Malaz Abuidris , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "النشاط" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "إنشاء:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "الرسم التخطيطي" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "طرف جديد" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "فتح: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "انتقال" diff --git a/web_diagram/i18n/az.po b/web_diagram/i18n/az.po new file mode 100644 index 000000000000..d1319fab326d --- /dev/null +++ b/web_diagram/i18n/az.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# erpgo translator , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: erpgo translator , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Fəaliyyət" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Keçmə" diff --git a/web_diagram/i18n/az_AZ.po b/web_diagram/i18n/az_AZ.po new file mode 100644 index 000000000000..7dc4fa1afe7b --- /dev/null +++ b/web_diagram/i18n/az_AZ.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Language-Team: Azerbaijani (Azerbaijan) (https://www.transifex.com/odoo/teams/41243/az_AZ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: az_AZ\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/bg.po b/web_diagram/i18n/bg.po new file mode 100644 index 000000000000..351c3dcd88c2 --- /dev/null +++ b/web_diagram/i18n/bg.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# aleksandar ivanov, 2020 +# Albena Mincheva , 2020 +# Maria Boyadjieva , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Maria Boyadjieva , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Дейност" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Създайте:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Диаграма" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Нов възел" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Преход" diff --git a/web_diagram/i18n/bn.po b/web_diagram/i18n/bn.po new file mode 100644 index 000000000000..5842adf88b23 --- /dev/null +++ b/web_diagram/i18n/bn.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Martin Trigaux, 2020\n" +"Language-Team: Bengali (https://www.transifex.com/odoo/teams/41243/bn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "কর্মকাণ্ড" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "তৈরি করুন:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "নকশা" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "নতুন সংযোগস্থল" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "পরিবর্তন" diff --git a/web_diagram/i18n/bs.po b/web_diagram/i18n/bs.po new file mode 100644 index 000000000000..1f537bb66900 --- /dev/null +++ b/web_diagram/i18n/bs.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# Igor Krizanovic , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Igor Krizanovic , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivnost" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Kreiraj:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Dijagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novi čvor" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Otvori:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Prelaz" diff --git a/web_diagram/i18n/ca.po b/web_diagram/i18n/ca.po new file mode 100644 index 000000000000..b3abf8fa13df --- /dev/null +++ b/web_diagram/i18n/ca.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# Marc Tormo i Bochaca , 2020 +# Quim - eccit , 2020 +# Farouk Jabiri, 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Farouk Jabiri, 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Activitat" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Crea" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Node nou" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Obrir:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transició" diff --git a/web_diagram/i18n/cs.po b/web_diagram/i18n/cs.po new file mode 100644 index 000000000000..4cb5d5b0a3ec --- /dev/null +++ b/web_diagram/i18n/cs.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Michal Veselý , 2019 +# trendspotter , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: trendspotter , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Činnost" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Opravdu chcete tento uzel odstranit? Tímto odstraníte také propojené " +"přechody." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Opravdu chcete tento přechod odstranit?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Vytvořit:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nový uzel" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Otevřít:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Přechod" diff --git a/web_diagram/i18n/da.po b/web_diagram/i18n/da.po new file mode 100644 index 000000000000..232818b2349c --- /dev/null +++ b/web_diagram/i18n/da.po @@ -0,0 +1,87 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Sanne Kristensen , 2019 +# lhmflexerp , 2019 +# Mads Søndergaard, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Mads Søndergaard, 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivitet" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Er du sikker på du vil fjerne dette knudepunkt ? Dette vil også fjerne dens " +"forbundne overgange. " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Er du sikker på du vil fjerne denne overgang?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Opret:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Ny side" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Åben:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Overgang" diff --git a/web_diagram/i18n/de.po b/web_diagram/i18n/de.po new file mode 100644 index 000000000000..940e2f3fa89c --- /dev/null +++ b/web_diagram/i18n/de.po @@ -0,0 +1,87 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# e2f , 2019 +# Martin Trigaux, 2019 +# darenkster , 2019 +# Katharina Moritz , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Katharina Moritz , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivität" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Möchten Sie diesen Knoten wirklich entfernen? Dadurch werden alle " +"zugehörigen Übergänge ebenfalls entfernt." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Sind Sie sicher, dass Sie diesen Übergang entfernen möchten?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Anlegen:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramm" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Neuer Knoten" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Öffnen:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Übergang" diff --git a/web_diagram/i18n/el.po b/web_diagram/i18n/el.po new file mode 100644 index 000000000000..8fa53921b257 --- /dev/null +++ b/web_diagram/i18n/el.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Kostas Goutoudis , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Kostas Goutoudis , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Δραστηριότητα" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Είστε βέβαιοι ότι θέλετε να καταργήσετε αυτόν τον κόμβο; Αυτό θα αφαιρέσει " +"επίσης τις συνδεδεμένες μεταβάσεις του." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Είστε βέβαιοι ότι θέλετε να καταργήσετε αυτήν τη μετάβαση;" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Δημιουργία:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Διάγραμμα" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Νέος Κόμβος" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Άνοιγμα:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Ροή" diff --git a/web_diagram/i18n/en_AU.po b/web_diagram/i18n/en_AU.po new file mode 100644 index 000000000000..8835c64f883a --- /dev/null +++ b/web_diagram/i18n/en_AU.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: English (Australia) (http://www.transifex.com/odoo/odoo-9/" +"language/en_AU/)\n" +"Language: en_AU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Activity" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Create:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "New" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "New Node" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Open: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transition" diff --git a/web_diagram/i18n/en_GB.po b/web_diagram/i18n/en_GB.po new file mode 100644 index 000000000000..c89894ccb8c1 --- /dev/null +++ b/web_diagram/i18n/en_GB.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/odoo/" +"odoo-9/language/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Activity" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Create:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "New" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "New Node" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Open: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transition" diff --git a/web_diagram/i18n/es.po b/web_diagram/i18n/es.po new file mode 100644 index 000000000000..05f299aea832 --- /dev/null +++ b/web_diagram/i18n/es.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# e2f , 2019 +# Martin Trigaux, 2019 +# Luis M. Ontalba , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Luis M. Ontalba , 2019\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=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"¿Seguro que quiere eliminar este nodo? Si lo hace, también se eliminarán sus" +" transiciones conectadas." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "¿Seguro que desea eliminar esta transición?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Abrir:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_BO.po b/web_diagram/i18n/es_BO.po new file mode 100644 index 000000000000..6a8b6f5ec1ad --- /dev/null +++ b/web_diagram/i18n/es_BO.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-08-25 10:26+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (Bolivia) (http://www.transifex.com/odoo/odoo-9/" +"language/es_BO/)\n" +"Language: es_BO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/es_CL.po b/web_diagram/i18n/es_CL.po new file mode 100644 index 000000000000..a8f012e71eae --- /dev/null +++ b/web_diagram/i18n/es_CL.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CL/)\n" +"Language: es_CL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"La eliminación de este nodo no puede ser desecha.\n" +"¿Está Seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"La eliminación de esta transacción no puede ser desecha.\n" +"¿Está Seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_CO.po b/web_diagram/i18n/es_CO.po new file mode 100644 index 000000000000..4033586fb3ca --- /dev/null +++ b/web_diagram/i18n/es_CO.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Mateo Tibaquirá , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-11-26 23:18+0000\n" +"Last-Translator: Mateo Tibaquirá \n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CO/)\n" +"Language: es_CO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"No se puede deshacer la eliminación de este nodo.\n" +"También se eliminarán todas las transiciones conectadas.\n" +"\n" +"Está seguro/a?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"No se puede deshacer la eliminación de esta transición.\n" +"\n" +"Está seguro/a?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo(a)" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_CR.po b/web_diagram/i18n/es_CR.po new file mode 100644 index 000000000000..0518bb3aa331 --- /dev/null +++ b/web_diagram/i18n/es_CR.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Costa Rica) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_DO.po b/web_diagram/i18n/es_DO.po new file mode 100644 index 000000000000..cf9d6655145b --- /dev/null +++ b/web_diagram/i18n/es_DO.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Dominican Republic) (http://www.transifex.com/odoo/" +"odoo-9/language/es_DO/)\n" +"Language: es_DO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Eliminar este nodo no se puede deshacer.\n" +"Asimismo, se eliminarán todas las transacciones conectadas.\n" +"\n" +"¿Estás seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Eliminar esta transición no se puede deshacer.\n" +"\n" +"¿Estás seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_EC.po b/web_diagram/i18n/es_EC.po new file mode 100644 index 000000000000..a66b93e1beb7 --- /dev/null +++ b/web_diagram/i18n/es_EC.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Ecuador) (http://www.transifex.com/odoo/odoo-9/" +"language/es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Borrando esta transición no podrá recuparala.\n" +"\n" +"Está seguro ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_PE.po b/web_diagram/i18n/es_PE.po new file mode 100644 index 000000000000..e2d577faf599 --- /dev/null +++ b/web_diagram/i18n/es_PE.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Carlos Eduardo Rodriguez Rossi , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2016-06-16 19:10+0000\n" +"Last-Translator: Carlos Eduardo Rodriguez Rossi \n" +"Language-Team: Spanish (Peru) (http://www.transifex.com/odoo/odoo-9/language/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"No se puede deshacer la eliminación de este nodo.\n" +"También se eliminarán todas las transiciones conectadas.\n" +"\n" +"¿Está seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"No se puede deshacer la eliminación de esta transición.\n" +"\n" +"¿Está seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuevo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abierto:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/es_PY.po b/web_diagram/i18n/es_PY.po new file mode 100644 index 000000000000..7a1f4dc315d6 --- /dev/null +++ b/web_diagram/i18n/es_PY.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Paraguay) (http://www.transifex.com/odoo/odoo-9/" +"language/es_PY/)\n" +"Language: es_PY\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/es_VE.po b/web_diagram/i18n/es_VE.po new file mode 100644 index 000000000000..7bfd52ad30f8 --- /dev/null +++ b/web_diagram/i18n/es_VE.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:28+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Venezuela) (http://www.transifex.com/odoo/odoo-9/" +"language/es_VE/)\n" +"Language: es_VE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividad" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nuevo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/et.po b/web_diagram/i18n/et.po new file mode 100644 index 000000000000..1e8f8758206e --- /dev/null +++ b/web_diagram/i18n/et.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Rivo Zängov , 2020 +# Martin Trigaux, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Martin Trigaux, 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Tegevus" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Loo:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramm" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Uus sõlm" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Ava:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Siire" diff --git a/web_diagram/i18n/eu.po b/web_diagram/i18n/eu.po new file mode 100644 index 000000000000..2e8f7dc120bb --- /dev/null +++ b/web_diagram/i18n/eu.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Esther Martín Menéndez , 2020 +# Maialen Rodriguez , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Maialen Rodriguez , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Jarduera" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Ziur nodo hau ezabatu nahi duzula? Honek konektatutako trantsizioak ere " +"kendu egingo ditu." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Ziur al zaude trantsizio hau ezabatu nahi duzula?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Sortu:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nodo Berria" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Ireki:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transizioa" diff --git a/web_diagram/i18n/fa.po b/web_diagram/i18n/fa.po new file mode 100644 index 000000000000..61da731e4c28 --- /dev/null +++ b/web_diagram/i18n/fa.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Martin Trigaux, 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "فعالیت" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "ایجاد" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "دیاگرام" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "گره جدید" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "گذار" diff --git a/web_diagram/i18n/fi.po b/web_diagram/i18n/fi.po new file mode 100644 index 000000000000..cd9940a15a9c --- /dev/null +++ b/web_diagram/i18n/fi.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Tuomo Aura , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Tuomo Aura , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Toimenpide" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Luo:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Kaavio" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Uusi Noodi" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Siirtymä" diff --git a/web_diagram/i18n/fr.po b/web_diagram/i18n/fr.po new file mode 100644 index 000000000000..986e9307b3cb --- /dev/null +++ b/web_diagram/i18n/fr.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# e2f , 2019 +# Martin Trigaux, 2019 +# Lucas Deliege , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Lucas Deliege , 2019\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=2; plural=(n > 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Activité" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Voulez-vous vraiment supprimer ce nœud ? Ses transitions associées seront " +"également supprimées." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Voulez-vous vraiment supprimer cette transition ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Créer:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramme" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nouvelle activité" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Ouvrir :" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transition" + +#. module: web_diagram +#: model_terms:ir.ui.view,arch_db:web_diagram.view_web_diagram_nav_help_form +msgid "Got it!" +msgstr "Compris !" diff --git a/web_diagram/i18n/fr_BE.po b/web_diagram/i18n/fr_BE.po new file mode 100644 index 000000000000..6b4d664668bc --- /dev/null +++ b/web_diagram/i18n/fr_BE.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: French (Belgium) (http://www.transifex.com/odoo/odoo-9/" +"language/fr_BE/)\n" +"Language: fr_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nouveau" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/fr_CA.po b/web_diagram/i18n/fr_CA.po new file mode 100644 index 000000000000..fb60dfb587d3 --- /dev/null +++ b/web_diagram/i18n/fr_CA.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-08-25 10:26+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (Canada) (http://www.transifex.com/odoo/odoo-9/" +"language/fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nouveau" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" + +#. module: web_diagram +#: model_terms:ir.ui.view,arch_db:web_diagram.view_web_diagram_nav_help_form +msgid "Got it!" +msgstr "Compris !" diff --git a/web_diagram/i18n/gl.po b/web_diagram/i18n/gl.po new file mode 100644 index 000000000000..8692b0563340 --- /dev/null +++ b/web_diagram/i18n/gl.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Galician (http://www.transifex.com/odoo/odoo-9/language/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Actividade" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Crear:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"O borrado deste nodo non se poderá desfacer.\n" +"Tamén borrará tódalas transicións conectadas.\n" +"\n" +"¿Está seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"O borrado desta transición non se poderá desfacer.\n" +"\n" +"Está seguro?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Novo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novo nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Transición" diff --git a/web_diagram/i18n/gu.po b/web_diagram/i18n/gu.po new file mode 100644 index 000000000000..bba76a58c14e --- /dev/null +++ b/web_diagram/i18n/gu.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Martin Trigaux, 2021\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "પ્રવૃત્તિ" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/he.po b/web_diagram/i18n/he.po new file mode 100644 index 000000000000..4ea90602ccf2 --- /dev/null +++ b/web_diagram/i18n/he.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Yihya Hugirat , 2019 +# ZVI BLONDER , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: ZVI BLONDER , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "פעילות" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"האם אתה בטוח שברצונך להסיר את הצומת הזה? פעולה זו תסיר גם את המעברים " +"המחוברים אליו." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "האם אתה בטוח שברצונך להסיר את המעבר הזה?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "צור:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "תרשים" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "צומת חדש" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "פתוח:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "מעבר" diff --git a/web_diagram/i18n/hi.po b/web_diagram/i18n/hi.po new file mode 100644 index 000000000000..a3068bf5d055 --- /dev/null +++ b/web_diagram/i18n/hi.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Hindi (http://www.transifex.com/odoo/odoo-9/language/hi/)\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "नया" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "खोलने के लिए " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/hr.po b/web_diagram/i18n/hr.po new file mode 100644 index 000000000000..3f809d86f5e0 --- /dev/null +++ b/web_diagram/i18n/hr.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Bole , 2019 +# Đurđica Žarković , 2019 +# Karolina Tonković , 2019 +# Igor Krizanovic , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Igor Krizanovic , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivnost" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Kreiraj:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Dijagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novi čvor" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Otvori:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Tranzicija" diff --git a/web_diagram/i18n/hu.po b/web_diagram/i18n/hu.po new file mode 100644 index 000000000000..3a47f322fa3c --- /dev/null +++ b/web_diagram/i18n/hu.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# krnkris, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: krnkris, 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Tevékenység" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Létrehoz:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Új csomópont" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Átmenet" diff --git a/web_diagram/i18n/hy.po b/web_diagram/i18n/hy.po new file mode 100644 index 000000000000..ac659cbc89ca --- /dev/null +++ b/web_diagram/i18n/hy.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Armenian (http://www.transifex.com/odoo/odoo-9/language/hy/)\n" +"Language: hy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Գործունեություն" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/id.po b/web_diagram/i18n/id.po new file mode 100644 index 000000000000..ede4edf7e5c4 --- /dev/null +++ b/web_diagram/i18n/id.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Muhammad Herdiansyah , 2019 +# Abe Manyo, 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Abe Manyo, 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivitas" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Buat :" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Node baru" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Buka:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transisi" diff --git a/web_diagram/i18n/is.po b/web_diagram/i18n/is.po new file mode 100644 index 000000000000..b5122e643652 --- /dev/null +++ b/web_diagram/i18n/is.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Bjorn Ingvarsson , 2018 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Bjorn Ingvarsson , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Virkni" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transition" diff --git a/web_diagram/i18n/it.po b/web_diagram/i18n/it.po new file mode 100644 index 000000000000..fcfb85f8a74c --- /dev/null +++ b/web_diagram/i18n/it.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Francesco Garganese , 2019 +# Paolo Valier, 2019 +# Sergio Zanchetta , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Sergio Zanchetta , 2020\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=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Attività" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Eliminare veramente questo nodo? Verranno rimosse anche le transizioni " +"collegate." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Rimuovere veramente questa transizione?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Crea:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramma" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nuovo nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Apri:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transizione" diff --git a/web_diagram/i18n/ja.po b/web_diagram/i18n/ja.po new file mode 100644 index 000000000000..d7bdc56aee00 --- /dev/null +++ b/web_diagram/i18n/ja.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Yoshi Tashiro , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Yoshi Tashiro , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "活動" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "作成:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "ダイアグラム" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "新規ノード" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "オープン:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "遷移" diff --git a/web_diagram/i18n/ka.po b/web_diagram/i18n/ka.po new file mode 100644 index 000000000000..6a7b1e3fde69 --- /dev/null +++ b/web_diagram/i18n/ka.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Georgian (http://www.transifex.com/odoo/odoo-9/language/ka/)\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "აქტივობა" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "შექმნა:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"აღნიშნული კვანძის წაშლა ვერ დაბრუნდება უკან.\n" +"იგი ასევე წაშლის დაკავშირებულ გარდაქმნებს.\n" +"\n" +"დარწმუნებული ხართ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"აღნიშნული გარდაქმნის წაშლის ოპერაცია უკან ვერ შებრუნდება.\n" +"\n" +"დარწმუნებული ხართ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "დიაგრამა" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "ახალი" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "ახალი კვანძი" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "ღია: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "გარდაქმნა" diff --git a/web_diagram/i18n/kab.po b/web_diagram/i18n/kab.po new file mode 100644 index 000000000000..d29d01690894 --- /dev/null +++ b/web_diagram/i18n/kab.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Kabyle (http://www.transifex.com/odoo/odoo-9/language/kab/)\n" +"Language: kab\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Armud" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Rnu:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Amaynut" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Lli: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Asaka" diff --git a/web_diagram/i18n/kk.po b/web_diagram/i18n/kk.po new file mode 100644 index 000000000000..2769e4e4b3e2 --- /dev/null +++ b/web_diagram/i18n/kk.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Kazakh (http://www.transifex.com/odoo/odoo-9/language/kk/)\n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Ісі" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/km.po b/web_diagram/i18n/km.po new file mode 100644 index 000000000000..80242a2225ea --- /dev/null +++ b/web_diagram/i18n/km.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Sengtha Chay , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Sengtha Chay , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "សកម្មភាព" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/ko.po b/web_diagram/i18n/ko.po new file mode 100644 index 000000000000..7cf651d38bb0 --- /dev/null +++ b/web_diagram/i18n/ko.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Link Up링크업 , 2019 +# Seongseok Shin , 2019 +# JH CHOI , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: JH CHOI , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "활동" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "이 노드를 제거하시겠습니까? 제거하시면, 연결된 화면 전환도 함께 제거됩니다." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "이 화면전환을 제거하시겠습니까?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "생성 :" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "도표" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "신규 노드" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "열기 : " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "화면 전환" diff --git a/web_diagram/i18n/lb.po b/web_diagram/i18n/lb.po new file mode 100644 index 000000000000..73977594fad9 --- /dev/null +++ b/web_diagram/i18n/lb.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/lo.po b/web_diagram/i18n/lo.po new file mode 100644 index 000000000000..6b0360a82784 --- /dev/null +++ b/web_diagram/i18n/lo.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# ສີສຸວັນ ສັງບົວບຸລົມ , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: ສີສຸວັນ ສັງບົວບຸລົມ , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "ກິດຈະກຳ" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/lt.po b/web_diagram/i18n/lt.po new file mode 100644 index 000000000000..19c60826b6f3 --- /dev/null +++ b/web_diagram/i18n/lt.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Linas Versada , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Linas Versada , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Veikla" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Ar tikrai norite pašalinti šį mazgą? Tai taip pat pašalins juo sujungtus " +"perėjimus." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Ar tikrai norite pašalinti šį perėjimą?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Sukurti:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Naujas mazgas" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Atidaryti: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Perėjimas" diff --git a/web_diagram/i18n/lv.po b/web_diagram/i18n/lv.po new file mode 100644 index 000000000000..c859d0319d62 --- /dev/null +++ b/web_diagram/i18n/lv.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Arnis Putniņš , 2019 +# JanisJanis , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: JanisJanis , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivitāte" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Izveidot: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramma" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transition" diff --git a/web_diagram/i18n/mk.po b/web_diagram/i18n/mk.po new file mode 100644 index 000000000000..391c08ca59d2 --- /dev/null +++ b/web_diagram/i18n/mk.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:27+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Macedonian (http://www.transifex.com/odoo/odoo-9/language/" +"mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Активност" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Креирај:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Избришаниот јазол не може да се врати.\n" +"Ова ќе ги избрише сите поврзани премини.\n" +"\n" +"Дали си сигурен ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Избришаната транзиција не може да се врати.\n" +"\n" +"Дали си сигурен ?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Дијаграм" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Ново" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Нов јазол" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Отвори: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Преод" diff --git a/web_diagram/i18n/ml.po b/web_diagram/i18n/ml.po new file mode 100644 index 000000000000..285865d7ddbb --- /dev/null +++ b/web_diagram/i18n/ml.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Language-Team: Malayalam (https://www.transifex.com/odoo/teams/41243/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/mn.po b/web_diagram/i18n/mn.po new file mode 100644 index 000000000000..ed0572fb2b48 --- /dev/null +++ b/web_diagram/i18n/mn.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Martin Trigaux, 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Ажилбар" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Үүсгэх" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Диаграм" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Шинэ Зангилаа" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Шилжилт" diff --git a/web_diagram/i18n/my.po b/web_diagram/i18n/my.po new file mode 100644 index 000000000000..13a83c6cc714 --- /dev/null +++ b/web_diagram/i18n/my.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\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: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/nb.po b/web_diagram/i18n/nb.po new file mode 100644 index 000000000000..82dae7d61f90 --- /dev/null +++ b/web_diagram/i18n/nb.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Jorunn D. Newth, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Jorunn D. Newth, 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivitet" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Er du sikker på at du vil fjerne denne noden? Det vil fjerne de tilknyttede " +"overgangene også." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Er du sikker på at du vil fjerne denne overgangen?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Opprett:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Ny node" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Åpne:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Overgang" diff --git a/web_diagram/i18n/nl.po b/web_diagram/i18n/nl.po new file mode 100644 index 000000000000..e80451e03c1b --- /dev/null +++ b/web_diagram/i18n/nl.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Yenthe Van Ginneken , 2019 +# Cas Vissers , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Cas Vissers , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Activiteit" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Bent u zeker dat u dit knooppunt wil verwijderen? Dit verwijdert ook alle " +"verbonden overgangen." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Weet u zeker dat u deze transactie wil verwijderen?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Aanmaken:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nieuw knooppunt" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Open: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Overgang" diff --git a/web_diagram/i18n/nl_BE.po b/web_diagram/i18n/nl_BE.po new file mode 100644 index 000000000000..822c3e682583 --- /dev/null +++ b/web_diagram/i18n/nl_BE.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Dutch (Belgium) (http://www.transifex.com/odoo/odoo-9/" +"language/nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "Activiteit" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "Maken:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Het verwijderen van dit knooppunt kan niet ongedaan worden gemaakt.\n" +"Ook alle gekoppelde overgangen zullen hiermee worden verwijderd.\n" +"\n" +"Bent u zeker?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Het verwijderen van deze overgang kan niet ongedaan worden gemaakt.\n" +"\n" +"Bent u zeker?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "Nieuw" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nieuw knooppunt" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "Openen: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "Overgang" diff --git a/web_diagram/i18n/pl.po b/web_diagram/i18n/pl.po new file mode 100644 index 000000000000..7f649eb59225 --- /dev/null +++ b/web_diagram/i18n/pl.po @@ -0,0 +1,88 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Grzegorz Grzelak , 2019 +# Tomasz Leppich , 2019 +# Piotr Szlązak , 2019 +# Paweł Wodyński , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Paweł Wodyński , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Czynność" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Czy na pewno chcesz usunąć ten węzeł? Spowoduje to również usunięcie " +"połączonych przejść." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Czy na pewno chcesz usunąć to przejście?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Utwórz:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nowy węzeł" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Otwórz:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Przejście" diff --git a/web_diagram/i18n/pt.po b/web_diagram/i18n/pt.po new file mode 100644 index 000000000000..2da122c29311 --- /dev/null +++ b/web_diagram/i18n/pt.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Manuela Silva , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Manuela Silva , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Atividade" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Tem a certeza que pretende remover este nodo? Isto também irá remover as " +"transições ligadas." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Tem a certeza que pretende remover esta transição?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Criar:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novo Nodo" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Abrir: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transição" diff --git a/web_diagram/i18n/pt_BR.po b/web_diagram/i18n/pt_BR.po new file mode 100644 index 000000000000..54dff37cae3d --- /dev/null +++ b/web_diagram/i18n/pt_BR.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Mateus Lopes , 2019 +# Luiz Fernando Gondin , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Luiz Fernando Gondin , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Atividade" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Você tem certeza que deseja remover este nó? Isto também irá remover todas " +"as transições conectadas." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Você tem certeza que deseja remover esta transição?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Criar:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagrama" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novo Nó" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Aberto:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transição" diff --git a/web_diagram/i18n/ro.po b/web_diagram/i18n/ro.po new file mode 100644 index 000000000000..84259ed8bed4 --- /dev/null +++ b/web_diagram/i18n/ro.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Dorin Hongu , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Dorin Hongu , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Activitate" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Creează: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagramă" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nod Nou" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Deschide:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Tranzitie" diff --git a/web_diagram/i18n/ru.po b/web_diagram/i18n/ru.po new file mode 100644 index 000000000000..fe5dff4c0abc --- /dev/null +++ b/web_diagram/i18n/ru.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Ivan Yelizariev , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Ivan Yelizariev , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Мероприятие" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Вы уверены, что хотите удалить этот узел? Это также приведет к удалению его " +"связанных переходов." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Вы уверены, что хотите удалить этот переход?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Создать:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Диаграмма" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Новый узел" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "открыть:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Переход" diff --git a/web_diagram/i18n/sk.po b/web_diagram/i18n/sk.po new file mode 100644 index 000000000000..92ca1ac6eb3b --- /dev/null +++ b/web_diagram/i18n/sk.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Matus Krnac , 2019 +# Jaroslav Bosansky , 2019 +# Jan Prokop, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Jan Prokop, 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivita" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Naozaj chcete odstrániť tento uzol? Toto tiež odstráni pripojené prechody." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Naozaj chcete odstrániť tento prechod?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Vytvoriť:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Nový uzol" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Otvoriť:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Prechod" diff --git a/web_diagram/i18n/sl.po b/web_diagram/i18n/sl.po new file mode 100644 index 000000000000..bded3f3a7c04 --- /dev/null +++ b/web_diagram/i18n/sl.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# Matjaz Mozetic , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Matjaz Mozetic , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivnost" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Ustvari:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novo vozlišče" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Prehod" diff --git a/web_diagram/i18n/sr.po b/web_diagram/i18n/sr.po new file mode 100644 index 000000000000..086dcc83c785 --- /dev/null +++ b/web_diagram/i18n/sr.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Slobodan Simić , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Slobodan Simić , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Активност" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Dijagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Prelaz" diff --git a/web_diagram/i18n/sr@latin.po b/web_diagram/i18n/sr@latin.po new file mode 100644 index 000000000000..1a8183a57bda --- /dev/null +++ b/web_diagram/i18n/sr@latin.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.saas~18\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-20 09:54+0000\n" +"PO-Revision-Date: 2017-09-20 09:54+0000\n" +"Last-Translator: Martin Trigaux , 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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivnost" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Kreiraj:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Dijagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Novi Čvor" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Tranzicija" diff --git a/web_diagram/i18n/sv.po b/web_diagram/i18n/sv.po new file mode 100644 index 000000000000..6f1f22c3e115 --- /dev/null +++ b/web_diagram/i18n/sv.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivitet" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Skapa:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Ny nod" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Övergång" diff --git a/web_diagram/i18n/th.po b/web_diagram/i18n/th.po new file mode 100644 index 000000000000..1078391f8ab8 --- /dev/null +++ b/web_diagram/i18n/th.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2020 +# gsong , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: gsong , 2020\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "กิจกรรม" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "สร้าง" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "ไดอะแกรม" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "สร้างโหนดใหม่" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "เปิด:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "การเปลี่ยนแปลง" diff --git a/web_diagram/i18n/tr.po b/web_diagram/i18n/tr.po new file mode 100644 index 000000000000..68b5af005913 --- /dev/null +++ b/web_diagram/i18n/tr.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# Murat Kaplan , 2019 +# Umur Akın , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Umur Akın , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Aktivite" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Bu düğümü kaldırmak istediğinizden emin misiniz? Bu bağlı geçişleri de " +"kaldıracaktır." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Bu geçişi kaldırmak istediğinize emin misiniz?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Oluştur:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Diyagram" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Yeni Düğüm" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Aç:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Geçiş" diff --git a/web_diagram/i18n/ug.po b/web_diagram/i18n/ug.po new file mode 100644 index 000000000000..002e526f2141 --- /dev/null +++ b/web_diagram/i18n/ug.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Language-Team: Uighur (https://www.transifex.com/odoo/teams/41243/ug/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ug\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/uk.po b/web_diagram/i18n/uk.po new file mode 100644 index 000000000000..e5d20a984bc8 --- /dev/null +++ b/web_diagram/i18n/uk.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# ТАрас , 2019 +# Alina Lisnenko , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Alina Lisnenko , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Дія" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" +"Ви впевнені, що хочете видалити цей вузол? Це також призведе до видалення " +"його пов'язаних переходів." + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "Ви впевнені, що хочете видалити цей перехід?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Створити:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Діаграма" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Новий вузол" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Відкрити:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Переміщення" diff --git a/web_diagram/i18n/uz.po b/web_diagram/i18n/uz.po new file mode 100644 index 000000000000..c63b845881fe --- /dev/null +++ b/web_diagram/i18n/uz.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Language-Team: Uzbek (https://www.transifex.com/odoo/teams/41243/uz/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uz\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/vi.po b/web_diagram/i18n/vi.po new file mode 100644 index 000000000000..5d1f7a3929bc --- /dev/null +++ b/web_diagram/i18n/vi.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# fanha99 , 2019 +# Duy BQ , 2019 +# Minh Nguyen , 2019 +# Dung Nguyen Thi , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: Dung Nguyen Thi , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "Hoạt động" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "Tạo:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "Biểu đồ" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "Node Mới" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "Mở: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "Transition" diff --git a/web_diagram/i18n/web_diagram.pot b/web_diagram/i18n/web_diagram.pot new file mode 100644 index 000000000000..ecc85fb5053e --- /dev/null +++ b/web_diagram/i18n/web_diagram.pot @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-12 11:32+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "" + +#. module: web_diagram +#: model_terms:ir.ui.view,arch_db:web_diagram.view_web_diagram_nav_help_form +msgid "Got it!" +msgstr "" diff --git a/web_diagram/i18n/zh_CN.po b/web_diagram/i18n/zh_CN.po new file mode 100644 index 000000000000..657fdba558c2 --- /dev/null +++ b/web_diagram/i18n/zh_CN.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Jeanphy , 2019 +# Martin Trigaux, 2019 +# Jeffery CHEN , 2019 +# bf2549c5415a9287249cba2b8a5823c7, 2019 +# inspur qiuguodong , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: inspur qiuguodong , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "活动" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "你确定要移除这个节点? 这也将移除其连接的转换。" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "你确定要移除这个转换吗?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "创建:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "图表" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "新建:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "打开:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "转换" diff --git a/web_diagram/i18n/zh_HK.po b/web_diagram/i18n/zh_HK.po new file mode 100644 index 000000000000..19f29f94554b --- /dev/null +++ b/web_diagram/i18n/zh_HK.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 09:26+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/odoo/odoo-9/" +"language/zh_HK/)\n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:249 +#: code:addons/web_diagram/static/src/js/diagram.js:277 +#, python-format +msgid "Activity" +msgstr "動態" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:282 +#: code:addons/web_diagram/static/src/js/diagram.js:326 +#, python-format +msgid "Create:" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:220 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:238 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:19 +#, python-format +msgid "Diagram" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:124 +#, python-format +msgid "New" +msgstr "新建" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:254 +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#, python-format +msgid "Open: " +msgstr "" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:305 +#: code:addons/web_diagram/static/src/js/diagram.js:321 +#, python-format +msgid "Transition" +msgstr "" diff --git a/web_diagram/i18n/zh_TW.po b/web_diagram/i18n/zh_TW.po new file mode 100644 index 000000000000..63dc3de062ff --- /dev/null +++ b/web_diagram/i18n/zh_TW.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_diagram +# +# Translators: +# Martin Trigaux, 2019 +# 敬雲 林 , 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:15+0000\n" +"Last-Translator: 敬雲 林 , 2019\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_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Activity" +msgstr "活動" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:192 +#, python-format +msgid "" +"Are you sure you want to remove this node ? This will remove its connected " +"transitions as well." +msgstr "您確定要刪除這個節點? 這也將刪除其連接的轉換。" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:172 +#, python-format +msgid "Are you sure you want to remove this transition?" +msgstr "您確定要刪除這個轉換嗎?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:73 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#, python-format +msgid "Create:" +msgstr "創建:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_view.js:16 +#, python-format +msgid "Diagram" +msgstr "圖表" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:5 +#, python-format +msgid "New Node" +msgstr "新建節點" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:160 +#, python-format +msgid "Open:" +msgstr "打開:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram_controller.js:110 +#: code:addons/web_diagram/static/src/js/diagram_controller.js:143 +#, python-format +msgid "Transition" +msgstr "轉換" diff --git a/web_diagram/models/__init__.py b/web_diagram/models/__init__.py new file mode 100644 index 000000000000..af030128c9c2 --- /dev/null +++ b/web_diagram/models/__init__.py @@ -0,0 +1,3 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import ir_ui_view, diagram_nav_help diff --git a/web_diagram/models/diagram_nav_help.py b/web_diagram/models/diagram_nav_help.py new file mode 100644 index 000000000000..ef56088a9086 --- /dev/null +++ b/web_diagram/models/diagram_nav_help.py @@ -0,0 +1,84 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class DiagramNavHelp(models.TransientModel): + _name = "web.diagram.nav.help" + _description = "Diagram Navigation Help" + + content_html = fields.Html(sanitize=False) + + @api.model + def create_nav_help_action(self): + lang = (self.env.lang or self.env.user.lang or "en_US").lower() + is_fr = lang.startswith("fr") + title = "Conseils de navigation" if is_fr else "Navigation Tips" + rec = self.create({"content_html": self._get_help_html(is_fr)}) + return { + "type": "ir.actions.act_window", + "name": title, + "res_model": "web.diagram.nav.help", + "res_id": rec.id, + "view_mode": "form", + "target": "new", + "views": [(False, "form")], + } + + @staticmethod + def _get_help_html(is_fr=False): + if is_fr: + return ( + '
    ' + '
    ' + '
    Avec une souris
    ' + '
      ' + "
    • Zoom : molette de la souris pour zoomer/dézoomer.
    • " + "
    • Déplacement : cliquez et faites glisser pour vous déplacer.
    • " + "
    • Tout afficher : appuyez sur F pour afficher l'intégralité du diagramme.
    • " + "
    " + "
    " + '
    ' + '
    Sans souris (clavier)
    ' + '
      ' + "
    • Zoom : touches + / -.
    • " + "
    • Déplacement : flèches directionnelles.
    • " + "
    • Tout afficher : appuyez sur F.
    • " + "
    " + "
    " + '
    ' + '
    Autres conseils
    ' + '
      ' + "
    • Les nœuds sans lien sont regroupés dans une grille séparée en bas de page.
    • " + "
    • Pour plus d'informations, retournez à la page précédente et cliquez sur « Comment ça marche ? ».
    • " + "
    " + "
    " + "
    " + ) + return ( + '
    ' + '
    ' + '
    With a mouse
    ' + '
      ' + "
    • Zoom: scroll wheel to zoom in/out.
    • " + "
    • Pan: click and drag to move around.
    • " + "
    • Fit all: press F to fit the full diagram in view.
    • " + "
    " + "
    " + '
    ' + '
    Without a mouse (keyboard)
    ' + '
      ' + "
    • Zoom: + / - keys.
    • " + "
    • Pan: arrow keys to move around.
    • " + "
    • Fit all: press F.
    • " + "
    " + "
    " + '
    ' + '
    Other tips
    ' + '
      ' + "
    • Nodes with no links are grouped in a separate grid at the bottom.
    • " + "
    • For more info, go back to the previous page and click “How does it work?”.
    • " + "
    " + "
    " + "
    " + ) diff --git a/web_diagram/models/ir_ui_view.py b/web_diagram/models/ir_ui_view.py new file mode 100644 index 000000000000..cf6ebad2404e --- /dev/null +++ b/web_diagram/models/ir_ui_view.py @@ -0,0 +1,158 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from lxml import etree + +from odoo import api, fields, models +from odoo.tools.safe_eval import safe_eval + +from ..tools.graph import graph + +DIAGRAM_VIEW = ("diagram", "Diagram") + + +class IrUIView(models.Model): + _inherit = "ir.ui.view" + + type = fields.Selection(selection_add=[DIAGRAM_VIEW]) + + def _get_view_info(self): + result = super()._get_view_info() + result["diagram"] = { + "icon": "fa fa-code-fork", + "multi_record": False, + } + return result + + def _postprocess_tag_diagram_element(self, node, name_manager, node_info, wrapper_tag): + """Postprocess or children against their own model.""" + element_model = node.get("object") + if element_model and element_model in self.env: + wrapper = etree.Element(wrapper_tag) + for child in list(node): + wrapper.append(child) + self._postprocess_view(wrapper, element_model, editable=False) + for child in list(wrapper): + node.append(child) + node_info["children"] = [] + node_info["editable"] = False + + def _postprocess_tag_node(self, node, name_manager, node_info): + self._postprocess_tag_diagram_element(node, name_manager, node_info, "_node_wrapper") + + def _postprocess_tag_arrow(self, node, name_manager, node_info): + self._postprocess_tag_diagram_element(node, name_manager, node_info, "_arrow_wrapper") + + def _validate_tag_diagram_element(self, node, name_manager, node_info): + """Validate or children against their own model.""" + element_model = node.get("object") + if element_model and element_model in self.env: + for child in list(node): + node.remove(child) + self._validate_view( + child, element_model, view_type=child.tag, editable=False, + node_info=node_info, + ) + + def _validate_tag_node(self, node, name_manager, node_info): + self._validate_tag_diagram_element(node, name_manager, node_info) + + def _validate_tag_arrow(self, node, name_manager, node_info): + self._validate_tag_diagram_element(node, name_manager, node_info) + + def _validate_tag_label(self, node, name_manager, node_info): + """In a diagram view,
    + + + + diff --git a/web_time_range_menu_custom/static/src/xml/search_bar_menu.xml b/web_time_range_menu_custom/static/src/xml/search_bar_menu.xml new file mode 100644 index 000000000000..ff49a4ea19fd --- /dev/null +++ b/web_time_range_menu_custom/static/src/xml/search_bar_menu.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/web_timeline/README.rst b/web_timeline/README.rst index 7a5037984c63..3a24e9d781cd 100644 --- a/web_timeline/README.rst +++ b/web_timeline/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============ Web timeline ============ @@ -7,13 +11,13 @@ Web timeline !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:f7afcee2d058a44cc7b44daf86593d10300c09feae36a156e0bdebaf3cb9836a + !! source digest: sha256:8633bbe9e07663ef50a7093c48c70557768324805e053637d2794ba7fb2fc7f1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png :target: https://odoo-community.org/page/development-status :alt: Production/Stable -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github @@ -45,88 +49,64 @@ Configuration You need to define a view with the tag as base element. These are the possible attributes for the tag: -+------------------+-----------+-------------------------------------+ -| Attribute | Required? | Description | -+==================+===========+=====================================+ -| date_start | **Yes** | Defines the name of the field of | -| | | type date that contains the start | -| | | of the event. | -+------------------+-----------+-------------------------------------+ -| date_stop | No | Defines the name of the field of | -| | | type date that contains the end of | -| | | the event. The date_stop can be | -| | | equal to the attribute date_start | -| | | to display events has 'point' on | -| | | the Timeline (instantaneous event). | -+------------------+-----------+-------------------------------------+ -| date_delay | No | Defines the name of the field of | -| | | type float/integer that contain the | -| | | duration in hours of the event, | -| | | default = 1. | -+------------------+-----------+-------------------------------------+ -| default_group_by | **Yes** | Defines the name of the field that | -| | | will be taken as default group by | -| | | when accessing the view or when no | -| | | other group by is selected. | -+------------------+-----------+-------------------------------------+ -| zoomKey | No | Specifies whether the Timeline is | -| | | only zoomed when an additional key | -| | | is down. Available values are '' | -| | | (does not apply), 'altKey', | -| | | 'ctrlKey', or 'metaKey'. Set this | -| | | option if you want to be able to | -| | | use the scroll to navigate | -| | | vertically on views with a lot of | -| | | events. | -+------------------+-----------+-------------------------------------+ -| mode | No | Specifies the initial visible | -| | | window. Available values are: 'day' | -| | | to display the current day, 'week', | -| | | 'month' and 'fit'. Default value is | -| | | 'fit' to adjust the visible window | -| | | such that it fits all items. | -+------------------+-----------+-------------------------------------+ -| margin | No | Specifies the margins around the | -| | | items. It should respect the JSON | -| | | format. For example | -| | | '{"item":{"horizontal":-10}}'. | -| | | Available values are: | -| | | '{"axis":}' (The minimal | -| | | margin in pixels between items and | -| | | the time axis) '{"item":}' | -| | | (The minimal margin in pixels | -| | | between items in both horizontal | -| | | and vertical direction), | -| | | '{"item":{"horizontal":}}' | -| | | (The minimal horizontal margin in | -| | | pixels between items), | -| | | '{"item":{"vertical":}}' | -| | | (The minimal vertical margin in | -| | | pixels between items), | -| | | '{"item":{"horizont | -| | | al":,"vertical":}}' | -| | | (Combination between horizontal and | -| | | vertical margins in pixels between | -| | | items). | -+------------------+-----------+-------------------------------------+ -| event_open_popup | No | When set to true, it allows to edit | -| | | the events in a popup. If not | -| | | (default value), the record is | -| | | edited changing to form view. | -+------------------+-----------+-------------------------------------+ -| stack | No | When set to false, items will not | -| | | be stacked on top of each other | -| | | such that they do overlap. | -+------------------+-----------+-------------------------------------+ -| colors | No | Allows to set certain specific | -| | | colors if the expressed condition | -| | | (JS syntax) is met. | -+------------------+-----------+-------------------------------------+ -| dependency_arrow | No | Set this attribute to a x2many | -| | | field to draw arrows between the | -| | | records referenced in the x2many | -| | | field. | -+------------------+-----------+-------------------------------------+ ++------------------+-----------+--------------------------------------------------------+ +| Attribute | Required? | Description | ++==================+===========+========================================================+ +| date_start | **Yes** | Defines the name of the field of type date that | +| | | contains the start of the event. | ++------------------+-----------+--------------------------------------------------------+ +| date_stop | No | Defines the name of the field of type date that | +| | | contains the end of the event. The date_stop can be | +| | | equal to the attribute date_start to display events | +| | | has 'point' on the Timeline (instantaneous event). | ++------------------+-----------+--------------------------------------------------------+ +| date_delay | No | Defines the name of the field of type float/integer | +| | | that contain the duration in hours of the event, | +| | | default = 1. | ++------------------+-----------+--------------------------------------------------------+ +| default_group_by | **Yes** | Defines the name of the field that will be taken as | +| | | default group by when accessing the view or when no | +| | | other group by is selected. | ++------------------+-----------+--------------------------------------------------------+ +| zoomKey | No | Specifies whether the Timeline is only zoomed when an | +| | | additional key is down. Available values are '' (does | +| | | not apply), 'altKey', 'ctrlKey', or 'metaKey'. Set | +| | | this option if you want to be able to use the scroll | +| | | to navigate vertically on views with a lot of events. | ++------------------+-----------+--------------------------------------------------------+ +| mode | No | Specifies the initial visible window. Available values | +| | | are: 'day' to display the current day, 'week', 'month' | +| | | and 'fit'. Default value is 'fit' to adjust the | +| | | visible window such that it fits all items. | ++------------------+-----------+--------------------------------------------------------+ +| margin | No | Specifies the margins around the items. It should | +| | | respect the JSON format. For example | +| | | '{"item":{"horizontal":-10}}'. Available values are: | +| | | '{"axis":}' (The minimal margin in pixels | +| | | between items and the time axis) '{"item":}' | +| | | (The minimal margin in pixels between items in both | +| | | horizontal and vertical direction), | +| | | '{"item":{"horizontal":}}' (The minimal | +| | | horizontal margin in pixels between items), | +| | | '{"item":{"vertical":}}' (The minimal vertical | +| | | margin in pixels between items), | +| | | '{"item":{"horizontal":,"vertical":}}' | +| | | (Combination between horizontal and vertical margins | +| | | in pixels between items). | ++------------------+-----------+--------------------------------------------------------+ +| event_open_popup | No | When set to true, it allows to edit the events in a | +| | | popup. If not (default value), the record is edited | +| | | changing to form view. | ++------------------+-----------+--------------------------------------------------------+ +| stack | No | When set to false, items will not be stacked on top of | +| | | each other such that they do overlap. | ++------------------+-----------+--------------------------------------------------------+ +| colors | No | Allows to set certain specific colors if the expressed | +| | | condition (JS syntax) is met. | ++------------------+-----------+--------------------------------------------------------+ +| dependency_arrow | No | Set this attribute to a x2many field to draw arrows | +| | | between the records referenced in the x2many field. | ++------------------+-----------+--------------------------------------------------------+ Optionally you can declare a custom template, which will be used to render the timeline items. You have to name the template @@ -306,6 +286,10 @@ Contributors - Houzéfa Abbasbhay +- `PyTech `__: + + - Simone Rubino + Maintainers ----------- @@ -319,14 +303,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -.. |maintainer-tarteo| image:: https://github.com/tarteo.png?size=40px - :target: https://github.com/tarteo - :alt: tarteo - -Current `maintainer `__: - -|maintainer-tarteo| - This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_timeline/__manifest__.py b/web_timeline/__manifest__.py index 3de3ff869872..7b454771ed73 100644 --- a/web_timeline/__manifest__.py +++ b/web_timeline/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web timeline", "summary": "Interactive visualization chart to show events in time", - "version": "18.0.1.0.1", + "version": "18.0.1.0.3", "development_status": "Production/Stable", "author": "ACSONE SA/NV, " "Tecnativa, " @@ -19,7 +19,6 @@ "depends": ["web"], "data": [], "demo": ["demo/ir_cron_view.xml"], - "maintainers": ["tarteo"], "application": False, "installable": True, "assets": { diff --git a/web_timeline/demo/ir_cron_view.xml b/web_timeline/demo/ir_cron_view.xml index 6a646fd1e613..40c22f0ed108 100644 --- a/web_timeline/demo/ir_cron_view.xml +++ b/web_timeline/demo/ir_cron_view.xml @@ -8,7 +8,20 @@ - - list,form,calendar,timeline - + + + + + diff --git a/web_timeline/models/__init__.py b/web_timeline/models/__init__.py index 7b1f92fd1962..ee2e0b418c6b 100644 --- a/web_timeline/models/__init__.py +++ b/web_timeline/models/__init__.py @@ -1,5 +1,6 @@ # Copyright 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import ir_actions from . import ir_ui_view from . import ir_action diff --git a/web_timeline/models/ir_actions.py b/web_timeline/models/ir_actions.py new file mode 100644 index 000000000000..e28da517ac95 --- /dev/null +++ b/web_timeline/models/ir_actions.py @@ -0,0 +1,8 @@ +# Copyright 2026 Simone Rubino - PyTech +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.addons.base.models.ir_actions import VIEW_TYPES + +from .ir_ui_view import TIMELINE_VIEW + +VIEW_TYPES.append(TIMELINE_VIEW) diff --git a/web_timeline/readme/CONTRIBUTORS.md b/web_timeline/readme/CONTRIBUTORS.md index 1d540e0155df..5a53372da435 100644 --- a/web_timeline/readme/CONTRIBUTORS.md +++ b/web_timeline/readme/CONTRIBUTORS.md @@ -15,3 +15,5 @@ - Anjeel Haria - [XCG Consulting](https://xcg-consulting.fr): - Houzéfa Abbasbhay +- [PyTech](https://www.pytech.it): + - Simone Rubino \<\> diff --git a/web_timeline/static/description/index.html b/web_timeline/static/description/index.html index fae426f713a7..26b73f9a92a7 100644 --- a/web_timeline/static/description/index.html +++ b/web_timeline/static/description/index.html @@ -3,7 +3,7 @@ -Web timeline +README.rst -
    -

    Web timeline

    +
    + + +Odoo Community Association + +
    +

    Web timeline

    -

    Production/Stable License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    Production/Stable License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    Define a new view displaying events in an interactive visualization chart.

    The widget is based on the external library @@ -390,14 +395,14 @@

    Web timeline

    -

    Configuration

    +

    Configuration

    You need to define a view with the tag <timeline> as base element. These are the possible attributes for the tag:

    ---+++ @@ -408,104 +413,80 @@

    Configuration

    - + - + - - - + - + - + - + - + - + - +
    Attribute
    date_start YesDefines the name of the field of -type date that contains the start -of the event.Defines the name of the field of type date that +contains the start of the event.
    date_stop NoDefines the name of the field of -type date that contains the end of -the event. The date_stop can be -equal to the attribute date_start -to display events has ‘point’ on -the Timeline (instantaneous event).Defines the name of the field of type date that +contains the end of the event. The date_stop can be +equal to the attribute date_start to display events +has ‘point’ on the Timeline (instantaneous event).
    date_delay NoDefines the name of the field of -type float/integer that contain the -duration in hours of the event, +Defines the name of the field of type float/integer +that contain the duration in hours of the event, default = 1.
    default_group_by YesDefines the name of the field that -will be taken as default group by -when accessing the view or when no +Defines the name of the field that will be taken as +default group by when accessing the view or when no other group by is selected.
    zoomKey NoSpecifies whether the Timeline is -only zoomed when an additional key -is down. Available values are ‘’ -(does not apply), ‘altKey’, -‘ctrlKey’, or ‘metaKey’. Set this -option if you want to be able to -use the scroll to navigate -vertically on views with a lot of -events.Specifies whether the Timeline is only zoomed when an +additional key is down. Available values are ‘’ (does +not apply), ‘altKey’, ‘ctrlKey’, or ‘metaKey’. Set +this option if you want to be able to use the scroll +to navigate vertically on views with a lot of events.
    mode NoSpecifies the initial visible -window. Available values are: ‘day’ -to display the current day, ‘week’, -‘month’ and ‘fit’. Default value is -‘fit’ to adjust the visible window -such that it fits all items.Specifies the initial visible window. Available values +are: ‘day’ to display the current day, ‘week’, ‘month’ +and ‘fit’. Default value is ‘fit’ to adjust the +visible window such that it fits all items.
    margin NoSpecifies the margins around the -items. It should respect the JSON -format. For example -‘{“item”:{“horizontal”:-10}}’. -Available values are: -‘{“axis”:<number>}’ (The minimal -margin in pixels between items and -the time axis) ‘{“item”:<number>}’ -(The minimal margin in pixels -between items in both horizontal -and vertical direction), -‘{“item”:{“horizontal”:<number>}}’ -(The minimal horizontal margin in -pixels between items), -‘{“item”:{“vertical”:<number>}}’ -(The minimal vertical margin in -pixels between items), -‘{“item”:{“horizont -al”:<number>,”vertical”:<number>}}’ -(Combination between horizontal and -vertical margins in pixels between -items).Specifies the margins around the items. It should +respect the JSON format. For example +‘{“item”:{“horizontal”:-10}}’. Available values are: +‘{“axis”:<number>}’ (The minimal margin in pixels +between items and the time axis) ‘{“item”:<number>}’ +(The minimal margin in pixels between items in both +horizontal and vertical direction), +‘{“item”:{“horizontal”:<number>}}’ (The minimal +horizontal margin in pixels between items), +‘{“item”:{“vertical”:<number>}}’ (The minimal vertical +margin in pixels between items), +‘{“item”:{“horizontal”:<number>,”vertical”:<number>}}’ +(Combination between horizontal and vertical margins +in pixels between items).
    event_open_popup NoWhen set to true, it allows to edit -the events in a popup. If not -(default value), the record is -edited changing to form view.When set to true, it allows to edit the events in a +popup. If not (default value), the record is edited +changing to form view.
    stack NoWhen set to false, items will not -be stacked on top of each other -such that they do overlap.When set to false, items will not be stacked on top of +each other such that they do overlap.
    colors NoAllows to set certain specific -colors if the expressed condition -(JS syntax) is met.Allows to set certain specific colors if the expressed +condition (JS syntax) is met.
    dependency_arrow NoSet this attribute to a x2many -field to draw arrows between the -records referenced in the x2many -field.Set this attribute to a x2many field to draw arrows +between the records referenced in the x2many field.
    @@ -585,7 +566,7 @@

    Configuration

    -

    Usage

    +

    Usage

    For accessing the timeline view, you have to click on the button with the clock icon in the view switcher. The first time you access to it, the timeline window is zoomed to fit all the current elements, the same @@ -613,7 +594,7 @@

    Usage

    create a new record with the dragged start and end date.

    -

    Known issues / Roadmap

    +

    Known issues / Roadmap

    • Implement a more efficient way of refreshing timeline after a record update;
    • @@ -632,7 +613,7 @@

      Known issues / Roadmap

    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -640,9 +621,9 @@

    Bug Tracker

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • ACSONE SA/NV
    • Tecnativa
    • @@ -652,7 +633,7 @@

      Authors

    -

    Contributors

    +

    Contributors

    +
  • PyTech: +
  • -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -688,12 +673,11 @@

    Maintainers

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

    Current maintainer:

    -

    tarteo

    This module is part of the OCA/web project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    diff --git a/web_timeline/static/src/views/timeline/timeline_canvas.esm.js b/web_timeline/static/src/views/timeline/timeline_canvas.esm.js index ed656a23d251..8c52e60e4509 100644 --- a/web_timeline/static/src/views/timeline/timeline_canvas.esm.js +++ b/web_timeline/static/src/views/timeline/timeline_canvas.esm.js @@ -10,20 +10,14 @@ export class TimelineCanvas { constructor(canvas_ref) { this.canvas_ref = canvas_ref; } + /** * Clears all drawings (svg elements) from the canvas. */ clear() { - if (this.canvas_ref) { - const tempElement = document.createElement("div"); - tempElement.innerHTML = this.canvas_ref; - Array.from(tempElement.children).forEach((child) => { - if (child.tagName.toLowerCase() !== "defs") { - child.remove(); - } - }); - this.canvas_ref = tempElement.innerHTML; - } + Array.from(this.canvas_ref.children) + .filter((el) => el.tagName.toLowerCase() !== "defs") + .forEach((el) => el.remove()); } /** @@ -158,9 +152,7 @@ export class TimelineCanvas { if (markerStart) { line.setAttribute("marker-start", `url(${markerStart})`); } - if (this.canvas_ref instanceof HTMLElement) { - this.canvas_ref.appendChild(line); - } + this.canvas_ref.appendChild(line); return line; } } diff --git a/web_timeline/static/src/views/timeline/timeline_renderer.esm.js b/web_timeline/static/src/views/timeline/timeline_renderer.esm.js index 4aaba72d0cfc..29a4790c0ebd 100644 --- a/web_timeline/static/src/views/timeline/timeline_renderer.esm.js +++ b/web_timeline/static/src/views/timeline/timeline_renderer.esm.js @@ -34,7 +34,10 @@ export class TimelineRenderer extends Component { this.fields = this.params.fields; this.timeline = false; this.initial_data_loaded = false; - this.canvas_ref = renderToString("TimelineView.Canvas", {}); + const canvas_str = renderToString("TimelineView.Canvas", {}); + const parser = new DOMParser(); + const svgDoc = parser.parseFromString(canvas_str, "image/svg+xml"); + this.canvas_ref = svgDoc.documentElement; onWillUpdateProps(async (props) => { this.on_data_loaded(props.model.data); }); @@ -220,8 +223,8 @@ export class TimelineRenderer extends Component { } this.$centerContainer = this.timeline.dom.centerContainer; this.canvas = new TimelineCanvas(this.canvas_ref); - if (this.$centerContainer.el) { - this.$centerContainer.el.appendChild(this.canvas_ref); + if (this.$centerContainer) { + this.$centerContainer.appendChild(this.canvas_ref); } this.timeline.on("changed", () => { this.draw_canvas(); diff --git a/web_toggle_chatter/README.rst b/web_toggle_chatter/README.rst new file mode 100644 index 000000000000..03f7339bee74 --- /dev/null +++ b/web_toggle_chatter/README.rst @@ -0,0 +1,88 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +================== +Web Toggle Chatter +================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:73b8c4d0370aa3eb037f9f93172d5ec9e17859c90da8441457624940566ab11b + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_toggle_chatter + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_toggle_chatter + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Allows to show/hide the chatter in backend form views using a toggle +button. + +|Demo GIF| + +.. |Demo GIF| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_toggle_chatter/static/img/demo.gif + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Vortex Dimensión Digital + +Contributors +------------ + +- `Vortex Dimensión Digital `__: + + - Jorge Rosado Julián + - Juan L. Sánchez + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_toggle_chatter/__init__.py b/web_toggle_chatter/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/web_toggle_chatter/__manifest__.py b/web_toggle_chatter/__manifest__.py new file mode 100644 index 000000000000..de1c985caea9 --- /dev/null +++ b/web_toggle_chatter/__manifest__.py @@ -0,0 +1,26 @@ +{ + "name": "Web Toggle Chatter", + "summary": "Toggle chatter in backend form views", + "version": "18.0.1.0.0", + "category": "Extra Tools", + "author": "Vortex Dimensión Digital, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web", + "license": "LGPL-3", + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_toggle_chatter/static/src/js/web_toggle_chatter.esm.js", + "web_toggle_chatter/static/src/xml/web_toggle_chatter.xml", + "web_toggle_chatter/static/src/scss/web_toggle_chatter.scss", + ], + "web.assets_unit_tests": [ + "web_toggle_chatter/static/tests/**/*", + ], + }, + "images": [ + "static/description/icon.png", + ], + "installable": True, + "application": False, + "auto_install": False, +} diff --git a/web_toggle_chatter/i18n/it.po b/web_toggle_chatter/i18n/it.po new file mode 100644 index 000000000000..c0d5085374bd --- /dev/null +++ b/web_toggle_chatter/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" diff --git a/web_toggle_chatter/i18n/web_toggle_chatter.pot b/web_toggle_chatter/i18n/web_toggle_chatter.pot new file mode 100644 index 000000000000..aadee09bfeda --- /dev/null +++ b/web_toggle_chatter/i18n/web_toggle_chatter.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" diff --git a/web_toggle_chatter/pyproject.toml b/web_toggle_chatter/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_toggle_chatter/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_toggle_chatter/readme/CONTRIBUTORS.md b/web_toggle_chatter/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..a65f81f6574d --- /dev/null +++ b/web_toggle_chatter/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Vortex Dimensión Digital](https://www.dimensionvortex.com/): + - Jorge Rosado Julián \<\> + - Juan L. Sánchez \<\> diff --git a/web_toggle_chatter/readme/DESCRIPTION.md b/web_toggle_chatter/readme/DESCRIPTION.md new file mode 100644 index 000000000000..68a558efaad6 --- /dev/null +++ b/web_toggle_chatter/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +Allows to show/hide the chatter in backend form views using a toggle button. + +![Demo GIF](../static/img/demo.gif) \ No newline at end of file diff --git a/web_toggle_chatter/static/description/icon.png b/web_toggle_chatter/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/web_toggle_chatter/static/description/icon.png differ diff --git a/web_toggle_chatter/static/description/index.html b/web_toggle_chatter/static/description/index.html new file mode 100644 index 000000000000..717b1998e788 --- /dev/null +++ b/web_toggle_chatter/static/description/index.html @@ -0,0 +1,435 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Web Toggle Chatter

    + +

    Beta License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    Allows to show/hide the chatter in backend form views using a toggle +button.

    +

    Demo GIF

    +

    Table of contents

    + +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Vortex Dimensión Digital
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/web project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/web_toggle_chatter/static/img/demo.gif b/web_toggle_chatter/static/img/demo.gif new file mode 100644 index 000000000000..19f4d018e339 Binary files /dev/null and b/web_toggle_chatter/static/img/demo.gif differ diff --git a/web_toggle_chatter/static/src/js/web_toggle_chatter.esm.js b/web_toggle_chatter/static/src/js/web_toggle_chatter.esm.js new file mode 100644 index 000000000000..3fde2ccd2aff --- /dev/null +++ b/web_toggle_chatter/static/src/js/web_toggle_chatter.esm.js @@ -0,0 +1,292 @@ +import {append, createElement} from "@web/core/utils/xml"; +import {onMounted, onPatched, onWillUnmount, useState} from "@odoo/owl"; +import {FormCompiler} from "@web/views/form/form_compiler"; +import {FormRenderer} from "@web/views/form/form_renderer"; +import {patch} from "@web/core/utils/patch"; + +const SELECTORS = { + chatter: ".o-mail-Form-chatter:not(.o-isInFormSheetBg)", + fallbackChatter: ".o-mail-Form-chatter", + formView: ".o_form_view", + formRenderer: ".o_form_renderer", + rootContent: ".o_content", + sheet: ".o_form_sheet_bg", + toggleButton: ".o_web_toggle_chatter_toggle_btn", + toggleWrapper: ".o_web_toggle_chatter_toggle_wrapper", +}; + +const CLASSES = { + collapsed: "o_web_toggle_chatter_collapsed", + enabled: "o_web_toggle_chatter_enabled", + flexColumn: "flex-column", + mobileMode: "o_web_toggle_chatter_mobile_mode", + toggleWrapper: "o_web_toggle_chatter_toggle_wrapper", +}; + +const TEMPLATES = { + toggleButton: "web_toggle_chatter.ChatterToggleButton", +}; + +const WIDTHS = { + chatter: "30%", + sheetExpanded: "70%", + sheetCollapsed: "100%", +}; + +const INLINE_STYLE_PROPERTIES = [ + "max-width", + "flex-basis", + "opacity", + "pointer-events", +]; + +patch(FormCompiler.prototype, { + compile(node, params = {}) { + const compiledArch = super.compile(node, params); + if (params.isSubView) { + return compiledArch; + } + this._ensureChatterToggleButton(compiledArch); + return compiledArch; + }, + + _ensureChatterToggleButton(compiledArch) { + if (compiledArch.querySelector(`.${CLASSES.toggleWrapper}`)) { + return; + } + const chatterContainer = + compiledArch.querySelector(SELECTORS.chatter) || + compiledArch.querySelector(SELECTORS.fallbackChatter); + if (!chatterContainer || !chatterContainer.parentNode) { + return; + } + const formView = + chatterContainer.closest(SELECTORS.formView) || + compiledArch.querySelector(SELECTORS.formView); + formView?.classList.add(CLASSES.enabled); + chatterContainer.parentNode.insertBefore( + this._createChatterToggleWrapper(), + chatterContainer + ); + }, + + _createChatterToggleWrapper() { + const toggleWrapper = createElement("div"); + toggleWrapper.classList.add(CLASSES.toggleWrapper); + append(toggleWrapper, this._createChatterToggleButtonTemplateNode()); + return toggleWrapper; + }, + + _createChatterToggleButtonTemplateNode() { + const templateNode = createElement("t"); + templateNode.setAttribute("t-call", TEMPLATES.toggleButton); + return templateNode; + }, +}); + +patch(FormRenderer.prototype, { + setup() { + super.setup(); + this.webToggleChatterState = useState({ + isVisible: true, + }); + this._onViewportChange = this._onViewportChange.bind(this); + this.onToggleChatter = this.onToggleChatter.bind(this); + onMounted(() => { + window.addEventListener("resize", this._onViewportChange); + this._syncChatterLayout(); + }); + onPatched(() => this._syncChatterLayout()); + onWillUnmount(() => { + window.removeEventListener("resize", this._onViewportChange); + }); + }, + + onToggleChatter(event) { + const formContainer = this._resolveFormContainer(event); + if (formContainer && this._isMobileLayout(formContainer)) { + this._syncChatterLayout(event); + return; + } + this.webToggleChatterState.isVisible = !this.webToggleChatterState.isVisible; + this._syncChatterLayout(event); + }, + + _syncChatterLayout(event = null) { + const formContainer = this._resolveFormContainer(event); + if (!formContainer) { + return; + } + const chatterContainer = this._resolveChatterContainer(formContainer); + if (!chatterContainer) { + formContainer.classList.remove(CLASSES.enabled); + formContainer.classList.remove(CLASSES.collapsed); + formContainer.classList.remove(CLASSES.mobileMode); + return; + } + this._ensureRuntimeToggleWrapper(formContainer, chatterContainer); + if (!formContainer.querySelector(SELECTORS.toggleWrapper)) { + formContainer.classList.remove(CLASSES.enabled); + return; + } + formContainer.classList.add(CLASSES.enabled); + this._syncToggleButtonIcon(formContainer); + const isMobileLayout = this._isMobileLayout(formContainer); + formContainer.classList.toggle(CLASSES.mobileMode, isMobileLayout); + if (isMobileLayout) { + formContainer.classList.remove(CLASSES.collapsed); + this._clearInlineStyles(formContainer, chatterContainer); + return; + } + const isCollapsed = !this.webToggleChatterState.isVisible; + + formContainer.classList.toggle(CLASSES.collapsed, isCollapsed); + this._applyDesktopInlineStyles(formContainer, chatterContainer, isCollapsed); + }, + + _applyDesktopInlineStyles(formContainer, chatterContainer, isCollapsed) { + const sheetContainer = formContainer.querySelector(SELECTORS.sheet); + chatterContainer.style.maxWidth = isCollapsed ? "0" : WIDTHS.chatter; + chatterContainer.style.flexBasis = isCollapsed ? "0" : WIDTHS.chatter; + chatterContainer.style.opacity = isCollapsed ? "0" : "1"; + if (isCollapsed) { + chatterContainer.style.pointerEvents = "none"; + if (sheetContainer) { + sheetContainer.style.width = WIDTHS.sheetCollapsed; + } + return; + } + chatterContainer.style.removeProperty("pointer-events"); + if (sheetContainer) { + sheetContainer.style.width = WIDTHS.sheetExpanded; + } + }, + + _clearInlineStyles(formContainer, chatterContainer) { + const sheetContainer = formContainer.querySelector(SELECTORS.sheet); + for (const propertyName of INLINE_STYLE_PROPERTIES) { + chatterContainer.style.removeProperty(propertyName); + } + if (sheetContainer) { + sheetContainer.style.removeProperty("width"); + } + }, + + _ensureRuntimeToggleWrapper(formContainer, chatterContainer) { + if (formContainer.querySelector(SELECTORS.toggleWrapper)) { + return; + } + const toggleWrapper = document.createElement("div"); + toggleWrapper.classList.add(CLASSES.toggleWrapper); + const toggleButton = document.createElement("button"); + toggleButton.type = "button"; + toggleButton.className = "o_web_toggle_chatter_toggle_btn btn btn-light"; + toggleButton.setAttribute("aria-label", "Toggle chatter"); + const icon = document.createElement("i"); + icon.className = "fa fa-angle-right"; + toggleButton.appendChild(icon); + toggleButton.addEventListener("click", (clickEvent) => { + clickEvent.preventDefault(); + this.onToggleChatter(clickEvent); + }); + toggleWrapper.appendChild(toggleButton); + chatterContainer.parentNode.insertBefore(toggleWrapper, chatterContainer); + }, + + _syncToggleButtonIcon(formContainer) { + const toggleButton = formContainer.querySelector(SELECTORS.toggleButton); + if (!toggleButton) { + return; + } + const icon = toggleButton.querySelector(".fa"); + const isVisible = this.webToggleChatterState.isVisible; + toggleButton.setAttribute( + "aria-label", + isVisible ? "Toggle chatter" : "Show chatter" + ); + if (!icon) { + return; + } + icon.classList.toggle("fa-angle-right", isVisible); + icon.classList.toggle("fa-angle-left", !isVisible); + }, + + _onViewportChange() { + this._syncChatterLayout(); + }, + + _isMobileLayout(formContainer) { + const layoutContainer = this._resolveLayoutContainer(formContainer); + if (!layoutContainer) { + return false; + } + if (layoutContainer.classList.contains(CLASSES.flexColumn)) { + return true; + } + return window.getComputedStyle(layoutContainer).flexDirection === "column"; + }, + + _resolveLayoutContainer(formContainer) { + if (!formContainer) { + return null; + } + if (formContainer.matches(SELECTORS.formRenderer)) { + return formContainer; + } + return ( + formContainer.closest(SELECTORS.formRenderer) || + formContainer.querySelector(SELECTORS.formRenderer) || + formContainer + ); + }, + + _resolveFormContainer(event = null) { + const candidates = [event?.currentTarget, event?.target, this.el]; + for (const candidate of candidates) { + const formContainer = this._closestFormContainer(candidate); + if (formContainer) { + return this._normalizeFormContainer(formContainer); + } + } + const rootFormView = document.querySelector( + `${SELECTORS.rootContent} ${SELECTORS.formView}` + ); + if (rootFormView) { + return rootFormView; + } + return ( + this._normalizeFormContainer( + document.querySelector( + `${SELECTORS.rootContent} ${SELECTORS.formRenderer}` + ) + ) || null + ); + }, + + _closestFormContainer(element) { + if (!element || typeof element.closest !== "function") { + return null; + } + return ( + element.closest(SELECTORS.formView) || + element.closest(SELECTORS.formRenderer) + ); + }, + + _normalizeFormContainer(formContainer) { + if (!formContainer) { + return null; + } + if (formContainer.matches(SELECTORS.formRenderer)) { + return formContainer.querySelector(SELECTORS.formView) || formContainer; + } + return formContainer; + }, + + _resolveChatterContainer(formContainer) { + return ( + formContainer.querySelector(SELECTORS.chatter) || + formContainer.querySelector(SELECTORS.fallbackChatter) + ); + }, +}); diff --git a/web_toggle_chatter/static/src/scss/web_toggle_chatter.scss b/web_toggle_chatter/static/src/scss/web_toggle_chatter.scss new file mode 100644 index 000000000000..ba5c3c9e5134 --- /dev/null +++ b/web_toggle_chatter/static/src/scss/web_toggle_chatter.scss @@ -0,0 +1,127 @@ +.o_form_view.o_web_toggle_chatter_enabled:not(.o_web_toggle_chatter_mobile_mode), +.o_form_renderer.o_web_toggle_chatter_enabled:not(.o_web_toggle_chatter_mobile_mode) { + --o-web-toggle-chatter-toggle-size: 34px; + --o-web-toggle-chatter-toggle-offset: -34px; + --o-web-toggle-chatter-width: 30%; + --o-web-toggle-chatter-sheet-width: 70%; + + display: flex; + flex-direction: row; + flex-wrap: nowrap; + + .o_web_toggle_chatter_toggle_wrapper { + position: relative; + width: 0; + min-width: 0; + z-index: 10; + } + + .o_web_toggle_chatter_toggle_btn { + position: absolute; + left: var(--o-web-toggle-chatter-toggle-offset); + top: 50%; + transform: translateY(-50%); + z-index: 100; + width: var(--o-web-toggle-chatter-toggle-size); + height: var(--o-web-toggle-chatter-toggle-size); + padding: 0; + box-sizing: border-box; + border: 1px solid var(--border-color, #d8dadd); + border-radius: 50%; + background: var(--o-view-background-color, #fff); + display: flex; + align-items: center; + justify-content: center; + color: var(--o-main-text-color, #495057); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); + transition: + background-color 0.2s ease, + border-color 0.2s ease, + color 0.2s ease; + + &:hover { + background: var(--bs-gray-100, #f3f5f7); + border-color: var(--bs-gray-400, #c6ccd2); + color: var(--o-gray-900, #212529); + } + + &:focus { + box-shadow: 0 0 0 2px rgba(113, 125, 136, 0.25); + } + + .fa { + font-size: 22px; + line-height: 1; + display: block; + } + + .fa-angle-right { + transform: translate(1px, -1px); + } + + .fa-angle-left { + transform: translate(-1px, -1px); + } + } + + .o-mail-Form-chatter { + flex: 0 0 var(--o-web-toggle-chatter-width); + max-width: var(--o-web-toggle-chatter-width); + min-width: 0; + overflow: hidden; + opacity: 1; + transition: + flex-basis 0.25s ease, + max-width 0.25s ease, + opacity 0.2s ease; + } + + .o_form_sheet_bg { + flex: 1 1 auto; + width: var(--o-web-toggle-chatter-sheet-width); + max-width: 100%; + min-width: 0; + transition: width 0.3s ease; + } + + &.o_web_toggle_chatter_collapsed { + overflow-x: hidden; + + .o_form_sheet_bg { + width: 100%; + } + + .o-mail-Form-chatter { + flex-basis: 0; + max-width: 0; + opacity: 0; + pointer-events: none; + } + } +} + +.o_form_view.o_web_toggle_chatter_enabled.o_web_toggle_chatter_mobile_mode, +.o_form_renderer.o_web_toggle_chatter_enabled.o_web_toggle_chatter_mobile_mode { + .o_web_toggle_chatter_toggle_wrapper { + display: none; + } +} + +.o_form_view.o_web_toggle_chatter_enabled.flex-column, +.o_form_renderer.o_web_toggle_chatter_enabled.flex-column, +.o_form_view.o_web_toggle_chatter_enabled .o_form_renderer.flex-column { + .o_web_toggle_chatter_toggle_wrapper { + display: none; + } + + .o-mail-Form-chatter { + flex-basis: auto; + max-width: none; + opacity: 1; + pointer-events: auto; + } + + .o_form_sheet_bg { + width: auto; + } +} diff --git a/web_toggle_chatter/static/src/xml/web_toggle_chatter.xml b/web_toggle_chatter/static/src/xml/web_toggle_chatter.xml new file mode 100644 index 000000000000..225732dabcd9 --- /dev/null +++ b/web_toggle_chatter/static/src/xml/web_toggle_chatter.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/web_toggle_chatter/static/tests/web_toggle_chatter.test.js b/web_toggle_chatter/static/tests/web_toggle_chatter.test.js new file mode 100644 index 000000000000..9b4af4d17fec --- /dev/null +++ b/web_toggle_chatter/static/tests/web_toggle_chatter.test.js @@ -0,0 +1,151 @@ +import {expect, test} from "@odoo/hoot"; +import { + contains, + defineModels, + fields, + models, + mountView, + patchWithCleanup, +} from "@web/../tests/web_test_helpers"; +import {FormCompiler} from "@web/views/form/form_compiler"; + +class Partner extends models.Model { + name = fields.Char(); + _records = [{id: 1, name: "Test Partner"}]; +} + +defineModels([Partner]); + +/** + * Patches FormCompiler to inject a mock chatter element into the compiled arch. + * This allows testing the toggle behavior without requiring the mail module. + */ +function patchFormCompilerWithMockChatter() { + patchWithCleanup(FormCompiler.prototype, { + compile(node, params = {}) { + const compiledArch = super.compile(node, params); + if (!params.isSubView) { + const formViewEl = compiledArch.querySelector(".o_form_view"); + if (formViewEl) { + const mockChatter = document.createElement("div"); + mockChatter.className = "o-mail-Form-chatter"; + formViewEl.appendChild(mockChatter); + } + } + return compiledArch; + }, + }); +} + +const FORM_ARCH = ` +
    + + + +
    +`; + +test("Toggle button is not injected in form view without chatter", async () => { + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + expect(".o_web_toggle_chatter_toggle_wrapper").toHaveCount(0); + expect(".o_web_toggle_chatter_toggle_btn").toHaveCount(0); +}); + +test("Toggle button is injected when chatter is present", async () => { + patchFormCompilerWithMockChatter(); + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + expect(".o_web_toggle_chatter_toggle_wrapper").toHaveCount(1); + expect(".o_web_toggle_chatter_toggle_btn").toHaveCount(1); +}); + +test("Clicking toggle collapses the chatter", async () => { + patchFormCompilerWithMockChatter(); + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + // Initially visible - no collapsed class + expect(".o_form_view").not.toHaveClass("o_web_toggle_chatter_collapsed"); + + await contains(".o_web_toggle_chatter_toggle_btn").click(); + + // After toggle: form gets collapsed class, chatter loses visibility + expect(".o_form_view").toHaveClass("o_web_toggle_chatter_collapsed"); + expect(".o-mail-Form-chatter").toHaveStyle({opacity: "0"}); + expect(".o-mail-Form-chatter").toHaveStyle({maxWidth: "0"}); +}); + +test("Clicking toggle twice restores the chatter", async () => { + patchFormCompilerWithMockChatter(); + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + await contains(".o_web_toggle_chatter_toggle_btn").click(); + expect(".o_form_view").toHaveClass("o_web_toggle_chatter_collapsed"); + + await contains(".o_web_toggle_chatter_toggle_btn").click(); + + expect(".o_form_view").not.toHaveClass("o_web_toggle_chatter_collapsed"); + expect(".o-mail-Form-chatter").toHaveStyle({opacity: "1"}); +}); + +test("Toggle does not apply custom chatter styles in mobile layout", async () => { + patchFormCompilerWithMockChatter(); + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + const formView = document.querySelector(".o_form_view"); + const formRenderer = document.querySelector(".o_form_renderer") || formView; + formRenderer.classList.add("flex-column"); + + await contains(".o_web_toggle_chatter_toggle_btn").click(); + + expect(".o_form_view").not.toHaveClass("o_web_toggle_chatter_collapsed"); + expect(".o_form_view").toHaveClass("o_web_toggle_chatter_mobile_mode"); + expect(".o-mail-Form-chatter").not.toHaveStyle({maxWidth: "0"}); + expect(".o-mail-Form-chatter").not.toHaveStyle({flexBasis: "0"}); + expect(".o-mail-Form-chatter").not.toHaveStyle({opacity: "0"}); +}); + +test("Switching from desktop to mobile clears collapsed inline chatter styles", async () => { + patchFormCompilerWithMockChatter(); + await mountView({ + resModel: "partner", + type: "form", + arch: FORM_ARCH, + resId: 1, + }); + + await contains(".o_web_toggle_chatter_toggle_btn").click(); + expect(".o_form_view").toHaveClass("o_web_toggle_chatter_collapsed"); + expect(".o-mail-Form-chatter").toHaveStyle({maxWidth: "0"}); + + const formView = document.querySelector(".o_form_view"); + const formRenderer = document.querySelector(".o_form_renderer") || formView; + formRenderer.classList.add("flex-column"); + window.dispatchEvent(new Event("resize")); + + expect(".o_form_view").toHaveClass("o_web_toggle_chatter_mobile_mode"); + expect(".o_form_view").not.toHaveClass("o_web_toggle_chatter_collapsed"); + expect(".o-mail-Form-chatter").not.toHaveStyle({maxWidth: "0"}); + expect(".o-mail-Form-chatter").not.toHaveStyle({flexBasis: "0"}); + expect(".o-mail-Form-chatter").not.toHaveStyle({opacity: "0"}); +}); diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst new file mode 100644 index 000000000000..f64e15cb822c --- /dev/null +++ b/web_touchscreen/README.rst @@ -0,0 +1,141 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +=============== +Web Touchscreen +=============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:112ec2050fedfe73c26285522f19b32b55988139474fb52cc81db70dd053aa03 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_touchscreen + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_touchscreen + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module prefers kanban sub-form views when using a tablet, or any +other device with a touch screen, no matter its size. + +For example, these screenshots showcase a sale order in a tablet: + +=================== ================ +Without this module With this module +=================== ================ +|Before| |After| +=================== ================ + +.. |Before| image:: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc + :target: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc +.. |After| image:: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 + :target: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Use Cases / Context +=================== + +This module was developed because Odoo optimizes views only for mobile +or desktop, but forgets about tablets. + +It will be useful for you if you usually use a tablet. + +If you need this module for those reasons, these might interest you too: + +- ``web_widget_numeric_step`` +- OCA's ``web_responsive``, or the Odoo EE alternative + ``web_enterprise`` (closed source). + +Usage +===== + +To use this module, you need to: + +1. Use a tablet. +2. Go to any form that contains a sub-view which can be optimized for + mobile. + +Known issues / Roadmap +====================== + +- Enable more mobile UI enhancements for tablets as they seem relevant. +- Allow setting per user or per session, with sane defaults. Just in + case you happen to use a tablet with a mouse. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Moduon + +Contributors +------------ + +- Jairo Llopis (`Moduon `__) +- David Vidal (`Moduon `__) + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-yajo| image:: https://github.com/yajo.png?size=40px + :target: https://github.com/yajo + :alt: yajo +.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px + :target: https://github.com/rafaelbn + :alt: rafaelbn + +Current `maintainers `__: + +|maintainer-yajo| |maintainer-rafaelbn| + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_touchscreen/__init__.py b/web_touchscreen/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/web_touchscreen/__manifest__.py b/web_touchscreen/__manifest__.py new file mode 100644 index 000000000000..4ab5ff5e2a9a --- /dev/null +++ b/web_touchscreen/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2023 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) + +{ + "name": "Web Touchscreen", + "summary": "UX improvements for touch screens", + "version": "18.0.1.0.0", + "development_status": "Alpha", + "category": "Extra Tools", + "website": "https://github.com/OCA/web", + "author": "Moduon, Odoo Community Association (OCA)", + "maintainers": ["yajo", "rafaelbn"], + "license": "LGPL-3", + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_touchscreen/static/src/**/*", + ], + }, +} diff --git a/web_touchscreen/i18n/it.po b/web_touchscreen/i18n/it.po new file mode 100644 index 000000000000..73388557f6d5 --- /dev/null +++ b/web_touchscreen/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" diff --git a/web_touchscreen/i18n/web_touchscreen.pot b/web_touchscreen/i18n/web_touchscreen.pot new file mode 100644 index 000000000000..aadee09bfeda --- /dev/null +++ b/web_touchscreen/i18n/web_touchscreen.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" diff --git a/web_touchscreen/pyproject.toml b/web_touchscreen/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_touchscreen/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_touchscreen/readme/CONTEXT.md b/web_touchscreen/readme/CONTEXT.md new file mode 100644 index 000000000000..a2465de1e3e8 --- /dev/null +++ b/web_touchscreen/readme/CONTEXT.md @@ -0,0 +1,9 @@ +This module was developed because Odoo optimizes views only for mobile or desktop, but +forgets about tablets. + +It will be useful for you if you usually use a tablet. + +If you need this module for those reasons, these might interest you too: + +- `web_widget_numeric_step` +- OCA's `web_responsive`, or the Odoo EE alternative `web_enterprise` (closed source). diff --git a/web_touchscreen/readme/CONTRIBUTORS.md b/web_touchscreen/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..dd452c4b6216 --- /dev/null +++ b/web_touchscreen/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Jairo Llopis ([Moduon](https://www.moduon.team/)) +- David Vidal ([Moduon](https://www.moduon.team/)) diff --git a/web_touchscreen/readme/DESCRIPTION.md b/web_touchscreen/readme/DESCRIPTION.md new file mode 100644 index 000000000000..85995ba131aa --- /dev/null +++ b/web_touchscreen/readme/DESCRIPTION.md @@ -0,0 +1,12 @@ +This module prefers kanban sub-form views when using a tablet, or any other +device with a touch screen, no matter its size. + +For example, these screenshots showcase a sale order in a tablet: + +| Without this module | With this module | +| --------------------- | ------------------- | +| [![Before][]][Before] | [![After][]][After] | + + +[Before]: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc +[After]: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 diff --git a/web_touchscreen/readme/ROADMAP.md b/web_touchscreen/readme/ROADMAP.md new file mode 100644 index 000000000000..cb971ce7a79c --- /dev/null +++ b/web_touchscreen/readme/ROADMAP.md @@ -0,0 +1,3 @@ +- Enable more mobile UI enhancements for tablets as they seem relevant. +- Allow setting per user or per session, with sane defaults. Just in case you happen to + use a tablet with a mouse. diff --git a/web_touchscreen/readme/USAGE.md b/web_touchscreen/readme/USAGE.md new file mode 100644 index 000000000000..e3fd621276e1 --- /dev/null +++ b/web_touchscreen/readme/USAGE.md @@ -0,0 +1,4 @@ +To use this module, you need to: + +1. Use a tablet. +1. Go to any form that contains a sub-view which can be optimized for mobile. diff --git a/web_touchscreen/static/description/icon.png b/web_touchscreen/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/web_touchscreen/static/description/icon.png differ diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html new file mode 100644 index 000000000000..b7b5ae29c816 --- /dev/null +++ b/web_touchscreen/static/description/index.html @@ -0,0 +1,488 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Web Touchscreen

    + +

    Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    This module prefers kanban sub-form views when using a tablet, or any +other device with a touch screen, no matter its size.

    +

    For example, these screenshots showcase a sale order in a tablet:

    + ++++ + + + + + + + + + + +
    Without this moduleWith this module
    BeforeAfter
    +
    +

    Important

    +

    This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

    +
    +

    Table of contents

    + +
    +

    Use Cases / Context

    +

    This module was developed because Odoo optimizes views only for mobile +or desktop, but forgets about tablets.

    +

    It will be useful for you if you usually use a tablet.

    +

    If you need this module for those reasons, these might interest you too:

    +
      +
    • web_widget_numeric_step
    • +
    • OCA’s web_responsive, or the Odoo EE alternative +web_enterprise (closed source).
    • +
    +
    +
    +

    Usage

    +

    To use this module, you need to:

    +
      +
    1. Use a tablet.
    2. +
    3. Go to any form that contains a sub-view which can be optimized for +mobile.
    4. +
    +
    +
    +

    Known issues / Roadmap

    +
      +
    • Enable more mobile UI enhancements for tablets as they seem relevant.
    • +
    • Allow setting per user or per session, with sane defaults. Just in +case you happen to use a tablet with a mouse.
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Moduon
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    Current maintainers:

    +

    yajo rafaelbn

    +

    This module is part of the OCA/web project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/web_touchscreen/static/src/fields.esm.js b/web_touchscreen/static/src/fields.esm.js new file mode 100644 index 000000000000..5beb5cc14a52 --- /dev/null +++ b/web_touchscreen/static/src/fields.esm.js @@ -0,0 +1,29 @@ +import {Field} from "@web/views/fields/field"; +import {hasTouch} from "@web/core/browser/feature_detection"; +import {patch} from "@web/core/utils/patch"; +import {utils} from "@web/core/ui/ui_service"; + +patch(Field, { + /** + * @override + * Whenever a x2many field loads a list we want to force the kanban view over the + * list one if both options are available and a touchscreen is being used. + */ + parseFieldNode(node) { + const fieldInfo = super.parseFieldNode(...arguments); + // If it's small, it's already handled in super. If the viewMode is already + // kanban, there's no need to do anything. And the same goes for no touch + // devices. + if (utils.isSmall() || fieldInfo.viewMode === "kanban" || !hasTouch()) { + return fieldInfo; + } + const viewMode = node.getAttribute("mode"); + const kanban_is_optional = + (viewMode && viewMode.split(",").includes("kanban")) || + (fieldInfo.views?.list && fieldInfo.views?.kanban); + if (fieldInfo.viewMode === "list" && kanban_is_optional) { + fieldInfo.viewMode = "kanban"; + } + return fieldInfo; + }, +}); diff --git a/web_tree_column_keyboard_resize/README.rst b/web_tree_column_keyboard_resize/README.rst new file mode 100644 index 000000000000..6ca219b39243 --- /dev/null +++ b/web_tree_column_keyboard_resize/README.rst @@ -0,0 +1,95 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +=============================== +Web Tree Column Keyboard Resize +=============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:04cc56d665b0bc1a36d941d4cc0b1be77a79ed78a7112d861157b2d28ef1afbe + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_tree_column_keyboard_resize + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_tree_column_keyboard_resize + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module creates some keyboard shortcuts to allow resizing tree view +columns when having some cell in the column focused (in edit mode for +that cell / row). This can improve efficiency, since users don't need to +reach for the mouse when wanting to resize columns. + +The following shortcuts are added: + +- By default, the width is adjusted in steps of 20 pixels per key press. +- ``Shift + Down Arrow``: Decrease the width of the focused column. +- ``Shift + Up Arrow``: Increase the width of the focused column. + +The changed width of columns is reset back to the original once focusing +out of the current row, since this functionality is designed for +temporary visibility enhancement during editing sessions and not for +permanent layout changes. Users can use the standard mouse drag resizing +for permanent width adjustments. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* ForgeFlow + +Contributors +------------ + +- Laura Cazorla laura.cazorla@forgeflow.com + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_tree_column_keyboard_resize/__init__.py b/web_tree_column_keyboard_resize/__init__.py new file mode 100644 index 000000000000..cd4049c1352a --- /dev/null +++ b/web_tree_column_keyboard_resize/__init__.py @@ -0,0 +1,2 @@ +# Copyright 2026 ForgeFlow (https://www.forgeflow.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) diff --git a/web_tree_column_keyboard_resize/__manifest__.py b/web_tree_column_keyboard_resize/__manifest__.py new file mode 100644 index 000000000000..e0a5e4f0f175 --- /dev/null +++ b/web_tree_column_keyboard_resize/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2026 ForgeFlow (https://www.forgeflow.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Web Tree Column Keyboard Resize", + "summary": "Allow resizing tree view columns using keyboard shortcuts", + "version": "18.0.1.0.0", + "category": "Extra Tools", + "website": "https://github.com/OCA/web", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_tree_column_keyboard_resize/static/src/js/list_renderer.esm.js", + ], + }, +} diff --git a/web_tree_column_keyboard_resize/i18n/it.po b/web_tree_column_keyboard_resize/i18n/it.po new file mode 100644 index 000000000000..c0d5085374bd --- /dev/null +++ b/web_tree_column_keyboard_resize/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" diff --git a/web_tree_column_keyboard_resize/i18n/web_tree_column_keyboard_resize.pot b/web_tree_column_keyboard_resize/i18n/web_tree_column_keyboard_resize.pot new file mode 100644 index 000000000000..aadee09bfeda --- /dev/null +++ b/web_tree_column_keyboard_resize/i18n/web_tree_column_keyboard_resize.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" diff --git a/web_tree_column_keyboard_resize/pyproject.toml b/web_tree_column_keyboard_resize/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_tree_column_keyboard_resize/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_tree_column_keyboard_resize/readme/CONTRIBUTORS.md b/web_tree_column_keyboard_resize/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..8510a90fdd21 --- /dev/null +++ b/web_tree_column_keyboard_resize/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Laura Cazorla diff --git a/web_tree_column_keyboard_resize/readme/DESCRIPTION.md b/web_tree_column_keyboard_resize/readme/DESCRIPTION.md new file mode 100644 index 000000000000..5272a92df78d --- /dev/null +++ b/web_tree_column_keyboard_resize/readme/DESCRIPTION.md @@ -0,0 +1,14 @@ +This module creates some keyboard shortcuts to allow resizing tree view columns +when having some cell in the column focused (in edit mode for that cell / row). +This can improve efficiency, since users don't need to reach for the mouse when +wanting to resize columns. + +The following shortcuts are added: +- By default, the width is adjusted in steps of 20 pixels per key press. +- `Shift + Down Arrow`: Decrease the width of the focused column. +- `Shift + Up Arrow`: Increase the width of the focused column. + +The changed width of columns is reset back to the original once focusing out of +the current row, since this functionality is designed for temporary visibility +enhancement during editing sessions and not for permanent layout changes. Users +can use the standard mouse drag resizing for permanent width adjustments. diff --git a/web_tree_column_keyboard_resize/static/description/icon.png b/web_tree_column_keyboard_resize/static/description/icon.png new file mode 100644 index 000000000000..1dcc49c24f36 Binary files /dev/null and b/web_tree_column_keyboard_resize/static/description/icon.png differ diff --git a/web_tree_column_keyboard_resize/static/description/index.html b/web_tree_column_keyboard_resize/static/description/index.html new file mode 100644 index 000000000000..4de1fc63b469 --- /dev/null +++ b/web_tree_column_keyboard_resize/static/description/index.html @@ -0,0 +1,443 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Web Tree Column Keyboard Resize

    + +

    Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    This module creates some keyboard shortcuts to allow resizing tree view +columns when having some cell in the column focused (in edit mode for +that cell / row). This can improve efficiency, since users don’t need to +reach for the mouse when wanting to resize columns.

    +

    The following shortcuts are added:

    +
      +
    • By default, the width is adjusted in steps of 20 pixels per key press.
    • +
    • Shift + Down Arrow: Decrease the width of the focused column.
    • +
    • Shift + Up Arrow: Increase the width of the focused column.
    • +
    +

    The changed width of columns is reset back to the original once focusing +out of the current row, since this functionality is designed for +temporary visibility enhancement during editing sessions and not for +permanent layout changes. Users can use the standard mouse drag resizing +for permanent width adjustments.

    +

    Table of contents

    + +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • ForgeFlow
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/web project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/web_tree_column_keyboard_resize/static/src/js/list_renderer.esm.js b/web_tree_column_keyboard_resize/static/src/js/list_renderer.esm.js new file mode 100644 index 000000000000..da520220e7a5 --- /dev/null +++ b/web_tree_column_keyboard_resize/static/src/js/list_renderer.esm.js @@ -0,0 +1,42 @@ +import {ListRenderer} from "@web/views/list/list_renderer"; +import {patch} from "@web/core/utils/patch"; + +const RESIZE_PIXEL_STEP = 20; + +patch(ListRenderer.prototype, { + // Handle Shift+Arrow keyboard shortcuts for column resizing + onCellKeydownEditMode(hotkey, cell, group, record) { + if (hotkey === "shift+arrowup" || hotkey === "shift+arrowdown") { + const column = this._getColumnFromCell(cell); + if (column?.name && hotkey === "shift+arrowup") { + this._expandColumnToContent(column.name, true); + return true; + } else if (column?.name && hotkey === "shift+arrowdown") { + this._expandColumnToContent(column.name, false); + return true; + } + } + return super.onCellKeydownEditMode(hotkey, cell, group, record); + }, + // Get column definition from table cell index + _getColumnFromCell(cell) { + if (!cell || cell.cellIndex === null) { + return null; + } + return this.columns[cell.cellIndex]; + }, + // Resize column: expand=true increases width, expand=false decreases width + _expandColumnToContent(columnName, expand) { + requestAnimationFrame(() => { + const table = this.tableRef.el; + if (!table) return; + // Find the column header by data-name attribute + const th = table.querySelector(`th[data-name="${columnName}"]`); + if (!th) return; + // Calculate new width and apply it to the header + const delta = expand ? RESIZE_PIXEL_STEP : -RESIZE_PIXEL_STEP; + const width = `${Math.max(th.scrollWidth + delta)}px`; + th.style.width = width; + }); + }, +}); diff --git a/web_widget_one2many_tree_line_duplicate/README.rst b/web_widget_one2many_tree_line_duplicate/README.rst index 52abe11a0966..87c791ca31fa 100644 --- a/web_widget_one2many_tree_line_duplicate/README.rst +++ b/web_widget_one2many_tree_line_duplicate/README.rst @@ -11,7 +11,7 @@ Web Widget One2many Tree Line Duplicate !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1bfdccb56bb56a23188875b884b3ed7f8eaff71397d72a1f8f26e5b270c4a1a1 + !! source digest: sha256:527e210da9b601737c6f57af72f6a61613789f8ebfd8d8cb3ba43c87a76ec273 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/web_widget_one2many_tree_line_duplicate/__manifest__.py b/web_widget_one2many_tree_line_duplicate/__manifest__.py index 1c71612be5a4..885ae04fc12d 100644 --- a/web_widget_one2many_tree_line_duplicate/__manifest__.py +++ b/web_widget_one2many_tree_line_duplicate/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Web Widget One2many Tree Line Duplicate", "category": "web", - "version": "18.0.1.0.0", + "version": "18.0.1.0.1", "author": "Tecnativa, Odoo Community Association (OCA)", "license": "AGPL-3", "website": "https://github.com/OCA/web", diff --git a/web_widget_one2many_tree_line_duplicate/i18n/it.po b/web_widget_one2many_tree_line_duplicate/i18n/it.po index 3e034b36a20d..2513af1eaa2d 100644 --- a/web_widget_one2many_tree_line_duplicate/i18n/it.po +++ b/web_widget_one2many_tree_line_duplicate/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-06-14 17:42+0000\n" +"PO-Revision-Date: 2026-01-19 13:50+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,11 +14,16 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: web_widget_one2many_tree_line_duplicate +#. odoo-javascript +#: code:addons/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml:0 +msgid "Duplicate Line Button" +msgstr "Pulsante duplica riga" #. module: web_widget_one2many_tree_line_duplicate #. odoo-javascript #: code:addons/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml:0 -#, python-format msgid "Duplicate row" msgstr "Duplica riga" diff --git a/web_widget_one2many_tree_line_duplicate/i18n/web_widget_one2many_tree_line_duplicate.pot b/web_widget_one2many_tree_line_duplicate/i18n/web_widget_one2many_tree_line_duplicate.pot index 9ac8535e0781..b32b9b24d3c4 100644 --- a/web_widget_one2many_tree_line_duplicate/i18n/web_widget_one2many_tree_line_duplicate.pot +++ b/web_widget_one2many_tree_line_duplicate/i18n/web_widget_one2many_tree_line_duplicate.pot @@ -13,6 +13,12 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: web_widget_one2many_tree_line_duplicate +#. odoo-javascript +#: code:addons/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml:0 +msgid "Duplicate Line Button" +msgstr "" + #. module: web_widget_one2many_tree_line_duplicate #. odoo-javascript #: code:addons/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml:0 diff --git a/web_widget_one2many_tree_line_duplicate/static/description/index.html b/web_widget_one2many_tree_line_duplicate/static/description/index.html index fa7d993f979f..6de9c1b659bd 100644 --- a/web_widget_one2many_tree_line_duplicate/static/description/index.html +++ b/web_widget_one2many_tree_line_duplicate/static/description/index.html @@ -372,7 +372,7 @@

    Web Widget One2many Tree Line Duplicate

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:1bfdccb56bb56a23188875b884b3ed7f8eaff71397d72a1f8f26e5b270c4a1a1 +!! source digest: sha256:527e210da9b601737c6f57af72f6a61613789f8ebfd8d8cb3ba43c87a76ec273 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    Allow to add a icon to clone the line.

    diff --git a/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.esm.js b/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.esm.js index 34083c4b9425..8311a470df75 100644 --- a/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.esm.js +++ b/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.esm.js @@ -3,19 +3,47 @@ * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ import {ListRenderer} from "@web/views/list/list_renderer"; +import {onWillRender} from "@odoo/owl"; import {patch} from "@web/core/utils/patch"; import {serializeDate, serializeDateTime} from "@web/core/l10n/dates"; +import {exprToBoolean} from "@web/core/utils/strings"; +import {browser} from "@web/core/browser/browser"; patch(ListRenderer.prototype, { setup() { super.setup(...arguments); const parent = this.__owl__.parent.parent; - this.displayDuplicateLine = + const key = this.createViewKey(); + this.keyDuplicateLineColumn = `duplicate_line_column,${key}`; + this.duplicateLineAllowed = parent && parent.props && parent.props.fieldInfo && parent.props.fieldInfo.options && parent.props.fieldInfo.options.allow_clone; + this.displayDuplicateLine = + this.duplicateLineAllowed && this.duplicateLineColumn; + onWillRender(() => { + this.duplicateLineColumn = exprToBoolean( + browser.localStorage.getItem(this.keyDuplicateLineColumn), + false + ); + this.displayDuplicateLine = + this.duplicateLineAllowed && this.duplicateLineColumn; + }); + }, + toggleDuplicateLineColumn() { + this.duplicateLineColumn = !this.duplicateLineColumn; + browser.localStorage.setItem( + this.keyDuplicateLineColumn, + this.duplicateLineColumn + ); + this.displayDuplicateLine = + this.duplicateLineAllowed && this.duplicateLineColumn; + this.render(); + }, + get hasActionsColumn() { + return super.hasActionsColumn || Boolean(this.duplicateLineAllowed); }, async onCloneIconClick(record) { const toSkip = this.getFieldsToSkip(); diff --git a/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml b/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml index daa56a33ce54..7ad14dbc4aa2 100644 --- a/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml +++ b/web_widget_one2many_tree_line_duplicate/static/src/list/list_renderer.xml @@ -16,6 +16,33 @@ style="width: 32px; min-width: 32px" /> + + + +