initial commit
This commit is contained in:
commit
9341a5d690
4
__init__.py
Normal file
4
__init__.py
Normal file
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import models
|
33
__manifest__.py
Normal file
33
__manifest__.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Tours',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
Odoo Web tours.
|
||||
========================
|
||||
|
||||
""",
|
||||
'version': '0.1',
|
||||
'depends': ['web'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/ir.rule.csv',
|
||||
'views/tour_views.xml'
|
||||
],
|
||||
'assets': {
|
||||
'web.assets_backend': [
|
||||
'web_tour/static/src/**/*',
|
||||
],
|
||||
'web.assets_frontend': [
|
||||
'web_tour/static/src/tour_pointer/**/*',
|
||||
'web_tour/static/src/tour_service/**/*',
|
||||
],
|
||||
'web.qunit_suite_tests': [
|
||||
'web_tour/static/tests/**/*',
|
||||
],
|
||||
},
|
||||
'auto_install': True,
|
||||
'license': 'LGPL-3',
|
||||
}
|
BIN
__pycache__/__init__.cpython-311.pyc
Normal file
BIN
__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
187
i18n/ar.po
Normal file
187
i18n/ar.po
Normal file
|
@ -0,0 +1,187 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>عمل رائع!</b> لقد تخطيت كافة مراحل هذه الجولة.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "اضغط على <i>أيقونة الصفحة الرئيسية</i> للتنقل بين التطبيقات. "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "إغلاق"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "يستهلك بواسطة"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "تعطيل الجولات "
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "اسم العرض "
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "مسار HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "المُعرف"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "القائمة"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "الاسم"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "جولات التمهيد "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "فتح القائمة "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "المسار "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "قم بالتمرير لأسفل للوصول إلى الخطوة التالية. "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "قم بالتمرير لأعلى للوصول إلى الخطوة التالية. "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "تسلسل "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "بدء"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "بدء الجولة "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "بدء جولة"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "اختبار"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "جولة تجريبية "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "الجولات التجريبية "
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "نصيحة "
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "إسم الجولة"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "الجولات "
|
178
i18n/az.po
Normal file
178
i18n/az.po
Normal file
|
@ -0,0 +1,178 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Jumshud Sultanov <cumshud@gmail.com>, 2022
|
||||
# erpgo translator <jumshud@erpgo.az>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: erpgo translator <jumshud@erpgo.az>, 2022\n"
|
||||
"Language-Team: Azerbaijani (https://app.transifex.com/odoo/teams/41243/az/)\n"
|
||||
"Language: az\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>Yaxşı iş!</b> Bu turun bütün addımlarını keçdiniz.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Tərəfindən istehlak olunur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Ekran Adı"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Marşrutizasiyası"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menyu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Ad"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Yol"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Ardıcıllıq"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Başlayın"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Tura Başlayın"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Turun adı"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Turlar"
|
194
i18n/bg.po
Normal file
194
i18n/bg.po
Normal file
|
@ -0,0 +1,194 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# KeyVillage, 2023
|
||||
# aleksandar ivanov, 2023
|
||||
# Albena Mincheva <albena_vicheva@abv.bg>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Maria Boyadjieva <marabo2000@gmail.com>, 2023
|
||||
# Rosen Vladimirov <vladimirov.rosen@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Rosen Vladimirov <vladimirov.rosen@gmail.com>, 2023\n"
|
||||
"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Добра работа!</b>Преминахте през всички стъпки на това "
|
||||
"обучение.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Консумиран от"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Деактивирайте обиколките"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Име за Показване"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Меню"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Име"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Път"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Последователност"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Стартирайте"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Започни обиколка"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Започнете обиколка"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Тест"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Съвет"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Име на обиколка"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tours"
|
178
i18n/bs.po
Normal file
178
i18n/bs.po
Normal file
|
@ -0,0 +1,178 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2018
|
||||
# Boško Stojaković <bluesoft83@gmail.com>, 2018
|
||||
# Bole <bole@dajmi5.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~11.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2018-09-21 13:18+0000\n"
|
||||
"Last-Translator: Bole <bole@dajmi5.com>, 2018\n"
|
||||
"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n"
|
||||
"Language: bs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meni"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naziv:"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Putanja"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Bakšiš"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Vodiči"
|
195
i18n/ca.po
Normal file
195
i18n/ca.po
Normal file
|
@ -0,0 +1,195 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# AncesLatino2004, 2023
|
||||
# Arnau Ros, 2023
|
||||
# Óscar Fonseca <tecnico@pyming.com>, 2023
|
||||
# marcescu, 2023
|
||||
# Quim - eccit <quim@eccit.com>, 2023
|
||||
# Lluís Dalmau <lluis.dalmau@guifi.net>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Martin Trigaux, 2023\n"
|
||||
"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ca\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Bon treball!</b> Has fet tots els passos d'aquest "
|
||||
"recorregut.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Feu clic a <i>Icona de l'usuari</i> per navegar per les aplicacions."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Tancar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumit per"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Inhabilita les visites"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom mostrat"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Enrutament HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menú"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Visites d'enboarding"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Obriu el menú del bugger."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Ruta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Seqüència"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Inicia"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Inicia el recorregut"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Començar recorregut"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Prova la visita"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Proves de visites"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Propina"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nom del recorregut"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Recorreguts"
|
190
i18n/cs.po
Normal file
190
i18n/cs.po
Normal file
|
@ -0,0 +1,190 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Ivana Bartonkova, 2023
|
||||
# Wil Odoo, 2023
|
||||
# Jakub Smolka, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Jakub Smolka, 2023\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Dobrá práce!</b> Prošli jste všemi kroky této prohlídky.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Vypnout tutoriály"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovací název"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Tutoriály"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Cesta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvence"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Začít"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Začít tutoriál"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Začít tutoriál"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Testovací tutoriál"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Testovací tutoriály"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tutoriály"
|
189
i18n/da.po
Normal file
189
i18n/da.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Martin Trigaux, 2023\n"
|
||||
"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: da\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Godt arbejde!</b>Du gennemgik alle trin i denne "
|
||||
"rundvisning.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klik på <i>Hjem ikonet</i> for at navigere på tværs af applikationer."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Forbrugt af"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Deaktiver rundvisninger"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Vis navn"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Åben bugger menu."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Sti"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvens"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Start rundtur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Start tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test rundvisning"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Navn på rundtur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Rundture"
|
191
i18n/de.po
Normal file
191
i18n/de.po
Normal file
|
@ -0,0 +1,191 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Larissa Manderfeld, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Larissa Manderfeld, 2023\n"
|
||||
"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Gut gemacht!</b> Sie haben alle Schritte dieser Tour "
|
||||
"absolviert.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Klicken Sie auf das <i>Startsymbol</i>, um durch die Apps zu navigieren."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Verbraucht von"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Tour deaktivieren"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP-Routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menü"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Einführungstouren"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Fehlermenü öffnen."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Pfad"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Nach unten scrollen, um zum nächsten Schritt zu gelangen."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Nach oben scrollen, um zum nächsten Schritt zu gelangen."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenz"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Tour starten"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Tour starten"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Testtour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Testtouren"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tipp"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Tourname"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Touren"
|
178
i18n/el.po
Normal file
178
i18n/el.po
Normal file
|
@ -0,0 +1,178 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2018
|
||||
# Kostas Goutoudis <goutoudis@gmail.com>, 2018
|
||||
# George Tarasidis <george_tarasidis@yahoo.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~11.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2018-09-21 13:18+0000\n"
|
||||
"Last-Translator: George Tarasidis <george_tarasidis@yahoo.com>, 2018\n"
|
||||
"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n"
|
||||
"Language: el\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Αναλώθηκαν από"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Απενεργοποίηση Περιηγήσεων"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Εμφάνιση Ονόματος"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "Κωδικός"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Μενού"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Περιγραφή"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Διαδρομή"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Έναρξη Περιήγησης"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Φιλοδώρημα"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Περιγραφή Περιηγήσης"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Περιηγήσεις"
|
193
i18n/es.po
Normal file
193
i18n/es.po
Normal file
|
@ -0,0 +1,193 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Lucia Pacheco, 2023
|
||||
# Larissa Manderfeld, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Larissa Manderfeld, 2024\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>¡Bien hecho!</b> Terminó todos los pasos de este "
|
||||
"recorrido.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Haga clic en el <i>icono de inicio</i> para navegar a través de las "
|
||||
"aplicaciones."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumido por"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Desactivar recorridos"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Enrutamiento HTTP "
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menú"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Recorridos de incorporación"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Abrir el menú bugger."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Ruta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Baje para continuar con el siguiente paso."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Suba para continuar con el siguiente paso."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Iniciar"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Comenzar recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Comenzar recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Recorrido de prueba"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Visitas de prueba"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Consejo"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nombre del recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Recorridos"
|
193
i18n/es_419.po
Normal file
193
i18n/es_419.po
Normal file
|
@ -0,0 +1,193 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Iran Villalobos López, 2023
|
||||
# Fernanda Alvarez, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Fernanda Alvarez, 2023\n"
|
||||
"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: es_419\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>¡Bien hecho!</b> Terminó todos los pasos de este "
|
||||
"recorrido.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Haga clic en el <i>icono de inicio</i> para navegar a través de las "
|
||||
"aplicaciones."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumido por"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Desactivar recorridos"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre en pantalla"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Enrutamiento HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menú"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Recorridos de integración"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Abrir el menú de desarrollador."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Ruta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Baje para continuar con el siguiente paso."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Suba para continuar con el siguiente paso."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Iniciar"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Comenzar recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Comenzar recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Prueba"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Recorrido de prueba"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Recorridos de prueba"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Consejo"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nombre del recorrido"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Recorridos"
|
196
i18n/et.po
Normal file
196
i18n/et.po
Normal file
|
@ -0,0 +1,196 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Andre Roomet <andreroomet@gmail.com>, 2023
|
||||
# Piia Paurson <piia@avalah.ee>, 2023
|
||||
# Arma Gedonsky <armagedonsky@hot.ee>, 2023
|
||||
# Rivo Zängov <eraser@eraser.ee>, 2023
|
||||
# Leaanika Randmets, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Maidu Targama <m.targama@gmail.com>, 2023
|
||||
# Anna, 2023
|
||||
# Triine Aavik <triine@avalah.ee>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Triine Aavik <triine@avalah.ee>, 2023\n"
|
||||
"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: et\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Tubli!</b> Käisid läbi kõik selle teekonna etapid.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klõpsake <i>Kodu ikoonil</i> rakendustes navigeerimiseks "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Sulge"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Tarbitud"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Keela tuurid"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Kuvatav nimi"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menüü"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Sisseelamis tuurid"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Ava veamenüü."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Asukoht"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Jada"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Alusta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Alusta tuuri"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Alusta tuuri"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test tuur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Testi tuuri"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Jootraha"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Tuuri nimi"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tuurid"
|
192
i18n/fa.po
Normal file
192
i18n/fa.po
Normal file
|
@ -0,0 +1,192 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Yousef Shadmanesh <y.shadmanesh@gmail.com>, 2023
|
||||
# Hamid Darabi, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Hamed Mohammadi <hamed@dehongi.com>, 2023
|
||||
# Hanna Kheradroosta, 2023
|
||||
# mehdi samadi <mehsamadi@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: mehdi samadi <mehsamadi@gmail.com>, 2023\n"
|
||||
"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>بسیار عالی!</b> شما تمام این تور را مرور کردید.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "بر روی <i>آیکون خانه</i> کلیک کنید تا بین برنامه های بگردید."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "بستن"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "دیده شده توسط"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "غیر فعال کردن تورها"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "نام نمایش داده شده"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "مسیریابی HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "شناسه"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "منو"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "مسیر"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "دنباله"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "شروع"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "شروع تور"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "تست"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "نکته"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "نام تور"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "تورها"
|
197
i18n/fi.po
Normal file
197
i18n/fi.po
Normal file
|
@ -0,0 +1,197 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Kari Lindgren <kari.lindgren@emsystems.fi>, 2023
|
||||
# Veikko Väätäjä <veikko.vaataja@gmail.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2023
|
||||
# Eino Mäkitalo <eino.makitalo@netitbe.fi>, 2023
|
||||
# Svante Suominen <svante.suominen@web-veistamo.fi>, 2023
|
||||
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2023
|
||||
# Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2023\n"
|
||||
"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Hyvin tehty!</b> Kävit läpi kaikki tämän esittelykierroksen "
|
||||
"vaiheet.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Voit siirtyä sovellusten välillä napsauttamalla <i>Koti-kuvaketta</i>."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Kuluttaa"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Poista esittelykiertueet käytöstä"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Näyttönimi"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP-reititys"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Valikko"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Esittelykierros"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Avaa debuggaus-valikko."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Polku"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Järjestys"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Aloita"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Aloita esittelykierros"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Aloita esittelykierros"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Testi"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Koe-esittely"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Koe-esittelyt"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Vinkki"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Esittelykiertueen nimi"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Esittelykiertueet"
|
192
i18n/fr.po
Normal file
192
i18n/fr.po
Normal file
|
@ -0,0 +1,192 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Jolien De Paepe, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Jolien De Paepe, 2023\n"
|
||||
"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Bien joué !</b> Vous venez de terminer toutes les étapes de cette"
|
||||
" visite.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Cliquez sur <i>l'icône d'accueil</i> pour naviguer d'une application à "
|
||||
"l'autre."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consommé par"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Désactiver les visites"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom d'affichage"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Routage HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Parcours d'intégration"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Ouvrir le menu développeur."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Chemin"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Faites défiler jusqu'à la prochaine étape."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Faites défiler vers le haut jusqu'à la prochaine étape."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Lancer"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Démarrer la visite"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Démarrer la visite"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Tester"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Visite d'essai"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Visites d'essai"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Conseil"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nom de la visite"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Visites"
|
177
i18n/gu.po
Normal file
177
i18n/gu.po
Normal file
|
@ -0,0 +1,177 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Qaidjohar Barbhaya, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: Qaidjohar Barbhaya, 2023\n"
|
||||
"Language-Team: Gujarati (https://app.transifex.com/odoo/teams/41243/gu/)\n"
|
||||
"Language: gu\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Display Name"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "મેનૂ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sequence"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
192
i18n/he.po
Normal file
192
i18n/he.po
Normal file
|
@ -0,0 +1,192 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Sagi Ahiel, 2023
|
||||
# Lilach Gilliam <lilach.gilliam@gmail.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Yihya Hugirat <hugirat@gmail.com>, 2023
|
||||
# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2023
|
||||
# ExcaliberX <excaliberx@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: ExcaliberX <excaliberx@gmail.com>, 2023\n"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: he\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>עבודה טובה!</b> עברת את כל השלבים של המדריך.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "לחץ על <i>סמל הבית</i> כדי לנווט בין יישומים."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "סגור"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "בשימוש על ידי"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "השבת סיורים"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "שם לתצוגה"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "ניתוב HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "מזהה"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "תפריט"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "שם"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "נתיב"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "רצף"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "התחל"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "התחל סיור"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "התחל סיור"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "בדוק"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "עצה"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "שם סיור"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "סיורים"
|
182
i18n/hr.po
Normal file
182
i18n/hr.po
Normal file
|
@ -0,0 +1,182 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Ivica Dimjašević <ivica.dimjasevic@storm.hr>, 2022
|
||||
# Vojislav Opačić <vojislav.opacic@gmail.com>, 2022
|
||||
# Đurđica Žarković <durdica.zarkovic@storm.hr>, 2022
|
||||
# Vladimir Olujić <olujic.vladimir@storm.hr>, 2022
|
||||
# Martin Trigaux, 2022
|
||||
# Karolina Tonković <karolina.tonkovic@storm.hr>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: Karolina Tonković <karolina.tonkovic@storm.hr>, 2022\n"
|
||||
"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/hr/)\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Koristili"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP usmjeravanje"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Izbornik"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Putanja"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvenca"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Savjet"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
192
i18n/hu.po
Normal file
192
i18n/hu.po
Normal file
|
@ -0,0 +1,192 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Gergő Kertész <gergo.kertesz@maxflow.hu>, 2023
|
||||
# Tamás Dombos, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Ákos Nagy <akos.nagy@oregional.hu>, 2023
|
||||
# gezza <geza.nagy@oregional.hu>, 2023
|
||||
# krnkris, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: krnkris, 2023\n"
|
||||
"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Által felhasznált"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Megjelenített név"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP irányítás"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "Azonosító"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menü"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Név"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Útvonal"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sorszám"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Indítás"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Bejárás elindítása"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Tesztelés"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tipp"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Bejárás neve"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Bejárások"
|
183
i18n/hy.po
Normal file
183
i18n/hy.po
Normal file
|
@ -0,0 +1,183 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Language-Team: Armenian (https://app.transifex.com/odoo/teams/41243/hy/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hy\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
189
i18n/id.po
Normal file
189
i18n/id.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Abe Manyo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Abe Manyo, 2023\n"
|
||||
"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: id\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Selamat!</b> Anda telah melalui semua langkah tur ini.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klik pada <i>ikon Home</i> untuk navigasi di seluruh aplikasi."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Dikonsumsi oleh"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Nonaktifkan Tur"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nama Tampilan"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Tur Onboarding"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Buka menu bugger."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Jalan"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Scroll ke bawah untuk mencapai langkah berikutnya."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Scroll ke atas untuk mencapai langkah berikutnya."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Urutan"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Mulai"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Mulai Tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Mulai tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Tes"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Tes tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Mengetes tur"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nama tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tur"
|
183
i18n/is.po
Normal file
183
i18n/is.po
Normal file
|
@ -0,0 +1,183 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Language-Team: Icelandic (https://app.transifex.com/odoo/teams/41243/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: is\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
189
i18n/it.po
Normal file
189
i18n/it.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Marianna Ciofani, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Marianna Ciofani, 2023\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Bel lavoro!</b> Hai completato tutte le fasi del tour.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Fare clic sull'<i>icona Home</i> per navigare tra le applicazioni."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Completato da"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Disattiva tour"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Instradamento HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menù"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Tour di Onboarding"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Apri il menu sviluppatore."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Percorso"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Scorri verso il basso per raggiungere la fase successiva."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Scorri verso l'alto per raggiungere la fase successiva."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenza"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Avvio"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Inizia tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Inizia Tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Prova"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Tour di prova"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Tour di prova"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Consiglio"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nome tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tour"
|
188
i18n/ja.po
Normal file
188
i18n/ja.po
Normal file
|
@ -0,0 +1,188 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Junko Augias, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Junko Augias, 2023\n"
|
||||
"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ja\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>Good job!</b> あなたはこのツアーのすべてのステップを通過しました。</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "<i>ホームアイコン</i>をクリックしてアプリを横断してナビゲートします。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "閉じる"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "使用履歴"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "ツアーを無効化"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "表示名"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTPルーティング"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "メニュー"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "オンボーディングツアー"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "オンボーディングメニュー"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "パス"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "スクロールダウンして次のステップに進みます。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "スクロールアップして次のステップに進みます。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "シーケンス"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "開始"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "ツアーを開始"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "ツアー開始"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "インポートテスト"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "ツアーをテスト"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "ツアーをテスト中"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "チップ"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "ツアー名"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "ツアー"
|
176
i18n/km.po
Normal file
176
i18n/km.po
Normal file
|
@ -0,0 +1,176 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Sengtha Chay <sengtha@gmail.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~11.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2018-09-21 13:18+0000\n"
|
||||
"Last-Translator: Sengtha Chay <sengtha@gmail.com>, 2018\n"
|
||||
"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n"
|
||||
"Language: km\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "ឈ្មោះសំរាប់បង្ហាញ"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "ឈ្មោះ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
188
i18n/ko.po
Normal file
188
i18n/ko.po
Normal file
|
@ -0,0 +1,188 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Daye Jeong, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Daye Jeong, 2023\n"
|
||||
"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ko\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>잘하셨습니다!</b>이번 여정의 모든 단계를 완료하였습니다.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "<i>홈 아이콘</i>을 클릭하여 앱을 탐색합니다."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "다음에 의해 소비됨"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "둘러보기 비활성화"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "표시명"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP 라우팅"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "메뉴"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "이름"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "온보딩 둘러보기"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "햄버거 버튼 메뉴 열기."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "경로"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "아래로 스크롤하여 다음 단계로 이동하세요."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "위로 스크롤하여 다음 단계로 이동합니다."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "순서"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "시작"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "둘러보기 시작"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "둘러보기 시작"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "테스트"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "둘러보기 테스트"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "둘러보기 테스트 중"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "팁"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "둘러보기 이름"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "둘러보기"
|
173
i18n/lb.po
Normal file
173
i18n/lb.po
Normal file
|
@ -0,0 +1,173 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~11.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2019-08-26 09:15+0000\n"
|
||||
"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n"
|
||||
"Language: lb\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
194
i18n/lt.po
Normal file
194
i18n/lt.po
Normal file
|
@ -0,0 +1,194 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Arminas Grigonis <arminas@versada.lt>, 2023
|
||||
# Ramunė ViaLaurea <ramune.vialaurea@gmail.com>, 2023
|
||||
# Anatolij, 2023
|
||||
# Audrius Palenskis <audrius.palenskis@gmail.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Šarūnas Ažna <sarunas.azna@gmail.com>, 2023
|
||||
# Linas Versada <linaskrisiukenas@gmail.com>, 2023
|
||||
# Silvija Butko <silvija.butko@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Silvija Butko <silvija.butko@gmail.com>, 2023\n"
|
||||
"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: lt\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Norėdami naviguoti tarp programų, paspauskite <i>namų piktogramą</i>."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Uždaryti"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Sunaudojo"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Išjungti turus"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Rodomas pavadinimas"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP nukreipimas"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meniu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Vardas, Pavardė"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Kelias"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Seka"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Pradėti"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Pradėti turą"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Testas"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Arbatpinigiai"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Turo pavadinimas"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Turai"
|
191
i18n/lv.po
Normal file
191
i18n/lv.po
Normal file
|
@ -0,0 +1,191 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Arnis Putniņš <arnis@allegro.lv>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Anzelika Adejanova, 2023
|
||||
# Armīns Jeltajevs <armins.jeltajevs@gmail.com>, 2023
|
||||
# ievaputnina <ievai.putninai@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: ievaputnina <ievai.putninai@gmail.com>, 2023\n"
|
||||
"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: lv\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Aizvērt"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Attēlotais nosaukums"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP maršrutēšana"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Izvēlne"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nosaukums"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Ceļš"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvence"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Sākt"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Tests"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tējasnauda"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tūres"
|
181
i18n/mn.po
Normal file
181
i18n/mn.po
Normal file
|
@ -0,0 +1,181 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Otgonbayar.A <gobi.mn@gmail.com>, 2022
|
||||
# Батмөнх Ганбат <batmunkh2522@gmail.com>, 2022
|
||||
# Martin Trigaux, 2022
|
||||
# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2022
|
||||
# hish, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: hish, 2022\n"
|
||||
"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/mn/)\n"
|
||||
"Language: mn\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Хангагдсан"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Дэлгэрэнгүй нэр"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Цэс"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Нэр"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Зам"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Дугаарлалт"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Эхлэх"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Аялалыг эхлэх"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Тест"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Шан харамж"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Аялалын нэр"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Аялалууд"
|
180
i18n/nb.po
Normal file
180
i18n/nb.po
Normal file
|
@ -0,0 +1,180 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Henning Herfjord <henning@autobolig.no>, 2022
|
||||
# Martin Trigaux, 2022
|
||||
# Marius Stedjan <marius@stedjan.com>, 2022
|
||||
# Jorunn D. Newth, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: Jorunn D. Newth, 2022\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/odoo/teams/41243/nb/)\n"
|
||||
"Language: nb\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_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Forbrukt av"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Slå av omvisninger"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visningsnavn"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP-ruting"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meny"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Filbane"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvens"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Start omvisning"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Start guide"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tips"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Omvisningsnavn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Omvisninger"
|
189
i18n/nl.po
Normal file
189
i18n/nl.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Goed gedaan!</b> Je hebt alle stappen van deze rondleiding "
|
||||
"doorlopen.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klik op het <i>startpagina icoon</i> om doorheen apps te navigeren."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Verbruikt door"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Rondleidingen uitschakelen"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Schermnaam"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP routing"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Onboarding tours"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Open het bugger-menu."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Pad"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Naar beneden scrollen om naar de volgende stap te gaan."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Naar boven scrollen om naar de volgende stap te gaan."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Reeks"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Rondleidingen starten"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Rondleiding starten"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test rondleiding"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Testing rondleidingen"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Naam rondleiding"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Rondleidingen"
|
189
i18n/pl.po
Normal file
189
i18n/pl.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Dobra robota!</b> Przeszedłeś przez wszystkie etapy tej "
|
||||
"wycieczki.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Kliknij na <i>ikonę Domu</i>, aby nawigować pomiędzy aplikacjami."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Zużyte przez"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Wyłącz wycieczki"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Wytyczanie HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Przewodniki wdrożeniowe"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Otwórz menu błędów."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Ścieżka"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekwencja"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Uruchom"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Rozpocznij wycieczkę"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Rozpocznij wycieczkę"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Przetestuj wycieczkę"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Przetestuj przewodnik"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Wskazówka"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nazwa wycieczki"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Samouczki"
|
187
i18n/pt.po
Normal file
187
i18n/pt.po
Normal file
|
@ -0,0 +1,187 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumido por"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Rotas HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Caminho"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sequência"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Início"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Iniciar Guia"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Iniciar Visita Guiada"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Teste"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Gorjeta"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nome do guia "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tours"
|
191
i18n/pt_BR.po
Normal file
191
i18n/pt_BR.po
Normal file
|
@ -0,0 +1,191 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Maitê Dietze, 2023
|
||||
# Layna Nascimento, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Layna Nascimento, 2023\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Muito bem!</b> Você passou por todas as etapas desta "
|
||||
"tour.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Clique no <i>ícone Início</i> para navegar pelos aplicativos."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Encerrar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumido por"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Desabilitar tours"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome exibido"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Roteamento HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Tours de integração"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Abra o menu do bugger."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Caminho"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Role para baixo para ir à próxima etapa."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Role para cima para ir à próxima etapa."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sequência"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Iniciar"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Iniciar tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Iniciar tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Teste"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Tour de teste"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Tours de teste"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Dica"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nome do tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Tours"
|
180
i18n/ro.po
Normal file
180
i18n/ro.po
Normal file
|
@ -0,0 +1,180 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# sharkutz <sharkutz4life@yahoo.com>, 2022
|
||||
# Martin Trigaux, 2022
|
||||
# Dorin Hongu <dhongu@gmail.com>, 2022
|
||||
# Hongu Cosmin <cosmin513@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~14.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-22 05:56+0000\n"
|
||||
"Last-Translator: Hongu Cosmin <cosmin513@gmail.com>, 2022\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/ro/)\n"
|
||||
"Language: ro\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%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>Bună treabă!</b>Ați parcurs toate etapele acestui tur.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nume afișat"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Rutare HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meniu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Nume"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Cale"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Secvență"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Începte tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Tur de test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Sfat"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Nume tur"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Ture"
|
194
i18n/ru.po
Normal file
194
i18n/ru.po
Normal file
|
@ -0,0 +1,194 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Vasiliy Korobatov <korobatov@gmail.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Sergey Vilizhanin, 2023
|
||||
# Alena Vlasova, 2023
|
||||
# Collex100, 2023
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2024\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Отличная работа!</b> Вы прошли все этапы этого тура.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Нажмите на <i>значок \"Домой\"</i>, чтобы перемещаться между приложениями."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Потребляется"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Отключить туры"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Отображаемое имя"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Маршрутизация HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Меню"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Имя"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Выездные туры"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Откройте меню бугер."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Путь"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Прокрутите вниз, чтобы перейти к следующему шагу."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Прокрутите вверх, чтобы перейти к следующему шагу."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Последовательность"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Начало"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Начать презентацию"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Начало экскурсии"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Тест"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Тестовый тур"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Тестовые туры"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Подсказки"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Название тура"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Туры"
|
189
i18n/sk.po
Normal file
189
i18n/sk.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sk\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Dobrá práca!</b> Prešli ste všetkými krokmi tejto "
|
||||
"prehliadky.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klikni na <i>domovskú ikonu</i> pre navigáciu medzi aplikáciami."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zatvoriť"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Spotrebované "
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Vypnúť prehliadky"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovaný názov"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP smerovanie"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Meno"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Cesta"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Postupnosť"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Štart"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Začať prehliadku"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Začať prehliadku"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Názov prehliadky"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Prehliadky"
|
193
i18n/sl.po
Normal file
193
i18n/sl.po
Normal file
|
@ -0,0 +1,193 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Matjaz Mozetic <m.mozetic@matmoz.si>, 2023
|
||||
# matjaz k <matjaz@mentis.si>, 2023
|
||||
# Tadej Lupšina <tadej@hbs.si>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Jasmina Macur <jasmina@hbs.si>, 2023
|
||||
# Grega Vavtar <grega@hbs.si>, 2024
|
||||
# Katja Deržič, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Katja Deržič, 2024\n"
|
||||
"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>Dobro opravljeno</b>Šli ste skozi vse korake</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zaključi"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Porabil"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Onemogoči oglede"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP usmerjanje"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meni"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Pot"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Za naslednji korak se pomaknite navzdol."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Za naslednji korak se pomaknite navzgor."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Zaporedje"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Prični"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Začni ogled"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Ime ogleda"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Ogledi"
|
191
i18n/sr.po
Normal file
191
i18n/sr.po
Normal file
|
@ -0,0 +1,191 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2023
|
||||
# Dragan Vukosavljevic <dragan.vukosavljevic@gmail.com>, 2023
|
||||
# Milan Bojovic <mbojovic@outlook.com>, 2023
|
||||
# コフスタジオ, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: コフスタジオ, 2024\n"
|
||||
"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Dobar posao! </b>Prošli ste kroz sve korake ove ture.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Click on the <i>Home icon</i> to navigate across apps."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zatvori"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumed by"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Disable Tours"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv za prikaz"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP rutiranje"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meni"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Onboarding tours"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Open bugger menu."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Putanja"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Niz"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Pokreni"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Start Tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Start tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Testing tours"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Tour name"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Ture"
|
177
i18n/sr@latin.po
Normal file
177
i18n/sr@latin.po
Normal file
|
@ -0,0 +1,177 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Djordje Marjanovic <djordje_m@yahoo.com>, 2017
|
||||
# Martin Trigaux <mat@odoo.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.saas~18\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 13:50+0000\n"
|
||||
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
|
||||
"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
|
||||
"Language-Team: Serbian (Latin) (https://www.transifex.com/odoo/teams/41243/sr%40latin/)\n"
|
||||
"Language: sr@latin\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid "<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv za prikaz"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meni"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
194
i18n/sv.po
Normal file
194
i18n/sv.po
Normal file
|
@ -0,0 +1,194 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Jakob Krabbe <jakob.krabbe@vertel.se>, 2023
|
||||
# Chrille Hedberg <hedberg.chrille@gmail.com>, 2023
|
||||
# Kristoffer Grundström <lovaren@gmail.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Anders Wallenquist <anders.wallenquist@vertel.se>, 2023
|
||||
# Kim Asplund <kim.asplund@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Kim Asplund <kim.asplund@gmail.com>, 2023\n"
|
||||
"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Bra jobbat!</b> Du gick igenom alla steg på den här "
|
||||
"genomgången.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Klicka på <i>Hem ikonen</i> för att navigera mellan appar."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Förbrukad av"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Avbryt rundturen"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visningsnamn"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP-rutt"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Meny"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Namn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Onboarding genomgångar"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Öppna bugger-menyn."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Sökväg"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvens"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Starta rundturen"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Starta genomgången"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Testa"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test genomgång"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Test genomgångar"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Dricks"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Genomgångsnamn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Genomgångar"
|
188
i18n/th.po
Normal file
188
i18n/th.po
Normal file
|
@ -0,0 +1,188 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Rasareeyar Lappiam, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Rasareeyar Lappiam, 2024\n"
|
||||
"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: th\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>ยอดเยี่ยม!</b> คุณผ่านทุกขั้นตอนของทัวร์นี้แล้ว</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "คลิกที่ <i> ไอคอนโฮม </i> เพื่อไปยังแอปต่างๆ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "ปิด"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "บริโภคโดย"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "ปิดการใช้งานทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "แสดงชื่อ"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "การกำหนด HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ไอดี"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "เมนู"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "ชื่อ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "ทัวร์การเริ่มงาน"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "เปิดเมนูบักเกอร์"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "เส้นทาง"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "เลื่อนลงเพื่อไปยังขั้นตอนถัดไป"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "เลื่อนขึ้นเพื่อไปยังขั้นตอนถัดไป"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "ลำดับ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "เริ่ม"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "เริ่มทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "เริ่มทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "ทดสอบ"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "ทดสอบทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "ทดสอบทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "ทิป"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "ชื่อทัวร์"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "ทัวร์"
|
196
i18n/tr.po
Normal file
196
i18n/tr.po
Normal file
|
@ -0,0 +1,196 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# abc Def <hdogan1974@gmail.com>, 2023
|
||||
# Umur Akın <umura@projetgrup.com>, 2023
|
||||
# Martin Trigaux, 2023
|
||||
# Murat Kaplan <muratk@projetgrup.com>, 2023
|
||||
# Ayhan KIZILTAN <akiziltan76@hotmail.com>, 2023
|
||||
# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2023
|
||||
# Levent Karakaş <levent@mektup.at>, 2023
|
||||
# Ediz Duman <neps1192@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Ediz Duman <neps1192@gmail.com>, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: tr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Tebrikler!</b> Bu turun tüm adımlarını tamamladınız.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Ana sayfa simgesinin <i>Üzerine tıklayın</i> uygulamalar arasında gezinin."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Tarafından Tamamlandı"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Turları Kapat"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Görünüm Adı"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP Yönlendirme"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menü"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Adı"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Katılım turları"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Hata oluşturucu menüsünü açın."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Yol"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Sıralama"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Başla"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Turu Başlat"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Başlangıç turu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test turu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Test turları"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "İpucu"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Tur Adı"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Turlar"
|
189
i18n/uk.po
Normal file
189
i18n/uk.po
Normal file
|
@ -0,0 +1,189 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2023
|
||||
# Wil Odoo, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Wil Odoo, 2023\n"
|
||||
"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: uk\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>Молодці!</b> Ви пройшли усі кроки цього туру.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
"Натисніть на <i>іконку Домашньої сторінки</i> для навігації між додатками."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Закрити"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Завершив"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Вимкнути тури"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Назва для відображення"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Маршрутизація HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Меню"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Ім'я"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Ознайомчий тур"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Відкрийте бургер-меню."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Шлях"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Послідовність"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Початок"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Почати тур"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Розпочати тур"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Тест"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Тестовий тур"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Тестові тури"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Підказка"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Назва туру"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Тури"
|
190
i18n/vi.po
Normal file
190
i18n/vi.po
Normal file
|
@ -0,0 +1,190 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Thi Huong Nguyen, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Thi Huong Nguyen, 2024\n"
|
||||
"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: vi\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
"<strong><b>Làm tốt lắm!</b> Bạn đã thực hiện tất cả các bước của chuyến "
|
||||
"hướng dẫn này.</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "Click on the <i>Home icon</i> to navigate across apps."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "Consumed by"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "Disable Tours"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Tên hiển thị"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "Định tuyến HTTP"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "Tên"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "Tour hướng dẫn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "Open bugger menu."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "Đường dẫn"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "Cuộn xuống để đến bước tiếp theo."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "Cuộn lên để đến bước tiếp theo."
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "Trình tự"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "Bắt đầu"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "Start Tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "Start tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "Kiểm thử"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "Test tour"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "Tour kiểm thử"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "Tiền tip"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "Tour name"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "Du lịch"
|
183
i18n/web_tour.pot
Normal file
183
i18n/web_tour.pot
Normal file
|
@ -0,0 +1,183 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 21:56+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr ""
|
188
i18n/zh_CN.po
Normal file
188
i18n/zh_CN.po
Normal file
|
@ -0,0 +1,188 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# 山西清水欧度(QQ:54773801) <54773801@qq.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: 山西清水欧度(QQ:54773801) <54773801@qq.com>, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>干得好!</b>您完成了所有步骤。</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "点击 <i>首页</i> 导航可在功能应用间跳转。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "关闭 "
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "消耗于"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "禁用游览"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "显示名称"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP 路由"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "菜单"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "引导旅游"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "打开调试菜单。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "路径"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "向下滚动,进入下一步骤。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "向上滚动,进入下一步骤。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "序列"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "开始"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "开始游览"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "开始游览"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "测试"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "测试之旅"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "测试之旅"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "提示"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "游览名称"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "游览"
|
188
i18n/zh_TW.po
Normal file
188
i18n/zh_TW.po
Normal file
|
@ -0,0 +1,188 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_tour
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2023
|
||||
# Tony Ng, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 17.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-26 21:56+0000\n"
|
||||
"PO-Revision-Date: 2023-10-26 23:09+0000\n"
|
||||
"Last-Translator: Tony Ng, 2024\n"
|
||||
"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: zh_TW\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_service.js:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
msgstr "<strong><b>做得好!</b>您已完成本次導覽的所有步驟。</strong>"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Click on the <i>Home icon</i> to navigate across apps."
|
||||
msgstr "按一下 <i> 首頁圖示 </i> 可跨應用程式導航。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__user_id
|
||||
msgid "Consumed by"
|
||||
msgstr "消耗由"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Disable Tours"
|
||||
msgstr "停用導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "顯示名稱"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model,name:web_tour.model_ir_http
|
||||
msgid "HTTP Routing"
|
||||
msgstr "HTTP 路由"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id
|
||||
msgid "ID"
|
||||
msgstr "識別號"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_list
|
||||
msgid "Menu"
|
||||
msgstr "功能表"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "名稱"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Onboarding tours"
|
||||
msgstr "入職導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_utils.js:0
|
||||
#, python-format
|
||||
msgid "Open bugger menu."
|
||||
msgstr "打開 bugger 選單"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Path"
|
||||
msgstr "路徑"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll down to reach the next step."
|
||||
msgstr "向下捲動,以進入下一步驟。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/tour_service/tour_pointer_state.js:0
|
||||
#, python-format
|
||||
msgid "Scroll up to reach the next step."
|
||||
msgstr "向上捲動,以進入下一步驟。"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Sequence"
|
||||
msgstr "序列號"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr "開始"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/debug_manager.js:0
|
||||
#, python-format
|
||||
msgid "Start Tour"
|
||||
msgstr "開始導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Start tour"
|
||||
msgstr "開始導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test"
|
||||
msgstr "測試"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Test tour"
|
||||
msgstr "測試導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.xml:0
|
||||
#, python-format
|
||||
msgid "Testing tours"
|
||||
msgstr "測試導覽"
|
||||
|
||||
#. module: web_tour
|
||||
#: model_terms:ir.ui.view,arch_db:web_tour.edit_tour_search
|
||||
msgid "Tip"
|
||||
msgstr "小費"
|
||||
|
||||
#. module: web_tour
|
||||
#: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__name
|
||||
msgid "Tour name"
|
||||
msgstr "導覽名稱"
|
||||
|
||||
#. module: web_tour
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_tour/static/src/debug/tour_dialog_component.js:0
|
||||
#: model:ir.actions.act_window,name:web_tour.edit_tour_action
|
||||
#: model:ir.model,name:web_tour.model_web_tour_tour
|
||||
#: model:ir.ui.menu,name:web_tour.menu_tour_action
|
||||
#, python-format
|
||||
msgid "Tours"
|
||||
msgstr "遊覽"
|
5
models/__init__.py
Normal file
5
models/__init__.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import ir_http
|
||||
from . import tour
|
BIN
models/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
models/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
models/__pycache__/ir_http.cpython-311.pyc
Normal file
BIN
models/__pycache__/ir_http.cpython-311.pyc
Normal file
Binary file not shown.
BIN
models/__pycache__/tour.cpython-311.pyc
Normal file
BIN
models/__pycache__/tour.cpython-311.pyc
Normal file
Binary file not shown.
16
models/ir_http.py
Normal file
16
models/ir_http.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class Http(models.AbstractModel):
|
||||
_inherit = 'ir.http'
|
||||
|
||||
def session_info(self):
|
||||
result = super().session_info()
|
||||
if result['is_admin']:
|
||||
demo_modules_count = self.env['ir.module.module'].sudo().search_count([('demo', '=', True)])
|
||||
result['web_tours'] = self.env['web_tour.tour'].get_consumed_tours()
|
||||
result['tour_disable'] = demo_modules_count > 0
|
||||
return result
|
30
models/tour.py
Normal file
30
models/tour.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class Tour(models.Model):
|
||||
|
||||
_name = "web_tour.tour"
|
||||
_description = "Tours"
|
||||
_log_access = False
|
||||
|
||||
name = fields.Char(string="Tour name", required=True)
|
||||
user_id = fields.Many2one('res.users', string='Consumed by')
|
||||
|
||||
@api.model
|
||||
def consume(self, tour_names):
|
||||
""" Sets given tours as consumed, meaning that
|
||||
these tours won't be active anymore for that user """
|
||||
if not self.env.user.has_group('base.group_user'):
|
||||
# Only internal users can use this method.
|
||||
# TODO master: update ir.model.access records instead of using sudo()
|
||||
return
|
||||
for name in tour_names:
|
||||
self.sudo().create({'name': name, 'user_id': self.env.uid})
|
||||
|
||||
@api.model
|
||||
def get_consumed_tours(self):
|
||||
""" Returns the list of consumed tours for the current user """
|
||||
return [t.name for t in self.search([('user_id', '=', self.env.uid)])]
|
3
security/ir.model.access.csv
Normal file
3
security/ir.model.access.csv
Normal file
|
@ -0,0 +1,3 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_web_tour_tour_admin,access_web_tour_tour_admin,model_web_tour_tour,base.group_system,1,0,1,0
|
||||
access_web_tour_tour,access_web_tour_tour,model_web_tour_tour,base.group_user,1,0,0,0
|
|
2
security/ir.rule.csv
Normal file
2
security/ir.rule.csv
Normal file
|
@ -0,0 +1,2 @@
|
|||
"id","model_id/id","name","active","perm_create","perm_unlink","perm_read","perm_write","domain_force"
|
||||
"own_tours","model_web_tour_tour","own tours","True","True","True","True","True","[('user_id','=', user.id)]"
|
|
49
static/src/debug/debug_manager.js
Normal file
49
static/src/debug/debug_manager.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
import { registry } from "@web/core/registry";
|
||||
import ToursDialog from "@web_tour/debug/tour_dialog_component";
|
||||
import { tourState } from "../tour_service/tour_state";
|
||||
|
||||
export function disableTours({ env }) {
|
||||
if (!env.services.user.isSystem) {
|
||||
return null;
|
||||
}
|
||||
const activeTourNames = tourState.getActiveTourNames();
|
||||
if (activeTourNames.length === 0) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
type: "item",
|
||||
description: _t("Disable Tours"),
|
||||
callback: async () => {
|
||||
await env.services.orm.call("web_tour.tour", "consume", [activeTourNames]);
|
||||
for (const tourName of activeTourNames) {
|
||||
tourState.clear(tourName);
|
||||
}
|
||||
browser.location.reload();
|
||||
},
|
||||
sequence: 50,
|
||||
};
|
||||
}
|
||||
|
||||
export function startTour({ env }) {
|
||||
if (!env.services.user.isSystem) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
type: "item",
|
||||
description: _t("Start Tour"),
|
||||
callback: async () => {
|
||||
env.services.dialog.add(ToursDialog);
|
||||
},
|
||||
sequence: 60,
|
||||
};
|
||||
}
|
||||
|
||||
registry
|
||||
.category("debug")
|
||||
.category("default")
|
||||
.add("web_tour.startTour", startTour)
|
||||
.add("web_tour.disableTours", disableTours);
|
43
static/src/debug/tour_dialog_component.js
Normal file
43
static/src/debug/tour_dialog_component.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { useService } from "@web/core/utils/hooks";
|
||||
import { Dialog } from "@web/core/dialog/dialog";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
|
||||
import { Component } from "@odoo/owl";
|
||||
|
||||
export default class ToursDialog extends Component {
|
||||
setup() {
|
||||
this.title = _t("Tours");
|
||||
this.tourService = useService("tour_service");
|
||||
this.onboardingTours = this.tourService.getSortedTours().filter(tour => !tour.test);
|
||||
this.testingTours = this.tourService.getSortedTours().filter(tour => tour.test);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Handlers
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Resets the given tour to its initial step, in onboarding mode.
|
||||
*
|
||||
* @private
|
||||
* @param {MouseEvent} ev
|
||||
*/
|
||||
_onStartTour(ev) {
|
||||
this.tourService.startTour(ev.target.dataset.name, { mode: 'manual' });
|
||||
this.props.close();
|
||||
}
|
||||
/**
|
||||
* Starts the given tour in test mode.
|
||||
*
|
||||
* @private
|
||||
* @param {MouseEvent} ev
|
||||
*/
|
||||
_onTestTour(ev) {
|
||||
this.tourService.startTour(ev.target.dataset.name, { mode: 'auto', stepDelay: 500, showPointerDuration: 250 });
|
||||
this.props.close();
|
||||
}
|
||||
}
|
||||
ToursDialog.template = "web_tour.ToursDialog";
|
||||
ToursDialog.components = { Dialog };
|
62
static/src/debug/tour_dialog_component.xml
Normal file
62
static/src/debug/tour_dialog_component.xml
Normal file
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
|
||||
<t t-name="web_tour.ToursDialog">
|
||||
<Dialog title="title">
|
||||
<t t-call="web_tour.ToursDialog.Table">
|
||||
<t t-set="caption">Onboarding tours</t>
|
||||
<t t-set="tours" t-value="onboardingTours"/>
|
||||
</t>
|
||||
<t t-if="testingTours.length" t-call="web_tour.ToursDialog.Table">
|
||||
<t t-set="caption">Testing tours</t>
|
||||
<t t-set="tours" t-value="testingTours"/>
|
||||
</t>
|
||||
<t t-set-slot="footer">
|
||||
<button class="btn btn-primary o-default-button" t-on-click="() => props.close()">Close</button>
|
||||
</t>
|
||||
</Dialog>
|
||||
</t>
|
||||
|
||||
<t t-name="web_tour.ToursDialog.Table">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-sm table-striped">
|
||||
<caption style="caption-side: top; font-size: 14px">
|
||||
<t t-esc="caption"/>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Sequence</th>
|
||||
<th width="50%">Name</th>
|
||||
<th width="50%">Path</th>
|
||||
<th>Start</th>
|
||||
<th>Test</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="tours" t-as="tour" t-key="tour.name">
|
||||
<td><t t-esc="tour.sequence"/></td>
|
||||
<td><t t-esc="tour.name"/></td>
|
||||
<td><t t-esc="tour.url"/></td>
|
||||
<td>
|
||||
<button type="button"
|
||||
class="btn btn-primary fa fa-play o_start_tour"
|
||||
t-on-click.prevent="_onStartTour"
|
||||
t-att-data-name="tour.name"
|
||||
aria-label="Start tour"
|
||||
title="Start tour"/>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button"
|
||||
class="btn btn-primary fa fa-cogs o_test_tour"
|
||||
t-on-click.prevent="_onTestTour"
|
||||
t-att-data-name="tour.name"
|
||||
aria-label="Test tour"
|
||||
title="Test tour"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
</templates>
|
151
static/src/tour_pointer/tour_pointer.js
Normal file
151
static/src/tour_pointer/tour_pointer.js
Normal file
|
@ -0,0 +1,151 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { Component, useEffect, useRef } from "@odoo/owl";
|
||||
import { usePosition } from "@web/core/position_hook";
|
||||
|
||||
/**
|
||||
* @typedef {import("../tour_service/tour_pointer_state").TourPointerState} TourPointerState
|
||||
*
|
||||
* @typedef TourPointerProps
|
||||
* @property {TourPointerState} pointerState
|
||||
* @property {boolean} bounce
|
||||
*/
|
||||
|
||||
/** @extends {Component<TourPointerProps, any>} */
|
||||
export class TourPointer extends Component {
|
||||
static props = {
|
||||
pointerState: {
|
||||
type: Object,
|
||||
shape: {
|
||||
anchor: { type: HTMLElement, optional: true },
|
||||
content: { type: String, optional: true },
|
||||
isOpen: { type: Boolean, optional: true },
|
||||
isVisible: { type: Boolean, optional: true },
|
||||
onClick: { type: [Function, { value: null }], optional: true },
|
||||
onMouseEnter: { type: [Function, { value: null }], optional: true },
|
||||
onMouseLeave: { type: [Function, { value: null }], optional: true },
|
||||
position: {
|
||||
type: [
|
||||
{ value: "left" },
|
||||
{ value: "right" },
|
||||
{ value: "top" },
|
||||
{ value: "bottom" },
|
||||
],
|
||||
optional: true,
|
||||
},
|
||||
rev: { type: Number, optional: true },
|
||||
},
|
||||
},
|
||||
bounce: { type: Boolean, optional: true },
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
bounce: true,
|
||||
};
|
||||
|
||||
static template = "web_tour.TourPointer";
|
||||
static width = 28; // in pixels
|
||||
static height = 28; // in pixels
|
||||
|
||||
setup() {
|
||||
const positionOptions = {
|
||||
margin: 6,
|
||||
onPositioned: (pointer, position) => {
|
||||
const popperRect = pointer.getBoundingClientRect();
|
||||
const { top, left, direction } = position;
|
||||
if (direction === "top") {
|
||||
// position from the bottom instead of the top as it is needed
|
||||
// to ensure the expand animation is properly done
|
||||
pointer.style.bottom = `${window.innerHeight - top - popperRect.height}px`;
|
||||
pointer.style.removeProperty("top");
|
||||
} else if (direction === "left") {
|
||||
// position from the right instead of the left as it is needed
|
||||
// to ensure the expand animation is properly done
|
||||
pointer.style.right = `${window.innerWidth - left - popperRect.width}px`;
|
||||
pointer.style.removeProperty("left");
|
||||
}
|
||||
},
|
||||
};
|
||||
Object.defineProperty(positionOptions, "position", { get: () => this.position, enumerable: true });
|
||||
const position = usePosition("pointer", () => this.props.pointerState.anchor, positionOptions);
|
||||
const rootRef = useRef("pointer");
|
||||
/** @type {DOMREct | null} */
|
||||
let dimensions = null;
|
||||
let lastMeasuredContent = null;
|
||||
let lastOpenState = this.isOpen;
|
||||
let lastAnchor;
|
||||
let [anchorX, anchorY] = [0, 0];
|
||||
useEffect(() => {
|
||||
const { el: pointer } = rootRef;
|
||||
if (pointer) {
|
||||
const hasContentChanged = lastMeasuredContent !== this.content;
|
||||
const hasOpenStateChanged = lastOpenState !== this.isOpen;
|
||||
lastOpenState = this.isOpen;
|
||||
|
||||
// Content changed: we must re-measure the dimensions of the text.
|
||||
if (hasContentChanged) {
|
||||
lastMeasuredContent = this.content;
|
||||
pointer.style.removeProperty("width");
|
||||
pointer.style.removeProperty("height");
|
||||
dimensions = pointer.getBoundingClientRect();
|
||||
}
|
||||
|
||||
// If the content or the "is open" state changed: we must apply
|
||||
// new width and height properties
|
||||
if (hasContentChanged || hasOpenStateChanged) {
|
||||
const [width, height] = this.isOpen
|
||||
? [dimensions.width, dimensions.height]
|
||||
: [this.constructor.width, this.constructor.height];
|
||||
if (this.isOpen) {
|
||||
pointer.style.removeProperty("transition");
|
||||
} else {
|
||||
// No transition if switching from open to closed
|
||||
pointer.style.setProperty("transition", "none");
|
||||
}
|
||||
pointer.style.setProperty("width", `${width}px`);
|
||||
pointer.style.setProperty("height", `${height}px`);
|
||||
}
|
||||
|
||||
if (!this.isOpen) {
|
||||
const { anchor } = this.props.pointerState;
|
||||
if (anchor === lastAnchor) {
|
||||
const { x, y, width } = anchor.getBoundingClientRect();
|
||||
const [lastAnchorX, lastAnchorY] = [anchorX, anchorY];
|
||||
[anchorX, anchorY] = [x, y];
|
||||
// Let's just say that the anchor is static if it moved less than 1px.
|
||||
const delta = Math.sqrt(
|
||||
Math.pow(x - lastAnchorX, 2) + Math.pow(y - lastAnchorY, 2)
|
||||
);
|
||||
if (delta < 1) {
|
||||
position.lock();
|
||||
return;
|
||||
}
|
||||
const wouldOverflow = window.innerWidth - x - width / 2 < dimensions?.width;
|
||||
pointer.classList.toggle("o_expand_left", wouldOverflow);
|
||||
}
|
||||
lastAnchor = anchor;
|
||||
pointer.style.bottom = "";
|
||||
pointer.style.right = "";
|
||||
position.unlock();
|
||||
}
|
||||
} else {
|
||||
lastMeasuredContent = null;
|
||||
lastOpenState = false;
|
||||
lastAnchor = null;
|
||||
dimensions = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
get content() {
|
||||
return this.props.pointerState.content || "";
|
||||
}
|
||||
|
||||
get isOpen() {
|
||||
return this.props.pointerState.isOpen;
|
||||
}
|
||||
|
||||
get position() {
|
||||
return this.props.pointerState.position || "top";
|
||||
}
|
||||
}
|
232
static/src/tour_pointer/tour_pointer.scss
Normal file
232
static/src/tour_pointer/tour_pointer.scss
Normal file
|
@ -0,0 +1,232 @@
|
|||
$o-tour-pointer-width: 28px;
|
||||
$o-tour-pointer-height: 38px;
|
||||
$o-tour-pointer-border-width: 3px;
|
||||
$o-tour-pointer-arrow-size: 12px;
|
||||
|
||||
$o-tour-pointer-duration-in: 200ms;
|
||||
$o-tour-pointer-size-duration-in: floor($o-tour-pointer-duration-in * 3 / 4);
|
||||
$o-tour-pointer-size-delay-in: $o-tour-pointer-duration-in - $o-tour-pointer-size-duration-in;
|
||||
|
||||
@keyframes o-tour-pointer-bounce-horizontal {
|
||||
from {
|
||||
transform: translateX(calc(var(--TourPointer__bounce-offset) * -1));
|
||||
}
|
||||
to {
|
||||
transform: translateX(var(--TourPointer__bounce-offset));
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes o-tour-pointer-bounce-vertical {
|
||||
from {
|
||||
transform: translateY(calc(var(--TourPointer__bounce-offset) * -1));
|
||||
}
|
||||
to {
|
||||
transform: translateY(var(--TourPointer__bounce-offset));
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes o-tour-pointer-fade-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes o-tour-pointer-info-expand {
|
||||
from {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.o_tour_pointer {
|
||||
--TourPointer__anchor-space: 0;
|
||||
--TourPointer__bounce-offset: 3px;
|
||||
--TourPointer__offset: 8px;
|
||||
--TourPointer__scale: 1.12;
|
||||
--TourPointer__color: #{$o-enterprise-color};
|
||||
--TourPointer__color-accent: #{lighten($o-enterprise-color, 7%)};
|
||||
--TourPointer__border-width: 1px;
|
||||
--TourPointer__border-color-rgb: 255, 255, 255;
|
||||
--TourPointer__border-color: rgba(var(--TourPointer__border-color-rgb), 1);
|
||||
--TourPointer__arrow-size: 1rem;
|
||||
--TourPointer__animation-duration: 500ms;
|
||||
--TourPointer__expand-duration: 200ms;
|
||||
--TourPointer__text-color: black;
|
||||
--TourPointer__reveal-animation: o-tour-pointer-fade-in 400ms ease;
|
||||
|
||||
--TourPointer__translate-x: 0;
|
||||
--TourPointer__translate-y: 0;
|
||||
|
||||
z-index: $zindex-tooltip;
|
||||
max-width: 270px;
|
||||
border: var(--TourPointer__border-width) solid transparent;
|
||||
transform: translate(var(--TourPointer__translate-x), var(--TourPointer__translate-y));
|
||||
transition: width var(--TourPointer__expand-duration),
|
||||
height var(--TourPointer__expand-duration);
|
||||
|
||||
&.o_bouncing {
|
||||
&.o_left,
|
||||
&.o_right {
|
||||
animation: o-tour-pointer-bounce-horizontal var(--TourPointer__animation-duration)
|
||||
ease-in infinite alternate,
|
||||
var(--TourPointer__reveal-animation);
|
||||
}
|
||||
|
||||
&.o_top,
|
||||
&.o_bottom {
|
||||
animation: o-tour-pointer-bounce-vertical var(--TourPointer__animation-duration) ease-in
|
||||
infinite alternate,
|
||||
var(--TourPointer__reveal-animation);
|
||||
}
|
||||
}
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
width: var(--TourPointer__width);
|
||||
height: var(--TourPointer__height);
|
||||
border: var(--TourPointer__border-width) solid white;
|
||||
border-radius: 0 50% 50% 50%;
|
||||
background-image: radial-gradient(
|
||||
var(--TourPointer__color-accent),
|
||||
var(--TourPointer__color)
|
||||
);
|
||||
box-shadow: 0 0 40px 2px rgba(var(--TourPointer__border-color-rgb), 0.5);
|
||||
}
|
||||
|
||||
.o_tour_pointer_content {
|
||||
background-color: $light;
|
||||
color: transparent;
|
||||
transition: color 0s ease var(--TourPointer__expand-duration);
|
||||
|
||||
// Force style so that it does not depend on where the tooltip is attached
|
||||
line-height: $line-height-base;
|
||||
@include font-size($font-size-base);
|
||||
font-family: $font-family-sans-serif;
|
||||
font-weight: normal;
|
||||
|
||||
.o_skip_tour {
|
||||
display: inline-block;
|
||||
margin-top: 4px;
|
||||
color: gray;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: darken(gray, 20%);
|
||||
}
|
||||
}
|
||||
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.o_left .o_tour_pointer_tip {
|
||||
transform: rotate(90deg) translateY(var(--TourPointer__offset))
|
||||
scaleY(var(--TourPointer__scale)) rotate(45deg);
|
||||
}
|
||||
|
||||
&.o_right .o_tour_pointer_tip {
|
||||
transform: rotate(270deg) translateY(var(--TourPointer__offset))
|
||||
scaleY(var(--TourPointer__scale)) rotate(45deg);
|
||||
}
|
||||
|
||||
&.o_top .o_tour_pointer_tip {
|
||||
transform: rotate(180deg) translateY(var(--TourPointer__offset))
|
||||
scaleY(var(--TourPointer__scale)) rotate(45deg);
|
||||
}
|
||||
|
||||
&.o_bottom .o_tour_pointer_tip {
|
||||
transform: rotate(0deg) translateY(var(--TourPointer__offset))
|
||||
scaleY(var(--TourPointer__scale)) rotate(45deg);
|
||||
}
|
||||
|
||||
&.o_open {
|
||||
border-color: #{$o-gray-400};
|
||||
background-color: #{$o-gray-300};
|
||||
animation: var(--TourPointer__reveal-animation);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
width: var(--TourPointer__arrow-size);
|
||||
height: var(--TourPointer__arrow-size);
|
||||
border-color: #{$o-gray-400};
|
||||
border-radius: 0;
|
||||
background: $light;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.o_tour_pointer_content {
|
||||
color: $o-black;
|
||||
}
|
||||
|
||||
&.o_left {
|
||||
--TourPointer__translate-x: calc(var(--TourPointer__arrow-size) / -2);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
transform: translateX(-50%) rotate(45deg);
|
||||
/*rtl:begin:ignore*/
|
||||
right: calc(var(--TourPointer__arrow-size) * -1);
|
||||
top: calc(var(--TourPointer__arrow-size) / 2);
|
||||
/*rtl:end:ignore*/
|
||||
}
|
||||
}
|
||||
|
||||
&.o_right {
|
||||
--TourPointer__translate-x: calc(var(--TourPointer__arrow-size) / 2);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
transform: translateX(50%) rotate(45deg);
|
||||
/*rtl:begin:ignore*/
|
||||
left: calc(var(--TourPointer__arrow-size) * -1);
|
||||
top: calc(var(--TourPointer__arrow-size) / 2);
|
||||
/*rtl:end:ignore*/
|
||||
}
|
||||
}
|
||||
|
||||
&.o_top {
|
||||
--TourPointer__translate-y: calc(var(--TourPointer__arrow-size) / -2);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
transform: translateY(-50%) rotate(45deg);
|
||||
/*rtl:begin:ignore*/
|
||||
bottom: calc(var(--TourPointer__arrow-size) * -1);
|
||||
left: calc(var(--TourPointer__arrow-size) / 2);
|
||||
/*rtl:end:ignore*/
|
||||
}
|
||||
}
|
||||
|
||||
&.o_bottom {
|
||||
--TourPointer__translate-y: calc(var(--TourPointer__arrow-size) / 2);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
transform: translateY(50%) rotate(45deg);
|
||||
/*rtl:begin:ignore*/
|
||||
top: calc(var(--TourPointer__arrow-size) * -1);
|
||||
left: calc(var(--TourPointer__arrow-size) / 2);
|
||||
/*rtl:end:ignore*/
|
||||
}
|
||||
}
|
||||
|
||||
// Exception for when the info bubble would overflow to the right:
|
||||
// we offset the content to the left
|
||||
&.o_expand_left {
|
||||
&.o_top,
|
||||
&.o_bottom {
|
||||
--TourPointer__translate-x: calc(
|
||||
var(--TourPointer__width) + var(--TourPointer__border-width) - 100%
|
||||
);
|
||||
|
||||
.o_tour_pointer_tip {
|
||||
/*rtl:begin:ignore*/
|
||||
left: initial;
|
||||
right: calc(var(--TourPointer__arrow-size) / 2);
|
||||
/*rtl:end:ignore*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.o_tour_pointer {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
30
static/src/tour_pointer/tour_pointer.xml
Normal file
30
static/src/tour_pointer/tour_pointer.xml
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<t t-name="web_tour.TourPointer">
|
||||
<div
|
||||
t-if="props.pointerState.isVisible"
|
||||
t-ref="pointer"
|
||||
t-attf-class="
|
||||
o_tour_pointer
|
||||
o_{{ position }}
|
||||
{{ isOpen ? 'o_open' : (props.bounce ? 'o_bouncing' : '') }}
|
||||
{{ props.pointerState.onClick ? 'cursor-pointer' : '' }}
|
||||
"
|
||||
t-attf-style="
|
||||
--TourPointer__width: {{ constructor.width }}px;
|
||||
--TourPointer__height: {{ constructor.height }}px;
|
||||
"
|
||||
t-on-mouseenter="props.pointerState.onMouseEnter or (() => {})"
|
||||
t-on-mouseleave="props.pointerState.onMouseLeave or (() => {})"
|
||||
t-on-click="props.pointerState.onClick or (() => {})"
|
||||
>
|
||||
<div class="o_tour_pointer_tip position-absolute" />
|
||||
<div
|
||||
class="o_tour_pointer_content rounded overflow-hidden px-3 py-2 w-100 h-100 position-relative"
|
||||
t-att-class="{ invisible: content and !isOpen }"
|
||||
>
|
||||
<t t-out="content" />
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
432
static/src/tour_service/tour_compilers.js
Normal file
432
static/src/tour_service/tour_compilers.js
Normal file
|
@ -0,0 +1,432 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
import { debounce } from "@web/core/utils/timing";
|
||||
import { isVisible } from "@web/core/utils/ui";
|
||||
import { tourState } from "./tour_state";
|
||||
import {
|
||||
callWithUnloadCheck,
|
||||
getConsumeEventType,
|
||||
getFirstVisibleElement,
|
||||
getJQueryElementFromSelector,
|
||||
getScrollParent,
|
||||
RunningTourActionHelper,
|
||||
} from "./tour_utils";
|
||||
|
||||
/**
|
||||
* @typedef {import("@web/core/macro").MacroDescriptor} MacroDescriptor
|
||||
*
|
||||
* @typedef {import("../tour_service/tour_pointer_state").TourPointerState} TourPointerState
|
||||
*
|
||||
* @typedef {import("./tour_service").TourStep} TourStep
|
||||
*
|
||||
* @typedef {(stepIndex: number, step: TourStep, options: TourCompilerOptions) => MacroDescriptor[]} TourStepCompiler
|
||||
*
|
||||
* @typedef TourCompilerOptions
|
||||
* @property {Tour} tour
|
||||
* @property {number} stepDelay
|
||||
* @property {keepWatchBrowser} boolean
|
||||
* @property {showPointerDuration} number
|
||||
* @property {*} pointer - used for controlling the pointer of the tour
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {string} selector - any valid jquery selector
|
||||
* @param {boolean} inModal
|
||||
* @param {string|undefined} shadowDOM - selector of the shadow root host
|
||||
* @returns {Element | undefined}
|
||||
*/
|
||||
function findTrigger(selector, inModal, shadowDOM) {
|
||||
const $target = $(shadowDOM ? document.querySelector(shadowDOM)?.shadowRoot : document);
|
||||
const $visibleModal = $target.find(".modal:visible").last();
|
||||
let $el;
|
||||
if (inModal !== false && $visibleModal.length) {
|
||||
$el = $visibleModal.find(selector);
|
||||
} else {
|
||||
$el = getJQueryElementFromSelector(selector, $target);
|
||||
}
|
||||
return getFirstVisibleElement($el).get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string|undefined} shadowDOM - selector of the shadow root host
|
||||
*/
|
||||
function findExtraTrigger(selector, shadowDOM) {
|
||||
const $target = $(shadowDOM ? document.querySelector(shadowDOM)?.shadowRoot : document);
|
||||
const $el = getJQueryElementFromSelector(selector, $target);
|
||||
return getFirstVisibleElement($el).get(0);
|
||||
}
|
||||
|
||||
function findStepTriggers(step) {
|
||||
const triggerEl = findTrigger(step.trigger, step.in_modal, step.shadow_dom);
|
||||
const altEl = findTrigger(step.alt_trigger, step.in_modal, step.shadow_dom);
|
||||
const skipEl = findTrigger(step.skip_trigger, step.in_modal, step.shadow_dom);
|
||||
|
||||
// `extraTriggerOkay` should be true when `step.extra_trigger` is undefined.
|
||||
// No need for it to be in the modal.
|
||||
const extraTriggerOkay = step.extra_trigger
|
||||
? findExtraTrigger(step.extra_trigger, step.shadow_dom)
|
||||
: true;
|
||||
|
||||
return { triggerEl, altEl, extraTriggerOkay, skipEl };
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {TourStep} step
|
||||
*/
|
||||
function describeStep(step) {
|
||||
return step.content ? `${step.content} (trigger: ${step.trigger})` : step.trigger;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {TourStep} step
|
||||
*/
|
||||
function describeFailedStepSimple(step, tour) {
|
||||
return `Tour ${tour.name} failed at step ${describeStep(step)}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {TourStep} step
|
||||
* @param {Tour} tour
|
||||
*/
|
||||
function describeFailedStepDetailed(step, tour) {
|
||||
const offset = 3;
|
||||
const stepIndex = tour.steps.findIndex((s) => s === step);
|
||||
const start = stepIndex - offset >= 0 ? stepIndex - offset : 0;
|
||||
const end =
|
||||
stepIndex + offset + 1 <= tour.steps.length ? stepIndex + offset + 1 : tour.steps.length;
|
||||
let result = "";
|
||||
for (let i = start; i < end; i++) {
|
||||
const highlight = i === stepIndex;
|
||||
const stepString = JSON.stringify(
|
||||
tour.steps[i],
|
||||
(_key, value) => {
|
||||
if (typeof value === "function") {
|
||||
return "[function]";
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
},
|
||||
2
|
||||
);
|
||||
result += `\n${highlight ? "----- FAILING STEP -----\n" : ""}${stepString},${
|
||||
highlight ? "\n-----------------------" : ""
|
||||
}`;
|
||||
}
|
||||
return `${describeFailedStepSimple(step, tour)}\n\n${result.trim()}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the element that will be used in listening to the `consumeEvent`.
|
||||
* @param {HTMLElement} el
|
||||
* @param {string} consumeEvent
|
||||
*/
|
||||
function getAnchorEl(el, consumeEvent) {
|
||||
if (consumeEvent === "drag") {
|
||||
// jQuery-ui draggable triggers 'drag' events on the .ui-draggable element,
|
||||
// but the tip is attached to the .ui-draggable-handle element which may
|
||||
// be one of its children (or the element itself)
|
||||
return el.closest(".ui-draggable, .o_draggable");
|
||||
}
|
||||
if (consumeEvent === "input" && !["textarea", "input"].includes(el.tagName.toLowerCase())) {
|
||||
return el.closest("[contenteditable='true']");
|
||||
}
|
||||
if (consumeEvent === "sort") {
|
||||
// when an element is dragged inside a sortable container (with classname
|
||||
// 'ui-sortable'), jQuery triggers the 'sort' event on the container
|
||||
return el.closest(".ui-sortable, .o_sortable");
|
||||
}
|
||||
return el;
|
||||
}
|
||||
|
||||
/**
|
||||
* IMPROVEMENT: Consider transitioning (moving) elements?
|
||||
* @param {Element} el
|
||||
* @param {TourStep} step
|
||||
*/
|
||||
function canContinue(el, step) {
|
||||
const rootNode = el.getRootNode();
|
||||
const isInDoc =
|
||||
rootNode instanceof ShadowRoot
|
||||
? el.ownerDocument.contains(rootNode.host)
|
||||
: el.ownerDocument.contains(el);
|
||||
const isElement = el instanceof el.ownerDocument.defaultView.Element || el instanceof Element;
|
||||
const isBlocked = document.body.classList.contains("o_ui_blocked") || document.querySelector(".o_blockUI");
|
||||
return (
|
||||
isInDoc &&
|
||||
isElement &&
|
||||
!isBlocked &&
|
||||
(!step.allowInvisible ? isVisible(el) : true) &&
|
||||
(!el.disabled || step.isCheck)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Object} params
|
||||
* @param {HTMLElement} params.anchorEl
|
||||
* @param {string} params.consumeEvent
|
||||
* @param {() => void} params.onMouseEnter
|
||||
* @param {() => void} params.onMouseLeave
|
||||
* @param {(ev: Event) => any} params.onScroll
|
||||
* @param {(ev: Event) => any} params.onConsume
|
||||
*/
|
||||
function setupListeners({
|
||||
anchorEl,
|
||||
consumeEvent,
|
||||
onMouseEnter,
|
||||
onMouseLeave,
|
||||
onScroll,
|
||||
onConsume,
|
||||
}) {
|
||||
anchorEl.addEventListener(consumeEvent, onConsume);
|
||||
anchorEl.addEventListener("mouseenter", onMouseEnter);
|
||||
anchorEl.addEventListener("mouseleave", onMouseLeave);
|
||||
|
||||
const cleanups = [
|
||||
() => {
|
||||
anchorEl.removeEventListener(consumeEvent, onConsume);
|
||||
anchorEl.removeEventListener("mouseenter", onMouseEnter);
|
||||
anchorEl.removeEventListener("mouseleave", onMouseLeave);
|
||||
},
|
||||
];
|
||||
|
||||
const scrollEl = getScrollParent(anchorEl);
|
||||
if (scrollEl) {
|
||||
const debouncedOnScroll = debounce(onScroll, 50);
|
||||
scrollEl.addEventListener("scroll", debouncedOnScroll);
|
||||
cleanups.push(() => scrollEl.removeEventListener("scroll", debouncedOnScroll));
|
||||
}
|
||||
|
||||
return () => {
|
||||
while (cleanups.length) {
|
||||
cleanups.pop()();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/** @type {TourStepCompiler} */
|
||||
export function compileStepManual(stepIndex, step, options) {
|
||||
const { tour, pointer, onStepConsummed } = options;
|
||||
let proceedWith = null;
|
||||
let removeListeners = () => {};
|
||||
|
||||
return [
|
||||
{
|
||||
action: () => console.log(step.trigger),
|
||||
},
|
||||
{
|
||||
trigger: () => {
|
||||
removeListeners();
|
||||
|
||||
if (proceedWith) {
|
||||
return proceedWith;
|
||||
}
|
||||
|
||||
const { triggerEl, altEl, extraTriggerOkay, skipEl } = findStepTriggers(step);
|
||||
|
||||
if (skipEl) {
|
||||
return skipEl;
|
||||
}
|
||||
|
||||
const stepEl = extraTriggerOkay && (triggerEl || altEl);
|
||||
|
||||
if (stepEl && canContinue(stepEl, step)) {
|
||||
const consumeEvent = step.consumeEvent || getConsumeEventType(stepEl, step.run);
|
||||
const anchorEl = getAnchorEl(stepEl, consumeEvent);
|
||||
const debouncedToggleOpen = debounce(pointer.showContent, 50, true);
|
||||
|
||||
const updatePointer = () => {
|
||||
pointer.setState({
|
||||
onMouseEnter: () => debouncedToggleOpen(true),
|
||||
onMouseLeave: () => debouncedToggleOpen(false),
|
||||
});
|
||||
pointer.pointTo(anchorEl, step);
|
||||
};
|
||||
|
||||
removeListeners = setupListeners({
|
||||
anchorEl,
|
||||
consumeEvent,
|
||||
onMouseEnter: () => pointer.showContent(true),
|
||||
onMouseLeave: () => pointer.showContent(false),
|
||||
onScroll: updatePointer,
|
||||
onConsume: () => {
|
||||
proceedWith = stepEl;
|
||||
pointer.hide();
|
||||
},
|
||||
});
|
||||
|
||||
updatePointer();
|
||||
} else {
|
||||
pointer.hide();
|
||||
}
|
||||
},
|
||||
action: () => {
|
||||
tourState.set(tour.name, "currentIndex", stepIndex + 1);
|
||||
pointer.hide();
|
||||
proceedWith = null;
|
||||
onStepConsummed(tour, step);
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
let tourTimeout;
|
||||
|
||||
/** @type {TourStepCompiler} */
|
||||
export function compileStepAuto(stepIndex, step, options) {
|
||||
const { tour, pointer, stepDelay, keepWatchBrowser, showPointerDuration, onStepConsummed } = options;
|
||||
let skipAction = false;
|
||||
return [
|
||||
{
|
||||
action: async () => {
|
||||
// This delay is important for making the current set of tour tests pass.
|
||||
// IMPROVEMENT: Find a way to remove this delay.
|
||||
await new Promise(resolve => requestAnimationFrame(resolve))
|
||||
},
|
||||
},
|
||||
{
|
||||
action: async () => {
|
||||
skipAction = false;
|
||||
console.log(`Tour ${tour.name} on step: '${describeStep(step)}'`);
|
||||
if (!keepWatchBrowser) {
|
||||
browser.clearTimeout(tourTimeout);
|
||||
tourTimeout = browser.setTimeout(() => {
|
||||
// The logged text shows the relative position of the failed step.
|
||||
// Useful for finding the failed step.
|
||||
console.warn(describeFailedStepDetailed(step, tour));
|
||||
// console.error notifies the test runner that the tour failed.
|
||||
console.error(describeFailedStepSimple(step, tour));
|
||||
}, (step.timeout || 10000) + stepDelay);
|
||||
}
|
||||
await new Promise((resolve) => browser.setTimeout(resolve, stepDelay));
|
||||
},
|
||||
},
|
||||
{
|
||||
trigger: () => {
|
||||
const { triggerEl, altEl, extraTriggerOkay, skipEl } = findStepTriggers(step);
|
||||
|
||||
let stepEl = extraTriggerOkay && (triggerEl || altEl);
|
||||
|
||||
if (skipEl) {
|
||||
skipAction = true;
|
||||
stepEl = skipEl;
|
||||
}
|
||||
|
||||
if (!stepEl) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return canContinue(stepEl, step) && stepEl;
|
||||
},
|
||||
action: async (stepEl) => {
|
||||
tourState.set(tour.name, "currentIndex", stepIndex + 1);
|
||||
|
||||
if (skipAction) {
|
||||
return;
|
||||
}
|
||||
|
||||
const consumeEvent = step.consumeEvent || getConsumeEventType(stepEl, step.run);
|
||||
// When in auto mode, we are not waiting for an event to be consumed, so the
|
||||
// anchor is just the step element.
|
||||
const $anchorEl = $(stepEl);
|
||||
|
||||
if (showPointerDuration > 0) {
|
||||
// Useful in watch mode.
|
||||
pointer.pointTo($anchorEl.get(0), step);
|
||||
await new Promise((r) => browser.setTimeout(r, showPointerDuration));
|
||||
pointer.hide();
|
||||
}
|
||||
|
||||
// TODO: Delegate the following routine to the `ACTION_HELPERS` in the macro module.
|
||||
const actionHelper = new RunningTourActionHelper({
|
||||
consume_event: consumeEvent,
|
||||
$anchor: $anchorEl,
|
||||
});
|
||||
|
||||
let result;
|
||||
if (typeof step.run === "function") {
|
||||
const willUnload = await callWithUnloadCheck(() =>
|
||||
// `this.$anchor` is expected in many `step.run`.
|
||||
step.run.call({ $anchor: $anchorEl }, actionHelper)
|
||||
);
|
||||
result = willUnload && "will unload";
|
||||
} else if (step.run !== undefined) {
|
||||
const m = step.run.match(/^([a-zA-Z0-9_]+) *(?:\(? *(.+?) *\)?)?$/);
|
||||
actionHelper[m[1]](m[2]);
|
||||
} else if (!step.isCheck) {
|
||||
if (stepIndex === tour.steps.length - 1) {
|
||||
console.warn('Tour %s: ignoring action (auto) of last step', tour.name);
|
||||
} else {
|
||||
actionHelper.auto();
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
},
|
||||
{
|
||||
action: () => {
|
||||
onStepConsummed(tour, step);
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("./tour_service").Tour} tour
|
||||
* @param {object} options
|
||||
* @param {TourStep[]} options.filteredSteps
|
||||
* @param {TourStepCompiler} options.stepCompiler
|
||||
* @param {*} options.pointer
|
||||
* @param {number} options.stepDelay
|
||||
* @param {boolean} options.keepWatchBrowser
|
||||
* @param {number} options.showPointerDuration
|
||||
* @param {number} options.checkDelay
|
||||
* @param {(import("./tour_service").Tour) => void} options.onTourEnd
|
||||
*/
|
||||
export function compileTourToMacro(tour, options) {
|
||||
const {
|
||||
filteredSteps,
|
||||
stepCompiler,
|
||||
pointer,
|
||||
stepDelay,
|
||||
keepWatchBrowser,
|
||||
showPointerDuration,
|
||||
checkDelay,
|
||||
onStepConsummed,
|
||||
onTourEnd,
|
||||
} = options;
|
||||
const currentStepIndex = tourState.get(tour.name, "currentIndex");
|
||||
return {
|
||||
...tour,
|
||||
checkDelay,
|
||||
steps: filteredSteps
|
||||
.reduce((newSteps, step, i) => {
|
||||
if (i < currentStepIndex) {
|
||||
// Don't include steps before the current index because they're already done.
|
||||
return newSteps;
|
||||
} else {
|
||||
return [
|
||||
...newSteps,
|
||||
...stepCompiler(i, step, {
|
||||
tour,
|
||||
pointer,
|
||||
stepDelay,
|
||||
keepWatchBrowser,
|
||||
showPointerDuration,
|
||||
onStepConsummed,
|
||||
}),
|
||||
];
|
||||
}
|
||||
}, [])
|
||||
.concat([
|
||||
{
|
||||
action() {
|
||||
tourState.clear(tour.name);
|
||||
onTourEnd(tour);
|
||||
clearTimeout(tourTimeout);
|
||||
},
|
||||
},
|
||||
]),
|
||||
};
|
||||
}
|
181
static/src/tour_service/tour_pointer_state.js
Normal file
181
static/src/tour_service/tour_pointer_state.js
Normal file
|
@ -0,0 +1,181 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { reactive } from "@odoo/owl";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { TourPointer } from "@web_tour/tour_pointer/tour_pointer";
|
||||
import { getScrollParent } from "./tour_utils";
|
||||
|
||||
/**
|
||||
* @typedef {import("@web/core/position_hook").Direction} Direction
|
||||
*
|
||||
* @typedef {"in" | "out-below" | "out-above" | "unknown"} IntersectionPosition
|
||||
*
|
||||
* @typedef {ReturnType<createPointerState>["methods"]} TourPointerMethods
|
||||
*
|
||||
* @typedef TourPointerState
|
||||
* @property {HTMLElement} [anchor]
|
||||
* @property {string} [content]
|
||||
* @property {boolean} [isOpen]
|
||||
* @property {() => {}} [onClick]
|
||||
* @property {() => {}} [onMouseEnter]
|
||||
* @property {() => {}} [onMouseLeave]
|
||||
* @property {boolean} isVisible
|
||||
* @property {Direction} position
|
||||
* @property {number} rev
|
||||
*
|
||||
* @typedef {import("./tour_service").TourStep} TourStep
|
||||
*/
|
||||
|
||||
class Intersection {
|
||||
constructor() {
|
||||
/** @type {Element | null} */
|
||||
this.currentTarget = null;
|
||||
this.rootBounds = null;
|
||||
/** @type {IntersectionPosition} */
|
||||
this._targetPosition = "unknown";
|
||||
this._observer = new IntersectionObserver((observations) =>
|
||||
this._handleObservations(observations)
|
||||
);
|
||||
}
|
||||
|
||||
/** @type {IntersectionObserverCallback} */
|
||||
_handleObservations(observations) {
|
||||
if (observations.length < 1) {
|
||||
return;
|
||||
}
|
||||
const observation = observations[observations.length - 1];
|
||||
this.rootBounds = observation.rootBounds;
|
||||
if (this.rootBounds && this.currentTarget) {
|
||||
if (observation.isIntersecting) {
|
||||
this._targetPosition = "in";
|
||||
} else {
|
||||
const targetBounds = this.currentTarget.getBoundingClientRect();
|
||||
if (targetBounds.bottom < this.rootBounds.height / 2) {
|
||||
this._targetPosition = "out-above";
|
||||
} else if (targetBounds.top > this.rootBounds.height / 2) {
|
||||
this._targetPosition = "out-below";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this._targetPosition = "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
get targetPosition() {
|
||||
if (!this.rootBounds) {
|
||||
return this.currentTarget ? "in" : "unknown";
|
||||
} else {
|
||||
return this._targetPosition;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Element} newTarget
|
||||
*/
|
||||
setTarget(newTarget) {
|
||||
if (this.currentTarget !== newTarget) {
|
||||
if (this.currentTarget) {
|
||||
this._observer.unobserve(this.currentTarget);
|
||||
}
|
||||
if (newTarget) {
|
||||
this._observer.observe(newTarget);
|
||||
}
|
||||
this.currentTarget = newTarget;
|
||||
}
|
||||
}
|
||||
|
||||
stop() {
|
||||
this._observer.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
export function createPointerState() {
|
||||
/**
|
||||
* @param {Partial<TourPointerState>} newState
|
||||
*/
|
||||
const setState = (newState) => {
|
||||
Object.assign(state, newState);
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {TourStep} step
|
||||
* @param {HTMLElement} [anchor]
|
||||
*/
|
||||
const pointTo = (anchor, step) => {
|
||||
intersection.setTarget(anchor);
|
||||
if (anchor) {
|
||||
let { position, content } = step;
|
||||
switch (intersection.targetPosition) {
|
||||
case "unknown": {
|
||||
// Do nothing for unknown target position.
|
||||
break;
|
||||
}
|
||||
case "in": {
|
||||
if (document.body.contains(floatingAnchor)) {
|
||||
floatingAnchor.remove();
|
||||
}
|
||||
setState({ anchor, content, onClick: null, position, isVisible: true });
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
const onClick = () => {
|
||||
anchor.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
||||
hide();
|
||||
};
|
||||
|
||||
const scrollParent = getScrollParent(anchor);
|
||||
if (!scrollParent) {
|
||||
setState({ anchor, content, onClick: null, position, isVisible: true });
|
||||
return;
|
||||
}
|
||||
const { x, y, width, height } = scrollParent.getBoundingClientRect();
|
||||
floatingAnchor.style.left = `${x + width / 2}px`;
|
||||
if (intersection.targetPosition === "out-below") {
|
||||
position = "top";
|
||||
content = _t("Scroll down to reach the next step.");
|
||||
floatingAnchor.style.top = `${y + height - TourPointer.height}px`;
|
||||
} else if (intersection.targetPosition === "out-above") {
|
||||
position = "bottom";
|
||||
content = _t("Scroll up to reach the next step.");
|
||||
floatingAnchor.style.top = `${y + TourPointer.height}px`;
|
||||
}
|
||||
if (!document.contains(floatingAnchor)) {
|
||||
document.body.appendChild(floatingAnchor);
|
||||
}
|
||||
setState({
|
||||
anchor: floatingAnchor,
|
||||
content,
|
||||
onClick,
|
||||
position,
|
||||
isVisible: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
hide();
|
||||
}
|
||||
};
|
||||
|
||||
function hide() {
|
||||
setState({ content: "", isVisible: false, isOpen: false });
|
||||
}
|
||||
|
||||
function showContent(isOpen) {
|
||||
setState({ isOpen });
|
||||
}
|
||||
|
||||
function destroy() {
|
||||
intersection.stop();
|
||||
if (document.body.contains(floatingAnchor)) {
|
||||
floatingAnchor.remove();
|
||||
}
|
||||
}
|
||||
|
||||
/** @type {TourPointerState} */
|
||||
const state = reactive({});
|
||||
const intersection = new Intersection();
|
||||
const floatingAnchor = document.createElement("div");
|
||||
floatingAnchor.className = "position-fixed";
|
||||
|
||||
return { state, methods: { setState, showContent, pointTo, hide, destroy } };
|
||||
}
|
412
static/src/tour_service/tour_service.js
Normal file
412
static/src/tour_service/tour_service.js
Normal file
|
@ -0,0 +1,412 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { EventBus, markup, whenReady, reactive } from "@odoo/owl";
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { MacroEngine } from "@web/core/macro";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { config as transitionConfig } from "@web/core/transition";
|
||||
import { session } from "@web/session";
|
||||
import { TourPointer } from "../tour_pointer/tour_pointer";
|
||||
import { compileStepAuto, compileStepManual, compileTourToMacro } from "./tour_compilers";
|
||||
import { createPointerState } from "./tour_pointer_state";
|
||||
import { tourState } from "./tour_state";
|
||||
import { callWithUnloadCheck } from "./tour_utils";
|
||||
|
||||
/**
|
||||
* @typedef {string} JQuerySelector
|
||||
* @typedef {import("./tour_utils").RunCommand} RunCommand
|
||||
*
|
||||
* @typedef Tour
|
||||
* @property {string} url
|
||||
* @property {string} name
|
||||
* @property {() => TourStep[]} steps
|
||||
* @property {boolean} [rainbowMan]
|
||||
* @property {number} [sequence]
|
||||
* @property {boolean} [test]
|
||||
* @property {Promise<any>} [wait_for]
|
||||
* @property {string} [saveAs]
|
||||
* @property {string} [fadeout]
|
||||
* @property {number} [checkDelay]
|
||||
* @property {string|undefined} [shadow_dom]
|
||||
*
|
||||
* @typedef TourStep
|
||||
* @property {string} [id]
|
||||
* @property {JQuerySelector} trigger
|
||||
* @property {JQuerySelector} [extra_trigger]
|
||||
* @property {JQuerySelector} [alt_trigger]
|
||||
* @property {JQuerySelector} [skip_trigger]
|
||||
* @property {string} [content]
|
||||
* @property {"top" | "botton" | "left" | "right"} [position]
|
||||
* @property {"community" | "enterprise"} [edition]
|
||||
* @property {RunCommand} [run]
|
||||
* @property {boolean} [auto]
|
||||
* @property {boolean} [in_modal]
|
||||
* @property {number} [width]
|
||||
* @property {number} [timeout]
|
||||
* @property {boolean} [consumeVisibleOnly]
|
||||
* @property {boolean} [noPrepend]
|
||||
* @property {string} [consumeEvent]
|
||||
* @property {boolean} [mobile]
|
||||
* @property {string} [title]
|
||||
* @property {string|false|undefined} [shadow_dom]
|
||||
*
|
||||
* @typedef {"manual" | "auto"} TourMode
|
||||
*/
|
||||
|
||||
export const tourService = {
|
||||
// localization dependency to make sure translations used by tours are loaded
|
||||
dependencies: ["orm", "effect", "ui", "overlay", "localization"],
|
||||
start: async (_env, { orm, effect, ui, overlay }) => {
|
||||
await whenReady();
|
||||
const toursEnabled = "tour_disable" in session && !session.tour_disable;
|
||||
const consumedTours = new Set(session.web_tours);
|
||||
|
||||
/** @type {{ [k: string]: Tour }} */
|
||||
const tours = {};
|
||||
const tourRegistry = registry.category("web_tour.tours");
|
||||
function register(name, tour) {
|
||||
name = tour.saveAs || name;
|
||||
const wait_for = tour.wait_for || Promise.resolve();
|
||||
let steps;
|
||||
tours[name] = {
|
||||
wait_for,
|
||||
name,
|
||||
get steps() {
|
||||
if (typeof tour.steps !== "function") {
|
||||
throw new Error(`tour.steps has to be a function that returns TourStep[]`);
|
||||
}
|
||||
if (!steps) {
|
||||
steps = tour.steps().map((step) => {
|
||||
step.shadow_dom = step.shadow_dom ?? tour.shadow_dom;
|
||||
return step;
|
||||
});
|
||||
}
|
||||
return steps;
|
||||
},
|
||||
shadow_dom: tour.shadow_dom,
|
||||
url: tour.url,
|
||||
rainbowMan: tour.rainbowMan === undefined ? true : !!tour.rainbowMan,
|
||||
rainbowManMessage: tour.rainbowManMessage,
|
||||
fadeout: tour.fadeout || "medium",
|
||||
sequence: tour.sequence || 1000,
|
||||
test: tour.test,
|
||||
checkDelay: tour.checkDelay,
|
||||
};
|
||||
wait_for.then(() => {
|
||||
if (
|
||||
!tour.test &&
|
||||
toursEnabled &&
|
||||
!consumedTours.has(name) &&
|
||||
!tourState.getActiveTourNames().includes(name)
|
||||
) {
|
||||
startTour(name, { mode: "manual", redirect: false });
|
||||
}
|
||||
});
|
||||
}
|
||||
for (const [name, tour] of tourRegistry.getEntries()) {
|
||||
register(name, tour);
|
||||
}
|
||||
tourRegistry.addEventListener("UPDATE", ({ detail: { key, value } }) => {
|
||||
if (tourRegistry.contains(key)) {
|
||||
register(key, value);
|
||||
if (
|
||||
tourState.getActiveTourNames().includes(key) &&
|
||||
// Don't resume onboarding tours when tours are disabled
|
||||
(toursEnabled || tourState.get(key, "mode") === "auto")
|
||||
) {
|
||||
resumeTour(key);
|
||||
}
|
||||
} else {
|
||||
delete tours[value];
|
||||
}
|
||||
});
|
||||
|
||||
const bus = new EventBus();
|
||||
const macroEngine = new MacroEngine({ target: document });
|
||||
|
||||
const pointers = reactive({});
|
||||
/** @type {Set<string>} */
|
||||
const runningTours = new Set();
|
||||
|
||||
// FIXME: this is a hack for stable: whenever the macros advance, for each call to pointTo,
|
||||
// we push a function that will do the pointing as well as the tour name. Then after
|
||||
// a microtask tick, when all pointTo calls have been made by the macro system, we can sort
|
||||
// these by tour priority/sequence and only call the one with the highest priority so we
|
||||
// show the correct pointer.
|
||||
const possiblePointTos = [];
|
||||
function createPointer(tourName, config) {
|
||||
const { state: pointerState, methods } = createPointerState();
|
||||
let remove;
|
||||
return {
|
||||
start() {
|
||||
pointers[tourName] = {
|
||||
methods,
|
||||
id: tourName,
|
||||
component: TourPointer,
|
||||
props: { pointerState, ...config },
|
||||
};
|
||||
remove = overlay.add(pointers[tourName].component, pointers[tourName].props);
|
||||
},
|
||||
stop() {
|
||||
remove?.();
|
||||
delete pointers[tourName];
|
||||
methods.destroy();
|
||||
},
|
||||
...methods,
|
||||
async pointTo(anchor, step) {
|
||||
possiblePointTos.push([tourName, () => methods.pointTo(anchor, step)]);
|
||||
await Promise.resolve();
|
||||
// only done once per macro advance
|
||||
if (!possiblePointTos.length) {
|
||||
return;
|
||||
}
|
||||
const toursByPriority = Object.fromEntries(
|
||||
getSortedTours().map((t, i) => [t.name, i])
|
||||
);
|
||||
const sortedPointTos = possiblePointTos
|
||||
.slice(0)
|
||||
.sort(([a], [b]) => toursByPriority[a] - toursByPriority[b]);
|
||||
possiblePointTos.splice(0); // reset for the next macro advance
|
||||
|
||||
const active = sortedPointTos[0];
|
||||
const [activeId, enablePointer] = active || [];
|
||||
for (const { id, methods } of Object.values(pointers)) {
|
||||
if (id === activeId) {
|
||||
enablePointer();
|
||||
} else {
|
||||
methods.hide();
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {TourStep} step
|
||||
* @param {TourMode} mode
|
||||
*/
|
||||
function shouldOmit(step, mode) {
|
||||
const isDefined = (key, obj) => key in obj && obj[key] !== undefined;
|
||||
const getEdition = () =>
|
||||
(session.server_version_info || []).at(-1) === "e" ? "enterprise" : "community";
|
||||
const correctEdition = isDefined("edition", step)
|
||||
? step.edition === getEdition()
|
||||
: true;
|
||||
const correctDevice = isDefined("mobile", step) ? step.mobile === ui.isSmall : true;
|
||||
return (
|
||||
!correctEdition ||
|
||||
!correctDevice ||
|
||||
// `step.auto = true` means omitting a step in a manual tour.
|
||||
(mode === "manual" && step.auto)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Tour} tour
|
||||
* @param {ReturnType<typeof createPointer>} pointer
|
||||
* @param {Object} options
|
||||
* @param {TourMode} options.mode
|
||||
* @param {number} options.stepDelay
|
||||
* @param {boolean} options.keepWatchBrowser - do not close watch browser when the tour failed
|
||||
* @param {number} options.showPointerDuration
|
||||
* - Useful when watching auto tour.
|
||||
* - Show the pointer for some duration before performing calling the run method.
|
||||
*/
|
||||
function convertToMacro(
|
||||
tour,
|
||||
pointer,
|
||||
{ mode, stepDelay, keepWatchBrowser, showPointerDuration }
|
||||
) {
|
||||
// IMPROVEMENTS: Custom step compiler. Will probably require decoupling from `mode`.
|
||||
const stepCompiler = mode === "auto" ? compileStepAuto : compileStepManual;
|
||||
const checkDelay = mode === "auto" ? tour.checkDelay : 100;
|
||||
const filteredSteps = tour.steps.filter((step) => !shouldOmit(step, mode));
|
||||
return compileTourToMacro(tour, {
|
||||
filteredSteps,
|
||||
stepCompiler,
|
||||
pointer,
|
||||
stepDelay,
|
||||
keepWatchBrowser,
|
||||
showPointerDuration,
|
||||
checkDelay,
|
||||
onStepConsummed(tour, step) {
|
||||
bus.trigger("STEP-CONSUMMED", { tour, step });
|
||||
},
|
||||
onTourEnd({ name, rainbowManMessage, fadeout }) {
|
||||
if (mode === "auto") {
|
||||
transitionConfig.disabled = false;
|
||||
}
|
||||
let message;
|
||||
if (typeof rainbowManMessage === "function") {
|
||||
message = rainbowManMessage({
|
||||
isTourConsumed: (name) => consumedTours.has(name),
|
||||
});
|
||||
} else if (typeof rainbowManMessage === "string") {
|
||||
message = rainbowManMessage;
|
||||
} else {
|
||||
message = markup(
|
||||
_t(
|
||||
"<strong><b>Good job!</b> You went through all steps of this tour.</strong>"
|
||||
)
|
||||
);
|
||||
}
|
||||
effect.add({ type: "rainbow_man", message, fadeout });
|
||||
if (mode === "manual") {
|
||||
consumedTours.add(name);
|
||||
orm.call("web_tour.tour", "consume", [[name]]);
|
||||
}
|
||||
pointer.stop();
|
||||
// Used to signal the python test runner that the tour finished without error.
|
||||
browser.console.log("test successful");
|
||||
runningTours.delete(name);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Wait for the shadow hosts matching the given selectors to
|
||||
* appear in the DOM then, register the underlying shadow roots
|
||||
* to the macro engine observer in order to listen to the
|
||||
* changes in the shadow DOM.
|
||||
*
|
||||
* @param {Set<string>} shadowHostSelectors
|
||||
*/
|
||||
function observeShadows(shadowHostSelectors) {
|
||||
const observer = new MutationObserver(() => {
|
||||
const shadowRoots = [];
|
||||
for (const selector of shadowHostSelectors) {
|
||||
const shadowHost = document.querySelector(selector);
|
||||
if (shadowHost) {
|
||||
shadowRoots.push(shadowHost.shadowRoot);
|
||||
shadowHostSelectors.delete(selector);
|
||||
}
|
||||
}
|
||||
for (const shadowRoot of shadowRoots) {
|
||||
macroEngine.observer.observe(shadowRoot, macroEngine.observerOptions);
|
||||
}
|
||||
if (shadowHostSelectors.size === 0) {
|
||||
observer.disconnect();
|
||||
}
|
||||
});
|
||||
observer.observe(macroEngine.target, { childList: true, subtree: true });
|
||||
}
|
||||
|
||||
/**
|
||||
* Register shadow roots that must be observed by the tour to
|
||||
* the macro engine.
|
||||
*
|
||||
* @param {Tour} tour
|
||||
*/
|
||||
function setupShadowObservers(tour) {
|
||||
const shadowDOMs = new Set(
|
||||
tour.steps.filter((step) => step.shadow_dom).map((step) => step.shadow_dom)
|
||||
);
|
||||
if (shadowDOMs.size > 0) {
|
||||
observeShadows(shadowDOMs);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable transition before starting an "auto" tour.
|
||||
* @param {Macro} macro
|
||||
* @param {'auto' | 'manual'} mode
|
||||
*/
|
||||
function activateMacro(macro, mode) {
|
||||
if (mode === "auto") {
|
||||
transitionConfig.disabled = true;
|
||||
}
|
||||
macroEngine.activate(macro, mode === "auto");
|
||||
}
|
||||
|
||||
function startTour(tourName, options = {}) {
|
||||
if (runningTours.has(tourName) && options.mode === "manual") {
|
||||
return;
|
||||
}
|
||||
runningTours.add(tourName);
|
||||
const defaultOptions = {
|
||||
stepDelay: 0,
|
||||
keepWatchBrowser: false,
|
||||
mode: "auto",
|
||||
startUrl: "",
|
||||
showPointerDuration: 0,
|
||||
redirect: true,
|
||||
};
|
||||
options = Object.assign(defaultOptions, options);
|
||||
const tour = tours[tourName];
|
||||
if (!tour) {
|
||||
throw new Error(`Tour '${tourName}' is not found.`);
|
||||
}
|
||||
tourState.set(tourName, "currentIndex", 0);
|
||||
tourState.set(tourName, "stepDelay", options.stepDelay);
|
||||
tourState.set(tourName, "keepWatchBrowser", options.keepWatchBrowser);
|
||||
tourState.set(tourName, "showPointerDuration", options.showPointerDuration);
|
||||
tourState.set(tourName, "mode", options.mode);
|
||||
tourState.set(tourName, "sequence", tour.sequence);
|
||||
const pointer = createPointer(tourName, {
|
||||
bounce: !(options.mode === "auto" && options.keepWatchBrowser),
|
||||
});
|
||||
const macro = convertToMacro(tour, pointer, options);
|
||||
const willUnload = callWithUnloadCheck(() => {
|
||||
if (tour.url && tour.url !== options.startUrl && options.redirect) {
|
||||
window.location.href = window.location.origin + tour.url;
|
||||
}
|
||||
});
|
||||
if (!willUnload) {
|
||||
setupShadowObservers(tour);
|
||||
pointer.start();
|
||||
activateMacro(macro, options.mode);
|
||||
}
|
||||
}
|
||||
|
||||
function resumeTour(tourName) {
|
||||
if (runningTours.has(tourName)) {
|
||||
return;
|
||||
}
|
||||
runningTours.add(tourName);
|
||||
const tour = tours[tourName];
|
||||
const stepDelay = tourState.get(tourName, "stepDelay");
|
||||
const keepWatchBrowser = tourState.get(tourName, "keepWatchBrowser");
|
||||
const showPointerDuration = tourState.get(tourName, "showPointerDuration");
|
||||
const mode = tourState.get(tourName, "mode");
|
||||
const pointer = createPointer(tourName, {
|
||||
bounce: !(mode === "auto" && keepWatchBrowser),
|
||||
});
|
||||
const macro = convertToMacro(tour, pointer, {
|
||||
mode,
|
||||
stepDelay,
|
||||
keepWatchBrowser,
|
||||
showPointerDuration,
|
||||
});
|
||||
setupShadowObservers(tour);
|
||||
pointer.start();
|
||||
activateMacro(macro, mode);
|
||||
}
|
||||
|
||||
function getSortedTours() {
|
||||
return Object.values(tours).sort((t1, t2) => {
|
||||
return t1.sequence - t2.sequence || (t1.name < t2.name ? -1 : 1);
|
||||
});
|
||||
}
|
||||
|
||||
if (!window.frameElement) {
|
||||
// Resume running tours.
|
||||
for (const tourName of tourState.getActiveTourNames()) {
|
||||
if (tourName in tours) {
|
||||
resumeTour(tourName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
odoo.startTour = startTour;
|
||||
odoo.isTourReady = (tourName) => tours[tourName].wait_for.then(() => true);
|
||||
|
||||
return {
|
||||
bus,
|
||||
startTour,
|
||||
getSortedTours,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
registry.category("services").add("tour_service", tourService);
|
85
static/src/tour_service/tour_state.js
Normal file
85
static/src/tour_service/tour_state.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
|
||||
const BOOLEAN = {
|
||||
toLocalStorage: (val) => (val ? "1" : "0"),
|
||||
fromLocalStorage: (val) => (val === "1" ? true : false),
|
||||
};
|
||||
|
||||
const INTEGER = {
|
||||
toLocalStorage: (val) => val.toString(),
|
||||
fromLocalStorage: (val) => parseInt(val, 10),
|
||||
};
|
||||
|
||||
const STRING = {
|
||||
toLocalStorage: (x) => x,
|
||||
fromLocalStorage: (x) => x,
|
||||
};
|
||||
|
||||
const ALLOWED_KEYS = {
|
||||
// Don't close the 'watch' browser when the tour failed.
|
||||
keepWatchBrowser: BOOLEAN,
|
||||
|
||||
// Duration at which the pointer is shown in auto mode.
|
||||
showPointerDuration: INTEGER,
|
||||
|
||||
// Index of the current step.
|
||||
currentIndex: INTEGER,
|
||||
|
||||
// Global step delay that is specified before starting the tour.
|
||||
stepDelay: INTEGER,
|
||||
|
||||
// 'auto' | 'manual' - important that it's persisted because it's only specified during start of tour.
|
||||
mode: STRING,
|
||||
|
||||
// Used to order the tours.
|
||||
sequence: INTEGER,
|
||||
};
|
||||
|
||||
function getPrefixedName(tourName, key) {
|
||||
return `tour__${tourName}__${key}`;
|
||||
}
|
||||
|
||||
function destructurePrefixedName(prefixedName) {
|
||||
const match = prefixedName.match(/tour__([.\w]+)__([\w]+)/);
|
||||
return match ? [match[1], match[2]] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper around localStorage for persistence of the running tours.
|
||||
* Useful for resuming running tours when the page refreshed.
|
||||
*/
|
||||
export const tourState = {
|
||||
get(tourName, key) {
|
||||
if (!(key in ALLOWED_KEYS)) {
|
||||
throw new Error(`Invalid key: '${key}' (tourName = '${tourName}')`);
|
||||
}
|
||||
const prefixedName = getPrefixedName(tourName, key);
|
||||
const savedValue = browser.localStorage.getItem(prefixedName);
|
||||
return ALLOWED_KEYS[key].fromLocalStorage(savedValue);
|
||||
},
|
||||
set(tourName, key, value) {
|
||||
if (!(key in ALLOWED_KEYS)) {
|
||||
throw new Error(`Invalid key: '${key}' (tourName = '${tourName}')`);
|
||||
}
|
||||
const prefixedName = getPrefixedName(tourName, key);
|
||||
browser.localStorage.setItem(prefixedName, ALLOWED_KEYS[key].toLocalStorage(value));
|
||||
},
|
||||
clear(tourName) {
|
||||
for (const key in ALLOWED_KEYS) {
|
||||
const prefixedName = getPrefixedName(tourName, key);
|
||||
browser.localStorage.removeItem(prefixedName);
|
||||
}
|
||||
},
|
||||
getActiveTourNames() {
|
||||
const tourNames = new Set();
|
||||
for (const key of Object.keys(browser.localStorage)) {
|
||||
const [tourName] = destructurePrefixedName(key) || [false];
|
||||
if (tourName) {
|
||||
tourNames.add(tourName);
|
||||
}
|
||||
}
|
||||
return [...tourNames].sort((a, b) => this.get(a, "sequence") - this.get(b, "sequence"));
|
||||
},
|
||||
};
|
654
static/src/tour_service/tour_utils.js
Normal file
654
static/src/tour_service/tour_utils.js
Normal file
|
@ -0,0 +1,654 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { markup } from "@odoo/owl";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { utils } from "@web/core/ui/ui_service";
|
||||
import { _legacyIsVisible } from "@web/core/utils/ui";
|
||||
|
||||
/**
|
||||
* @typedef {string | (actions: RunningTourActionHelper) => void | Promise<void>} RunCommand
|
||||
*/
|
||||
|
||||
export class TourError extends Error {
|
||||
constructor(message, ...args) {
|
||||
super(message, ...args);
|
||||
this.message = `(TourError) ${message}`;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls the given `func` then returns/resolves to `true`
|
||||
* if it will result to unloading of the page.
|
||||
* @param {(...args: any[]) => void} func
|
||||
* @param {any[]} args
|
||||
* @returns {boolean | Promise<boolean>}
|
||||
*/
|
||||
export function callWithUnloadCheck(func, ...args) {
|
||||
let willUnload = false;
|
||||
const beforeunload = () => (willUnload = true);
|
||||
window.addEventListener("beforeunload", beforeunload);
|
||||
const result = func(...args);
|
||||
if (result instanceof Promise) {
|
||||
return result.then(() => {
|
||||
window.removeEventListener("beforeunload", beforeunload);
|
||||
return willUnload;
|
||||
});
|
||||
} else {
|
||||
window.removeEventListener("beforeunload", beforeunload);
|
||||
return willUnload;
|
||||
}
|
||||
}
|
||||
|
||||
export function getFirstVisibleElement($elements) {
|
||||
for (var i = 0; i < $elements.length; i++) {
|
||||
var $i = $elements.eq(i);
|
||||
if (_legacyIsVisible($i[0])) {
|
||||
return $i;
|
||||
}
|
||||
}
|
||||
return $();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {JQuery|undefined} target
|
||||
*/
|
||||
export function getJQueryElementFromSelector(selector, $target) {
|
||||
$target = $target || $(document);
|
||||
const iframeSplit = typeof selector === "string" && selector.match(/(.*\biframe[^ ]*)(.*)/);
|
||||
if (iframeSplit && iframeSplit[2]) {
|
||||
var $iframe = $target.find(`${iframeSplit[1]}:not(.o_ignore_in_tour)`);
|
||||
if ($iframe.is('[is-ready="false"]')) {
|
||||
return $();
|
||||
}
|
||||
var $el = $iframe.contents().find(iframeSplit[2]);
|
||||
$el.iframeContainer = $iframe[0];
|
||||
return $el;
|
||||
} else if (typeof selector === "string") {
|
||||
return $target.find(selector);
|
||||
} else {
|
||||
return $(selector);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {HTMLElement} [element]
|
||||
* @param {RunCommand} [runCommand]
|
||||
* @returns {string}
|
||||
*/
|
||||
export function getConsumeEventType(element, runCommand) {
|
||||
if (!element) {
|
||||
return "click";
|
||||
}
|
||||
const { classList, tagName, type } = element;
|
||||
const tag = tagName.toLowerCase();
|
||||
|
||||
// Many2one
|
||||
if (classList.contains("o_field_many2one")) {
|
||||
return "autocompleteselect";
|
||||
}
|
||||
|
||||
// Inputs and textareas
|
||||
if (
|
||||
tag === "textarea" ||
|
||||
(tag === "input" &&
|
||||
(!type ||
|
||||
["email", "number", "password", "search", "tel", "text", "url"].includes(type)))
|
||||
) {
|
||||
if (
|
||||
utils.isSmall() &&
|
||||
element.closest(".o_field_widget")?.matches(".o_field_many2one, .o_field_many2many")
|
||||
) {
|
||||
return "click";
|
||||
}
|
||||
return "input";
|
||||
}
|
||||
|
||||
// jQuery draggable
|
||||
if (classList.contains("ui-draggable-handle")) {
|
||||
return "mousedown";
|
||||
}
|
||||
|
||||
// Drag & drop run command
|
||||
if (typeof runCommand === "string" && /^drag_and_drop/.test(runCommand)) {
|
||||
// this is a heuristic: the element has to be dragged and dropped but it
|
||||
// doesn't have class 'ui-draggable-handle', so we check if it has an
|
||||
// ui-sortable parent, and if so, we conclude that its event type is 'sort'
|
||||
if (element.closest(".ui-sortable")) {
|
||||
return "sort";
|
||||
}
|
||||
if (
|
||||
(/^drag_and_drop_native/.test(runCommand) && classList.contains("o_draggable")) ||
|
||||
element.closest(".o_draggable")
|
||||
) {
|
||||
return "pointerdown";
|
||||
}
|
||||
}
|
||||
|
||||
// Default: click
|
||||
return "click";
|
||||
}
|
||||
|
||||
/**
|
||||
* ! This function is a copy-paste of its namesake in web/static/tests/helpers/utils.js
|
||||
* TODO: Unify utils for tests and tours since they're doing the exact same thing
|
||||
* @param {Node} n1
|
||||
* @param {Node} n2
|
||||
* @returns {Node[]}
|
||||
*/
|
||||
export function getDifferentParents(n1, n2) {
|
||||
const parents = [n2];
|
||||
while (parents[0].parentNode) {
|
||||
const parent = parents[0].parentNode;
|
||||
if (parent.contains(n1)) {
|
||||
break;
|
||||
}
|
||||
parents.unshift(parent);
|
||||
}
|
||||
return parents;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {HTMLElement} element
|
||||
* @returns {HTMLElement | null}
|
||||
*/
|
||||
export function getScrollParent(element) {
|
||||
if (!element) {
|
||||
return null;
|
||||
}
|
||||
if (element.scrollHeight > element.clientHeight) {
|
||||
return element;
|
||||
} else {
|
||||
return getScrollParent(element.parentNode);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {HTMLElement} el
|
||||
* @param {string} type
|
||||
* @param {boolean} canBubbleAndBeCanceled
|
||||
* @param {PointerEventInit} [additionalParams]
|
||||
*/
|
||||
export const triggerPointerEvent = (el, type, canBubbleAndBeCanceled, additionalParams) => {
|
||||
const eventInit = {
|
||||
bubbles: canBubbleAndBeCanceled,
|
||||
cancelable: canBubbleAndBeCanceled,
|
||||
view: window,
|
||||
...additionalParams,
|
||||
};
|
||||
|
||||
el.dispatchEvent(new PointerEvent(type, eventInit));
|
||||
if (type.startsWith("pointer")) {
|
||||
el.dispatchEvent(new MouseEvent(type.replace("pointer", "mouse"), eventInit));
|
||||
}
|
||||
};
|
||||
|
||||
export class RunningTourActionHelper {
|
||||
constructor(tip_widget) {
|
||||
this.tip_widget = tip_widget;
|
||||
}
|
||||
click(element) {
|
||||
this._click(this._get_action_values(element));
|
||||
}
|
||||
dblclick(element) {
|
||||
this._click(this._get_action_values(element), 2);
|
||||
}
|
||||
tripleclick(element) {
|
||||
this._click(this._get_action_values(element), 3);
|
||||
}
|
||||
clicknoleave(element) {
|
||||
this._click(this._get_action_values(element), 1, false);
|
||||
}
|
||||
text(text, element) {
|
||||
this._text(this._get_action_values(element), text);
|
||||
}
|
||||
remove_text(text, element) {
|
||||
this._text(this._get_action_values(element), "\n");
|
||||
}
|
||||
text_blur(text, element) {
|
||||
this._text_blur(this._get_action_values(element), text);
|
||||
}
|
||||
range(text, element) {
|
||||
this._range(this._get_action_values(element), text);
|
||||
}
|
||||
drag_and_drop(to, element) {
|
||||
this._drag_and_drop_jquery(this._get_action_values(element), to);
|
||||
}
|
||||
drag_and_drop_native(toSel, element) {
|
||||
const to = getJQueryElementFromSelector(toSel)[0];
|
||||
this._drag_and_drop(this._get_action_values(element).$element[0], to);
|
||||
}
|
||||
keydown(keyCodes, element) {
|
||||
this._keydown(this._get_action_values(element), keyCodes.split(/[,\s]+/));
|
||||
}
|
||||
auto(element) {
|
||||
var values = this._get_action_values(element);
|
||||
if (values.consume_event === "input") {
|
||||
this._text(values);
|
||||
} else {
|
||||
this._click(values);
|
||||
}
|
||||
}
|
||||
_get_action_values(element) {
|
||||
var $e = getJQueryElementFromSelector(element);
|
||||
var $element = element ? getFirstVisibleElement($e) : this.tip_widget.$anchor;
|
||||
if ($element.length === 0) {
|
||||
$element = $e.first();
|
||||
}
|
||||
var consume_event = element
|
||||
? getConsumeEventType($element[0])
|
||||
: this.tip_widget.consume_event;
|
||||
return {
|
||||
$element: $element,
|
||||
consume_event: consume_event,
|
||||
};
|
||||
}
|
||||
_click(values, nb, leave) {
|
||||
const target = values.$element[0];
|
||||
triggerPointerEvent(target, "pointerover", true);
|
||||
triggerPointerEvent(target, "pointerenter", false);
|
||||
triggerPointerEvent(target, "pointermove", true);
|
||||
for (let i = 1; i <= (nb || 1); i++) {
|
||||
triggerPointerEvent(target, "pointerdown", true);
|
||||
triggerPointerEvent(target, "pointerup", true);
|
||||
triggerPointerEvent(target, "click", true, { detail: i });
|
||||
if (i % 2 === 0) {
|
||||
triggerPointerEvent(target, "dblclick", true);
|
||||
}
|
||||
}
|
||||
if (leave !== false) {
|
||||
triggerPointerEvent(target, "pointerout", true);
|
||||
triggerPointerEvent(target, "pointerleave", false);
|
||||
}
|
||||
}
|
||||
_text(values, text) {
|
||||
this._click(values);
|
||||
|
||||
text = text || "Test";
|
||||
if (values.consume_event === "input") {
|
||||
values.$element
|
||||
.trigger({ type: "keydown", key: text[text.length - 1] })
|
||||
.val(text)
|
||||
.trigger({ type: "keyup", key: text[text.length - 1] });
|
||||
values.$element[0].dispatchEvent(
|
||||
new InputEvent("input", {
|
||||
bubbles: true,
|
||||
})
|
||||
);
|
||||
} else if (values.$element.is("select")) {
|
||||
var $options = values.$element.find("option");
|
||||
$options.prop("selected", false).removeProp("selected");
|
||||
var $selectedOption = $options.filter(function () {
|
||||
return $(this).val() === text;
|
||||
});
|
||||
if ($selectedOption.length === 0) {
|
||||
$selectedOption = $options.filter(function () {
|
||||
return $(this).text().trim() === text;
|
||||
});
|
||||
}
|
||||
const regex = /option\s+([0-9]+)/;
|
||||
if ($selectedOption.length === 0 && regex.test(text)) {
|
||||
// Extract position as 1-based, as the nth selectors.
|
||||
const position = parseInt(regex.exec(text)[1]);
|
||||
$selectedOption = $options.eq(position - 1); // eq is 0-based.
|
||||
}
|
||||
$selectedOption.prop("selected", true);
|
||||
this._click(values);
|
||||
// For situations where an `oninput` is defined.
|
||||
values.$element.trigger("input");
|
||||
} else {
|
||||
values.$element.focusIn();
|
||||
values.$element.trigger($.Event("keydown", { key: "_" }));
|
||||
values.$element.text(text).trigger("input");
|
||||
values.$element.focusInEnd();
|
||||
values.$element.trigger($.Event("keyup", { key: "_" }));
|
||||
}
|
||||
values.$element[0].dispatchEvent(new Event("change", { bubbles: true, cancelable: false }));
|
||||
}
|
||||
_text_blur(values, text) {
|
||||
this._text(values, text);
|
||||
values.$element.trigger("focusout");
|
||||
values.$element.trigger("blur");
|
||||
}
|
||||
_range(values, text) {
|
||||
values.$element[0].value = text;
|
||||
values.$element[0].dispatchEvent(new Event('change', { bubbles: true, cancelable: false }));
|
||||
}
|
||||
_calculateCenter($el, selector) {
|
||||
const center = $el.offset();
|
||||
if (selector && selector.indexOf("iframe") !== -1) {
|
||||
const iFrameOffset = $("iframe").offset();
|
||||
center.left += iFrameOffset.left;
|
||||
center.top += iFrameOffset.top;
|
||||
}
|
||||
center.left += $el.outerWidth() / 2;
|
||||
center.top += $el.outerHeight() / 2;
|
||||
return center;
|
||||
}
|
||||
_drag_and_drop_jquery(values, to) {
|
||||
var $to;
|
||||
const elementCenter = this._calculateCenter(values.$element);
|
||||
if (to) {
|
||||
$to = getJQueryElementFromSelector(to);
|
||||
} else {
|
||||
$to = $(document.body);
|
||||
}
|
||||
|
||||
values.$element.trigger($.Event("mouseenter"));
|
||||
// Make the web_studio tour test happy. My guess is that 50%+ of the length of the dragged element
|
||||
// must be situated to the right of the $to element.
|
||||
values.$element.trigger(
|
||||
$.Event("mousedown", {
|
||||
which: 1,
|
||||
pageX: elementCenter.left + 1,
|
||||
pageY: elementCenter.top,
|
||||
})
|
||||
);
|
||||
// Some tests depends on elements present only when the element to drag
|
||||
// start to move while some other tests break while moving.
|
||||
if (!$to.length) {
|
||||
values.$element.trigger(
|
||||
$.Event("mousemove", {
|
||||
which: 1,
|
||||
pageX: elementCenter.left + 1,
|
||||
pageY: elementCenter.top,
|
||||
})
|
||||
);
|
||||
$to = getJQueryElementFromSelector(to);
|
||||
}
|
||||
|
||||
let toCenter = this._calculateCenter($to, to);
|
||||
values.$element.trigger(
|
||||
$.Event("mousemove", { which: 1, pageX: toCenter.left, pageY: toCenter.top })
|
||||
);
|
||||
// Recalculate the center as the mousemove might have made the element bigger.
|
||||
toCenter = this._calculateCenter($to, to);
|
||||
values.$element.trigger(
|
||||
$.Event("mouseup", { which: 1, pageX: toCenter.left, pageY: toCenter.top })
|
||||
);
|
||||
}
|
||||
/**
|
||||
* ! This function is a reduced version of "drag" in web/static/tests/helpers/utils.js
|
||||
* TODO: Unify utils for tests and tours since they're doing the exact same thing
|
||||
* @param {HTMLElement} source
|
||||
* @param {HTMLElement} target
|
||||
*/
|
||||
_drag_and_drop(source, target) {
|
||||
const sourceRect = source.getBoundingClientRect();
|
||||
const sourcePosition = {
|
||||
clientX: sourceRect.x + sourceRect.width / 2,
|
||||
clientY: sourceRect.y + sourceRect.height / 2,
|
||||
};
|
||||
|
||||
const targetRect = target.getBoundingClientRect();
|
||||
const targetPosition = {
|
||||
clientX: targetRect.x + targetRect.width / 2,
|
||||
clientY: targetRect.y + targetRect.height / 2,
|
||||
};
|
||||
|
||||
triggerPointerEvent(source, "pointerdown", true, sourcePosition);
|
||||
triggerPointerEvent(source, "pointermove", true, targetPosition);
|
||||
|
||||
for (const parent of getDifferentParents(source, target)) {
|
||||
triggerPointerEvent(parent, "pointerenter", false, targetPosition);
|
||||
}
|
||||
|
||||
triggerPointerEvent(target, "pointerup", true, targetPosition);
|
||||
}
|
||||
_keydown(values, keyCodes) {
|
||||
while (keyCodes.length) {
|
||||
const eventOptions = {};
|
||||
const keyCode = keyCodes.shift();
|
||||
let insertedText = null;
|
||||
if (isNaN(keyCode)) {
|
||||
eventOptions.key = keyCode;
|
||||
} else {
|
||||
const code = parseInt(keyCode, 10);
|
||||
if (
|
||||
code === 32 || // spacebar
|
||||
(code > 47 && code < 58) || // number keys
|
||||
(code > 64 && code < 91) || // letter keys
|
||||
(code > 95 && code < 112) || // numpad keys
|
||||
(code > 185 && code < 193) || // ;=,-./` (in order)
|
||||
(code > 218 && code < 223) // [\]' (in order))
|
||||
) {
|
||||
insertedText = String.fromCharCode(code);
|
||||
}
|
||||
}
|
||||
values.$element.trigger(Object.assign({ type: "keydown" }, eventOptions));
|
||||
if (insertedText) {
|
||||
document.execCommand("insertText", 0, insertedText);
|
||||
}
|
||||
values.$element.trigger(Object.assign({ type: "keyup" }, eventOptions));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const stepUtils = {
|
||||
_getHelpMessage(functionName, ...args) {
|
||||
return `Generated by function tour utils ${functionName}(${args.join(", ")})`;
|
||||
},
|
||||
|
||||
addDebugHelp(helpMessage, step) {
|
||||
if (typeof step.debugHelp === "string") {
|
||||
step.debugHelp = step.debugHelp + "\n" + helpMessage;
|
||||
} else {
|
||||
step.debugHelp = helpMessage;
|
||||
}
|
||||
return step;
|
||||
},
|
||||
|
||||
editionEnterpriseModifier(step) {
|
||||
step.edition = "enterprise";
|
||||
return step;
|
||||
},
|
||||
|
||||
mobileModifier(step) {
|
||||
step.mobile = true;
|
||||
return step;
|
||||
},
|
||||
|
||||
showAppsMenuItem() {
|
||||
return {
|
||||
edition: "community",
|
||||
trigger: ".o_navbar_apps_menu button",
|
||||
auto: true,
|
||||
position: "bottom",
|
||||
};
|
||||
},
|
||||
|
||||
toggleHomeMenu() {
|
||||
return {
|
||||
edition: "enterprise",
|
||||
trigger: ".o_main_navbar .o_menu_toggle",
|
||||
content: markup(_t("Click on the <i>Home icon</i> to navigate across apps.")),
|
||||
position: "bottom",
|
||||
};
|
||||
},
|
||||
|
||||
autoExpandMoreButtons(extra_trigger) {
|
||||
return {
|
||||
trigger: ".o-form-buttonbox",
|
||||
extra_trigger: extra_trigger,
|
||||
auto: true,
|
||||
run: (actions) => {
|
||||
const $more = $(".o-form-buttonbox .o_button_more");
|
||||
if ($more.length) {
|
||||
actions.click($more);
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
goBackBreadcrumbsMobile(description, ...extraTrigger) {
|
||||
return extraTrigger.map((element) => ({
|
||||
mobile: true,
|
||||
trigger: ".o_back_button",
|
||||
extra_trigger: element,
|
||||
content: description,
|
||||
position: "bottom",
|
||||
debugHelp: this._getHelpMessage(
|
||||
"goBackBreadcrumbsMobile",
|
||||
description,
|
||||
...extraTrigger
|
||||
),
|
||||
}));
|
||||
},
|
||||
|
||||
goToAppSteps(dataMenuXmlid, description) {
|
||||
return [
|
||||
this.showAppsMenuItem(),
|
||||
{
|
||||
trigger: `.o_app[data-menu-xmlid="${dataMenuXmlid}"]`,
|
||||
content: description,
|
||||
position: "right",
|
||||
edition: "community",
|
||||
},
|
||||
{
|
||||
trigger: `.o_app[data-menu-xmlid="${dataMenuXmlid}"]`,
|
||||
content: description,
|
||||
position: "bottom",
|
||||
edition: "enterprise",
|
||||
},
|
||||
].map((step) =>
|
||||
this.addDebugHelp(this._getHelpMessage("goToApp", dataMenuXmlid, description), step)
|
||||
);
|
||||
},
|
||||
|
||||
openBurgerMenu(extraTrigger) {
|
||||
return {
|
||||
mobile: true,
|
||||
trigger: ".o_mobile_menu_toggle",
|
||||
extra_trigger: extraTrigger,
|
||||
content: _t("Open bugger menu."),
|
||||
position: "bottom",
|
||||
debugHelp: this._getHelpMessage("openBurgerMenu", extraTrigger),
|
||||
};
|
||||
},
|
||||
|
||||
statusbarButtonsSteps(innerTextButton, description, extraTrigger) {
|
||||
return [
|
||||
{
|
||||
mobile: true,
|
||||
auto: true,
|
||||
trigger: ".o_statusbar_buttons",
|
||||
extra_trigger: extraTrigger,
|
||||
run: (actions) => {
|
||||
const $action = $(".o_statusbar_buttons .btn.dropdown-toggle:contains(Action)");
|
||||
if ($action.length) {
|
||||
actions.click($action);
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
trigger: `.o_statusbar_buttons button:enabled:contains('${innerTextButton}')`,
|
||||
content: description,
|
||||
position: "bottom",
|
||||
},
|
||||
].map((step) =>
|
||||
this.addDebugHelp(
|
||||
this._getHelpMessage(
|
||||
"statusbarButtonsSteps",
|
||||
innerTextButton,
|
||||
description,
|
||||
extraTrigger
|
||||
),
|
||||
step
|
||||
)
|
||||
);
|
||||
},
|
||||
|
||||
simulateEnterKeyboardInSearchModal() {
|
||||
return {
|
||||
mobile: true,
|
||||
trigger: ".o_searchview_input",
|
||||
extra_trigger: ".modal:not(.o_inactive_modal) .dropdown-menu.o_searchview_autocomplete",
|
||||
position: "bottom",
|
||||
run: (action) => {
|
||||
const keyEventEnter = new KeyboardEvent("keydown", {
|
||||
bubbles: true,
|
||||
cancelable: true,
|
||||
key: "Enter",
|
||||
code: "Enter",
|
||||
});
|
||||
action.tip_widget.$anchor[0].dispatchEvent(keyEventEnter);
|
||||
},
|
||||
debugHelp: this._getHelpMessage("simulateEnterKeyboardInSearchModal"),
|
||||
};
|
||||
},
|
||||
|
||||
mobileKanbanSearchMany2X(modalTitle, valueSearched) {
|
||||
return [
|
||||
{
|
||||
mobile: true,
|
||||
trigger: `.o_control_panel_navigation .btn .fa-search`,
|
||||
position: "bottom",
|
||||
},
|
||||
{
|
||||
mobile: true,
|
||||
trigger: ".o_searchview_input",
|
||||
extra_trigger: `.modal:not(.o_inactive_modal) .modal-title:contains('${modalTitle}')`,
|
||||
position: "bottom",
|
||||
run: `text ${valueSearched}`,
|
||||
},
|
||||
this.simulateEnterKeyboardInSearchModal(),
|
||||
{
|
||||
mobile: true,
|
||||
trigger: `.o_kanban_record .o_kanban_record_title :contains('${valueSearched}')`,
|
||||
position: "bottom",
|
||||
},
|
||||
].map((step) =>
|
||||
this.addDebugHelp(
|
||||
this._getHelpMessage("mobileKanbanSearchMany2X", modalTitle, valueSearched),
|
||||
step
|
||||
)
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Utility steps to save a form and wait for the save to complete
|
||||
*
|
||||
* @param {object} [options]
|
||||
* @param {string} [options.content]
|
||||
* @param {string} [options.extra_trigger] additional save-condition selector
|
||||
*/
|
||||
saveForm(options = {}) {
|
||||
return [
|
||||
{
|
||||
content: options.content || "save form",
|
||||
trigger: ".o_form_button_save",
|
||||
extra_trigger: options.extra_trigger,
|
||||
run: "click",
|
||||
auto: true,
|
||||
},
|
||||
{
|
||||
content: "wait for save completion",
|
||||
trigger: ".o_form_readonly, .o_form_saved",
|
||||
run() {},
|
||||
auto: true,
|
||||
},
|
||||
];
|
||||
},
|
||||
/**
|
||||
* Utility steps to cancel a form creation or edition.
|
||||
*
|
||||
* Supports creation/edition from either a form or a list view (so checks
|
||||
* for both states).
|
||||
*/
|
||||
discardForm(options = {}) {
|
||||
return [
|
||||
{
|
||||
content: options.content || "exit the form",
|
||||
trigger: ".o_form_button_cancel",
|
||||
extra_trigger: options.extra_trigger,
|
||||
run: "click",
|
||||
auto: true,
|
||||
},
|
||||
{
|
||||
content: "wait for cancellation to complete",
|
||||
trigger:
|
||||
".o_view_controller.o_list_view, .o_form_view > div > div > .o_form_readonly, .o_form_view > div > div > .o_form_saved",
|
||||
run() {},
|
||||
auto: true,
|
||||
},
|
||||
];
|
||||
},
|
||||
};
|
87
static/tests/debug_manager_tests.js
Normal file
87
static/tests/debug_manager_tests.js
Normal file
|
@ -0,0 +1,87 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { disableTours } from "@web_tour/debug/debug_manager";
|
||||
|
||||
import { hotkeyService } from "@web/core/hotkeys/hotkey_service";
|
||||
import { ormService } from "@web/core/orm_service";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { uiService } from "@web/core/ui/ui_service";
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
|
||||
import { click, getFixture, mount, patchWithCleanup } from "@web/../tests/helpers/utils";
|
||||
import { makeTestEnv } from "@web/../tests/helpers/mock_env";
|
||||
import { makeFakeLocalizationService, fakeCommandService } from "@web/../tests/helpers/mock_services";
|
||||
import { DebugMenuParent } from "@web/../tests/core/debug/debug_manager_tests";
|
||||
|
||||
const debugRegistry = registry.category("debug");
|
||||
let target;
|
||||
|
||||
QUnit.module("Tours", (hooks) => {
|
||||
|
||||
QUnit.module("DebugManager");
|
||||
|
||||
hooks.beforeEach(async () => {
|
||||
target = getFixture();
|
||||
registry
|
||||
.category("services")
|
||||
.add("hotkey", hotkeyService)
|
||||
.add("ui", uiService)
|
||||
.add("orm", ormService)
|
||||
.add("localization", makeFakeLocalizationService())
|
||||
.add("command", fakeCommandService);
|
||||
});
|
||||
|
||||
QUnit.test("can disable tours", async (assert) => {
|
||||
debugRegistry.category("default").add("disableTours", disableTours);
|
||||
|
||||
const fakeLocalStorage = {
|
||||
tour__sampletour1__currentIndex: "0",
|
||||
tour__sampletour1__stepDelay: "0",
|
||||
tour__sampletour1__keepWatchBrowser: "0",
|
||||
tour__sampletour1__showPointerDuration: "0",
|
||||
tour__sampletour1__mode: "manual",
|
||||
tour__sampletour2__currentIndex: "0",
|
||||
tour__sampletour2__stepDelay: "0",
|
||||
tour__sampletour2__keepWatchBrowser: "0",
|
||||
tour__sampletour2__showPointerDuration: "0",
|
||||
tour__sampletour2__mode: "manual",
|
||||
};
|
||||
|
||||
Object.defineProperties(fakeLocalStorage, {
|
||||
getItem: {
|
||||
value(key) {
|
||||
return fakeLocalStorage[key];
|
||||
},
|
||||
enumerable: false,
|
||||
},
|
||||
removeItem: {
|
||||
value(key) {
|
||||
delete fakeLocalStorage[key];
|
||||
},
|
||||
enumerable: false,
|
||||
},
|
||||
});
|
||||
|
||||
patchWithCleanup(browser, { localStorage: fakeLocalStorage });
|
||||
|
||||
const mockRPC = async (_route, args) => {
|
||||
if (args.method === "check_access_rights") {
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
if (args.method === "consume") {
|
||||
assert.step("consume");
|
||||
assert.deepEqual(args.args[0], ["sampletour1", "sampletour2"]);
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
};
|
||||
const env = await makeTestEnv({ mockRPC });
|
||||
|
||||
await mount(DebugMenuParent, target, { env });
|
||||
|
||||
await click(target.querySelector("button.dropdown-toggle"));
|
||||
|
||||
assert.containsOnce(target, ".dropdown-item");
|
||||
await click(target.querySelector(".dropdown-item"));
|
||||
assert.verifySteps(["consume"]);
|
||||
});
|
||||
});
|
742
static/tests/tour_service_tests.js
Normal file
742
static/tests/tour_service_tests.js
Normal file
|
@ -0,0 +1,742 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
import { MacroEngine } from "@web/core/macro";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { tourService } from "@web_tour/tour_service/tour_service";
|
||||
import { rpcService } from "@web/core/network/rpc_service";
|
||||
import { userService } from "@web/core/user_service";
|
||||
import { ormService } from "@web/core/orm_service";
|
||||
import { notificationService } from "@web/core/notifications/notification_service";
|
||||
import { effectService } from "@web/core/effects/effect_service";
|
||||
import { registerCleanup } from "@web/../tests/helpers/cleanup";
|
||||
import {
|
||||
getFixture,
|
||||
mount,
|
||||
mockTimeout,
|
||||
editInput,
|
||||
click,
|
||||
triggerEvent,
|
||||
nextTick,
|
||||
patchWithCleanup,
|
||||
} from "@web/../tests/helpers/utils";
|
||||
import { makeTestEnv } from "@web/../tests/helpers/mock_env";
|
||||
import { Component, useState, xml } from "@odoo/owl";
|
||||
import { session } from "@web/session";
|
||||
|
||||
let target, mock;
|
||||
|
||||
QUnit.module("Tour service", (hooks) => {
|
||||
QUnit.module("tour_service");
|
||||
|
||||
let tourRegistry;
|
||||
|
||||
class Counter extends Component {
|
||||
static template = xml/*html*/ `
|
||||
<div class="counter">
|
||||
<div class="interval">
|
||||
<input type="number" t-model.number="state.interval" />
|
||||
</div>
|
||||
<div class="counter">
|
||||
<span class="value" t-esc="state.value" />
|
||||
<button class="inc" t-on-click="onIncrement">+</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
setup() {
|
||||
this.state = useState({ interval: 1, value: 0 });
|
||||
}
|
||||
onIncrement() {
|
||||
this.state.value += this.state.interval;
|
||||
}
|
||||
}
|
||||
|
||||
hooks.beforeEach(() => {
|
||||
target = getFixture();
|
||||
mock = mockTimeout();
|
||||
tourRegistry = registry.category("web_tour.tours");
|
||||
delete registry.subRegistries["web_tour.tours"];
|
||||
let macroEngines = [];
|
||||
patchWithCleanup(MacroEngine.prototype, {
|
||||
start() {
|
||||
super.start(...arguments);
|
||||
macroEngines.push(this);
|
||||
},
|
||||
});
|
||||
registerCleanup(() => {
|
||||
macroEngines.forEach((e) => e.stop());
|
||||
macroEngines = [];
|
||||
});
|
||||
registry
|
||||
.category("services")
|
||||
.add("rpc", rpcService)
|
||||
.add("user", userService)
|
||||
.add("orm", ormService)
|
||||
.add("notification", notificationService)
|
||||
.add("effect", effectService)
|
||||
.add("tour_service", tourService);
|
||||
patchWithCleanup(browser.console, {
|
||||
// prevent form logging "tour successful" which would end the qunit suite test
|
||||
log: () => {},
|
||||
});
|
||||
});
|
||||
|
||||
hooks.afterEach(() => {
|
||||
registry.subRegistries["web_tour.tours"] = tourRegistry;
|
||||
});
|
||||
|
||||
QUnit.test("Tours sequence", async function (assert) {
|
||||
registry
|
||||
.category("web_tour.tours")
|
||||
.add("Tour 1", {
|
||||
sequence: 10,
|
||||
steps: () => [{ trigger: ".anchor" }],
|
||||
})
|
||||
.add("Tour 2", { steps: () => [{ trigger: ".anchor" }] })
|
||||
.add("Tour 3", {
|
||||
sequence: 5,
|
||||
steps: () => [{ trigger: ".anchor", content: "Oui" }],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
const sortedTours = env.services.tour_service.getSortedTours();
|
||||
assert.strictEqual(sortedTours[0].name, "Tour 3");
|
||||
});
|
||||
|
||||
QUnit.test("override existing tour by using saveAs", async function (assert) {
|
||||
registry
|
||||
.category("web_tour.tours")
|
||||
.add("Tour 1", {
|
||||
steps: () => [{ trigger: "#1" }],
|
||||
saveAs: "homepage",
|
||||
})
|
||||
.add("Tour 2", {
|
||||
steps: () => [{ trigger: "#2" }],
|
||||
saveAs: "homepage",
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
const sortedTours = env.services.tour_service.getSortedTours();
|
||||
assert.strictEqual(sortedTours.length, 1);
|
||||
assert.deepEqual(sortedTours[0].steps, [{ shadow_dom: undefined, trigger: "#2" }]);
|
||||
assert.deepEqual(sortedTours[0].name, "homepage");
|
||||
});
|
||||
|
||||
QUnit.test("points to next step", async function (assert) {
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(800);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
await click(target, "button.inc");
|
||||
assert.containsNone(document.body, ".o_tour_pointer");
|
||||
assert.strictEqual(target.querySelector("span.value").textContent, "1");
|
||||
});
|
||||
|
||||
QUnit.test("next step with new anchor at same position", async (assert) => {
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [{ trigger: "button.foo" }, { trigger: "button.bar" }],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Dummy extends Component {
|
||||
state = useState({ bool: true });
|
||||
static template = xml/*html*/ `
|
||||
<button class="foo w-100" t-if="state.bool" t-on-click="() => { state.bool = false; }">Foo</button>
|
||||
<button class="bar w-100" t-if="!state.bool">Bar</button>
|
||||
`;
|
||||
}
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Dummy };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Dummy />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(100);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
|
||||
// check position of the pointer relative to the foo button
|
||||
let pointerRect = document.body.querySelector(".o_tour_pointer").getBoundingClientRect();
|
||||
let buttonRect = document.body.querySelector("button.foo").getBoundingClientRect();
|
||||
const leftValue1 = pointerRect.left - buttonRect.left;
|
||||
const bottomValue1 = pointerRect.bottom - buttonRect.bottom;
|
||||
assert.ok(leftValue1 !== 0);
|
||||
assert.ok(bottomValue1 !== 0);
|
||||
|
||||
await click(target, "button.foo");
|
||||
await mock.advanceTime(100);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
|
||||
// check position of the pointer relative to the bar button
|
||||
pointerRect = document.body.querySelector(".o_tour_pointer").getBoundingClientRect();
|
||||
buttonRect = document.body.querySelector("button.bar").getBoundingClientRect();
|
||||
const leftValue2 = pointerRect.left - buttonRect.left;
|
||||
const bottomValue2 = pointerRect.bottom - buttonRect.bottom;
|
||||
assert.strictEqual(bottomValue1, bottomValue2);
|
||||
assert.strictEqual(leftValue1, leftValue2);
|
||||
});
|
||||
|
||||
QUnit.test("scroller pointer to reach next step", async function (assert) {
|
||||
patchWithCleanup(Element.prototype, {
|
||||
scrollIntoView(options) {
|
||||
super.scrollIntoView({ ...options, behavior: "instant" });
|
||||
},
|
||||
});
|
||||
|
||||
// The fixture should be shown for this test
|
||||
target.style.position = "fixed";
|
||||
target.style.top = "200px";
|
||||
target.style.left = "50px";
|
||||
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [{ trigger: "button.inc", content: "Click to increment" }],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<div class="scrollable-parent" style="overflow-y: scroll; height: 150px;">
|
||||
<div class="top-filler" style="height: 300px" />
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
<div class="bottom-filler" style="height: 300px" />
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(100); // awaits the macro engine
|
||||
|
||||
// Even if this seems weird, it should show the initial pointer.
|
||||
// This is due to the fact the intersection observer has just been started and
|
||||
// the pointer did not have the observations yet when the pointTo method was called.
|
||||
// This is a bit tricky to change for now because the synchronism of the pointTo method
|
||||
// is what permits to avoid multiple pointer to be shown at the same time
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Click to increment"
|
||||
);
|
||||
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
// now the scroller pointer should be shown
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Scroll down to reach the next step."
|
||||
);
|
||||
|
||||
// awaiting the click here permits to the intersection observer to update
|
||||
await click(document.body, ".o_tour_pointer");
|
||||
assert.containsNone(document.body, ".o_tour_pointer");
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Click to increment"
|
||||
);
|
||||
|
||||
document.querySelector(".scrollable-parent").scrollTop = 1000;
|
||||
await nextTick(); // awaits the intersection observer to update after the scroll
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Scroll up to reach the next step."
|
||||
);
|
||||
|
||||
// awaiting the click here permits to the intersection observer to update
|
||||
await click(document.body, ".o_tour_pointer");
|
||||
assert.containsNone(document.body, ".o_tour_pointer");
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Click to increment"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("scrolling to next step should update the pointer's height", async (assert) => {
|
||||
patchWithCleanup(Element.prototype, {
|
||||
scrollIntoView(options) {
|
||||
super.scrollIntoView({ ...options, behavior: "instant" });
|
||||
},
|
||||
});
|
||||
|
||||
// The fixture should be shown for this test
|
||||
target.style.position = "fixed";
|
||||
target.style.top = "200px";
|
||||
target.style.left = "50px";
|
||||
|
||||
const stepContent = "Click this pretty button to increment this magnificent counter !";
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
trigger: "button.inc",
|
||||
content: stepContent,
|
||||
},
|
||||
],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<div class="scrollable-parent" style="overflow-y: scroll; height: 150px;">
|
||||
<Counter />
|
||||
<div class="bottom-filler" style="height: 300px" />
|
||||
</div>
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(100); // awaits the macro engine
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(document.body.querySelector(".o_tour_pointer").textContent, stepContent);
|
||||
|
||||
const pointer = document.body.querySelector(".o_tour_pointer");
|
||||
assert.doesNotHaveClass(pointer, "o_open");
|
||||
assert.strictEqual(pointer.style.height, "28px");
|
||||
assert.strictEqual(pointer.style.width, "28px");
|
||||
|
||||
await triggerEvent(document.body, ".o_tour_pointer", "mouseenter");
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.hasClass(pointer, "o_open");
|
||||
const firstOpenHeight = pointer.style.height;
|
||||
const firstOpenWidth = pointer.style.width;
|
||||
|
||||
await triggerEvent(document.body, ".o_tour_pointer", "mouseleave");
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.doesNotHaveClass(pointer, "o_open");
|
||||
|
||||
document.querySelector(".scrollable-parent").scrollTop = 1000;
|
||||
await nextTick(); // awaits the intersection observer to update after the scroll
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
// now the scroller pointer should be shown
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(
|
||||
document.body.querySelector(".o_tour_pointer").textContent,
|
||||
"Scroll up to reach the next step."
|
||||
);
|
||||
|
||||
document.querySelector(".scrollable-parent").scrollTop = 0;
|
||||
await nextTick(); // awaits the intersection observer to update after the scroll
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
// now the true step pointer should be shown again
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
assert.equal(document.body.querySelector(".o_tour_pointer").textContent, stepContent);
|
||||
|
||||
await triggerEvent(document.body, ".o_tour_pointer", "mouseenter");
|
||||
await mock.advanceTime(100); // awaits for the macro engine next check cycle
|
||||
assert.hasClass(pointer, "o_open");
|
||||
const secondOpenHeight = pointer.style.height;
|
||||
const secondOpenWidth = pointer.style.width;
|
||||
assert.strictEqual(firstOpenHeight, secondOpenHeight);
|
||||
assert.strictEqual(firstOpenWidth, secondOpenWidth);
|
||||
});
|
||||
|
||||
QUnit.test("perform edit on next step", async function (assert) {
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
trigger: ".interval input",
|
||||
},
|
||||
{
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(750);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
await editInput(target, ".interval input", "5");
|
||||
assert.containsNone(document.body, ".o_tour_pointer");
|
||||
await mock.advanceTime(750);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
await click(target, "button.inc");
|
||||
assert.strictEqual(target.querySelector(".counter .value").textContent, "5");
|
||||
});
|
||||
|
||||
QUnit.test("trigger an event when a step is consummed", async function (assert) {
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [{ trigger: ".interval input" }],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
env.services.tour_service.bus.addEventListener("STEP-CONSUMMED", ({ detail }) => {
|
||||
assert.step(`Tour ${detail.tour.name}, step ${detail.step.trigger}`);
|
||||
});
|
||||
await mock.advanceTime(750);
|
||||
await editInput(target, ".interval input", "5");
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["Tour tour1, step .interval input"]);
|
||||
});
|
||||
|
||||
QUnit.test("should show only 1 pointer at a time", async function (assert) {
|
||||
const storage = new Map();
|
||||
patchWithCleanup(browser.localStorage, {
|
||||
getItem: (key) => storage.get(key),
|
||||
setItem: (key, value) => storage.set(key, value),
|
||||
removeItem: (key) => storage.delete(key),
|
||||
tour__tour1__sequence: 0,
|
||||
tour__tour2__sequence: 0,
|
||||
});
|
||||
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
trigger: ".interval input",
|
||||
},
|
||||
],
|
||||
});
|
||||
registry.category("web_tour.tours").add("tour2", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
env.services.tour_service.startTour("tour2", { mode: "manual" });
|
||||
await mock.advanceTime(750);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
await editInput(target, ".interval input", "5");
|
||||
assert.containsNone(document.body, ".o_tour_pointer");
|
||||
await mock.advanceTime(750);
|
||||
assert.containsOnce(document.body, ".o_tour_pointer");
|
||||
});
|
||||
|
||||
QUnit.test("hovering to the anchor element should show the content", async function (assert) {
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
sequence: 10,
|
||||
steps: () => [
|
||||
{
|
||||
content: "content",
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
env.services.tour_service.startTour("tour1", { mode: "manual" });
|
||||
await mock.advanceTime(750);
|
||||
assert.containsOnce(target, ".o_tour_pointer");
|
||||
triggerEvent(target, "button.inc", "mouseenter");
|
||||
await nextTick();
|
||||
assert.containsOnce(target, ".o_tour_pointer_content:not(.invisible)");
|
||||
assert.strictEqual(
|
||||
target.querySelector(".o_tour_pointer_content:not(.invisible)").textContent,
|
||||
"content"
|
||||
);
|
||||
triggerEvent(target, "button.inc", "mouseleave");
|
||||
await nextTick();
|
||||
assert.containsOnce(target, ".o_tour_pointer_content.invisible");
|
||||
});
|
||||
|
||||
QUnit.test(
|
||||
"registering non-test tour after service is started auto-starts the tour",
|
||||
async function (assert) {
|
||||
patchWithCleanup(session, { tour_disable: false });
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
assert.containsNone(target, ".o_tour_pointer");
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
steps: () => [
|
||||
{
|
||||
content: "content",
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
await mock.advanceTime(750);
|
||||
await nextTick();
|
||||
assert.containsOnce(target, ".o_tour_pointer");
|
||||
}
|
||||
);
|
||||
|
||||
QUnit.test(
|
||||
"registering test tour after service is started doesn't auto-start the tour",
|
||||
async function (assert) {
|
||||
patchWithCleanup(session, { tour_disable: false });
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer, Counter };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<Counter />
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
assert.containsNone(target, ".o_tour_pointer");
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
test: true,
|
||||
steps: () => [
|
||||
{
|
||||
content: "content",
|
||||
trigger: "button.inc",
|
||||
},
|
||||
],
|
||||
});
|
||||
await mock.advanceTime(750);
|
||||
await nextTick();
|
||||
assert.containsNone(target, ".o_tour_pointer");
|
||||
}
|
||||
);
|
||||
|
||||
QUnit.test("a failing tour logs the step that failed", async function (assert) {
|
||||
patchWithCleanup(browser.console, {
|
||||
log: (s) => assert.step(`log: ${s}`),
|
||||
warn: (s) => assert.step(`warn: ${s}`),
|
||||
error: (s) => assert.step(`error: ${s}`),
|
||||
});
|
||||
const env = await makeTestEnv({});
|
||||
|
||||
const { Component: OverlayContainer, props: overlayContainerProps } = registry
|
||||
.category("main_components")
|
||||
.get("OverlayContainer");
|
||||
|
||||
class Root extends Component {
|
||||
static components = { OverlayContainer };
|
||||
static template = xml/*html*/ `
|
||||
<t>
|
||||
<button class="button0">Button 0</button>
|
||||
<button class="button1">Button 1</button>
|
||||
<button class="button2">Button 2</button>
|
||||
<button class="button3">Button 3</button>
|
||||
<button class="button4">Button 4</button>
|
||||
<button class="button5">Button 5</button>
|
||||
<button class="button6">Button 6</button>
|
||||
<button class="button7">Button 7</button>
|
||||
<OverlayContainer t-props="props.overlayContainerProps" />
|
||||
</t>
|
||||
`;
|
||||
}
|
||||
|
||||
await mount(Root, target, { env, props: { overlayContainerProps } });
|
||||
registry.category("web_tour.tours").add("tour1", {
|
||||
test: true,
|
||||
steps: () => [
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button0",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button1",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button2",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button3",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".wrong_selector",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button4",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button5",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button6",
|
||||
},
|
||||
{
|
||||
content: "content",
|
||||
trigger: ".button7",
|
||||
},
|
||||
],
|
||||
});
|
||||
env.services.tour_service.startTour("tour1", { mode: "auto" });
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["log: Tour tour1 on step: 'content (trigger: .button0)'"]);
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["log: Tour tour1 on step: 'content (trigger: .button1)'"]);
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["log: Tour tour1 on step: 'content (trigger: .button2)'"]);
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["log: Tour tour1 on step: 'content (trigger: .button3)'"]);
|
||||
await mock.advanceTime(750);
|
||||
assert.verifySteps(["log: Tour tour1 on step: 'content (trigger: .wrong_selector)'"]);
|
||||
await mock.advanceTime(10000);
|
||||
const expectedWarning = `warn: Tour tour1 failed at step content (trigger: .wrong_selector)
|
||||
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button1"
|
||||
},
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button2"
|
||||
},
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button3"
|
||||
},
|
||||
----- FAILING STEP -----
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".wrong_selector"
|
||||
},
|
||||
-----------------------
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button4"
|
||||
},
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button5"
|
||||
},
|
||||
{
|
||||
"content": "content",
|
||||
"trigger": ".button6"
|
||||
},`;
|
||||
const expectedError = "error: Tour tour1 failed at step content (trigger: .wrong_selector)";
|
||||
assert.verifySteps([expectedWarning, expectedError]);
|
||||
});
|
||||
});
|
46
views/tour_views.xml
Normal file
46
views/tour_views.xml
Normal file
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="edit_tour_form" model="ir.ui.view">
|
||||
<field name="model">web_tour.tour</field>
|
||||
<field name="arch" type="xml">
|
||||
<form create="0" edit="0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="edit_tour_list" model="ir.ui.view">
|
||||
<field name="model">web_tour.tour</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Menu" create="0" edit="0">
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="edit_tour_search" model="ir.ui.view">
|
||||
<field name="name">tour.search</field>
|
||||
<field name="model">web_tour.tour</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Tip">
|
||||
<field name="name"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="edit_tour_action" model="ir.actions.act_window">
|
||||
<field name="name">Tours</field>
|
||||
<field name="res_model">web_tour.tour</field>
|
||||
<field name="view_id" ref="edit_tour_list"/>
|
||||
<field name="search_view_id" ref="edit_tour_search"/>
|
||||
</record>
|
||||
<menuitem action="edit_tour_action" id="menu_tour_action" parent="base.next_id_2" sequence="5"/>
|
||||
</odoo>
|
Loading…
Reference in New Issue
Block a user