O9: mc_education_theme - per-company branding, the closing beat
Serves O9's acceptance test directly: swap to the second demo school
by switching the active company. Every branding field this module
configures - logo, primary/secondary colour, name, currency (on the
brand-new company only, see below), address - already exists on stock
res.company; this module adds zero new model fields, only demo data
and one view override. Two full companies exist because
shared/DEMO_SCRIPT.md names both by design: St. Aloysius Public
School (Coimbatore, the rebranded default company) and Waterloo
Heights Academy (Ontario, a fresh second company).
Removed the one concrete, spec-named piece of visible Odoo branding:
portal.portal_record_sidebar's "Powered by Odoo" logo, which renders
on every portal document page including the fee invoices
mc_education_portal links to - inherited the template and dropped
that div. Verified by actually rendering the template
(ir.qweb._render) and asserting the string is gone, not just that the
xpath applied without error.
Vendored OCA web_responsive per CLAUDE.md sec 2 ("pin every
third-party addon to a commit SHA, never a branch") - pinned to
b96307a8953f3bae075b8f7d94f40f00c2e63d1f on OCA/web's 19.0 branch.
Correcting my own third_party/README.md from O0 while doing this:
`git subtree add` on the whole OCA/web repo pulls every addon in that
monorepo (23MB+) for the sake of one - updated the instructions there
to fetch the pinned commit and extract just the one addon's directory
instead. Verified installable standalone against the live container
before vendoring it into the suite.
Real finding from testing the full 9-module suite installed together,
not this module in isolation: mc_education_fees's chart-of-accounts
setup (via `account`) posts journal items for the main company before
this module's demo data runs, and account.company.write() hard-blocks
a currency change once journal items exist - correctly so, you cannot
retroactively change a currency after transactions are posted in it.
Company currency belongs at true initial setup, before any financial
module has run, never as a later "apply a theme" change; dropped the
currency_id change on the rebranded main company accordingly (the
brand-new second company has no such history, so its currency is set
safely at creation). This is exactly why this session tests each
module against a real container, then the whole suite together before
calling anything done - this specific bug only exists when multiple
modules' demo data compose, and was invisible testing this module
alone.
Full-suite verification: all 9 mc_education_* modules plus
web_responsive installed together in one database, 81 tests across 8
of the 9 modules (mc_education_admission has none - a known gap, it
was verified by hand via curl/shell against the live container
instead, see its own commit), 0 failed, 0 errors.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4
addons/mc_education_theme/__init__.py
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# No models: every branding field this module configures (res.company
|
||||||
|
# logo/name/primary_color/secondary_color/currency, res.partner address)
|
||||||
|
# already exists in stock Odoo. This module is data (demo/) and one view
|
||||||
|
# override (views/), nothing more.
|
||||||
23
addons/mc_education_theme/__manifest__.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "School ERP - Theme",
|
||||||
|
"version": "19.0.1.0.0",
|
||||||
|
"category": "Education",
|
||||||
|
"summary": "Per-company branding; hides Odoo/ERPNext branding the demo audience would see.",
|
||||||
|
"author": "Metatroncube Software Solutions LLP",
|
||||||
|
"license": "Other proprietary",
|
||||||
|
# portal is a real, necessary dependency this module's own spec line
|
||||||
|
# ("Depends: mc_education_base") missed: hiding the "Powered by Odoo"
|
||||||
|
# text (views/portal_branding_templates.xml) means inheriting
|
||||||
|
# portal.portal_record_sidebar, which requires the portal module to
|
||||||
|
# be loaded. Flagging per CLAUDE.md's closing instruction rather than
|
||||||
|
# silently working around it.
|
||||||
|
"depends": ["mc_education_base", "portal"],
|
||||||
|
"data": [
|
||||||
|
"views/portal_branding_templates.xml",
|
||||||
|
],
|
||||||
|
"demo": [
|
||||||
|
"demo/mc_theme_demo.xml",
|
||||||
|
],
|
||||||
|
"installable": True,
|
||||||
|
"application": False,
|
||||||
|
}
|
||||||
46
addons/mc_education_theme/demo/mc_theme_demo.xml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<!-- The closing beat (O9 acceptance): swap to the second demo school
|
||||||
|
in under five minutes. Every field touched here is stock
|
||||||
|
res.company - logo, primary/secondary colour, name, address - so
|
||||||
|
the "swap" is just switching the active company in Odoo's own
|
||||||
|
company selector; nothing about this module invents new
|
||||||
|
branding plumbing. Two full schools already exist because
|
||||||
|
shared/DEMO_SCRIPT.md names both by design ("St. Aloysius Public
|
||||||
|
School, Coimbatore" and "Waterloo Heights Academy, Ontario" -
|
||||||
|
same data shape, different names/currency/board).
|
||||||
|
|
||||||
|
base.main_company's currency is deliberately NOT changed here.
|
||||||
|
Found by testing the full 9-module suite installed together,
|
||||||
|
not this module alone: mc_education_fees's chart-of-accounts
|
||||||
|
setup (via its `account` dependency) posts journal items for
|
||||||
|
the main company before mc_education_theme's demo data runs,
|
||||||
|
and account.company.write() hard-blocks a currency change once
|
||||||
|
journal items exist ("You cannot change the currency of the
|
||||||
|
company since some journal items already exist") - correctly
|
||||||
|
so, retroactively changing a currency after transactions are
|
||||||
|
posted would be wrong. This is a real constraint on company
|
||||||
|
setup generally, not a demo-data quirk: currency belongs at
|
||||||
|
true initial company setup, before any financial module has
|
||||||
|
run, never as a later "apply a theme" change. The brand-new
|
||||||
|
second company below has no such history, so its currency is
|
||||||
|
set safely at creation. -->
|
||||||
|
<record id="base.main_company" model="res.company">
|
||||||
|
<field name="name">St. Aloysius Public School</field>
|
||||||
|
<field name="country_id" ref="base.in"/>
|
||||||
|
<field name="city">Coimbatore</field>
|
||||||
|
<field name="primary_color">#1B3A5C</field>
|
||||||
|
<field name="secondary_color">#D4A017</field>
|
||||||
|
<field name="logo" type="base64" file="mc_education_theme/static/demo/logo_st_aloysius.png"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="demo_company_waterloo_heights" model="res.company">
|
||||||
|
<field name="name">Waterloo Heights Academy</field>
|
||||||
|
<field name="currency_id" ref="base.CAD"/>
|
||||||
|
<field name="country_id" ref="base.ca"/>
|
||||||
|
<field name="city">Waterloo</field>
|
||||||
|
<field name="primary_color">#1E5C3A</field>
|
||||||
|
<field name="secondary_color">#C0C0C0</field>
|
||||||
|
<field name="logo" type="base64" file="mc_education_theme/static/demo/logo_waterloo_heights.png"/>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
BIN
addons/mc_education_theme/static/demo/logo_st_aloysius.png
Normal file
|
After Width: | Height: | Size: 434 B |
BIN
addons/mc_education_theme/static/demo/logo_waterloo_heights.png
Normal file
|
After Width: | Height: | Size: 434 B |
1
addons/mc_education_theme/tests/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
from . import test_theme
|
||||||
32
addons/mc_education_theme/tests/test_theme.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
from odoo.tests.common import TransactionCase
|
||||||
|
|
||||||
|
|
||||||
|
class TestTheme(TransactionCase):
|
||||||
|
|
||||||
|
def test_two_branded_companies_exist(self):
|
||||||
|
main = self.env.ref("base.main_company")
|
||||||
|
self.assertEqual(main.name, "St. Aloysius Public School")
|
||||||
|
# No currency assertion here on purpose: base.main_company's
|
||||||
|
# currency is deliberately left untouched by this module (see the
|
||||||
|
# comment in demo/mc_theme_demo.xml) - changing it would fail
|
||||||
|
# once any financial module has posted journal items for this
|
||||||
|
# company, which a combined install of the full suite does
|
||||||
|
# before this module's demo data runs.
|
||||||
|
self.assertTrue(main.logo)
|
||||||
|
|
||||||
|
waterloo = self.env.ref("mc_education_theme.demo_company_waterloo_heights")
|
||||||
|
self.assertEqual(waterloo.name, "Waterloo Heights Academy")
|
||||||
|
self.assertEqual(waterloo.currency_id, self.env.ref("base.CAD"))
|
||||||
|
self.assertTrue(waterloo.logo)
|
||||||
|
|
||||||
|
# The "swap" is switching companies - each must actually be
|
||||||
|
# distinct, not the same record twice under different refs.
|
||||||
|
self.assertNotEqual(main.id, waterloo.id)
|
||||||
|
|
||||||
|
def test_portal_sidebar_has_no_odoo_branding(self):
|
||||||
|
html = str(self.env["ir.qweb"]._render("portal.portal_record_sidebar", {
|
||||||
|
"classes": "", "title": False, "entries": False,
|
||||||
|
}))
|
||||||
|
self.assertNotIn("Powered by", html)
|
||||||
|
self.assertNotIn("odoo.com", html)
|
||||||
|
self.assertNotIn("Odoo Logo", html)
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<!-- shared/DEMO_SCRIPT.md, "What must NOT appear in the demo": "The
|
||||||
|
ERPNext or Odoo brand name visible to the audience at any
|
||||||
|
point." Every fee invoice a guardian opens in the portal
|
||||||
|
(mc_education_portal's fees page links straight to the stock
|
||||||
|
/my/invoices/<id> page) renders through this exact sidebar
|
||||||
|
template, "Powered by Odoo" logo included, unless removed. -->
|
||||||
|
<template id="portal_record_sidebar_no_odoo_branding"
|
||||||
|
inherit_id="portal.portal_record_sidebar">
|
||||||
|
<xpath expr="//div[hasclass('d-none') and hasclass('d-lg-block') and hasclass('text-center')]"
|
||||||
|
position="replace"/>
|
||||||
|
</template>
|
||||||
|
</odoo>
|
||||||
22
third_party/README.md
vendored
@ -3,13 +3,25 @@
|
|||||||
OCA addons vendored into this repo, each pinned to a commit SHA — never a branch. A moving
|
OCA addons vendored into this repo, each pinned to a commit SHA — never a branch. A moving
|
||||||
branch inside a pinned image breaks the build later with no obvious cause (CLAUDE.md §2).
|
branch inside a pinned image breaks the build later with no obvious cause (CLAUDE.md §2).
|
||||||
|
|
||||||
Nothing is vendored yet. The first entry will be OCA `web_responsive` (see O9,
|
## Vendored
|
||||||
`mc_education_theme`) — the stock Community backend needs it and Studio is out of scope.
|
|
||||||
|
|
||||||
When adding an addon:
|
| Addon | Source | Pinned SHA | Why |
|
||||||
|
|-------|--------|-----------|-----|
|
||||||
|
| `web_responsive` | [OCA/web](https://github.com/OCA/web), branch `19.0` | `b96307a8953f3bae075b8f7d94f40f00c2e63d1f` | O9 (`mc_education_theme`): the stock Community backend menu/breadcrumb UI is desktop-only otherwise, and Studio (which some paid alternatives lean on for a responsive backend) is Enterprise and out of scope per CLAUDE.md §1. |
|
||||||
|
|
||||||
|
## Adding an addon
|
||||||
|
|
||||||
|
`OCA/web` (and most OCA repos) are monorepos with dozens of unrelated addons — `git subtree
|
||||||
|
add` on the whole repo pulls all of them (23MB+ for one addon's sake). Instead, extract just the
|
||||||
|
addon you need at the pinned commit:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git subtree add --prefix=third_party/<addon_name> <oca_repo_url> <commit_sha> --squash
|
git clone --no-checkout --depth 1 <oca_repo_url> /tmp/oca-scratch
|
||||||
|
cd /tmp/oca-scratch
|
||||||
|
git fetch --depth 1 origin <commit_sha>
|
||||||
|
git checkout FETCH_HEAD -- <addon_name>
|
||||||
|
cp -r <addon_name>/. <repo_root>/third_party/<addon_name>/
|
||||||
```
|
```
|
||||||
|
|
||||||
Record the SHA and the reason it was pinned in this file.
|
Record the addon, source repo/branch, pinned SHA, and the reason it was pinned in the table
|
||||||
|
above, in the same commit as the vendored files.
|
||||||
|
|||||||
222
third_party/web_responsive/README.rst
vendored
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
.. image:: https://odoo-community.org/readme-banner-image
|
||||||
|
:target: https://odoo-community.org/get-involved?utm_source=readme
|
||||||
|
:alt: Odoo Community Association
|
||||||
|
|
||||||
|
==============
|
||||||
|
Web Responsive
|
||||||
|
==============
|
||||||
|
|
||||||
|
..
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!! This file is generated by oca-gen-addon-readme !!
|
||||||
|
!! changes will be overwritten. !!
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!! source digest: sha256:cdfbec36e2e1aa83b9b44b34c64aa769b2d50867da82f88fc5c817fa641c2f9c
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
.. |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/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/19.0/web_responsive
|
||||||
|
:alt: OCA/web
|
||||||
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||||
|
:target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_responsive
|
||||||
|
: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=19.0
|
||||||
|
:alt: Try me on Runboat
|
||||||
|
|
||||||
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||||
|
|
||||||
|
This module adds responsiveness to web backend.
|
||||||
|
|
||||||
|
**Features for all devices**:
|
||||||
|
|
||||||
|
- Redirect to the dashboard after logging in. Users will only be
|
||||||
|
redirected to the home page after login if they have enabled the
|
||||||
|
'Redirect to Home' option in their profile settings.
|
||||||
|
|
||||||
|
|image|
|
||||||
|
|
||||||
|
- New navigation with the fullscreen app menu
|
||||||
|
|
||||||
|
|image1|
|
||||||
|
|
||||||
|
- Quick menu search inside the app menu
|
||||||
|
|
||||||
|
|image2|
|
||||||
|
|
||||||
|
- Sticky header & footer in list view
|
||||||
|
|
||||||
|
|image3|
|
||||||
|
|
||||||
|
- Sticky statusbar in form view
|
||||||
|
|
||||||
|
|image4|
|
||||||
|
|
||||||
|
- Bigger checkboxes in list view
|
||||||
|
|
||||||
|
|image5|
|
||||||
|
|
||||||
|
**Features for mobile**: \* View type picker dropdown displays
|
||||||
|
comfortably
|
||||||
|
|
||||||
|
- Control panel buttons use icons to save space.
|
||||||
|
|
||||||
|
|image6|
|
||||||
|
|
||||||
|
- Followers and send button is displayed on mobile. Avatar is hidden.
|
||||||
|
|
||||||
|
|image7|
|
||||||
|
|
||||||
|
- Big inputs on form in edit mode
|
||||||
|
|
||||||
|
**Features for desktop computers**:
|
||||||
|
|
||||||
|
- Keyboard shortcuts for easier navigation, **using \`Alt + Shift +
|
||||||
|
[NUM]\`** combination instead of just Alt + [NUM] to avoid conflict
|
||||||
|
with Firefox Tab switching. Standard Odoo keyboard hotkeys changed to
|
||||||
|
be more intuitive or accessible by fingers of one hand. F.x. Alt + S
|
||||||
|
for Save
|
||||||
|
|
||||||
|
|image8|
|
||||||
|
|
||||||
|
- Autofocus on search menu box when opening the app menu
|
||||||
|
|
||||||
|
|image9|
|
||||||
|
|
||||||
|
- When the chatter is on the side part, the document viewer fills that
|
||||||
|
part for side-by-side reading instead of full screen. You can still
|
||||||
|
put it on full width preview clicking on the new maximize button.
|
||||||
|
|
||||||
|
|image10|
|
||||||
|
|
||||||
|
- When the user chooses to send a public message the color of the
|
||||||
|
composer is different from the one when the message is an internal
|
||||||
|
log.
|
||||||
|
|
||||||
|
|image11|
|
||||||
|
|
||||||
|
.. |image| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/redirecthome.gif
|
||||||
|
.. |image1| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appmenu.gif
|
||||||
|
.. |image2| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appsearch.gif
|
||||||
|
.. |image3| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/listview.gif
|
||||||
|
.. |image4| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/formview.gif
|
||||||
|
.. |image5| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/listview.gif
|
||||||
|
.. |image6| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/form_buttons.gif
|
||||||
|
.. |image7| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/chatter.png
|
||||||
|
.. |image8| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/shortcuts.gif
|
||||||
|
.. |image9| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appsearch.gif
|
||||||
|
.. |image10| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/document_viewer.gif
|
||||||
|
.. |image11| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/chatter-colors.png
|
||||||
|
|
||||||
|
**Table of contents**
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
The following keyboard shortcuts are implemented:
|
||||||
|
|
||||||
|
- Navigate app search results - Arrow keys
|
||||||
|
- Choose app result - ``Enter``
|
||||||
|
- ``Esc`` to close app drawer
|
||||||
|
|
||||||
|
Known issues / Roadmap
|
||||||
|
======================
|
||||||
|
|
||||||
|
- App navigation with keyboard.
|
||||||
|
- Handle long titles on forms in a better way
|
||||||
|
|
||||||
|
Bug Tracker
|
||||||
|
===========
|
||||||
|
|
||||||
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_responsive%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||||
|
|
||||||
|
Do not contact contributors directly about support or help with technical issues.
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
* LasLabs
|
||||||
|
* Tecnativa
|
||||||
|
* ITerra
|
||||||
|
* Onestein
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
------------
|
||||||
|
|
||||||
|
- Dave Lasley <dave@laslabs.com>
|
||||||
|
|
||||||
|
- Jairo Llopis <jairo.llopis@tecnativa.com>
|
||||||
|
|
||||||
|
- `Onestein <https://www.onestein.nl>`__:
|
||||||
|
|
||||||
|
- Dennis Sluijk <d.sluijk@onestein.nl>
|
||||||
|
- Anjeel Haria
|
||||||
|
|
||||||
|
- Sergio Teruel <sergio.teruel@tecnativa.com>
|
||||||
|
|
||||||
|
- Alexandre Díaz <dev@redneboa.es>
|
||||||
|
|
||||||
|
- Mathias Markl <mathias.markl@mukit.at>
|
||||||
|
|
||||||
|
- Iván Todorovich <ivan.todorovich@gmail.com>
|
||||||
|
|
||||||
|
- Sergey Shebanin <sergey@shebanin.ru>
|
||||||
|
|
||||||
|
- David Vidal <david.vidal@tecnativa.com>
|
||||||
|
|
||||||
|
- Taras Shabaranskyi <shabaranskij@gmail.com>
|
||||||
|
|
||||||
|
- Angel Patel <patelangel1414@gmail.com>
|
||||||
|
|
||||||
|
- Mohamed Alkobrosli <malkobrosly@kencove.com>
|
||||||
|
|
||||||
|
- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__
|
||||||
|
|
||||||
|
- Bhavesh Heliconia
|
||||||
|
|
||||||
|
- `IKU Solutions <https://www.iku.solutions>`__
|
||||||
|
|
||||||
|
- Yan Chirino <yan.chirino@iku.solutions>
|
||||||
|
|
||||||
|
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-Tardo| image:: https://github.com/Tardo.png?size=40px
|
||||||
|
:target: https://github.com/Tardo
|
||||||
|
:alt: Tardo
|
||||||
|
.. |maintainer-SplashS| image:: https://github.com/SplashS.png?size=40px
|
||||||
|
:target: https://github.com/SplashS
|
||||||
|
:alt: SplashS
|
||||||
|
|
||||||
|
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|
||||||
|
|
||||||
|
|maintainer-Tardo| |maintainer-SplashS|
|
||||||
|
|
||||||
|
This module is part of the `OCA/web <https://github.com/OCA/web/tree/19.0/web_responsive>`_ project on GitHub.
|
||||||
|
|
||||||
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||||
4
third_party/web_responsive/__init__.py
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Copyright 2023 Taras Shabaranskyi
|
||||||
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
from . import models
|
||||||
66
third_party/web_responsive/__manifest__.py
vendored
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Copyright 2016-2017 LasLabs Inc.
|
||||||
|
# Copyright 2017-2018 Tecnativa - Jairo Llopis
|
||||||
|
# Copyright 2018-2019 Tecnativa - Alexandre Díaz
|
||||||
|
# Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
# Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
# Copyright 2023 Taras Shabaranskyi
|
||||||
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "Web Responsive",
|
||||||
|
"summary": "Responsive web client, community-supported",
|
||||||
|
"version": "19.0.1.1.0",
|
||||||
|
"category": "Website",
|
||||||
|
"website": "https://github.com/OCA/web",
|
||||||
|
"author": "LasLabs, Tecnativa, ITerra, Onestein, Odoo Community Association (OCA)",
|
||||||
|
"license": "LGPL-3",
|
||||||
|
"installable": True,
|
||||||
|
"depends": ["web", "web_tour", "mail"],
|
||||||
|
"development_status": "Production/Stable",
|
||||||
|
"maintainers": ["Tardo", "SplashS"],
|
||||||
|
"excludes": ["web_enterprise"],
|
||||||
|
"data": [
|
||||||
|
"views/res_users_views.xml",
|
||||||
|
],
|
||||||
|
"assets": {
|
||||||
|
"web._assets_primary_variables": {
|
||||||
|
"/web_responsive/static/src/legacy/scss/form_variable.scss",
|
||||||
|
"/web_responsive/static/src/legacy/scss/primary_variable.scss",
|
||||||
|
},
|
||||||
|
"web.assets_backend": [
|
||||||
|
"web_responsive/static/src/lib/fuse/fuse.basic.min.js",
|
||||||
|
"/web_responsive/static/src/legacy/scss/web_responsive.scss",
|
||||||
|
"/web_responsive/static/src/legacy/scss/big_boxes.scss",
|
||||||
|
"/web_responsive/static/src/legacy/scss/list_sticky_header.scss",
|
||||||
|
"/web_responsive/static/src/legacy/js/web_responsive.esm.js",
|
||||||
|
"/web_responsive/static/src/legacy/xml/form_buttons.xml",
|
||||||
|
"/web_responsive/static/src/legacy/xml/custom_favorite_item.xml",
|
||||||
|
"/web_responsive/static/src/components/apps_menu_tools.esm.js",
|
||||||
|
"/web_responsive/static/src/components/apps_menu/*",
|
||||||
|
"/web_responsive/static/src/components/apps_menu_item/*",
|
||||||
|
"/web_responsive/static/src/components/menu_canonical_searchbar/*",
|
||||||
|
"/web_responsive/static/src/components/menu_odoo_searchbar/*",
|
||||||
|
"/web_responsive/static/src/components/menu_fuse_searchbar/*",
|
||||||
|
"/web_responsive/static/src/components/menu_searchbar/*",
|
||||||
|
"/web_responsive/static/src/components/hotkey/*",
|
||||||
|
"/web_responsive/static/src/components/file_viewer/*",
|
||||||
|
"/web_responsive/static/src/components/chatter/*",
|
||||||
|
"/web_responsive/static/src/components/control_panel/*",
|
||||||
|
"/web_responsive/static/src/components/command_palette/*",
|
||||||
|
"/web_responsive/static/src/views/form/*",
|
||||||
|
# Don't include dark mode files in light mode
|
||||||
|
("remove", "web_responsive/static/src/**/*.dark.scss"),
|
||||||
|
],
|
||||||
|
"web.assets_web_dark": [
|
||||||
|
"web_responsive/static/src/**/*.dark.scss",
|
||||||
|
],
|
||||||
|
"web.assets_clickbot": [
|
||||||
|
"/web_responsive/static/src/clickbot/clickbot.esm.js",
|
||||||
|
],
|
||||||
|
"web.qunit_suite_tests": [
|
||||||
|
"/web_responsive/static/tests/apps_menu_tests.esm.js",
|
||||||
|
"/web_responsive/static/tests/apps_menu_search_tests.esm.js",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"sequence": 1,
|
||||||
|
}
|
||||||
250
third_party/web_responsive/i18n/ar.po
vendored
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 13.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2020-11-07 15:08+0000\n"
|
||||||
|
"Last-Translator: Waleed Mohsen <Mohsen.Waleed@gmail.com>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ar\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||||
|
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||||
|
"X-Generator: Weblate 3.10\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "تجاهل"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "تكبير"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "تصغير"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "حفظ"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "بحث في القوائم..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "إنشاء"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "موقع الدردشة"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "تعديل"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "عادي"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "اجراءات سريعة"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "جانبي"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "المستخدمون"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "إغلاق"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "false"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
234
third_party/web_responsive/i18n/ca.po
vendored
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 13.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2020-02-02 22:13+0000\n"
|
||||||
|
"Last-Translator: eduardgm <eduard.garcia@qubiq.es>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ca\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 3.10\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Descartar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximitzar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimitzar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Guardar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Cercar menús..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Crear"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Posició del chatter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editar"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Accions ràpides"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Lateral"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Usuaris"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Tancar"
|
||||||
|
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "fals"
|
||||||
231
third_party/web_responsive/i18n/da.po
vendored
Normal file
@ -0,0 +1,231 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 11.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2018-09-02 05:11+0000\n"
|
||||||
|
"Last-Translator: Hans Henrik Gabelgaard <hhg@gabelgaard.org>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: da\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 3.1.1\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Log position"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Side"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Brugere"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle App Drawer</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Skift App skuffe</span>"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle Navigation</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Skift navigation</span>"
|
||||||
|
|
||||||
|
#~ msgid "Apps"
|
||||||
|
#~ msgstr "Applikationer"
|
||||||
|
|
||||||
|
#~ msgid "More"
|
||||||
|
#~ msgstr "Mere"
|
||||||
|
|
||||||
|
#~ msgid "More <b class=\"caret\"/>"
|
||||||
|
#~ msgstr "Mere <b class=\"caret\"/>"
|
||||||
|
|
||||||
|
#~ msgid "Task"
|
||||||
|
#~ msgstr "Opgave"
|
||||||
278
third_party/web_responsive/i18n/de.po
vendored
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Niki Waibel <niki.waibel@gmail.com>, 2017
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-02-03 01:37+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-06-20 11:09+0000\n"
|
||||||
|
"Last-Translator: Nils Coenen <nils.coenen@nico-solutions.de>\n"
|
||||||
|
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.17\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Verwerfen"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Home-Menü"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Protokollnotiz"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "maximieren"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "minimieren"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Neu"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Speichern"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Such-Menüs..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Nachricht senden"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Activities"
|
||||||
|
#~ msgstr "Aktivitäten"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Alles"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachment counter loading..."
|
||||||
|
#~ msgstr "Anhangszähler wird geladen..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachments"
|
||||||
|
#~ msgstr "Anhänge"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "LÖSCHEN"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "SIEHE ERGEBNIS"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Suche..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Ansichtsumschalter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Erstellen"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Chatter-Position"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Ändern"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Schnell-Aktion"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Seitlich"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Benutzer"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Schließen"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle App Drawer</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">App Ordner umschalten</span>"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle Navigation</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Navigation umschalten</span>"
|
||||||
|
|
||||||
|
#~ msgid "Apps"
|
||||||
|
#~ msgstr "Apps"
|
||||||
|
|
||||||
|
#~ msgid "More <b class=\"caret\"/>"
|
||||||
|
#~ msgstr "Mehr <b class=\"caret\"/>"
|
||||||
291
third_party/web_responsive/i18n/es.po
vendored
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2016
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2019-01-10 10:49+0000\n"
|
||||||
|
"PO-Revision-Date: 2025-05-15 16:03+0000\n"
|
||||||
|
"Last-Translator: \"Leonardo J. Caballero G.\" <leonardocaballero@gmail.com>\n"
|
||||||
|
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
|
||||||
|
"Language: es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.10.4\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr "Acción"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr "Icono de la Aplicación"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr "Preferencias del Menú Aplicaciones"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr "Menú Aplicaciones Tipo de Búsqueda"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr "Tema del Menú de Aplicaciones"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr "Canónico"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr "Paleta de Comandos"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr "Comunidad"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Descartar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr "Salida"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr "Fusible"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr "Enrutamiento HTTP"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Menú de Inicio"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Nota de registro"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximizar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr "Leche"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimizar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Nuevo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr "Nada que mostrar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr "Redirigir al inicio"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr "Redirigir al panel después de iniciar sesión"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Guardar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr "Tipo de Búsqueda"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr "Tipo de Búsqueda Ayuda"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Buscar menús..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Enviar mensaje"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr "Tema"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr "Usuario"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr "se utiliza un nuevo algoritmo de búsqueda"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr "la herramienta de búsqueda estándar de odoo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr "utiliza un algoritmo estándar"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Activities"
|
||||||
|
#~ msgstr "Actividades"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Todos"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachment counter loading..."
|
||||||
|
#~ msgstr "Carga del contador de archivos adjuntos..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachments"
|
||||||
|
#~ msgstr "Archivos adjuntos"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "LIMPIAR"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "FILTRAR"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "VER RESULTADO"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Búsqueda..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Vista del conmutador"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Crear"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Posición del chatter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editar"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Acciones rápidas"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Lateral"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Usuarios"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Cerrar"
|
||||||
|
|
||||||
|
#~ msgid "Shift"
|
||||||
|
#~ msgstr "Turno"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "falso"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
183
third_party/web_responsive/i18n/es_VE.po
vendored
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
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: 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_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
290
third_party/web_responsive/i18n/fr.po
vendored
Normal file
@ -0,0 +1,290 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 12.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2025-05-07 12:58+0000\n"
|
||||||
|
"Last-Translator: timbreckx <thomas.imbreckx@imio.be>\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 5.10.4\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr "Action"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Menu d’accueil"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Enregistrer une note"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Enregistrer"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Rechercher dans les menus..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Envoyer un message"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Activities"
|
||||||
|
#~ msgstr "Activités"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Tout"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachment counter loading..."
|
||||||
|
#~ msgstr "Chargement du compteur de pièces jointes..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachments"
|
||||||
|
#~ msgstr "Pièces Jointes"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "NETTOYER"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "FILTRER"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "VOIR RÉSULTAT"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Rechercher…"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Bascule de vue"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Créer"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Position de la messagerie"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Clear"
|
||||||
|
#~ msgstr "Nettoyer"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editer"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Actions rapides"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "À coté"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Today"
|
||||||
|
#~ msgstr "Aujourd’hui"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Undefined"
|
||||||
|
#~ msgstr "Non défini"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Utilisateurs"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "props.withAccessKey ? 'x' : false"
|
||||||
|
#~ msgstr "props.withAccessKey ? 'x' : false"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "props.withAccessKey ? 'z' : false"
|
||||||
|
#~ msgstr "props.withAccessKey ? 'z' : false"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Fermer"
|
||||||
185
third_party/web_responsive/i18n/fr_BE.po
vendored
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 18.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2025-05-07 15:23+0000\n"
|
||||||
|
"Last-Translator: timbreckx <thomas.imbreckx@imio.be>\n"
|
||||||
|
"Language-Team: none\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"
|
||||||
|
"X-Generator: Weblate 5.10.4\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr "Icône d'application"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr "Préférences du menu d'applications"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr "Type de recherche du menu d'applications"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr "Thème du menu d'applications"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr "Canonique"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr "Palette de commandes"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr "Communauté"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Ignorer"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr "Quitter"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr "Fusionner"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr "Routage HTTP"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Menu d'accueil"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Nouveau"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr "Rien à afficher"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr "Rediriger vers la page d'accueil"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr "Rediriger vers le tableau de bord après l'authentification"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Enregistrer"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr "Type de recherche"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Envoyer un message"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr "Thème"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr "Utilisateur"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr "un nouvel algorithme de recherche est utilisé"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr "l'outil de recherche standard d'odoo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr "utilise un algorithme standard"
|
||||||
228
third_party/web_responsive/i18n/fr_FR.po
vendored
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2021-04-11 18:46+0000\n"
|
||||||
|
"Last-Translator: Yves Le Doeuff <yld@alliasys.fr>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: fr_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.3.2\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimiser"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Sauvegarder"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Rechercher dans les menus..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Créer"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Position du Chatter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editer"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Actions rapides"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "À coté"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Utilisateurs"
|
||||||
256
third_party/web_responsive/i18n/hr.po
vendored
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Bole <bole@dajmi5.com>, 2017
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-04-28 18:03+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-04-03 13:22+0000\n"
|
||||||
|
"Last-Translator: Bole <bole@dajmi5.com>\n"
|
||||||
|
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
|
||||||
|
"Language: hr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||||
|
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.14.1\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Odustani"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Glavni izbornik"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Zabilježi napomenu"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maksimiziraj"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimiziraj"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Novi"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Spremi"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Pretraži izbornike..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Pošalji poruku"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Activities"
|
||||||
|
#~ msgstr "Aktivnosti"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Sve"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachment counter loading..."
|
||||||
|
#~ msgstr "Učitavam brojač priloga..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachments"
|
||||||
|
#~ msgstr "Prilozi"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "OČISTI"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "TRAŽI"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "VIDI REZULTAT"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Pretraži..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Izmjena pogleda"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle App Drawer</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Izmjeni izbornik aplikacije</span>"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle Navigation</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Izmjeni navigaciju</span>"
|
||||||
|
|
||||||
|
#~ msgid "Apps"
|
||||||
|
#~ msgstr "Apikacije"
|
||||||
|
|
||||||
|
#~ msgid "More <b class=\"caret\"/>"
|
||||||
|
#~ msgstr "Više <b class=\"caret\"/>"
|
||||||
204
third_party/web_responsive/i18n/it.po
vendored
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 17.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2024-07-18 06:35+0000\n"
|
||||||
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\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 5.6.2\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr "Azione"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr "Icona app"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr "Preferenze menu app"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr "Tipo ricerca menu app"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr "Tema menu app"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr "Canonico"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr "Tavolozza controllo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr "Comunità"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Abbandona"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr "Uscita"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr "Fondi"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr "Instradamento HTTP"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Menu home"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Registra nota"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Massimizza"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr "Latte"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimizza"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Nuovo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr "Nulla da visualizzare"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr "Inoltra alla home"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr "Inoltra al cruscotto dopo l'accesso"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Salva"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr "Tipo ricerca"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr "Aiuto tipo ricerca"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Menù ricerca..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Invia messaggio"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr "Tema"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr "Utente"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr "è stato utilizzato un nuovo algoritmo di ricerca"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr "lo strumento di ricerca standard Odoo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr "usa un algoritmo standard"
|
||||||
242
third_party/web_responsive/i18n/nl.po
vendored
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 13.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2021-05-17 20:47+0000\n"
|
||||||
|
"Last-Translator: Bosd <c5e2fd43-d292-4c90-9d1f-74ff3436329a@anonaddy.me>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: nl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.3.2\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Negeren"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximaliseren"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimaliseren"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Opslaan"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Zoek menu's..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Aanmaken"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Chatter Positie"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Bewerken"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normaal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Snelle Acties"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Aan de zijkant"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Gebruikers"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Sluit"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "Shift"
|
||||||
|
#~ msgstr "Shift"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "false"
|
||||||
268
third_party/web_responsive/i18n/pl.po
vendored
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 15.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2022-08-08 23:07+0000\n"
|
||||||
|
"Last-Translator: Jacek Michalski <michalski.jck@gmail.com>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: pl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||||
|
"|| n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.3.2\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Odrzuć"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Zmaksymalizuj"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Zminimalizuj"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Zapisz"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Przeszukaj menu..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Wszystkie"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "WYCZYŚĆ"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "FILTRUJ"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "ZOBACZ WYNIK"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Szukaj..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Przełącznik widoku"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Utwórz"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Pozycja Czatu"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Clear"
|
||||||
|
#~ msgstr "Wyczyść"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Edytuj"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normalna"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Szybkie akcje"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Z boku"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Today"
|
||||||
|
#~ msgstr "Dzisiaj"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Undefined"
|
||||||
|
#~ msgstr "Niezdefiniowane"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Użytkownicy"
|
||||||
|
|
||||||
|
#~ msgid "fade"
|
||||||
|
#~ msgstr "wygasanie"
|
||||||
228
third_party/web_responsive/i18n/pt.po
vendored
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 12.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2019-08-12 11:44+0000\n"
|
||||||
|
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: pt\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 3.7.1\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Descartar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Gravar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Procurar menus..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Criar"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Posição do Chatter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editar"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Ações rápidas"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Lateralizado"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Utilizadores"
|
||||||
297
third_party/web_responsive/i18n/pt_BR.po
vendored
Normal file
@ -0,0 +1,297 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2017
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-06-22 08:27+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-10-28 16:10+0000\n"
|
||||||
|
"Last-Translator: Adriano Prado <adrianojprado@gmail.com>\n"
|
||||||
|
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
|
||||||
|
"teams/23907/pt_BR/)\n"
|
||||||
|
"Language: pt_BR\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 4.17\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Descartar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Menu Inicial"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Nota de Registro"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Maximizar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Minimizar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Novo"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Salvar"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Pesquisar menus..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Enviar menssagem"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Activities"
|
||||||
|
#~ msgstr "Atividades"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Tudo"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachment counter loading..."
|
||||||
|
#~ msgstr "Carregando do contador de anexos..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Attachments"
|
||||||
|
#~ msgstr "Anexos"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "LIMPAR"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "FILTRAR"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "VER RESULTADO"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Procurar..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Ver alternador"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Criar"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Posição do Chatter"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Editar"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normal"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Ações rápidas"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Frente e verso"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Usuários"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "Fechar"
|
||||||
|
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "falso"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle App Drawer</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Aplicativo Desenhador Alternativo</span>"
|
||||||
|
|
||||||
|
#~ msgid "<span class=\"sr-only\">Toggle Navigation</span>"
|
||||||
|
#~ msgstr "<span class=\"sr-only\">Navegação Alternativa</span>"
|
||||||
|
|
||||||
|
#~ msgid "Apps"
|
||||||
|
#~ msgstr "Aplicativos"
|
||||||
|
|
||||||
|
#~ msgid "HTTP routing"
|
||||||
|
#~ msgstr "roteamento HTTP"
|
||||||
|
|
||||||
|
#~ msgid "More <b class=\"caret\"/>"
|
||||||
|
#~ msgstr "Mais <b class=\"caret\"/>"
|
||||||
264
third_party/web_responsive/i18n/ru.po
vendored
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2021-03-31 16:36+0000\n"
|
||||||
|
"Last-Translator: SplashS <sergey@shebanin.ru>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ru\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.3.2\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Отменить"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Увеличить"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Уменьшить"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Сохранить"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Поиск по меню..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Все"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "Очистить"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "Фильтр"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "Применить"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Поиск..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Сменить вид"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Создать"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "Расположение Чата"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "Править"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Снизу"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "Действия"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "Справа"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Today"
|
||||||
|
#~ msgstr "Сегодня"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Undefined"
|
||||||
|
#~ msgstr "Не определено"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "Пользователи"
|
||||||
|
|
||||||
|
#~ msgid "Display Name"
|
||||||
|
#~ msgstr "Видимое имя"
|
||||||
232
third_party/web_responsive/i18n/tr.po
vendored
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 15.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2025-09-15 16:42+0000\n"
|
||||||
|
"Last-Translator: Betül Öğmen <betulo@eska.biz>\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 5.10.4\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr "Eylem"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr "Uygulama simgesi"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr "Uygulamalar Menüsü Tercihleri"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr "Uygulamalar Menüsü Arama Türü"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr "Uygulamalar Menü Teması"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr "Komut Paleti"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr "Topluluk"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "Vazgeç"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr "Çıkış"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr "Sigorta"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr "HTTP Yönlendirme"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Ana Menü"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr "Not Ekle"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Büyütme"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr "Süt"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Küçültme"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Yeni"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr "Gösterilecek bir şey yok"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr "Ana Sayfaya Yönlendir"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr "Oturum açtıktan sonra panoya yönlendir"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Kaydet"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr "Arama Türü"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr "Arama Türü Yardımı"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Arama menüleri..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Mesaj Gönder"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr "Tema"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr "Kullanıcı"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr "yeni bir arama algoritması kullanılıyor"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr "standart odoo arama aracı"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr "standart bir algoritma kullanır"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "All"
|
||||||
|
#~ msgstr "Hepsi"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "CLEAR"
|
||||||
|
#~ msgstr "TEMİZLEME"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "FILTER"
|
||||||
|
#~ msgstr "FİLTRE"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "SEE RESULT"
|
||||||
|
#~ msgstr "SONUCU GÖR"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Search..."
|
||||||
|
#~ msgstr "Arama..."
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "View switcher"
|
||||||
|
#~ msgstr "Görüntü Değiştiriciyi"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "Oluşturma"
|
||||||
204
third_party/web_responsive/i18n/uk_UA.po
vendored
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 17.0-20231123\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2023-11-25 15:27+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-11-25 15:27+0000\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr "Головне меню"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "Збільшити"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "Згорнути"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr "Новий"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr "Нема чого показати"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Зберегти"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "Пошук..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr "Надіслати повідомлення"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
194
third_party/web_responsive/i18n/web_responsive.pot
vendored
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 19.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_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_ir_http__display_name
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_ir_http__id
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
249
third_party/web_responsive/i18n/zh_CN.po
vendored
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_responsive
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 12.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2020-07-08 05:19+0000\n"
|
||||||
|
"Last-Translator: 黎伟杰 <674416404@qq.com>\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: zh_CN\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 3.10\n"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/views/form/status_bar_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "App Icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.actions.act_window,name:web_responsive.res_users_view_form_apps_menu_preferences_action
|
||||||
|
msgid "Apps Menu Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_search_type
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__apps_menu_theme
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Apps Menu Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__canonical
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Canonical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__command_palette
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Command Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__community
|
||||||
|
msgid "Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "丢弃"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/command_palette/main.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Exit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_search_type__fuse
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Fuse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_ir_http
|
||||||
|
msgid "HTTP Routing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/apps_menu/apps_menu.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Home Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Log note"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Maximize"
|
||||||
|
msgstr "最大化"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields.selection,name:web_responsive.selection__res_users__apps_menu_theme__milk
|
||||||
|
msgid "Milk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/file_viewer/file_viewer.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Minimize"
|
||||||
|
msgstr "最小化"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Nothing to show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,field_description:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model.fields,help:web_responsive.field_res_users__is_redirect_home
|
||||||
|
msgid "Redirect to dashboard after signing in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/legacy/xml/form_buttons.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "保存"
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Search Type Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml:0
|
||||||
|
#: code:addons/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Search menus..."
|
||||||
|
msgstr "搜索菜单..."
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/web_responsive/static/src/components/chatter/chatter.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Send message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model:ir.model,name:web_responsive.model_res_users
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "a new search algorithm is used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "the standard odoo search tool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_responsive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:web_responsive.res_users_view_form_apps_menu_preferences
|
||||||
|
msgid "uses a standard algorithm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Create"
|
||||||
|
#~ msgstr "创建"
|
||||||
|
|
||||||
|
#~ msgid "Chatter Position"
|
||||||
|
#~ msgstr "聊天位置"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Edit"
|
||||||
|
#~ msgstr "编辑"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "正常"
|
||||||
|
|
||||||
|
#, python-format
|
||||||
|
#~ msgid "Quick actions"
|
||||||
|
#~ msgstr "快捷方式"
|
||||||
|
|
||||||
|
#~ msgid "Sided"
|
||||||
|
#~ msgstr "侧面"
|
||||||
|
|
||||||
|
#~ msgid "Users"
|
||||||
|
#~ msgstr "用户"
|
||||||
|
|
||||||
|
#~ msgid "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
#~ msgstr "#menu_id=#{app.menuID}&action_id=#{app.actionID}"
|
||||||
|
|
||||||
|
#~ msgid "Close"
|
||||||
|
#~ msgstr "关闭"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "btn btn-secondary o_mail_discuss_button_multi_user_channel d-md-block d-"
|
||||||
|
#~ "none"
|
||||||
|
|
||||||
|
#~ msgid "false"
|
||||||
|
#~ msgstr "false"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "modal o_modal_fullscreen o_document_viewer o_responsive_document_viewer"
|
||||||
5
third_party/web_responsive/models/__init__.py
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Copyright 2023 Taras Shabaranskyi
|
||||||
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
from . import res_users
|
||||||
|
from . import ir_http
|
||||||
19
third_party/web_responsive/models/ir_http.py
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Copyright 2023 Taras Shabaranskyi
|
||||||
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
from odoo import models
|
||||||
|
|
||||||
|
|
||||||
|
class IrHttp(models.AbstractModel):
|
||||||
|
_inherit = "ir.http"
|
||||||
|
|
||||||
|
def session_info(self):
|
||||||
|
session = super().session_info()
|
||||||
|
user = self.env.user
|
||||||
|
return {
|
||||||
|
**session,
|
||||||
|
"apps_menu": {
|
||||||
|
"search_type": user.apps_menu_search_type,
|
||||||
|
"theme": user.apps_menu_theme,
|
||||||
|
},
|
||||||
|
}
|
||||||
42
third_party/web_responsive/models/res_users.py
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Copyright 2023 Taras Shabaranskyi
|
||||||
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
from odoo import api, fields, models
|
||||||
|
|
||||||
|
|
||||||
|
class ResUsers(models.Model):
|
||||||
|
_inherit = "res.users"
|
||||||
|
|
||||||
|
apps_menu_search_type = fields.Selection(
|
||||||
|
[
|
||||||
|
("canonical", "Canonical"),
|
||||||
|
("fuse", "Fuse"),
|
||||||
|
("command_palette", "Command Palette"),
|
||||||
|
],
|
||||||
|
default="canonical",
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
apps_menu_theme = fields.Selection(
|
||||||
|
[
|
||||||
|
("milk", "Milk"),
|
||||||
|
("community", "Community"),
|
||||||
|
],
|
||||||
|
default="milk",
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
is_redirect_home = fields.Boolean(
|
||||||
|
string="Redirect to Home",
|
||||||
|
help="Redirect to dashboard after signing in",
|
||||||
|
compute="_compute_redirect_home",
|
||||||
|
store=True,
|
||||||
|
readonly=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
@api.depends("action_id")
|
||||||
|
def _compute_redirect_home(self):
|
||||||
|
"""
|
||||||
|
Set is_redirect_home to False
|
||||||
|
when action_id has a value.
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
self.filtered("action_id").is_redirect_home = False
|
||||||
3
third_party/web_responsive/pyproject.toml
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["whool"]
|
||||||
|
build-backend = "whool.buildapi"
|
||||||
30
third_party/web_responsive/readme/CONTRIBUTORS.md
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
- Dave Lasley \<<dave@laslabs.com>\>
|
||||||
|
|
||||||
|
- Jairo Llopis \<<jairo.llopis@tecnativa.com>\>
|
||||||
|
|
||||||
|
- [Onestein](https://www.onestein.nl):
|
||||||
|
- Dennis Sluijk \<<d.sluijk@onestein.nl>\>
|
||||||
|
- Anjeel Haria
|
||||||
|
|
||||||
|
- Sergio Teruel \<<sergio.teruel@tecnativa.com>\>
|
||||||
|
|
||||||
|
- Alexandre Díaz \<<dev@redneboa.es>\>
|
||||||
|
|
||||||
|
- Mathias Markl \<<mathias.markl@mukit.at>\>
|
||||||
|
|
||||||
|
- Iván Todorovich \<<ivan.todorovich@gmail.com>\>
|
||||||
|
|
||||||
|
- Sergey Shebanin \<<sergey@shebanin.ru>\>
|
||||||
|
|
||||||
|
- David Vidal \<<david.vidal@tecnativa.com>\>
|
||||||
|
|
||||||
|
- Taras Shabaranskyi \<<shabaranskij@gmail.com>\>
|
||||||
|
|
||||||
|
- Angel Patel \<<patelangel1414@gmail.com>\>
|
||||||
|
|
||||||
|
- Mohamed Alkobrosli \<<malkobrosly@kencove.com>\>
|
||||||
|
|
||||||
|
- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io)
|
||||||
|
- Bhavesh Heliconia
|
||||||
|
- [IKU Solutions](https://www.iku.solutions)
|
||||||
|
- Yan Chirino \<<yan.chirino@iku.solutions>\>
|
||||||
69
third_party/web_responsive/readme/DESCRIPTION.md
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
This module adds responsiveness to web backend.
|
||||||
|
|
||||||
|
**Features for all devices**:
|
||||||
|
|
||||||
|
- Redirect to the dashboard after logging in.
|
||||||
|
Users will only be redirected to the home page after login
|
||||||
|
if they have enabled the 'Redirect to Home' option in
|
||||||
|
their profile settings.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- New navigation with the fullscreen app menu
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Quick menu search inside the app menu
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Sticky header & footer in list view
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Sticky statusbar in form view
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Bigger checkboxes in list view
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**Features for mobile**: \* View type picker dropdown displays
|
||||||
|
comfortably
|
||||||
|
|
||||||
|
- Control panel buttons use icons to save space.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Followers and send button is displayed on mobile. Avatar is hidden.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Big inputs on form in edit mode
|
||||||
|
|
||||||
|
**Features for desktop computers**:
|
||||||
|
|
||||||
|
- Keyboard shortcuts for easier navigation, **using \`Alt + Shift +
|
||||||
|
\[NUM\]\`** combination instead of just Alt + \[NUM\] to avoid
|
||||||
|
conflict with Firefox Tab switching. Standard Odoo keyboard hotkeys
|
||||||
|
changed to be more intuitive or accessible by fingers of one hand.
|
||||||
|
F.x. Alt + S for Save
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Autofocus on search menu box when opening the app menu
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- When the chatter is on the side part, the document viewer fills that
|
||||||
|
part for side-by-side reading instead of full screen. You can still
|
||||||
|
put it on full width preview clicking on the new maximize button.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- When the user chooses to send a public message the color of the
|
||||||
|
composer is different from the one when the message is an internal
|
||||||
|
log.
|
||||||
|
|
||||||
|

|
||||||
2
third_party/web_responsive/readme/ROADMAP.md
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
- App navigation with keyboard.
|
||||||
|
- Handle long titles on forms in a better way
|
||||||
5
third_party/web_responsive/readme/USAGE.md
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
The following keyboard shortcuts are implemented:
|
||||||
|
|
||||||
|
- Navigate app search results - Arrow keys
|
||||||
|
- Choose app result - `Enter`
|
||||||
|
- `Esc` to close app drawer
|
||||||
BIN
third_party/web_responsive/static/description/icon.png
vendored
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
533
third_party/web_responsive/static/description/index.html
vendored
Normal file
@ -0,0 +1,533 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
||||||
|
<title>README.rst</title>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
/*
|
||||||
|
:Author: David Goodger (goodger@python.org)
|
||||||
|
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
||||||
|
:Copyright: This stylesheet has been placed in the public domain.
|
||||||
|
|
||||||
|
Default cascading style sheet for the HTML output of Docutils.
|
||||||
|
Despite the name, some widely supported CSS2 features are used.
|
||||||
|
|
||||||
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
||||||
|
customize this style sheet.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* used to remove borders from tables and images */
|
||||||
|
.borderless, table.borderless td, table.borderless th {
|
||||||
|
border: 0 }
|
||||||
|
|
||||||
|
table.borderless td, table.borderless th {
|
||||||
|
/* Override padding for "table.docutils td" with "! important".
|
||||||
|
The right padding separates the table cells. */
|
||||||
|
padding: 0 0.5em 0 0 ! important }
|
||||||
|
|
||||||
|
.first {
|
||||||
|
/* Override more specific margin styles with "! important". */
|
||||||
|
margin-top: 0 ! important }
|
||||||
|
|
||||||
|
.last, .with-subtitle {
|
||||||
|
margin-bottom: 0 ! important }
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none }
|
||||||
|
|
||||||
|
.subscript {
|
||||||
|
vertical-align: sub;
|
||||||
|
font-size: smaller }
|
||||||
|
|
||||||
|
.superscript {
|
||||||
|
vertical-align: super;
|
||||||
|
font-size: smaller }
|
||||||
|
|
||||||
|
a.toc-backref {
|
||||||
|
text-decoration: none ;
|
||||||
|
color: black }
|
||||||
|
|
||||||
|
blockquote.epigraph {
|
||||||
|
margin: 2em 5em ; }
|
||||||
|
|
||||||
|
dl.docutils dd {
|
||||||
|
margin-bottom: 0.5em }
|
||||||
|
|
||||||
|
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||||
|
dl.docutils dt {
|
||||||
|
font-weight: bold }
|
||||||
|
*/
|
||||||
|
|
||||||
|
div.abstract {
|
||||||
|
margin: 2em 5em }
|
||||||
|
|
||||||
|
div.abstract p.topic-title {
|
||||||
|
font-weight: bold ;
|
||||||
|
text-align: center }
|
||||||
|
|
||||||
|
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||||
|
div.hint, div.important, div.note, div.tip, div.warning {
|
||||||
|
margin: 2em ;
|
||||||
|
border: medium outset ;
|
||||||
|
padding: 1em }
|
||||||
|
|
||||||
|
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||||
|
div.important p.admonition-title, div.note p.admonition-title,
|
||||||
|
div.tip p.admonition-title {
|
||||||
|
font-weight: bold ;
|
||||||
|
font-family: sans-serif }
|
||||||
|
|
||||||
|
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||||
|
div.danger p.admonition-title, div.error p.admonition-title,
|
||||||
|
div.warning p.admonition-title, .code .error {
|
||||||
|
color: red ;
|
||||||
|
font-weight: bold ;
|
||||||
|
font-family: sans-serif }
|
||||||
|
|
||||||
|
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||||
|
compound paragraphs.
|
||||||
|
div.compound .compound-first, div.compound .compound-middle {
|
||||||
|
margin-bottom: 0.5em }
|
||||||
|
|
||||||
|
div.compound .compound-last, div.compound .compound-middle {
|
||||||
|
margin-top: 0.5em }
|
||||||
|
*/
|
||||||
|
|
||||||
|
div.dedication {
|
||||||
|
margin: 2em 5em ;
|
||||||
|
text-align: center ;
|
||||||
|
font-style: italic }
|
||||||
|
|
||||||
|
div.dedication p.topic-title {
|
||||||
|
font-weight: bold ;
|
||||||
|
font-style: normal }
|
||||||
|
|
||||||
|
div.figure {
|
||||||
|
margin-left: 2em ;
|
||||||
|
margin-right: 2em }
|
||||||
|
|
||||||
|
div.footer, div.header {
|
||||||
|
clear: both;
|
||||||
|
font-size: smaller }
|
||||||
|
|
||||||
|
div.line-block {
|
||||||
|
display: block ;
|
||||||
|
margin-top: 1em ;
|
||||||
|
margin-bottom: 1em }
|
||||||
|
|
||||||
|
div.line-block div.line-block {
|
||||||
|
margin-top: 0 ;
|
||||||
|
margin-bottom: 0 ;
|
||||||
|
margin-left: 1.5em }
|
||||||
|
|
||||||
|
div.sidebar {
|
||||||
|
margin: 0 0 0.5em 1em ;
|
||||||
|
border: medium outset ;
|
||||||
|
padding: 1em ;
|
||||||
|
background-color: #ffffee ;
|
||||||
|
width: 40% ;
|
||||||
|
float: right ;
|
||||||
|
clear: right }
|
||||||
|
|
||||||
|
div.sidebar p.rubric {
|
||||||
|
font-family: sans-serif ;
|
||||||
|
font-size: medium }
|
||||||
|
|
||||||
|
div.system-messages {
|
||||||
|
margin: 5em }
|
||||||
|
|
||||||
|
div.system-messages h1 {
|
||||||
|
color: red }
|
||||||
|
|
||||||
|
div.system-message {
|
||||||
|
border: medium outset ;
|
||||||
|
padding: 1em }
|
||||||
|
|
||||||
|
div.system-message p.system-message-title {
|
||||||
|
color: red ;
|
||||||
|
font-weight: bold }
|
||||||
|
|
||||||
|
div.topic {
|
||||||
|
margin: 2em }
|
||||||
|
|
||||||
|
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||||
|
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||||
|
margin-top: 0.4em }
|
||||||
|
|
||||||
|
h1.title {
|
||||||
|
text-align: center }
|
||||||
|
|
||||||
|
h2.subtitle {
|
||||||
|
text-align: center }
|
||||||
|
|
||||||
|
hr.docutils {
|
||||||
|
width: 75% }
|
||||||
|
|
||||||
|
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
||||||
|
clear: left ;
|
||||||
|
float: left ;
|
||||||
|
margin-right: 1em }
|
||||||
|
|
||||||
|
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
||||||
|
clear: right ;
|
||||||
|
float: right ;
|
||||||
|
margin-left: 1em }
|
||||||
|
|
||||||
|
img.align-center, .figure.align-center, object.align-center {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.align-center {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-left {
|
||||||
|
text-align: left }
|
||||||
|
|
||||||
|
.align-center {
|
||||||
|
clear: both ;
|
||||||
|
text-align: center }
|
||||||
|
|
||||||
|
.align-right {
|
||||||
|
text-align: right }
|
||||||
|
|
||||||
|
/* reset inner alignment in figures */
|
||||||
|
div.align-right {
|
||||||
|
text-align: inherit }
|
||||||
|
|
||||||
|
/* div.align-center * { */
|
||||||
|
/* text-align: left } */
|
||||||
|
|
||||||
|
.align-top {
|
||||||
|
vertical-align: top }
|
||||||
|
|
||||||
|
.align-middle {
|
||||||
|
vertical-align: middle }
|
||||||
|
|
||||||
|
.align-bottom {
|
||||||
|
vertical-align: bottom }
|
||||||
|
|
||||||
|
ol.simple, ul.simple {
|
||||||
|
margin-bottom: 1em }
|
||||||
|
|
||||||
|
ol.arabic {
|
||||||
|
list-style: decimal }
|
||||||
|
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style: lower-alpha }
|
||||||
|
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style: upper-alpha }
|
||||||
|
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style: lower-roman }
|
||||||
|
|
||||||
|
ol.upperroman {
|
||||||
|
list-style: upper-roman }
|
||||||
|
|
||||||
|
p.attribution {
|
||||||
|
text-align: right ;
|
||||||
|
margin-left: 50% }
|
||||||
|
|
||||||
|
p.caption {
|
||||||
|
font-style: italic }
|
||||||
|
|
||||||
|
p.credits {
|
||||||
|
font-style: italic ;
|
||||||
|
font-size: smaller }
|
||||||
|
|
||||||
|
p.label {
|
||||||
|
white-space: nowrap }
|
||||||
|
|
||||||
|
p.rubric {
|
||||||
|
font-weight: bold ;
|
||||||
|
font-size: larger ;
|
||||||
|
color: maroon ;
|
||||||
|
text-align: center }
|
||||||
|
|
||||||
|
p.sidebar-title {
|
||||||
|
font-family: sans-serif ;
|
||||||
|
font-weight: bold ;
|
||||||
|
font-size: larger }
|
||||||
|
|
||||||
|
p.sidebar-subtitle {
|
||||||
|
font-family: sans-serif ;
|
||||||
|
font-weight: bold }
|
||||||
|
|
||||||
|
p.topic-title {
|
||||||
|
font-weight: bold }
|
||||||
|
|
||||||
|
pre.address {
|
||||||
|
margin-bottom: 0 ;
|
||||||
|
margin-top: 0 ;
|
||||||
|
font: inherit }
|
||||||
|
|
||||||
|
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
||||||
|
margin-left: 2em ;
|
||||||
|
margin-right: 2em }
|
||||||
|
|
||||||
|
pre.code .ln { color: gray; } /* line numbers */
|
||||||
|
pre.code, code { background-color: #eeeeee }
|
||||||
|
pre.code .comment, code .comment { color: #5C6576 }
|
||||||
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
||||||
|
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
||||||
|
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
||||||
|
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
||||||
|
pre.code .inserted, code .inserted { background-color: #A3D289}
|
||||||
|
|
||||||
|
span.classifier {
|
||||||
|
font-family: sans-serif ;
|
||||||
|
font-style: oblique }
|
||||||
|
|
||||||
|
span.classifier-delimiter {
|
||||||
|
font-family: sans-serif ;
|
||||||
|
font-weight: bold }
|
||||||
|
|
||||||
|
span.interpreted {
|
||||||
|
font-family: sans-serif }
|
||||||
|
|
||||||
|
span.option {
|
||||||
|
white-space: nowrap }
|
||||||
|
|
||||||
|
span.pre {
|
||||||
|
white-space: pre }
|
||||||
|
|
||||||
|
span.problematic, pre.problematic {
|
||||||
|
color: red }
|
||||||
|
|
||||||
|
span.section-subtitle {
|
||||||
|
/* font-size relative to parent (h1..h6 element) */
|
||||||
|
font-size: 80% }
|
||||||
|
|
||||||
|
table.citation {
|
||||||
|
border-left: solid 1px gray;
|
||||||
|
margin-left: 1px }
|
||||||
|
|
||||||
|
table.docinfo {
|
||||||
|
margin: 2em 4em }
|
||||||
|
|
||||||
|
table.docutils {
|
||||||
|
margin-top: 0.5em ;
|
||||||
|
margin-bottom: 0.5em }
|
||||||
|
|
||||||
|
table.footnote {
|
||||||
|
border-left: solid 1px black;
|
||||||
|
margin-left: 1px }
|
||||||
|
|
||||||
|
table.docutils td, table.docutils th,
|
||||||
|
table.docinfo td, table.docinfo th {
|
||||||
|
padding-left: 0.5em ;
|
||||||
|
padding-right: 0.5em ;
|
||||||
|
vertical-align: top }
|
||||||
|
|
||||||
|
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||||
|
font-weight: bold ;
|
||||||
|
text-align: left ;
|
||||||
|
white-space: nowrap ;
|
||||||
|
padding-left: 0 }
|
||||||
|
|
||||||
|
/* "booktabs" style (no vertical lines) */
|
||||||
|
table.docutils.booktabs {
|
||||||
|
border: 0px;
|
||||||
|
border-top: 2px solid;
|
||||||
|
border-bottom: 2px solid;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
table.docutils.booktabs * {
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
table.docutils.booktabs th {
|
||||||
|
border-bottom: thin solid;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||||
|
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||||
|
font-size: 100% }
|
||||||
|
|
||||||
|
ul.auto-toc {
|
||||||
|
list-style-type: none }
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="document">
|
||||||
|
|
||||||
|
|
||||||
|
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
|
||||||
|
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
|
||||||
|
</a>
|
||||||
|
<div class="section" id="web-responsive">
|
||||||
|
<h1>Web Responsive</h1>
|
||||||
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!! This file is generated by oca-gen-addon-readme !!
|
||||||
|
!! changes will be overwritten. !!
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!! source digest: sha256:cdfbec36e2e1aa83b9b44b34c64aa769b2d50867da82f88fc5c817fa641c2f9c
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||||
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/19.0/web_responsive"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_responsive"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=19.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||||
|
<p>This module adds responsiveness to web backend.</p>
|
||||||
|
<p><strong>Features for all devices</strong>:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p class="first">Redirect to the dashboard after logging in. Users will only be
|
||||||
|
redirected to the home page after login if they have enabled the
|
||||||
|
‘Redirect to Home’ option in their profile settings.</p>
|
||||||
|
<p><img alt="image" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/redirecthome.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">New navigation with the fullscreen app menu</p>
|
||||||
|
<p><img alt="image1" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appmenu.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Quick menu search inside the app menu</p>
|
||||||
|
<p><img alt="image2" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appsearch.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Sticky header & footer in list view</p>
|
||||||
|
<p><img alt="image3" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/listview.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Sticky statusbar in form view</p>
|
||||||
|
<p><img alt="image4" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/formview.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Bigger checkboxes in list view</p>
|
||||||
|
<p><img alt="image5" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/listview.gif" /></p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>Features for mobile</strong>: * View type picker dropdown displays
|
||||||
|
comfortably</p>
|
||||||
|
<ul>
|
||||||
|
<li><p class="first">Control panel buttons use icons to save space.</p>
|
||||||
|
<p><img alt="image6" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/form_buttons.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Followers and send button is displayed on mobile. Avatar is hidden.</p>
|
||||||
|
<p><img alt="image7" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/chatter.png" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Big inputs on form in edit mode</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>Features for desktop computers</strong>:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p class="first">Keyboard shortcuts for easier navigation, <strong>using `Alt + Shift +
|
||||||
|
[NUM]`</strong> combination instead of just Alt + [NUM] to avoid conflict
|
||||||
|
with Firefox Tab switching. Standard Odoo keyboard hotkeys changed to
|
||||||
|
be more intuitive or accessible by fingers of one hand. F.x. Alt + S
|
||||||
|
for Save</p>
|
||||||
|
<p><img alt="image8" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/shortcuts.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Autofocus on search menu box when opening the app menu</p>
|
||||||
|
<p><img alt="image9" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/appsearch.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">When the chatter is on the side part, the document viewer fills that
|
||||||
|
part for side-by-side reading instead of full screen. You can still
|
||||||
|
put it on full width preview clicking on the new maximize button.</p>
|
||||||
|
<p><img alt="image10" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/document_viewer.gif" /></p>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">When the user chooses to send a public message the color of the
|
||||||
|
composer is different from the one when the message is an internal
|
||||||
|
log.</p>
|
||||||
|
<p><img alt="image11" src="https://raw.githubusercontent.com/OCA/web/19.0/web_responsive/static/img/chatter-colors.png" /></p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>Table of contents</strong></p>
|
||||||
|
<div class="contents local topic" id="contents">
|
||||||
|
<ul class="simple">
|
||||||
|
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
|
||||||
|
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
|
||||||
|
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
|
||||||
|
<li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
|
||||||
|
<li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
|
||||||
|
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
|
||||||
|
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="usage">
|
||||||
|
<h2><a class="toc-backref" href="#toc-entry-1">Usage</a></h2>
|
||||||
|
<p>The following keyboard shortcuts are implemented:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li>Navigate app search results - Arrow keys</li>
|
||||||
|
<li>Choose app result - <tt class="docutils literal">Enter</tt></li>
|
||||||
|
<li><tt class="docutils literal">Esc</tt> to close app drawer</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="known-issues-roadmap">
|
||||||
|
<h2><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h2>
|
||||||
|
<ul class="simple">
|
||||||
|
<li>App navigation with keyboard.</li>
|
||||||
|
<li>Handle long titles on forms in a better way</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="bug-tracker">
|
||||||
|
<h2><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h2>
|
||||||
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
|
||||||
|
In case of trouble, please check there if your issue has already been reported.
|
||||||
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||||
|
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_responsive%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||||
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2><a class="toc-backref" href="#toc-entry-4">Credits</a></h2>
|
||||||
|
<div class="section" id="authors">
|
||||||
|
<h3><a class="toc-backref" href="#toc-entry-5">Authors</a></h3>
|
||||||
|
<ul class="simple">
|
||||||
|
<li>LasLabs</li>
|
||||||
|
<li>Tecnativa</li>
|
||||||
|
<li>ITerra</li>
|
||||||
|
<li>Onestein</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="contributors">
|
||||||
|
<h3><a class="toc-backref" href="#toc-entry-6">Contributors</a></h3>
|
||||||
|
<ul class="simple">
|
||||||
|
<li>Dave Lasley <<a class="reference external" href="mailto:dave@laslabs.com">dave@laslabs.com</a>></li>
|
||||||
|
<li>Jairo Llopis <<a class="reference external" href="mailto:jairo.llopis@tecnativa.com">jairo.llopis@tecnativa.com</a>></li>
|
||||||
|
<li><a class="reference external" href="https://www.onestein.nl">Onestein</a>:<ul>
|
||||||
|
<li>Dennis Sluijk <<a class="reference external" href="mailto:d.sluijk@onestein.nl">d.sluijk@onestein.nl</a>></li>
|
||||||
|
<li>Anjeel Haria</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Sergio Teruel <<a class="reference external" href="mailto:sergio.teruel@tecnativa.com">sergio.teruel@tecnativa.com</a>></li>
|
||||||
|
<li>Alexandre Díaz <<a class="reference external" href="mailto:dev@redneboa.es">dev@redneboa.es</a>></li>
|
||||||
|
<li>Mathias Markl <<a class="reference external" href="mailto:mathias.markl@mukit.at">mathias.markl@mukit.at</a>></li>
|
||||||
|
<li>Iván Todorovich <<a class="reference external" href="mailto:ivan.todorovich@gmail.com">ivan.todorovich@gmail.com</a>></li>
|
||||||
|
<li>Sergey Shebanin <<a class="reference external" href="mailto:sergey@shebanin.ru">sergey@shebanin.ru</a>></li>
|
||||||
|
<li>David Vidal <<a class="reference external" href="mailto:david.vidal@tecnativa.com">david.vidal@tecnativa.com</a>></li>
|
||||||
|
<li>Taras Shabaranskyi <<a class="reference external" href="mailto:shabaranskij@gmail.com">shabaranskij@gmail.com</a>></li>
|
||||||
|
<li>Angel Patel <<a class="reference external" href="mailto:patelangel1414@gmail.com">patelangel1414@gmail.com</a>></li>
|
||||||
|
<li>Mohamed Alkobrosli <<a class="reference external" href="mailto:malkobrosly@kencove.com">malkobrosly@kencove.com</a>></li>
|
||||||
|
<li><a class="reference external" href="https://www.heliconia.io">Heliconia Solutions Pvt. Ltd.</a><ul>
|
||||||
|
<li>Bhavesh Heliconia</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference external" href="https://www.iku.solutions">IKU Solutions</a><ul>
|
||||||
|
<li>Yan Chirino <<a class="reference external" href="mailto:yan.chirino@iku.solutions">yan.chirino@iku.solutions</a>></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="maintainers">
|
||||||
|
<h3><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h3>
|
||||||
|
<p>This module is maintained by the OCA.</p>
|
||||||
|
<a class="reference external image-reference" href="https://odoo-community.org">
|
||||||
|
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
||||||
|
</a>
|
||||||
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||||
|
mission is to support the collaborative development of Odoo features and
|
||||||
|
promote its widespread use.</p>
|
||||||
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
|
||||||
|
<p><a class="reference external image-reference" href="https://github.com/Tardo"><img alt="Tardo" src="https://github.com/Tardo.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/SplashS"><img alt="SplashS" src="https://github.com/SplashS.png?size=40px" /></a></p>
|
||||||
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/19.0/web_responsive">OCA/web</a> project on GitHub.</p>
|
||||||
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
BIN
third_party/web_responsive/static/img/appmenu.gif
vendored
Normal file
|
After Width: | Height: | Size: 385 KiB |
BIN
third_party/web_responsive/static/img/appsearch.gif
vendored
Normal file
|
After Width: | Height: | Size: 294 KiB |
BIN
third_party/web_responsive/static/img/breadcrumbs.gif
vendored
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
third_party/web_responsive/static/img/calendar.gif
vendored
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
third_party/web_responsive/static/img/chatter-colors.png
vendored
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
third_party/web_responsive/static/img/chatter.png
vendored
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
third_party/web_responsive/static/img/chatter_sided.gif
vendored
Normal file
|
After Width: | Height: | Size: 452 KiB |
BIN
third_party/web_responsive/static/img/chatter_topbar.gif
vendored
Normal file
|
After Width: | Height: | Size: 175 KiB |
BIN
third_party/web_responsive/static/img/default_icon_app.png
vendored
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
third_party/web_responsive/static/img/device_rotation.gif
vendored
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
third_party/web_responsive/static/img/document_viewer.gif
vendored
Normal file
|
After Width: | Height: | Size: 516 KiB |
BIN
third_party/web_responsive/static/img/dropdown_scroll.gif
vendored
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
third_party/web_responsive/static/img/form_buttons.gif
vendored
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
third_party/web_responsive/static/img/formview.gif
vendored
Normal file
|
After Width: | Height: | Size: 428 KiB |
BIN
third_party/web_responsive/static/img/hamburger.gif
vendored
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
third_party/web_responsive/static/img/kanban.gif
vendored
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
third_party/web_responsive/static/img/label_size_large.png
vendored
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
third_party/web_responsive/static/img/label_size_small.png
vendored
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
third_party/web_responsive/static/img/listview.gif
vendored
Normal file
|
After Width: | Height: | Size: 837 KiB |
BIN
third_party/web_responsive/static/img/mobile_search.gif
vendored
Normal file
|
After Width: | Height: | Size: 128 KiB |
BIN
third_party/web_responsive/static/img/navbar.gif
vendored
Normal file
|
After Width: | Height: | Size: 424 KiB |
BIN
third_party/web_responsive/static/img/redirecthome.gif
vendored
Normal file
|
After Width: | Height: | Size: 3.7 MiB |
BIN
third_party/web_responsive/static/img/search_panel.gif
vendored
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
third_party/web_responsive/static/img/shortcuts.gif
vendored
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
third_party/web_responsive/static/img/usermenu.gif
vendored
Normal file
|
After Width: | Height: | Size: 91 KiB |
45
third_party/web_responsive/static/src/clickbot/clickbot.esm.js
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2025 Tecnativa - Carlos Roca
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
const checkCalledFromClickEverywhere = function () {
|
||||||
|
// Simulate an error to have the stack trace to check if
|
||||||
|
// functions are thrown from clickEverywhere
|
||||||
|
const error = new Error();
|
||||||
|
const stack = error.stack || "";
|
||||||
|
// Check that the stack has clickEverywhere function
|
||||||
|
return stack.includes("clickEverywhere");
|
||||||
|
};
|
||||||
|
|
||||||
|
// We modified the behavior of querySelector and querySelectorAll so
|
||||||
|
// that when attempting to access .o-dropdown--menu .o_app
|
||||||
|
// or .o_navbar_apps_menu .dropdown-toggle, they are replaced with
|
||||||
|
// the correct selector and the click everywhere functionality
|
||||||
|
// continues to work.
|
||||||
|
// Note: This will only be loaded when the option to trigger clicks on
|
||||||
|
// all elements is selected.
|
||||||
|
const originalQuerySelector = document.querySelector;
|
||||||
|
document.querySelector = function (selector) {
|
||||||
|
if (checkCalledFromClickEverywhere()) {
|
||||||
|
if (selector === ".o-dropdown--menu .o_app") {
|
||||||
|
selector = ".o-app-menu-list .o_app";
|
||||||
|
} else if (selector === ".o_navbar_apps_menu .dropdown-toggle") {
|
||||||
|
selector = ".o_navbar_apps_menu .o_grid_apps_menu__button";
|
||||||
|
} else if (
|
||||||
|
selector.includes('.o-dropdown--menu .dropdown-item[data-menu-xmlid="')
|
||||||
|
) {
|
||||||
|
selector = selector.replace(
|
||||||
|
".o-dropdown--menu .dropdown-item",
|
||||||
|
".o-app-menu-list .o_app"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return originalQuerySelector.call(this, selector);
|
||||||
|
};
|
||||||
|
const originalQuerySelectorAll = document.querySelectorAll;
|
||||||
|
document.querySelectorAll = function (selector) {
|
||||||
|
if (checkCalledFromClickEverywhere()) {
|
||||||
|
if (selector === ".o-dropdown--menu .o_app") {
|
||||||
|
selector = ".o-app-menu-list .o_app";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return originalQuerySelectorAll.call(this, selector);
|
||||||
|
};
|
||||||
67
third_party/web_responsive/static/src/components/apps_menu/apps_menu.dark.scss
vendored
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
.o_grid_apps_menu[data-theme="milk"],
|
||||||
|
.o_grid_apps_menu[data-theme="community"] {
|
||||||
|
--app-menu-background: linear-gradient(
|
||||||
|
to bottom,
|
||||||
|
#{$o-gray-300},
|
||||||
|
#{desaturate(darken($o-gray-300, 5%), 15)}
|
||||||
|
);
|
||||||
|
--app-menu-text-color: #{$o-gray-900};
|
||||||
|
--app-menu-text-shadow: 1px 1px 1px #{rgba(black, 0.4)};
|
||||||
|
--app-menu-hover-background: #{rgba(white, 0.08)};
|
||||||
|
--apps-menu-scrollbar-background: #{$o-gray-400};
|
||||||
|
--apps-menu-empty-search-color: #{$o-gray-900};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_grid_apps_menu {
|
||||||
|
.o-app-menu-item {
|
||||||
|
&__icon {
|
||||||
|
background-color: $o-gray-400;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__active {
|
||||||
|
background-color: $o-gray-900;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: $o-gray-100;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
// Search box
|
||||||
|
.search-input {
|
||||||
|
background-color: $o-gray-300;
|
||||||
|
|
||||||
|
.search-icon {
|
||||||
|
color: $o-gray-900;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control {
|
||||||
|
color: $o-gray-900;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: $o-gray-700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search results (canonical searchbar)
|
||||||
|
.search-item {
|
||||||
|
background-color: $o-gray-300;
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
color: $o-gray-900;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.highlight,
|
||||||
|
&:hover {
|
||||||
|
background-color: $o-gray-400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
202
third_party/web_responsive/static/src/components/apps_menu/apps_menu.esm.js
vendored
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
/* global document, location, window */
|
||||||
|
|
||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Component, onWillStart, useState} from "@odoo/owl";
|
||||||
|
import {useBus, useService} from "@web/core/utils/hooks";
|
||||||
|
import {AppMenuItem} from "@web_responsive/components/apps_menu_item/apps_menu_item.esm";
|
||||||
|
import {AppsMenuSearchBar} from "@web_responsive/components/menu_searchbar/searchbar.esm";
|
||||||
|
import {NavBar} from "@web/webclient/navbar/navbar";
|
||||||
|
import {WebClient} from "@web/webclient/webclient";
|
||||||
|
import {browser} from "@web/core/browser/browser";
|
||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
import {router} from "@web/core/browser/router";
|
||||||
|
import {session} from "@web/session";
|
||||||
|
import {useHotkey} from "@web/core/hotkeys/hotkey_hook";
|
||||||
|
import {user} from "@web/core/user";
|
||||||
|
import {BurgerMenu} from "@web/webclient/burger_menu/burger_menu";
|
||||||
|
|
||||||
|
// Patch WebClient to show AppsMenu instead of default app
|
||||||
|
patch(WebClient.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
useBus(this.env.bus, "APPS_MENU:STATE_CHANGED", ({detail: state}) => {
|
||||||
|
document.body.classList.toggle("o_apps_menu_opened", state);
|
||||||
|
});
|
||||||
|
this.user = user;
|
||||||
|
onWillStart(async () => {
|
||||||
|
const is_redirect_home = await this.orm.searchRead(
|
||||||
|
"res.users",
|
||||||
|
[["id", "=", this.user.userId]],
|
||||||
|
["is_redirect_home"]
|
||||||
|
);
|
||||||
|
user.updateContext({
|
||||||
|
is_redirect_to_home: is_redirect_home[0]?.is_redirect_home,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.redirect = false;
|
||||||
|
},
|
||||||
|
_loadDefaultApp() {
|
||||||
|
if (user.context.is_redirect_to_home) {
|
||||||
|
this.env.bus.trigger("APPS_MENU:STATE_CHANGED", true);
|
||||||
|
} else {
|
||||||
|
super._loadDefaultApp();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export class AppsMenu extends Component {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.state = useState({open: false});
|
||||||
|
this.theme = session.apps_menu.theme || "milk";
|
||||||
|
this.menuService = useService("menu");
|
||||||
|
browser.localStorage.setItem("redirect_menuId", "");
|
||||||
|
if (user.context.is_redirect_to_home) {
|
||||||
|
this.router = router;
|
||||||
|
const menuId = Number(this.router.current.menu_id || 0);
|
||||||
|
this.state = useState({open: menuId === 0});
|
||||||
|
}
|
||||||
|
useBus(this.env.bus, "ACTION_MANAGER:UI-UPDATED", () => {
|
||||||
|
this.setOpenState(false);
|
||||||
|
});
|
||||||
|
this._setupKeyNavigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
setOpenState(open_state) {
|
||||||
|
this.state.open = open_state;
|
||||||
|
this.env.bus.trigger("APPS_MENU:STATE_CHANGED", open_state);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup navigation among app menus
|
||||||
|
*/
|
||||||
|
_setupKeyNavigation() {
|
||||||
|
const repeatable = {
|
||||||
|
allowRepeat: true,
|
||||||
|
};
|
||||||
|
useHotkey(
|
||||||
|
"ArrowRight",
|
||||||
|
() => {
|
||||||
|
this._onWindowKeydown("next");
|
||||||
|
},
|
||||||
|
repeatable
|
||||||
|
);
|
||||||
|
useHotkey(
|
||||||
|
"ArrowLeft",
|
||||||
|
() => {
|
||||||
|
this._onWindowKeydown("prev");
|
||||||
|
},
|
||||||
|
repeatable
|
||||||
|
);
|
||||||
|
useHotkey(
|
||||||
|
"ArrowDown",
|
||||||
|
() => {
|
||||||
|
this._onWindowKeydown("next");
|
||||||
|
},
|
||||||
|
repeatable
|
||||||
|
);
|
||||||
|
useHotkey(
|
||||||
|
"ArrowUp",
|
||||||
|
() => {
|
||||||
|
this._onWindowKeydown("prev");
|
||||||
|
},
|
||||||
|
repeatable
|
||||||
|
);
|
||||||
|
useHotkey("Escape", () => {
|
||||||
|
this.env.bus.trigger("ACTION_MANAGER:UI-UPDATED");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_onWindowKeydown(direction) {
|
||||||
|
const focusableInputElements = document.querySelectorAll(".o-app-menu-item");
|
||||||
|
if (focusableInputElements.length) {
|
||||||
|
const focusable = [...focusableInputElements];
|
||||||
|
const index = focusable.indexOf(document.activeElement);
|
||||||
|
let nextIndex = 0;
|
||||||
|
if (direction === "prev" && index >= 0) {
|
||||||
|
if (index > 0) {
|
||||||
|
nextIndex = index - 1;
|
||||||
|
} else {
|
||||||
|
nextIndex = focusable.length - 1;
|
||||||
|
}
|
||||||
|
} else if (direction === "next") {
|
||||||
|
if (index + 1 < focusable.length) {
|
||||||
|
nextIndex = index + 1;
|
||||||
|
} else {
|
||||||
|
nextIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
focusableInputElements[nextIndex].focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMenuClick() {
|
||||||
|
if (!user.context.is_redirect_to_home) {
|
||||||
|
this.setOpenState(!this.state.open);
|
||||||
|
} else {
|
||||||
|
const redirect_menuId =
|
||||||
|
browser.localStorage.getItem("redirect_menuId") || "";
|
||||||
|
if (!redirect_menuId) {
|
||||||
|
this.setOpenState(true);
|
||||||
|
} else {
|
||||||
|
this.setOpenState(!this.state.open);
|
||||||
|
}
|
||||||
|
const {href, hash} = location;
|
||||||
|
const menuId = this.router.current.menu_id;
|
||||||
|
if (menuId && menuId !== redirect_menuId) {
|
||||||
|
browser.localStorage.setItem(
|
||||||
|
"redirect_menuId",
|
||||||
|
this.router.current.menu_id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (href.includes(hash)) {
|
||||||
|
window.history.replaceState(null, "", href.replace(hash, ""));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add this patch after the WebClient patch
|
||||||
|
patch(NavBar.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
|
||||||
|
useBus(this.env.bus, "APP_MENU:TOGGLE_SIDEBAR", () => {
|
||||||
|
this._openAppMenuSidebar();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
openAppMenu() {
|
||||||
|
this.env.bus.trigger("APP_MENU:OPEN_APP_MENU");
|
||||||
|
this._closeAppMenuSidebar();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.assign(AppsMenu, {
|
||||||
|
template: "web_responsive.AppsMenu",
|
||||||
|
props: {
|
||||||
|
slots: {
|
||||||
|
type: Object,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.assign(NavBar.components, {AppsMenu, AppMenuItem, AppsMenuSearchBar});
|
||||||
|
|
||||||
|
// Add this patch after the WebClient patch
|
||||||
|
patch(BurgerMenu.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
},
|
||||||
|
|
||||||
|
_openAppMenuSidebarMobile() {
|
||||||
|
this.env.bus.trigger("APP_MENU:TOGGLE_SIDEBAR");
|
||||||
|
},
|
||||||
|
});
|
||||||
117
third_party/web_responsive/static/src/components/apps_menu/apps_menu.scss
vendored
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
.o_grid_apps_menu[data-theme="milk"] {
|
||||||
|
--app-menu-background:
|
||||||
|
url("../../img/home-menu-bg-overlay.svg"),
|
||||||
|
linear-gradient(
|
||||||
|
to bottom,
|
||||||
|
#{$app-menu-background-color},
|
||||||
|
#{desaturate(lighten($app-menu-background-color, 20%), 15)}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_grid_apps_menu[data-theme="community"] {
|
||||||
|
--app-menu-background:
|
||||||
|
url("../../img/home-menu-bg-overlay.svg"),
|
||||||
|
linear-gradient(
|
||||||
|
to bottom,
|
||||||
|
#{$o-brand-primary},
|
||||||
|
#{desaturate(lighten($o-brand-primary, 20%), 15)}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin full-screen-dropdown {
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
height: 100%;
|
||||||
|
max-height: calc(var(--vh100, 100vh) - #{$o-navbar-height});
|
||||||
|
max-height: calc(100dvh - #{$o-navbar-height});
|
||||||
|
position: fixed;
|
||||||
|
margin: 0;
|
||||||
|
width: 100vw;
|
||||||
|
z-index: 1000;
|
||||||
|
left: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_apps_menu_opened .o_main_navbar {
|
||||||
|
.o_menu_brand,
|
||||||
|
.o_menu_sections {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// hide and save odoo default QUnit tests
|
||||||
|
.o_navbar_apps_menu.hide .dropdown-toggle {
|
||||||
|
position: absolute !important;
|
||||||
|
z-index: -100 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Iconized full screen apps menu
|
||||||
|
.o_grid_apps_menu {
|
||||||
|
&__button {
|
||||||
|
background: unset;
|
||||||
|
border: unset;
|
||||||
|
outline: unset;
|
||||||
|
margin-right: 0.25rem;
|
||||||
|
min-height: $o-navbar-height;
|
||||||
|
height: $o-navbar-height;
|
||||||
|
width: $o-navbar-height;
|
||||||
|
color: $o-navbar-brand-color;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
background: $o-navbar-entry-bg--hover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-app-menu-list {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
|
||||||
|
width: 100%;
|
||||||
|
gap: 0.25rem;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(sm) {
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-container {
|
||||||
|
@include full-screen-dropdown();
|
||||||
|
overflow: auto;
|
||||||
|
background-clip: border-box;
|
||||||
|
padding: 1rem 0.5rem;
|
||||||
|
gap: 1rem;
|
||||||
|
background: var(--app-menu-background);
|
||||||
|
background-size: cover;
|
||||||
|
border-radius: 0;
|
||||||
|
// Display apps in a grid
|
||||||
|
align-content: flex-start;
|
||||||
|
display: flex !important;
|
||||||
|
z-index: 1024 !important;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
|
||||||
|
// Hide app icons when searching
|
||||||
|
.has-results ~ .o-app-menu-list {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
padding: {
|
||||||
|
left: calc((100vw - 850px) / 2);
|
||||||
|
right: calc((100vw - 850px) / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sidebar positioning
|
||||||
|
.o_app_menu_sidebar {
|
||||||
|
transform: translateX(-100%);
|
||||||
|
}
|
||||||
92
third_party/web_responsive/static/src/components/apps_menu/apps_menu.xml
vendored
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension">
|
||||||
|
<!-- odoo 18 has created a left sidebar where the button of all apps
|
||||||
|
and the dropdown for the user where can logout
|
||||||
|
we had to disable the lef sidebar to keep our web_resposive toggle button working
|
||||||
|
and to keep the user dropdown in its original place -->
|
||||||
|
<xpath expr="//t[@t-if='this.ui.isSmall']" position="attributes">
|
||||||
|
<attribute name="t-if">false</attribute>
|
||||||
|
</xpath>
|
||||||
|
<!-- The kanban dropdown is replaced with the odoo default one
|
||||||
|
as the default one took physical place in the DOM -->
|
||||||
|
<xpath expr="//Dropdown" position="replace">
|
||||||
|
<t t-if="this.ui.isSmall">
|
||||||
|
<t t-call="web.NavBar.AppsMenu.Sidebar" />
|
||||||
|
</t>
|
||||||
|
<t t-else="" />
|
||||||
|
<AppsMenu>
|
||||||
|
<t t-set-slot="search_bar">
|
||||||
|
<AppsMenuSearchBar />
|
||||||
|
</t>
|
||||||
|
<AppMenuItem
|
||||||
|
t-foreach="apps"
|
||||||
|
t-as="app"
|
||||||
|
t-key="app.id"
|
||||||
|
app="app"
|
||||||
|
currentApp="currentApp"
|
||||||
|
href="getMenuItemHref(app)"
|
||||||
|
onClick="onNavBarDropdownItemSelection.bind(this)"
|
||||||
|
/>
|
||||||
|
</AppsMenu>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
|
||||||
|
<!-- Apps menu -->
|
||||||
|
<t t-name="web_responsive.AppsMenu">
|
||||||
|
<div class="o_grid_apps_menu" t-att-data-theme="theme">
|
||||||
|
<button
|
||||||
|
class="o_grid_apps_menu__button"
|
||||||
|
title="Home Menu"
|
||||||
|
data-hotkey="h"
|
||||||
|
t-on-click.stop="onMenuClick"
|
||||||
|
>
|
||||||
|
<i class="oi oi-apps fs-4" />
|
||||||
|
</button>
|
||||||
|
<div t-if="state.open" class="app-menu-container">
|
||||||
|
<t t-slot="search_bar" />
|
||||||
|
<div class="o-app-menu-list">
|
||||||
|
<t t-slot="default" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</t>
|
||||||
|
|
||||||
|
<!-- Apps Menu Sidebar -->
|
||||||
|
<t t-inherit="web.NavBar.AppsMenu.Sidebar" t-inherit-mode="extension">
|
||||||
|
<xpath expr="//i[hasclass('fa fa-bars')]" position="replace">
|
||||||
|
<!-- Remove the burger menu icon -->
|
||||||
|
</xpath>
|
||||||
|
|
||||||
|
<xpath expr="//div[hasclass('o_app_menu_sidebar')]" position="attributes">
|
||||||
|
<attribute
|
||||||
|
name="class"
|
||||||
|
>o_app_menu_sidebar position-fixed top-0 bottom-0 start-100 d-flex flex-column flex-nowrap</attribute>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
|
||||||
|
<!-- Section Menu Items -->
|
||||||
|
<t t-inherit="web.SectionMenu" t-inherit-mode="extension">
|
||||||
|
<!-- Add cursor pointer to menu items -->
|
||||||
|
<xpath expr="//li[@t-on-click]" position="attributes">
|
||||||
|
<attribute name="class">cursor-pointer</attribute>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
|
||||||
|
<!-- Burger Menu -->
|
||||||
|
<t t-inherit="web.BurgerMenu" t-inherit-mode="extension">
|
||||||
|
<xpath expr="//button[hasclass('o_mobile_menu_toggle')]" position="after">
|
||||||
|
<button
|
||||||
|
class="o_mobile_menu_toggle o_nav_entry o-no-caret d-md-none border-0 pe-3"
|
||||||
|
t-on-click.prevent="_openAppMenuSidebarMobile"
|
||||||
|
>
|
||||||
|
<i class="oi oi-panel-right" />
|
||||||
|
</button>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
40
third_party/web_responsive/static/src/components/apps_menu/apps_menu_preferences.esm.js
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Component, xml} from "@odoo/owl";
|
||||||
|
import {registry} from "@web/core/registry";
|
||||||
|
import {useService} from "@web/core/utils/hooks";
|
||||||
|
import {user} from "@web/core/user";
|
||||||
|
|
||||||
|
class AppsMenuPreferences extends Component {
|
||||||
|
static props = {};
|
||||||
|
setup() {
|
||||||
|
this.action = useService("action");
|
||||||
|
this.user = user;
|
||||||
|
}
|
||||||
|
|
||||||
|
async _onClick() {
|
||||||
|
const onClose = () => this.action.doAction("reload_context");
|
||||||
|
const action = await this.action.loadAction(
|
||||||
|
"web_responsive.res_users_view_form_apps_menu_preferences_action"
|
||||||
|
);
|
||||||
|
this.action.doAction({...action, res_id: this.user.userId}, {onClose}).then();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AppsMenuPreferences.template = xml`
|
||||||
|
<div class="o-dropdown dropdown o-dropdown--no-caret">
|
||||||
|
<button
|
||||||
|
role="button"
|
||||||
|
type="button"
|
||||||
|
title="App Menu Preferences"
|
||||||
|
class="dropdown-toggle o-dropdown--narrow"
|
||||||
|
t-on-click="_onClick">
|
||||||
|
<i class="fa fa-tint fa-lg px-1"/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
registry
|
||||||
|
.category("systray")
|
||||||
|
.add("AppMenuTheme", {Component: AppsMenuPreferences}, {sequence: 100});
|
||||||
52
third_party/web_responsive/static/src/components/apps_menu_item/apps_menu_item.esm.js
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Component, onWillUpdateProps} from "@odoo/owl";
|
||||||
|
import {getWebIconData} from "@web_responsive/components/apps_menu_tools.esm";
|
||||||
|
|
||||||
|
export class AppMenuItem extends Component {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.webIconData = getWebIconData(this.props.app);
|
||||||
|
onWillUpdateProps(this.onUpdateProps);
|
||||||
|
}
|
||||||
|
|
||||||
|
get isActive() {
|
||||||
|
const {currentApp} = this.props;
|
||||||
|
return currentApp && currentApp.id === this.props.app.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
get className() {
|
||||||
|
const classItems = ["o-app-menu-item"];
|
||||||
|
if (this.isActive) {
|
||||||
|
classItems.push("active");
|
||||||
|
}
|
||||||
|
return classItems.join(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
onUpdateProps(nextProps) {
|
||||||
|
this.webIconData = getWebIconData(nextProps.app);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick() {
|
||||||
|
if (typeof this.props.onClick === "function") {
|
||||||
|
this.props.onClick(this.props.app);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Object.assign(AppMenuItem, {
|
||||||
|
template: "web_responsive.AppMenuItem",
|
||||||
|
props: {
|
||||||
|
app: Object,
|
||||||
|
href: String,
|
||||||
|
currentApp: {
|
||||||
|
type: Object,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
onClick: Function,
|
||||||
|
},
|
||||||
|
});
|
||||||
76
third_party/web_responsive/static/src/components/apps_menu_item/apps_menu_item.scss
vendored
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
.o_grid_apps_menu[data-theme="milk"] {
|
||||||
|
--app-menu-text-color: #{$app-menu-text-color};
|
||||||
|
--app-menu-text-shadow: 1px 1px 1px #{rgba($white, 0.4)};
|
||||||
|
--app-menu-hover-background: #{rgba(white, 0.4)};
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_grid_apps_menu[data-theme="community"] {
|
||||||
|
--app-menu-text-color: white;
|
||||||
|
--app-menu-text-shadow: 1px 1px 1px #{rgba(black, 0.4)};
|
||||||
|
--app-menu-hover-background: #{rgba(white, 0.2)};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-app-menu-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
border-radius: 4px;
|
||||||
|
gap: 0.25rem;
|
||||||
|
transition:
|
||||||
|
ease box-shadow,
|
||||||
|
transform,
|
||||||
|
0.3s;
|
||||||
|
background: unset;
|
||||||
|
outline: unset;
|
||||||
|
border: unset;
|
||||||
|
padding: 0.75rem 0.5rem;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
white-space: normal;
|
||||||
|
user-select: none;
|
||||||
|
height: -moz-available;
|
||||||
|
height: max-content;
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 1em;
|
||||||
|
text-shadow: var(--app-menu-text-shadow);
|
||||||
|
color: var(--app-menu-text-color);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__icon {
|
||||||
|
height: auto;
|
||||||
|
max-width: 64px;
|
||||||
|
width: 64px;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: white;
|
||||||
|
box-shadow: $app-menu-box-shadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__active {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 2px;
|
||||||
|
right: 2px;
|
||||||
|
text-shadow: 0 0 2px rgba(250, 250, 250, 0.6);
|
||||||
|
color: $app-menu-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-4px);
|
||||||
|
box-shadow: 0 6px 12px -8px transparentize($app-menu-text-color, 0.6);
|
||||||
|
background-color: var(--app-menu-hover-background) !important;
|
||||||
|
backdrop-filter: blur(2px);
|
||||||
|
}
|
||||||
|
}
|
||||||
33
third_party/web_responsive/static/src/components/apps_menu_item/apps_menu_item.xml
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<t t-name="web_responsive.AppMenuItem">
|
||||||
|
<a
|
||||||
|
t-att-class="className"
|
||||||
|
role="button"
|
||||||
|
t-att-data-menu-xmlid="props.app.xmlid"
|
||||||
|
t-att-href="props.href"
|
||||||
|
t-on-click="onClick"
|
||||||
|
draggable="false"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="position-relative o_app"
|
||||||
|
t-att-data-menu-xmlid="props.app.xmlid"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="o-app-menu-item__icon rounded-3"
|
||||||
|
draggable="false"
|
||||||
|
t-att-src="webIconData"
|
||||||
|
/>
|
||||||
|
<i t-if="isActive" class="fa fa-check-circle o-app-menu-item__active" />
|
||||||
|
</div>
|
||||||
|
<span class="o-app-menu-item__name" t-att-title="props.app.name">
|
||||||
|
<t t-out="props.app.name" />
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
80
third_party/web_responsive/static/src/components/apps_menu_tools.esm.js
vendored
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
export function getWebIconData(menu) {
|
||||||
|
const result = "/web_responsive/static/img/default_icon_app.png";
|
||||||
|
const webIcon = menu.webIcon;
|
||||||
|
if (webIcon && webIcon.split(",").length === 2) {
|
||||||
|
const path = webIcon.replace(",", "/");
|
||||||
|
return path.startsWith("/") ? path : "/" + path;
|
||||||
|
}
|
||||||
|
const iconData = menu.webIconData;
|
||||||
|
if (!menu.webIcon) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
const prefix = iconData.startsWith("P")
|
||||||
|
? "data:image/svg+xml;base64,"
|
||||||
|
: "data:image/png;base64,";
|
||||||
|
if (iconData.startsWith("data:image")) {
|
||||||
|
return iconData;
|
||||||
|
}
|
||||||
|
return prefix + iconData.replace(/\s/g, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Object} menu
|
||||||
|
*/
|
||||||
|
export function updateMenuWebIconData(menu) {
|
||||||
|
menu.webIconData = menu.webIconData ? getWebIconData(menu) : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
export function updateMenuDisplayName(menu) {
|
||||||
|
menu.displayName = menu.name.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Object} menu
|
||||||
|
* @returns {Boolean}
|
||||||
|
*/
|
||||||
|
export function isRootMenu(menu) {
|
||||||
|
return menu.actionID && menu.appID === menu.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Object[]} memo
|
||||||
|
* @param {Object|null} parentMenu
|
||||||
|
* @param {Object} menu
|
||||||
|
* @returns {Object[]}
|
||||||
|
*/
|
||||||
|
export function collectSubMenuItems(memo, parentMenu, menu) {
|
||||||
|
const menuCopy = Object.assign({}, menu);
|
||||||
|
updateMenuDisplayName(menuCopy);
|
||||||
|
if (parentMenu) {
|
||||||
|
menuCopy.displayName = `${parentMenu.displayName} / ${menuCopy.displayName}`;
|
||||||
|
}
|
||||||
|
if (menuCopy.actionID && !isRootMenu(menuCopy)) {
|
||||||
|
memo.push(menuCopy);
|
||||||
|
}
|
||||||
|
for (const child of menuCopy.childrenTree || []) {
|
||||||
|
collectSubMenuItems(memo, menuCopy, child);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Object[]} memo
|
||||||
|
* @param {Object} menu
|
||||||
|
* @returns {Object}
|
||||||
|
*/
|
||||||
|
export function collectRootMenuItems(memo, menu) {
|
||||||
|
if (isRootMenu(menu)) {
|
||||||
|
const menuCopy = Object.assign({}, menu);
|
||||||
|
updateMenuWebIconData(menuCopy);
|
||||||
|
updateMenuDisplayName(menuCopy);
|
||||||
|
memo.push(menuCopy);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}
|
||||||
27
third_party/web_responsive/static/src/components/chatter/chatter.esm.js
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Chatter} from "@mail/chatter/web_portal/chatter";
|
||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
import {useEffect} from "@odoo/owl";
|
||||||
|
|
||||||
|
patch(Chatter.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
useEffect(this._resetScrollToAttachmentsEffect.bind(this), () => [
|
||||||
|
this.state.isAttachmentBoxOpened,
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Prevent scrollIntoView error
|
||||||
|
* @param {Boolean} isAttachmentBoxOpened
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_resetScrollToAttachmentsEffect(isAttachmentBoxOpened) {
|
||||||
|
if (!isAttachmentBoxOpened) {
|
||||||
|
this.state.scrollToAttachments = 0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
42
third_party/web_responsive/static/src/components/chatter/chatter.scss
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
.o-mail-Composer {
|
||||||
|
grid-template-areas:
|
||||||
|
"sidebar-header core-header"
|
||||||
|
"core-main core-main"
|
||||||
|
"sidebar-footer core-footer";
|
||||||
|
|
||||||
|
.o-mail-Composer-sidebarMain {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(sm) {
|
||||||
|
grid-template-areas:
|
||||||
|
"sidebar-header core-header"
|
||||||
|
"sidebar-main core-main"
|
||||||
|
"sidebar-footer core-footer";
|
||||||
|
|
||||||
|
.o-mail-Composer-sidebarMain {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-mail-SuggestedRecipient {
|
||||||
|
margin-left: 42px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-mail-Form-chatter {
|
||||||
|
.o-mail-SuggestedRecipient,
|
||||||
|
.o-mail-Chatter-recipientList {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(sm) {
|
||||||
|
.o-mail-SuggestedRecipient,
|
||||||
|
.o-mail-Chatter-recipientList {
|
||||||
|
margin-left: 42px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
65
third_party/web_responsive/static/src/components/chatter/chatter.xml
vendored
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!-- Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<t
|
||||||
|
t-name="web_responsive.Chatter"
|
||||||
|
t-inherit="mail.Chatter"
|
||||||
|
t-inherit-mode="extension"
|
||||||
|
>
|
||||||
|
<xpath
|
||||||
|
expr="//button[hasclass('o-mail-Chatter-sendMessage')]"
|
||||||
|
position="replace"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
class="o-mail-Chatter-sendMessage btn text-nowrap me-1"
|
||||||
|
t-att-class="{
|
||||||
|
'btn-secondary': state.composerType !== 'message',
|
||||||
|
'btn-primary active': state.composerType === 'message',
|
||||||
|
'my-2': !props.compactHeight
|
||||||
|
}"
|
||||||
|
t-att-disabled="!state.thread.hasWriteAccess and !(state.thread.hasReadAccess and state.thread.canPostOnReadonly) and props.threadId"
|
||||||
|
data-hotkey="m"
|
||||||
|
t-on-click="() => this.toggleComposer('message')"
|
||||||
|
>
|
||||||
|
<i class="fa fa-envelope me-sm-1" />
|
||||||
|
<span class="d-none d-sm-inline">Send message</span>
|
||||||
|
</button>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//button[hasclass('o-mail-Chatter-logNote')]" position="replace">
|
||||||
|
<button
|
||||||
|
class="o-mail-Chatter-logNote btn text-nowrap me-1"
|
||||||
|
t-att-class="{
|
||||||
|
'btn-primary active': state.composerType === 'note',
|
||||||
|
'btn-secondary': state.composerType !== 'note',
|
||||||
|
'my-2': !props.compactHeight
|
||||||
|
}"
|
||||||
|
t-att-disabled="!state.thread.hasWriteAccess and !(state.thread.hasReadAccess and state.thread.canPostOnReadonly) and props.threadId"
|
||||||
|
data-hotkey="shift+m"
|
||||||
|
t-on-click="() => this.toggleComposer('note')"
|
||||||
|
>
|
||||||
|
<i class="fa fa-sticky-note me-sm-1" />
|
||||||
|
<span class="d-none d-sm-inline">Log note</span>
|
||||||
|
</button>
|
||||||
|
</xpath>
|
||||||
|
<xpath
|
||||||
|
expr="//button[hasclass('o-mail-Chatter-activity')]/span"
|
||||||
|
position="before"
|
||||||
|
>
|
||||||
|
<i class="fa fa-clock-o me-sm-1" />
|
||||||
|
</xpath>
|
||||||
|
<xpath
|
||||||
|
expr="//button[hasclass('o-mail-Chatter-activity')]/span"
|
||||||
|
position="attributes"
|
||||||
|
>
|
||||||
|
<attribute name="class" add="d-none d-sm-inline" separator=" " />
|
||||||
|
</xpath>
|
||||||
|
<!-- remove extra padding between the activity separator and the search message -->
|
||||||
|
<xpath
|
||||||
|
expr="//span[hasclass('o-mail-Chatter-topbarGrow')]"
|
||||||
|
position="attributes"
|
||||||
|
>
|
||||||
|
<attribute name="class" remove="pe-2" add="px-0" separator=" " />
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
19
third_party/web_responsive/static/src/components/command_palette/main.esm.js
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import {CommandPalette} from "@web/core/commands/command_palette";
|
||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
import {useService} from "@web/core/utils/hooks";
|
||||||
|
import {useState} from "@odoo/owl";
|
||||||
|
|
||||||
|
export const unpatchCommandPalette = patch(CommandPalette.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.ui = useState(useService("ui"));
|
||||||
|
},
|
||||||
|
|
||||||
|
get small() {
|
||||||
|
return this.ui.size < 2;
|
||||||
|
},
|
||||||
|
|
||||||
|
get contentClass() {
|
||||||
|
return `o_command_palette ${this.small ? "" : "mt-5"}`;
|
||||||
|
},
|
||||||
|
});
|
||||||
28
third_party/web_responsive/static/src/components/command_palette/main.scss
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.o_command_palette {
|
||||||
|
.o_command_palette_exit {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-down(sm) {
|
||||||
|
.o_command_palette_root {
|
||||||
|
display: flex;
|
||||||
|
max-height: 100vh;
|
||||||
|
max-height: 100dvh;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.o_command_palette_exit {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.o_command_palette_search {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.o_command_palette_listbox {
|
||||||
|
max-height: unset;
|
||||||
|
}
|
||||||
|
.o_command_palette_footer {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
third_party/web_responsive/static/src/components/command_palette/main.xml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<templates>
|
||||||
|
<t
|
||||||
|
t-name="web_responsive.CommandPalette"
|
||||||
|
t-inherit="web.CommandPalette"
|
||||||
|
t-inherit-mode="extension"
|
||||||
|
>
|
||||||
|
<xpath expr="//Dialog" position="attributes">
|
||||||
|
<attribute name="contentClass">contentClass</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//div[@t-ref='root']" position="attributes">
|
||||||
|
<attribute name="class">o_command_palette_root</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//div[hasclass('o_command_palette_search')]" position="before">
|
||||||
|
<div class="o_command_palette_exit">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary w-100"
|
||||||
|
t-on-click="props.close"
|
||||||
|
>Exit</button>
|
||||||
|
</div>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
74
third_party/web_responsive/static/src/components/control_panel/control_panel.esm.js
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/* global clearTimeout, setTimeout */
|
||||||
|
|
||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {ControlPanel} from "@web/search/control_panel/control_panel";
|
||||||
|
import {browser} from "@web/core/browser/browser";
|
||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
|
||||||
|
export const STICKY_CLASS = "o_mobile_sticky";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Number} delay
|
||||||
|
* @returns {{collect: function(Number, (function(Number, Number): void)): void}}
|
||||||
|
*/
|
||||||
|
export function minMaxCollector(delay = 100) {
|
||||||
|
const state = {
|
||||||
|
id: null,
|
||||||
|
items: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
function min() {
|
||||||
|
return Math.min.apply(null, state.items);
|
||||||
|
}
|
||||||
|
|
||||||
|
function max() {
|
||||||
|
return Math.max.apply(null, state.items);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
collect(value, callback) {
|
||||||
|
clearTimeout(state.id);
|
||||||
|
state.items.push(value);
|
||||||
|
state.id = setTimeout(() => {
|
||||||
|
callback(min(), max());
|
||||||
|
state.items = [];
|
||||||
|
state.id = null;
|
||||||
|
}, delay);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export const unpatchControlPanel = patch(ControlPanel.prototype, {
|
||||||
|
scrollValueCollector: undefined,
|
||||||
|
/** @type {Number}*/
|
||||||
|
scrollHeaderGap: undefined,
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.scrollValueCollector = minMaxCollector(100);
|
||||||
|
this.scrollHeaderGap = 2;
|
||||||
|
},
|
||||||
|
onScrollThrottled() {
|
||||||
|
if (this.isScrolling) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.isScrolling = true;
|
||||||
|
browser.requestAnimationFrame(() => (this.isScrolling = false));
|
||||||
|
|
||||||
|
/** @type {HTMLElement}*/
|
||||||
|
const rootEl = this.root.el;
|
||||||
|
const scrollTop = this.getScrollingElement().scrollTop;
|
||||||
|
const activeAnimation = scrollTop > this.initialScrollTop;
|
||||||
|
|
||||||
|
rootEl.classList.toggle(STICKY_CLASS, activeAnimation);
|
||||||
|
this.scrollValueCollector.collect(scrollTop - this.oldScrollTop, (min, max) => {
|
||||||
|
const delta = min + max;
|
||||||
|
if (delta < -this.scrollHeaderGap || delta > this.scrollHeaderGap) {
|
||||||
|
rootEl.style.top = `${delta < 0 ? -rootEl.clientHeight : 0}px`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.oldScrollTop = scrollTop;
|
||||||
|
},
|
||||||
|
});
|
||||||
74
third_party/web_responsive/static/src/components/file_viewer/file_viewer.esm.js
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/* global document, window, requestAnimationFrame */
|
||||||
|
|
||||||
|
/* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {onMounted, onWillStart, useExternalListener, useRef} from "@odoo/owl";
|
||||||
|
import {FileViewer} from "@web/core/file_viewer/file_viewer";
|
||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
|
||||||
|
const formChatterClassName = ".o-mail-Form-chatter";
|
||||||
|
const formViewSheetClassName = ".o_form_view_container .o_form_sheet_bg";
|
||||||
|
|
||||||
|
export function useFileViewerContainerSize(ref) {
|
||||||
|
function updateActualFormChatterSize() {
|
||||||
|
/** @type {HTMLDivElement}*/
|
||||||
|
const chatterElement = document.querySelector(formChatterClassName);
|
||||||
|
/** @type {HTMLDivElement}*/
|
||||||
|
const formSheetElement = document.querySelector(formViewSheetClassName);
|
||||||
|
if (chatterElement && formSheetElement && ref.el) {
|
||||||
|
/** @type {CSSStyleDeclaration}*/
|
||||||
|
const elStyle = ref.el.style;
|
||||||
|
const width = `${chatterElement.clientWidth}px`;
|
||||||
|
const height = `${chatterElement.clientHeight}px`;
|
||||||
|
const left = `${formSheetElement.clientWidth}px`;
|
||||||
|
elStyle.setProperty("--o-FileViewerContainer-width", width);
|
||||||
|
elStyle.setProperty("--o-FileViewerContainer-height", height);
|
||||||
|
elStyle.setProperty("--o-FileViewerContainer-left", left);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
useExternalListener(window, "resize", () => {
|
||||||
|
requestAnimationFrame(updateActualFormChatterSize);
|
||||||
|
});
|
||||||
|
onMounted(() => {
|
||||||
|
requestAnimationFrame(updateActualFormChatterSize);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const unpatchFileViewer = patch(FileViewer.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.root = useRef("root");
|
||||||
|
Object.assign(this.state, {
|
||||||
|
allowMinimize: false,
|
||||||
|
maximized: true,
|
||||||
|
});
|
||||||
|
useFileViewerContainerSize(this.root);
|
||||||
|
onWillStart(this.setDefaultMaximizeState);
|
||||||
|
},
|
||||||
|
|
||||||
|
get rootClass() {
|
||||||
|
return {
|
||||||
|
modal: this.props.modal,
|
||||||
|
"o-FileViewerContainer__maximized": this.state.maximized,
|
||||||
|
"o-FileViewerContainer__minimized": !this.state.maximized,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
setDefaultMaximizeState() {
|
||||||
|
this.state.allowMinimize = Boolean(
|
||||||
|
document.querySelector(`${formChatterClassName}.o-aside`)
|
||||||
|
);
|
||||||
|
this.state.maximized = !this.state.allowMinimize;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Boolean} value
|
||||||
|
*/
|
||||||
|
setMaximized(value) {
|
||||||
|
this.state.maximized = value;
|
||||||
|
},
|
||||||
|
});
|
||||||
58
third_party/web_responsive/static/src/components/file_viewer/file_viewer.scss
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/* Copyright 2019 Tecnativa - Alexandre Díaz
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
.o-FileViewerContainer {
|
||||||
|
--o-FileViewerContainer-width: #{$o-mail-Chatter-minWidth};
|
||||||
|
--o-FileViewerContainer-height: var(--100vh, calc(100vh - #{$o-navbar-height}));
|
||||||
|
--o-FileViewerContainer-left: unset;
|
||||||
|
--o-FileViewerContainer-right: 0;
|
||||||
|
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
z-index: $zindex-fixed;
|
||||||
|
|
||||||
|
&__maximized {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__minimized {
|
||||||
|
width: 100%;
|
||||||
|
max-width: var(--o-FileViewerContainer-width, #{$o-mail-Chatter-minWidth});
|
||||||
|
height: var(--o-FileViewerContainer-height);
|
||||||
|
top: unset;
|
||||||
|
right: var(--o-FileViewerContainer-right, 0);
|
||||||
|
left: var(--o-FileViewerContainer-left, unset);
|
||||||
|
bottom: 0;
|
||||||
|
|
||||||
|
.o-FileViewer-main {
|
||||||
|
padding: $o-navbar-height 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-FileViewer-viewPdf {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-FileViewer-navigation {
|
||||||
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
|
text-shadow: 0 0 rgba(30, 30, 30, 0.8);
|
||||||
|
box-shadow: 0 0 1px 0 rgba(30, 30, 30, 0.4);
|
||||||
|
transition:
|
||||||
|
background-color 0.2s,
|
||||||
|
box-shadow 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
text-shadow: 0 0 black;
|
||||||
|
box-shadow: 0 0 2px 0 rgba(30, 30, 30, 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_apps_menu_opened .o-FileViewerContainer {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
47
third_party/web_responsive/static/src/components/file_viewer/file_viewer.xml
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2019 Tecnativa - Alexandre Díaz
|
||||||
|
Copyright 2021 Sergey Shebanin
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<template>
|
||||||
|
<t
|
||||||
|
t-name="web_responsive.FileViewer"
|
||||||
|
t-inherit="web.FileViewer"
|
||||||
|
t-inherit-mode="extension"
|
||||||
|
>
|
||||||
|
<xpath expr="div[hasclass('justify-content-center')]" position="attributes">
|
||||||
|
<attribute name="class" add="o-FileViewerContainer" separator=" " />
|
||||||
|
<attribute name="t-att-class">rootClass</attribute>
|
||||||
|
<attribute name="t-ref">root</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//iframe[@t-ref='iframeViewerPdf']" position="attributes">
|
||||||
|
<attribute name="class" add="o-FileViewer-viewPdf" separator=" " />
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//div[@t-on-click.stop='close']" position="before">
|
||||||
|
<t t-if="state.allowMinimize">
|
||||||
|
<div
|
||||||
|
t-if="!state.maximized"
|
||||||
|
t-on-click="setMaximized.bind(this, true)"
|
||||||
|
class="o-FileViewer-headerButton d-flex align-items-center mb-0 px-3 h4 text-reset cursor-pointer"
|
||||||
|
role="button"
|
||||||
|
name="maximize"
|
||||||
|
title="Maximize"
|
||||||
|
aria-label="Maximize"
|
||||||
|
>
|
||||||
|
<i class="fa fa-fw fa-window-maximize" role="img" />
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
t-if="state.maximized"
|
||||||
|
class="o-FileViewer-headerButton d-flex align-items-center mb-0 px-3 h4 text-reset cursor-pointer"
|
||||||
|
t-on-click="setMaximized.bind(this, false)"
|
||||||
|
role="button"
|
||||||
|
name="minimize"
|
||||||
|
title="Minimize"
|
||||||
|
aria-label="Minimize"
|
||||||
|
>
|
||||||
|
<i class="fa fa-fw fa-window-minimize" role="img" />
|
||||||
|
</div>
|
||||||
|
</t>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</template>
|
||||||
24
third_party/web_responsive/static/src/components/file_viewer/file_viewer_hook_patch.esm.js
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import {patch} from "@web/core/utils/patch";
|
||||||
|
import {AttachmentList} from "@mail/core/common/attachment_list";
|
||||||
|
|
||||||
|
patch(AttachmentList.prototype, {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this._wr_isOpeningFileViewer = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
onClickAttachment(attachment) {
|
||||||
|
// Prevent duplication for opening FileViewer within the same tick/frame
|
||||||
|
if (this._wr_isOpeningFileViewer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._wr_isOpeningFileViewer = true;
|
||||||
|
try {
|
||||||
|
super.onClickAttachment(attachment);
|
||||||
|
} finally {
|
||||||
|
setTimeout(() => {
|
||||||
|
this._wr_isOpeningFileViewer = false;
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
12
third_party/web_responsive/static/src/components/hotkey/hotkey.scss
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
// Shortcut table ui improvement
|
||||||
|
.o_shortcut_table {
|
||||||
|
width: 100%;
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: 400px;
|
||||||
|
td {
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
26
third_party/web_responsive/static/src/components/hotkey/hotkey.xml
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!--
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||||
|
-->
|
||||||
|
<templates id="template" xml:space="preserve">
|
||||||
|
<t t-inherit="web.NavBar.SectionsMenu" t-inherit-mode="extension" owl="1">
|
||||||
|
<xpath
|
||||||
|
expr="//t[@t-foreach='sections']//t[@t-set='hotkey']"
|
||||||
|
position="attributes"
|
||||||
|
>
|
||||||
|
<attribute
|
||||||
|
name="t-value"
|
||||||
|
>'shift+' + ((section_index + 1) % 10).toString()</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath
|
||||||
|
expr="//t[@t-if='currentAppSectionsExtra.length']//t[@t-set='hotkey']"
|
||||||
|
position="attributes"
|
||||||
|
>
|
||||||
|
<attribute
|
||||||
|
name="t-value"
|
||||||
|
>'shift+' + (sectionsVisibleCount + 1 % 10).toString()</attribute>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
236
third_party/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.esm.js
vendored
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
/* global console */
|
||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Component, onPatched, onWillPatch, useRef, useState} from "@odoo/owl";
|
||||||
|
import {
|
||||||
|
collectRootMenuItems,
|
||||||
|
collectSubMenuItems,
|
||||||
|
} from "@web_responsive/components/apps_menu_tools.esm";
|
||||||
|
import {useAutofocus, useService} from "@web/core/utils/hooks";
|
||||||
|
import {debounce} from "@web/core/utils/timing";
|
||||||
|
import {escapeRegExp} from "@web/core/utils/strings";
|
||||||
|
import {fuzzyLookup} from "@web/core/utils/search";
|
||||||
|
import {scrollTo} from "@web/core/utils/scrolling";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends Component
|
||||||
|
*/
|
||||||
|
export class AppsMenuCanonicalSearchBar extends Component {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.state = useState({
|
||||||
|
rootItems: [],
|
||||||
|
subItems: [],
|
||||||
|
offset: 0,
|
||||||
|
hasResults: false,
|
||||||
|
});
|
||||||
|
this.searchBarInput = useAutofocus({refName: "SearchBarInput"});
|
||||||
|
this._searchMenus = debounce(this._searchMenus, 200);
|
||||||
|
this.menuService = useService("menu");
|
||||||
|
this.searchItemsRef = useRef("searchItems");
|
||||||
|
this.rootMenuItems = this.getRootMenuItems();
|
||||||
|
this.subMenuItems = this.getSubMenuItems();
|
||||||
|
onWillPatch(this._computeResultOffset);
|
||||||
|
onPatched(this._scrollToHighlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {String}
|
||||||
|
*/
|
||||||
|
get inputValue() {
|
||||||
|
const {el} = this.searchBarInput;
|
||||||
|
return el ? el.value : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Boolean}
|
||||||
|
*/
|
||||||
|
get hasItemsToDisplay() {
|
||||||
|
return this.totalItemsCount > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Number}
|
||||||
|
*/
|
||||||
|
get totalItemsCount() {
|
||||||
|
const {rootItems, subItems} = this.state;
|
||||||
|
return rootItems.length + subItems.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Number} index
|
||||||
|
* @param {Boolean} isSubMenu
|
||||||
|
* @returns {String}
|
||||||
|
*/
|
||||||
|
highlighted(index, isSubMenu = false) {
|
||||||
|
const {state} = this;
|
||||||
|
let _index = index;
|
||||||
|
if (isSubMenu) {
|
||||||
|
_index = state.rootItems.length + index;
|
||||||
|
}
|
||||||
|
return _index === state.offset ? "highlight" : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Object[]}
|
||||||
|
*/
|
||||||
|
getRootMenuItems() {
|
||||||
|
return this.menuService.getApps().reduce(collectRootMenuItems, []);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Object[]}
|
||||||
|
*/
|
||||||
|
getSubMenuItems() {
|
||||||
|
const response = [];
|
||||||
|
for (const menu of this.menuService.getApps()) {
|
||||||
|
const menuTree = this.menuService.getMenuAsTree(menu.id);
|
||||||
|
collectSubMenuItems(response, null, menuTree);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search among available menu items, and render that search.
|
||||||
|
*/
|
||||||
|
_searchMenus() {
|
||||||
|
const {state} = this;
|
||||||
|
const query = this.inputValue;
|
||||||
|
state.hasResults = query !== "";
|
||||||
|
if (!state.hasResults) {
|
||||||
|
state.rootItems = [];
|
||||||
|
state.subItems = [];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const searchField = (item) => item.displayName;
|
||||||
|
// Update search results paths
|
||||||
|
for (const root in this.rootMenuItems) {
|
||||||
|
// Root is an app
|
||||||
|
if (this.rootMenuItems[root]?.actionPath) {
|
||||||
|
this.rootMenuItems[root].path =
|
||||||
|
`/odoo/${this.rootMenuItems[root].actionPath}`;
|
||||||
|
}
|
||||||
|
// Root is a module
|
||||||
|
else {
|
||||||
|
this.rootMenuItems[root].path =
|
||||||
|
`/odoo/action-${this.rootMenuItems[root].actionID}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const item in this.subMenuItems) {
|
||||||
|
for (const root in this.rootMenuItems) {
|
||||||
|
if (this.subMenuItems[item].appID === this.rootMenuItems[root].appID) {
|
||||||
|
// Root is an app
|
||||||
|
if (this.rootMenuItems[root]?.actionPath) {
|
||||||
|
this.subMenuItems[item].path =
|
||||||
|
`/odoo/${this.rootMenuItems[root].actionPath}/action-${this.subMenuItems[item].actionID}`;
|
||||||
|
}
|
||||||
|
// Root is a module
|
||||||
|
else {
|
||||||
|
this.subMenuItems[item].path =
|
||||||
|
`/odoo/action-${this.subMenuItems[item].actionID}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.rootItems = fuzzyLookup(query, this.rootMenuItems, searchField);
|
||||||
|
state.subItems = fuzzyLookup(query, this.subMenuItems, searchField);
|
||||||
|
}
|
||||||
|
|
||||||
|
_onKeyDown(ev) {
|
||||||
|
const code = ev.code;
|
||||||
|
if (code === "Escape") {
|
||||||
|
ev.stopPropagation();
|
||||||
|
ev.preventDefault();
|
||||||
|
if (this.inputValue) {
|
||||||
|
this.searchBarInput.el.value = "";
|
||||||
|
Object.assign(this.state, {rootItems: [], subItems: []});
|
||||||
|
this.state.hasResults = false;
|
||||||
|
} else {
|
||||||
|
this.env.bus.trigger("ACTION_MANAGER:UI-UPDATED");
|
||||||
|
}
|
||||||
|
} else if (code === "Tab") {
|
||||||
|
if (this.searchItemsRef.el) {
|
||||||
|
ev.preventDefault();
|
||||||
|
if (ev.shiftKey) {
|
||||||
|
this.state.offset--;
|
||||||
|
} else {
|
||||||
|
this.state.offset++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (code === "ArrowUp") {
|
||||||
|
if (this.searchItemsRef.el) {
|
||||||
|
ev.preventDefault();
|
||||||
|
this.state.offset--;
|
||||||
|
}
|
||||||
|
} else if (code === "ArrowDown") {
|
||||||
|
if (this.searchItemsRef.el) {
|
||||||
|
ev.preventDefault();
|
||||||
|
this.state.offset++;
|
||||||
|
}
|
||||||
|
} else if (code === "Enter") {
|
||||||
|
const element = this.searchItemsRef.el;
|
||||||
|
if (this.hasItemsToDisplay && element) {
|
||||||
|
ev.preventDefault();
|
||||||
|
this._selectHighlightedSearchItem(element);
|
||||||
|
}
|
||||||
|
} else if (code === "Home") {
|
||||||
|
this.state.offset = 0;
|
||||||
|
} else if (code === "End") {
|
||||||
|
this.state.offset = this.totalItemsCount - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {HTMLElement} element
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_selectHighlightedSearchItem(element) {
|
||||||
|
const highlightedElement = element.querySelector(
|
||||||
|
".highlight > .search-item__link"
|
||||||
|
);
|
||||||
|
if (highlightedElement) {
|
||||||
|
highlightedElement.click();
|
||||||
|
} else {
|
||||||
|
console.warn("Highlighted search item is not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_splitName(name) {
|
||||||
|
if (!name) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const value = this.inputValue;
|
||||||
|
const splitName = name.split(new RegExp(`(${escapeRegExp(value)})`, "ig"));
|
||||||
|
return value.length && splitName.length > 1 ? splitName : [name];
|
||||||
|
}
|
||||||
|
|
||||||
|
_scrollToHighlight() {
|
||||||
|
// Scroll to selected element on keyboard navigation
|
||||||
|
const element = this.searchItemsRef.el;
|
||||||
|
if (!(this.totalItemsCount && element)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const activeElement = element.querySelector(".highlight");
|
||||||
|
if (activeElement) {
|
||||||
|
scrollTo(activeElement, element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_computeResultOffset() {
|
||||||
|
// Allow looping on results
|
||||||
|
const {state} = this;
|
||||||
|
const total = this.totalItemsCount;
|
||||||
|
if (state.offset < 0) {
|
||||||
|
state.offset = total + state.offset;
|
||||||
|
} else if (state.offset >= total) {
|
||||||
|
state.offset -= total;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AppsMenuCanonicalSearchBar.props = {};
|
||||||
|
AppsMenuCanonicalSearchBar.template = "web_responsive.AppsMenuCanonicalSearchBar";
|
||||||
112
third_party/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.scss
vendored
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
.o_grid_apps_menu[data-theme="milk"] {
|
||||||
|
--apps-menu-scrollbar-background: #{$o-brand-odoo};
|
||||||
|
--apps-menu-empty-search-color: $app-menu-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_grid_apps_menu[data-theme="community"] {
|
||||||
|
--apps-menu-scrollbar-background: white;
|
||||||
|
--apps-menu-empty-search-color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_grid_apps_menu .search-container {
|
||||||
|
// Allow to scroll only on results, keeping static search box above
|
||||||
|
.search-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: calc(0.25rem + 1px);
|
||||||
|
overflow: auto;
|
||||||
|
padding: 0.25rem 0;
|
||||||
|
margin: 0.25rem 0;
|
||||||
|
max-height: calc(100vh - #{$o-navbar-height} - 5.25rem);
|
||||||
|
max-height: calc(100dvh - #{$o-navbar-height} - 5.25rem);
|
||||||
|
max-width: calc(100vw - 1rem);
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
width: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
background: var(--apps-menu-scrollbar-background);
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-down(md) {
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
width: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-item-divider {
|
||||||
|
margin: 0 4px;
|
||||||
|
|
||||||
|
hr {
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
background-color: $o-brand-odoo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-item {
|
||||||
|
display: block;
|
||||||
|
align-items: center;
|
||||||
|
background-position: left;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
white-space: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
background-color: white;
|
||||||
|
box-shadow: $app-menu-box-shadow;
|
||||||
|
margin: 0 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
&__link {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.25rem 0.5rem;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
color: $app-menu-text-color;
|
||||||
|
text-shadow: 0 0 $app-menu-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__image {
|
||||||
|
max-height: 40px;
|
||||||
|
max-width: 40px;
|
||||||
|
width: 40px;
|
||||||
|
object-fit: contain;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.highlight,
|
||||||
|
&:hover {
|
||||||
|
background-color: $app-menu-item-highlight;
|
||||||
|
box-shadow: $app-menu-box-shadow-highlight;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
b {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-search-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.25rem 0.5rem;
|
||||||
|
color: var(--apps-menu-empty-search-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
99
third_party/web_responsive/static/src/components/menu_canonical_searchbar/searchbar.xml
vendored
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<!-- Search bar -->
|
||||||
|
<t t-name="web_responsive.AppsMenuCanonicalSearchBar">
|
||||||
|
<div class="search-container" t-att-class="{'has-results': state.hasResults}">
|
||||||
|
<div class="search-input">
|
||||||
|
<i class="fa fa-search search-icon fs-4 my-auto d-none d-sm-flex" />
|
||||||
|
<input
|
||||||
|
type="search"
|
||||||
|
t-ref="SearchBarInput"
|
||||||
|
t-on-input="_searchMenus"
|
||||||
|
t-on-keydown="_onKeyDown"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Search menus..."
|
||||||
|
class="form-control"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<ul
|
||||||
|
t-if="hasItemsToDisplay"
|
||||||
|
class="list-unstyled search-list"
|
||||||
|
t-ref="searchItems"
|
||||||
|
>
|
||||||
|
<t t-foreach="state.rootItems" t-as="menu" t-key="menu.id">
|
||||||
|
<li t-attf-class="search-item {{highlighted(menu_index)}}">
|
||||||
|
<a
|
||||||
|
t-attf-class="search-item__link"
|
||||||
|
t-att-href="menu.path"
|
||||||
|
t-att-data-menu-id="menu.id"
|
||||||
|
t-att-data-action-id="menu.actionID"
|
||||||
|
draggable="false"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="search-item__image"
|
||||||
|
t-att-src="menu.webIconData"
|
||||||
|
alt="App Icon"
|
||||||
|
/>
|
||||||
|
<span class="search-item__name" t-att-title="menu.name">
|
||||||
|
<t
|
||||||
|
t-foreach="_splitName(menu.displayName)"
|
||||||
|
t-as="name"
|
||||||
|
t-key="name_index"
|
||||||
|
>
|
||||||
|
<b t-if="name_index % 2" t-out="name" />
|
||||||
|
<t t-else="" t-out="name" />
|
||||||
|
</t>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</t>
|
||||||
|
<li
|
||||||
|
class="search-item-divider"
|
||||||
|
t-if="state.rootItems.length and state.subItems.length"
|
||||||
|
>
|
||||||
|
<hr class="w-100" />
|
||||||
|
</li>
|
||||||
|
<t t-foreach="state.subItems" t-as="menu" t-key="menu.id">
|
||||||
|
<li t-attf-class="search-item {{highlighted(menu_index, true)}}">
|
||||||
|
<a
|
||||||
|
t-attf-class="search-item__link"
|
||||||
|
t-att-href="menu.path"
|
||||||
|
t-att-data-menu-id="menu.id"
|
||||||
|
t-att-data-action-id="menu.actionID"
|
||||||
|
draggable="false"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="search-item__name px-2 py-1"
|
||||||
|
t-att-title="menu.name"
|
||||||
|
>
|
||||||
|
<t
|
||||||
|
t-foreach="_splitName(menu.displayName)"
|
||||||
|
t-as="name"
|
||||||
|
t-key="name_index"
|
||||||
|
>
|
||||||
|
<b t-if="name_index % 2" t-out="name" />
|
||||||
|
<t t-else="" t-out="name" />
|
||||||
|
</t>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</t>
|
||||||
|
</ul>
|
||||||
|
<ul
|
||||||
|
t-if="!hasItemsToDisplay and inputValue"
|
||||||
|
class="list-unstyled search-list"
|
||||||
|
>
|
||||||
|
<li class="empty-search-item">
|
||||||
|
<strong>Nothing to show</strong>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
31
third_party/web_responsive/static/src/components/menu_fuse_searchbar/searchbar.esm.js
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/* global Fuse */
|
||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {AppsMenuCanonicalSearchBar} from "@web_responsive/components/menu_canonical_searchbar/searchbar.esm";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends AppsMenuCanonicalSearchBar
|
||||||
|
*/
|
||||||
|
export class AppsMenuFuseSearchBar extends AppsMenuCanonicalSearchBar {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.fuseOptions = {
|
||||||
|
keys: ["displayName"],
|
||||||
|
threshold: 0.43,
|
||||||
|
};
|
||||||
|
this.rootMenuItems = new Fuse(this.getRootMenuItems(), this.fuseOptions);
|
||||||
|
this.subMenuItems = new Fuse(this.getSubMenuItems(), this.fuseOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
_searchMenus() {
|
||||||
|
const {state} = this;
|
||||||
|
const query = this.inputValue;
|
||||||
|
state.hasResults = query !== "";
|
||||||
|
state.rootItems = this.rootMenuItems.search(query);
|
||||||
|
state.subItems = this.subMenuItems.search(query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AppsMenuFuseSearchBar.props = {};
|
||||||
|
AppsMenuFuseSearchBar.template = "web_responsive.AppsMenuFuseSearchBar";
|
||||||
36
third_party/web_responsive/static/src/components/menu_fuse_searchbar/searchbar.xml
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<!-- Search bar -->
|
||||||
|
<t
|
||||||
|
t-name="web_responsive.AppsMenuFuseSearchBar"
|
||||||
|
t-inherit="web_responsive.AppsMenuCanonicalSearchBar"
|
||||||
|
t-inherit-mode="primary"
|
||||||
|
>
|
||||||
|
<xpath expr="//t[@t-foreach='state.rootItems']" position="attributes">
|
||||||
|
<attribute name="t-as">result</attribute>
|
||||||
|
<attribute name="t-key">result.item.xmlid</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//t[@t-foreach='state.rootItems']/li" position="before">
|
||||||
|
<t t-set="menu" t-value="result.item" />
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//t[@t-foreach='state.rootItems']/li" position="attributes">
|
||||||
|
<attribute
|
||||||
|
name="t-attf-class"
|
||||||
|
>search-item {{highlighted(result_index)}}</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//t[@t-foreach='state.subItems']" position="attributes">
|
||||||
|
<attribute name="t-as">result</attribute>
|
||||||
|
<attribute name="t-key">result.item.xmlid</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//t[@t-foreach='state.subItems']/li" position="before">
|
||||||
|
<t t-set="menu" t-value="result.item" />
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//t[@t-foreach='state.subItems']/li" position="attributes">
|
||||||
|
<attribute
|
||||||
|
name="t-attf-class"
|
||||||
|
>search-item {{highlighted(result_index, true)}}</attribute>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
64
third_party/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.esm.js
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {Component, useState} from "@odoo/owl";
|
||||||
|
import {useAutofocus, useService} from "@web/core/utils/hooks";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends Component
|
||||||
|
* @property {{el: HTMLInputElement}} searchBarInput
|
||||||
|
*/
|
||||||
|
export class AppsMenuOdooSearchBar extends Component {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.state = useState({
|
||||||
|
rootItems: [],
|
||||||
|
subItems: [],
|
||||||
|
offset: 0,
|
||||||
|
hasResults: false,
|
||||||
|
});
|
||||||
|
this.searchBarInput = useAutofocus({refName: "SearchBarInput"});
|
||||||
|
this.command = useService("command");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {String}
|
||||||
|
*/
|
||||||
|
get inputValue() {
|
||||||
|
const {el} = this.searchBarInput;
|
||||||
|
return el ? el.value : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
set inputValue(value) {
|
||||||
|
const {el} = this.searchBarInput;
|
||||||
|
if (el) {
|
||||||
|
el.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_onSearchInput() {
|
||||||
|
if (this.inputValue) {
|
||||||
|
this._openSearchMenu(this.inputValue);
|
||||||
|
this.inputValue = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_onSearchClick() {
|
||||||
|
this._openSearchMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {String} [value]
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_openSearchMenu(value) {
|
||||||
|
const searchValue = value ? `/${value}` : "/";
|
||||||
|
this.command.openMainPalette({searchValue}, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AppsMenuOdooSearchBar.props = {};
|
||||||
|
AppsMenuOdooSearchBar.template = "web_responsive.AppsMenuOdooSearchBar";
|
||||||
25
third_party/web_responsive/static/src/components/menu_odoo_searchbar/searchbar.xml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<!-- Search bar -->
|
||||||
|
<t t-name="web_responsive.AppsMenuOdooSearchBar">
|
||||||
|
<div class="search-container">
|
||||||
|
<div class="search-input">
|
||||||
|
<i class="fa fa-search search-icon fs-4 my-auto d-none d-sm-flex" />
|
||||||
|
<input
|
||||||
|
type="search"
|
||||||
|
t-ref="SearchBarInput"
|
||||||
|
t-on-input="_onSearchInput"
|
||||||
|
t-on-click="_onSearchClick"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Search menus..."
|
||||||
|
class="form-control"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
25
third_party/web_responsive/static/src/components/menu_searchbar/searchbar.esm.js
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
import {AppsMenuCanonicalSearchBar} from "@web_responsive/components/menu_canonical_searchbar/searchbar.esm";
|
||||||
|
import {AppsMenuFuseSearchBar} from "@web_responsive/components/menu_fuse_searchbar/searchbar.esm";
|
||||||
|
import {AppsMenuOdooSearchBar} from "@web_responsive/components/menu_odoo_searchbar/searchbar.esm";
|
||||||
|
import {Component} from "@odoo/owl";
|
||||||
|
import {session} from "@web/session";
|
||||||
|
|
||||||
|
export class AppsMenuSearchBar extends Component {
|
||||||
|
setup() {
|
||||||
|
super.setup();
|
||||||
|
this.searchType = session.apps_menu.search_type || "canonical";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Object.assign(AppsMenuSearchBar, {
|
||||||
|
props: {},
|
||||||
|
template: "web_responsive.AppsMenuSearchBar",
|
||||||
|
components: {
|
||||||
|
AppsMenuOdooSearchBar,
|
||||||
|
AppsMenuCanonicalSearchBar,
|
||||||
|
AppsMenuFuseSearchBar,
|
||||||
|
},
|
||||||
|
});
|
||||||
45
third_party/web_responsive/static/src/components/menu_searchbar/searchbar.scss
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
* Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
* Copyright 2023 Taras Shabaranskyi
|
||||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
||||||
|
|
||||||
|
.o_grid_apps_menu .search-container {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.search-input {
|
||||||
|
display: flex;
|
||||||
|
justify-items: center;
|
||||||
|
gap: 0.75rem;
|
||||||
|
box-shadow: $app-menu-box-shadow;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 0.5rem 0.75rem;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
.search-icon {
|
||||||
|
color: $app-menu-text-color;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
padding-top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control {
|
||||||
|
height: 1.75rem;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
color: $app-menu-text-color;
|
||||||
|
display: block;
|
||||||
|
padding: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: $app-menu-text-color;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.o_command_palette_search .form-control {
|
||||||
|
&:focus {
|
||||||
|
box-shadow: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
14
third_party/web_responsive/static/src/components/menu_searchbar/searchbar.xml
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!-- Copyright 2018 Tecnativa - Jairo Llopis
|
||||||
|
Copyright 2021 ITerra - Sergey Shebanin
|
||||||
|
Copyright 2023 Onestein - Anjeel Haria
|
||||||
|
Copyright 2023 Taras Shabaranskyi
|
||||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||||
|
<templates>
|
||||||
|
<!-- Search bar -->
|
||||||
|
<t t-name="web_responsive.AppsMenuSearchBar">
|
||||||
|
<AppsMenuCanonicalSearchBar t-if="searchType==='canonical'" />
|
||||||
|
<AppsMenuOdooSearchBar t-if="searchType==='command_palette'" />
|
||||||
|
<AppsMenuFuseSearchBar t-if="searchType==='fuse'" />
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||