diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-12 18:34:43 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-12 18:34:43 +0100 |
| commit | adeea2a88db4443b2b426877a28bb1471c2f5db1 (patch) | |
| tree | 2f43fecc9649947d3061e8c482219fa167b3385a /addons/web_editor | |
| parent | 317f5f11112266128ac2292ecfafcd92cda74fd0 (diff) | |
| parent | 0f02dcb63918228d48df50f2d5805b7fda25c14a (diff) | |
[MERGE] forward port branch saas-11.2 up to 0f02dcb6391
Diffstat (limited to 'addons/web_editor')
| -rw-r--r-- | addons/web_editor/controllers/main.py | 15 | ||||
| -rw-r--r-- | addons/web_editor/i18n/de.po | 245 | ||||
| -rw-r--r-- | addons/web_editor/i18n/es.po | 79 | ||||
| -rw-r--r-- | addons/web_editor/i18n/fr.po | 71 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/backend/fields.js | 3 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/editor/rte.summernote.js | 6 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/editor/snippets.options.js | 3 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/editor/summernote.js | 24 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/editor/transcoder.js | 32 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/iframe.js | 2 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/inline.js | 1 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/widgets/ace.js | 2 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/widgets/widgets.js | 127 | ||||
| -rw-r--r-- | addons/web_editor/static/src/xml/editor.xml | 7 |
14 files changed, 365 insertions, 252 deletions
diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py index f4500c7bcc6..b14c58ae938 100644 --- a/addons/web_editor/controllers/main.py +++ b/addons/web_editor/controllers/main.py @@ -146,6 +146,9 @@ class Web_Editor(http.Controller): # therefore we have to recover the files from the request object Attachments = request.env['ir.attachment'] # registry for the attachment table + res_model = kwargs.get('res_model', 'ir.ui.view') + res_id = res_model != 'ir.ui.view' and kwargs.get('res_id') or None + uploads = [] message = None if not upload: # no image provided, storing the link and the image name @@ -159,9 +162,11 @@ class Web_Editor(http.Controller): 'type': 'url', 'url': url, 'public': True, - 'res_model': 'ir.ui.view', + 'res_id': res_id, + 'res_model': res_model, }) - uploads += attachment.read(['name', 'mimetype', 'checksum', 'url']) + attachment.generate_access_token() + uploads += attachment.read(['name', 'mimetype', 'checksum', 'url', 'res_id', 'res_model', 'access_token']) else: # images provided try: attachments = request.env['ir.attachment'] @@ -188,10 +193,12 @@ class Web_Editor(http.Controller): 'datas': base64.b64encode(data), 'datas_fname': datas_fname, 'public': True, - 'res_model': 'ir.ui.view', + 'res_id': res_id, + 'res_model': res_model, }) + attachment.generate_access_token() attachments += attachment - uploads += attachments.read(['name', 'mimetype', 'checksum', 'url']) + uploads += attachments.read(['name', 'mimetype', 'checksum', 'url', 'res_id', 'res_model', 'access_token']) except Exception as e: logger.exception("Failed to upload image to attachment") message = pycompat.text_type(e) diff --git a/addons/web_editor/i18n/de.po b/addons/web_editor/i18n/de.po index b2308adbf5c..11d95f5c9a2 100644 --- a/addons/web_editor/i18n/de.po +++ b/addons/web_editor/i18n/de.po @@ -3,29 +3,30 @@ # * web_editor # # Translators: -# Henry Mineehen <info@mineehen.de>, 2017 +# Martin Trigaux, 2017 # Ermin Trevisan <trevi@twanda.com>, 2017 -# Martin Trigaux <mat@odoo.com>, 2017 -# Ralf Hilgenstock <rh@dialoge.info>, 2017 -# Thorsten Vocks <thorsten.vocks@openbig.org>, 2017 -# Niki Waibel <niki.waibel@gmail.com>, 2017 -# Anja Funk <anja.funk@afimage.de>, 2017 -# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017 -# Krakataua Katarajtu <shlok@hotmail.de>, 2017 # darenkster <inactive+darenkster@transifex.com>, 2017 +# Krakataua Katarajtu <shlok@hotmail.de>, 2017 +# Henry Mineehen <info@mineehen.de>, 2017 +# Wolfgang Taferner, 2017 # Tina Rittmüller <tr@ife.de>, 2017 +# Ralf Hilgenstock <rh@dialoge.info>, 2017 +# Anja Funk <anja.funk@afimage.de>, 2017 +# Renzo Meister, 2017 # Martin K <martinkuenz@gmail.com>, 2017 +# Thorsten Vocks <thorsten.vocks@openbig.org>, 2017 +# Niki Waibel, 2017 # Mathias Neef <mn@copado.de>, 2017 -# Renzo Meister <info@jamotion.ch>, 2017 # Constantin Ehrenstein <transifex@skiller.eu>, 2017 # AppleMentalist <felix.schnatbaum@gmail.com>, 2017 +# e2f <projects@e2f.com>, 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.saas~18\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-20 09:54+0000\n" "PO-Revision-Date: 2017-09-20 09:54+0000\n" -"Last-Translator: AppleMentalist <felix.schnatbaum@gmail.com>, 2017\n" +"Last-Translator: e2f <projects@e2f.com>, 2018\n" "Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +39,7 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "(URL or Embed)" -msgstr "" +msgstr "(URL oder Einbetten)" #. module: web_editor #. openerp-web @@ -60,27 +61,27 @@ msgstr "25% Weiß" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "50% Black" -msgstr "" +msgstr "50 % Schwarz" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "50% White" -msgstr "" +msgstr "50 % Weiß" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "75% Black" -msgstr "" +msgstr "75 % Schwarz" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "75% White" -msgstr "" +msgstr "75 % Weiß" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.snippets msgid "<i class=\"fa fa-th-large\"/> First Panel" -msgstr "" +msgstr "<i class=\"fa fa-th-large\"/>Panel Eins" #. module: web_editor #. openerp-web @@ -90,13 +91,16 @@ msgid "" "A server error occured. Please check you correctly signed in and that the " "file you are saving is well-formed." msgstr "" +"Ein Server-Fehler ist aufgetreten. Bitte überprüfen Sie die korrekt " +"signierte Anmeldung und ob die von Ihnen gespeicherte Datei gut gestaltet " +"ist." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Accepts" -msgstr "" +msgstr "Akzeptiert" #. module: web_editor #. openerp-web @@ -122,7 +126,7 @@ msgstr "Bild-URL hinzufügen" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.snippets msgid "Add blocks" -msgstr "" +msgstr "Blockierungen hinzufügen" #. module: web_editor #. openerp-web @@ -148,7 +152,7 @@ msgstr "Rechtsbündig" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Alpha" -msgstr "" +msgstr "Alpha" #. module: web_editor #. openerp-web @@ -162,7 +166,7 @@ msgstr "Alternativer Upload" #: code:addons/web_editor/static/src/xml/editor.xml:315 #, python-format msgid "Assign a focal point that will always be visible" -msgstr "" +msgstr "Einen Knotenpunkt zuweisen, der stets sichtbar ist." #. module: web_editor #: model:ir.model.fields,field_description:web_editor.field_ir_attachment_local_url @@ -174,7 +178,7 @@ msgstr "Dateianhang URL" #: code:addons/web_editor/static/src/xml/snippets.xml:11 #, python-format msgid "Auto size" -msgstr "" +msgstr "Automatische Größe" #. module: web_editor #. openerp-web @@ -203,40 +207,40 @@ msgstr "Grösse Hintergrundbild" #: code:addons/web_editor/static/src/xml/editor.xml:354 #, python-format msgid "Background height" -msgstr "" +msgstr "Hintergrundhöhe" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:364 #, python-format msgid "Background position" -msgstr "" +msgstr "Hintergrundposition" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:386 #, python-format msgid "Background repeat" -msgstr "" +msgstr "Hintergrund wiederholen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:342 #, python-format msgid "Background size" -msgstr "" +msgstr "Hintergrundgröße" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:345 #, python-format msgid "Background width" -msgstr "" +msgstr "Hintergrundbreite" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Beta" -msgstr "" +msgstr "Beta" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -262,7 +266,7 @@ msgstr "Fett:" #: code:addons/web_editor/static/src/js/widgets/ace.js:827 #, python-format msgid "Careful !" -msgstr "" +msgstr "Vorsicht!" #. module: web_editor #. openerp-web @@ -276,7 +280,7 @@ msgstr "Zentriert" #: code:addons/web_editor/static/src/js/widgets/widgets.js:55 #, python-format msgid "Change media description and tooltip" -msgstr "" +msgstr "Medienbeschreibung und Kurzinfo ändern" #. module: web_editor #. openerp-web @@ -320,14 +324,14 @@ msgstr "Spalten" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:61 #, python-format msgid "Common colors" -msgstr "" +msgstr "Übliche Farben" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:310 #, python-format msgid "Contain" -msgstr "" +msgstr "Enthalten" #. module: web_editor #. openerp-web @@ -341,14 +345,14 @@ msgstr "Zu übersetzender Inhalt" #: code:addons/web_editor/static/src/xml/editor.xml:194 #, python-format msgid "Copy-paste your URL or embed code here" -msgstr "" +msgstr "Fügen Sie URL oder Einbettungscode hier ein." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:309 #, python-format msgid "Cover" -msgstr "" +msgstr "Cover" #. module: web_editor #: model:ir.model.fields,field_description:web_editor.field_web_editor_converter_test_sub_create_uid @@ -379,7 +383,7 @@ msgstr "Anpassen" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Dailymotion" -msgstr "" +msgstr "Dailymotion" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -403,7 +407,7 @@ msgstr "Soll das Hintergrundbild wiederholt werden, und wenn ja, wie" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Delta" -msgstr "" +msgstr "Delta" #. module: web_editor #. openerp-web @@ -417,7 +421,7 @@ msgstr "Beschreibung" #: code:addons/web_editor/static/src/xml/editor.xml:34 #, python-format msgid "Description (alt tag)" -msgstr "" +msgstr "Beschreibung (alt-Tag)" #. module: web_editor #. openerp-web @@ -446,21 +450,21 @@ msgstr "Dokument" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:976 #, python-format msgid "Document Style" -msgstr "" +msgstr "Dokumentstil" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:860 #, python-format msgid "Double-click to edit" -msgstr "" +msgstr "Zum Bearbeiten doppelt klicken" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:903 #, python-format msgid "Drag an image here" -msgstr "" +msgstr "Bild hierhin ziehen" #. module: web_editor #. openerp-web @@ -487,14 +491,14 @@ msgstr "Bearbeiten" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Epsilon" -msgstr "" +msgstr "Epsilon" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets/ace.js:93 #, python-format msgid "Expected " -msgstr "" +msgstr "Erwartet" #. module: web_editor #. openerp-web @@ -508,42 +512,42 @@ msgstr "Extra Klein" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:895 #, python-format msgid "File / Image" -msgstr "" +msgstr "Datei/Bild" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/snippets.xml:12 #, python-format msgid "Fixed size" -msgstr "" +msgstr "Feste Größe" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:900 #, python-format msgid "Float Left" -msgstr "" +msgstr "Links frei" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:902 #, python-format msgid "Float None" -msgstr "" +msgstr "Nicht frei" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:901 #, python-format msgid "Float Right" -msgstr "" +msgstr "Rechts frei" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:964 #, python-format msgid "Font Color" -msgstr "" +msgstr "Schriftfarbe" #. module: web_editor #. openerp-web @@ -576,32 +580,32 @@ msgstr "Vollbild" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gamma" -msgstr "" +msgstr "Gamma" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gray" -msgstr "" +msgstr "Grau" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gray Dark" -msgstr "" +msgstr "Grau dunkel" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gray Darker" -msgstr "" +msgstr "Grau dunkler" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gray Light" -msgstr "" +msgstr "Grau hell" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker msgid "Gray Lighter" -msgstr "" +msgstr "Grau heller" #. module: web_editor #: model:ir.model,name:web_editor.model_ir_http @@ -671,42 +675,42 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:219 #, python-format msgid "Hide Dailymotion logo" -msgstr "" +msgstr "Dailymotion-Logo ausblenden" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:216 #, python-format msgid "Hide Youtube logo" -msgstr "" +msgstr "YouTube-Logo ausblenden" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:213 #, python-format msgid "Hide fullscreen button" -msgstr "" +msgstr "Vollbild-Schaltfläche ausblenden" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:210 #, python-format msgid "Hide player controls" -msgstr "" +msgstr "Spielersteuerung ausblenden" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:222 #, python-format msgid "Hide sharing button" -msgstr "" +msgstr "Teilen-Schaltfläche ausblenden" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:367 #, python-format msgid "Horizontal" -msgstr "" +msgstr "Horizontal" #. module: web_editor #: model:ir.model.fields,field_description:web_editor.field_web_editor_converter_test_sub_id @@ -721,6 +725,9 @@ msgid "" "If you discard the current edition, all unsaved changes will be lost. You " "can cancel to return to the edition mode." msgstr "" +"Wenn Sie die aktuelle Ausgabe verwerfen, gehen alle nicht gespeicherten " +"Änderungen verloren. Sie können durch Abbrechen in den Erfassungsmodus " +"kommen." #. module: web_editor #. openerp-web @@ -730,6 +737,8 @@ msgid "" "If you reset this file, all your customizations will be lost as it will be " "reverted to the default file." msgstr "" +"Wenn Sie diese Datei zurücksetzen, gehen all Ihre Anpassungen verloren, da " +"sie zur Standard-Datei zurückgesetzt wird." #. module: web_editor #. openerp-web @@ -753,27 +762,29 @@ msgid "" "In this mode, you can only translate texts. To change the structure of the page, you must edit the master page.\n" " Each modification on the master page is automatically applied to all translated versions." msgstr "" +"In diesem Modus können Sie nur Texte übersetzen. Um die Struktur der Seite zu ändern, müssen Sie die Master-Seite bearbeiten.\n" +" Jede Änderung der Master-Seite wird automatisch auf alle übersetzten Versionen angewendet." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/ace.xml:23 #, python-format msgid "Include All LESS Files" -msgstr "" +msgstr "Alle LESS-Dateien einschließen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/ace.xml:17 #, python-format msgid "Include Asset Bundles" -msgstr "" +msgstr "Asset-Bundle einschließen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:954 #, python-format msgid "Indent" -msgstr "" +msgstr "Einzug" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -785,7 +796,7 @@ msgstr "Information" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:928 #, python-format msgid "Insert Horizontal Rule" -msgstr "" +msgstr "Horizontale Regel einfügen" #. module: web_editor #. openerp-web @@ -806,14 +817,14 @@ msgstr "Link einfügen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:920 #, python-format msgid "Insert Video" -msgstr "" +msgstr "Video einfügen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Instagram" -msgstr "" +msgstr "Instagram" #. module: web_editor #. openerp-web @@ -834,21 +845,21 @@ msgstr "Kursiv" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:958 #, python-format msgid "Justify full" -msgstr "" +msgstr "Vollständiger Blocksatz" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:971 #, python-format msgid "Keyboard shortcuts" -msgstr "" +msgstr "Tastaturkürzel" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/ace.xml:11 #, python-format msgid "LESS (CSS)" -msgstr "" +msgstr "LESS (CSS)" #. module: web_editor #. openerp-web @@ -878,14 +889,14 @@ msgstr "Zuletzt aktualisiert am" #: code:addons/web_editor/static/src/js/widgets/ace.js:360 #, python-format msgid "Less file: %s" -msgstr "" +msgstr "LESS-Datei: %s" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:890 #, python-format msgid "Line Height" -msgstr "" +msgstr "Linienhöhe" #. module: web_editor #. openerp-web @@ -913,7 +924,7 @@ msgstr "Link zu" #: code:addons/web_editor/static/src/xml/editor.xml:207 #, python-format msgid "Loop" -msgstr "" +msgstr "Wiederholen" #. module: web_editor #. openerp-web @@ -947,7 +958,7 @@ msgstr "Weiter" #: code:addons/web_editor/static/src/xml/editor.xml:389 #, python-format msgid "No repeat" -msgstr "" +msgstr "Nicht wiederholen" #. module: web_editor #. openerp-web @@ -977,7 +988,7 @@ msgstr "Ok" #: code:addons/web_editor/static/src/js/editor/translator.js:93 #, python-format msgid "Ok, never show me this again" -msgstr "" +msgstr "Bitte nicht erneut anzeigen." #. module: web_editor #. openerp-web @@ -999,21 +1010,21 @@ msgstr "Optionen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:944 #, python-format msgid "Ordered list" -msgstr "" +msgstr "Geordnete Liste" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:953 #, python-format msgid "Outdent" -msgstr "" +msgstr "Ausrückung" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:113 #, python-format msgid "Padding" -msgstr "" +msgstr "Rand" #. module: web_editor #. openerp-web @@ -1068,21 +1079,21 @@ msgstr "Zitat" #: code:addons/web_editor/static/src/js/editor/rte.js:307 #, python-format msgid "Readonly field" -msgstr "" +msgstr "Schreibgeschütztes Feld" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:961 #, python-format msgid "Recent Color" -msgstr "" +msgstr "Zuletzt verwendete Farbe" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:980 #, python-format msgid "Redo" -msgstr "" +msgstr "Wiederholen" #. module: web_editor #. openerp-web @@ -1103,7 +1114,7 @@ msgstr "Block entfernen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:889 #, python-format msgid "Remove Font Style" -msgstr "" +msgstr "Schriftstil entfernen" #. module: web_editor #. openerp-web @@ -1124,21 +1135,21 @@ msgstr "Wiederholen" #: code:addons/web_editor/static/src/xml/editor.xml:390 #, python-format msgid "Repeat both" -msgstr "" +msgstr "Beide wiederholen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:391 #, python-format msgid "Repeat x" -msgstr "" +msgstr "x wiederholen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:392 #, python-format msgid "Repeat y" -msgstr "" +msgstr "y wiederholen" #. module: web_editor #. openerp-web @@ -1153,42 +1164,42 @@ msgstr "Zurücksetzen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:968 #, python-format msgid "Reset to default" -msgstr "" +msgstr "Auf Standard zurücksetzen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets/ace.js:485 #, python-format msgid "Reseting views is not supported yet" -msgstr "" +msgstr "Das Zurücksetzen der Ansichten wird noch nicht unterstützt." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:897 #, python-format msgid "Resize Full" -msgstr "" +msgstr "Vollansicht" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:898 #, python-format msgid "Resize Half" -msgstr "" +msgstr "Halbansicht" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:899 #, python-format msgid "Resize Quarter" -msgstr "" +msgstr "Viertelansicht" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/snippets.xml:12 #, python-format msgid "Resize to force the height of this block" -msgstr "" +msgstr "Größe ändern, damit die Höhe dieses Blocks bestimmt wird." #. module: web_editor #. openerp-web @@ -1211,14 +1222,14 @@ msgstr "Suchen" #: code:addons/web_editor/static/src/xml/snippets.xml:47 #, python-format msgid "Search Contact" -msgstr "" +msgstr "Kontakt suchen" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/snippets.xml:17 #, python-format msgid "Select Parent Container" -msgstr "" +msgstr "Übergeordneten Behälter auswählen" #. module: web_editor #. openerp-web @@ -1307,7 +1318,7 @@ msgstr "Drehen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:886 #, python-format msgid "Strikethrough" -msgstr "" +msgstr "Durchstreichen" #. module: web_editor #. openerp-web @@ -1321,7 +1332,7 @@ msgstr "Stil" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:887 #, python-format msgid "Subscript" -msgstr "" +msgstr "tiefstellen" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -1333,7 +1344,7 @@ msgstr "Erfolgreich" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:888 #, python-format msgid "Superscript" -msgstr "" +msgstr "hochstellen" #. module: web_editor #. openerp-web @@ -1354,14 +1365,14 @@ msgstr "Vorlagen ID: %s" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:973 #, python-format msgid "Text formatting" -msgstr "" +msgstr "Textformatierung" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:913 #, python-format msgid "Text to display" -msgstr "" +msgstr "Anzuzeigender Text" #. module: web_editor #. openerp-web @@ -1379,14 +1390,14 @@ msgstr "" #: code:addons/web_editor/static/src/js/widgets/widgets.js:871 #, python-format msgid "The provided url does not reference any supported video" -msgstr "" +msgstr "Die angegebene URL enthält kein unterstütztes Video." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets/widgets.js:865 #, python-format msgid "The provided url is not valid" -msgstr "" +msgstr "Die angegebene URL ist ungültig." #. module: web_editor #. openerp-web @@ -1415,7 +1426,7 @@ msgstr "Wohin soll dieser Link führen?" #: code:addons/web_editor/static/src/xml/editor.xml:40 #, python-format msgid "Tooltip" -msgstr "" +msgstr "Kurzinfo" #. module: web_editor #. openerp-web @@ -1436,7 +1447,7 @@ msgstr "Übersetzter Inhalt" #: code:addons/web_editor/static/src/js/editor/translator.js:91 #, python-format msgid "Translation Info" -msgstr "" +msgstr "Übersetzungs-Info" #. module: web_editor #. openerp-web @@ -1451,7 +1462,7 @@ msgstr "Transparen" #: code:addons/web_editor/static/src/xml/editor.xml:248 #, python-format msgid "URL or Email" -msgstr "" +msgstr "URL oder E-Mail" #. module: web_editor #. openerp-web @@ -1472,7 +1483,7 @@ msgstr "Rückgängig" #: code:addons/web_editor/static/src/js/widgets/ace.js:86 #, python-format msgid "Unexpected " -msgstr "" +msgstr "Unerwartet" #. module: web_editor #. openerp-web @@ -1486,14 +1497,14 @@ msgstr "Löschen" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:943 #, python-format msgid "Unordered list" -msgstr "" +msgstr "Nicht geordnete Liste" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:96 #, python-format msgid "Upload an image" -msgstr "" +msgstr "Bild hochladen" #. module: web_editor #. openerp-web @@ -1514,7 +1525,7 @@ msgstr "Hochladen …" #: code:addons/web_editor/static/src/xml/editor.xml:376 #, python-format msgid "Vertical" -msgstr "" +msgstr "Vertikal" #. module: web_editor #. openerp-web @@ -1543,21 +1554,21 @@ msgstr "Video-URL?" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "Video code" -msgstr "" +msgstr "Videocode" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vimeo" -msgstr "" +msgstr "Vimeo" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vine.co" -msgstr "" +msgstr "Vine.co" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -1575,14 +1586,14 @@ msgstr "Weiß" #: code:addons/web_editor/static/src/xml/ace.xml:10 #, python-format msgid "XML (HTML)" -msgstr "" +msgstr "XML (HTML)" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:110 #, python-format msgid "Xl" -msgstr "" +msgstr "Xl" #. module: web_editor #. openerp-web @@ -1596,14 +1607,14 @@ msgstr "Sie sind gerade dabei in den Übersetzungsmodus zu wechseln." #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Youku" -msgstr "" +msgstr "Youku" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Youtube" -msgstr "" +msgstr "YouTube" #. module: web_editor #. openerp-web @@ -1620,14 +1631,14 @@ msgstr "und" #: code:addons/web_editor/static/src/xml/editor.xml:379 #, python-format msgid "auto" -msgstr "" +msgstr "Auto" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:113 #, python-format msgid "https://www.odoo.com/logo.png" -msgstr "" +msgstr "https://www.odoo.com/logo.png" #. module: web_editor #: model:ir.model,name:web_editor.model_ir_attachment @@ -1729,17 +1740,17 @@ msgstr "ir.ui.view" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "videos" -msgstr "" +msgstr "Videos" #. module: web_editor #: model:ir.model,name:web_editor.model_web_editor_converter_test msgid "web_editor.converter.test" -msgstr "" +msgstr "web_editor.converter.test" #. module: web_editor #: model:ir.model,name:web_editor.model_web_editor_converter_test_sub msgid "web_editor.converter.test.sub" -msgstr "" +msgstr "web_editor.converter.test.sub" #. module: web_editor #. openerp-web diff --git a/addons/web_editor/i18n/es.po b/addons/web_editor/i18n/es.po index ceea09aefff..09b9423fe62 100644 --- a/addons/web_editor/i18n/es.po +++ b/addons/web_editor/i18n/es.po @@ -3,8 +3,8 @@ # * web_editor # # Translators: -# Martin Trigaux <mat@odoo.com>, 2016 -# Antonio Trueba <atgayol@gmail.com>, 2016 +# Martin Trigaux, 2016 +# Antonio Trueba, 2016 # Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2016 # Ivan Nieto <ivan.n.s@tuta.io>, 2016 # Pedro M. Baeza <pedro.baeza@gmail.com>, 2016 @@ -20,13 +20,14 @@ # Gelo Joga Landoo <gj@landoo.es>, 2017 # David Arnold <blaggacao@users.noreply.github.com>, 2017 # Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017 +# e2f <projects@e2f.com>, 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.saas~18\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-20 09:54+0000\n" "PO-Revision-Date: 2017-09-20 09:54+0000\n" -"Last-Translator: Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017\n" +"Last-Translator: e2f <projects@e2f.com>, 2018\n" "Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,7 +40,7 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "(URL or Embed)" -msgstr "" +msgstr "(URL o incrustación)" #. module: web_editor #. openerp-web @@ -91,13 +92,15 @@ msgid "" "A server error occured. Please check you correctly signed in and that the " "file you are saving is well-formed." msgstr "" +"Se ha producido un error de servidor. Compruebe que ha iniciado sesión " +"correctamente y que el archivo que está guardando está bien formado." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Accepts" -msgstr "" +msgstr "Acepta" #. module: web_editor #. openerp-web @@ -263,7 +266,7 @@ msgstr "Negrita" #: code:addons/web_editor/static/src/js/widgets/ace.js:827 #, python-format msgid "Careful !" -msgstr "" +msgstr "¡Precaución!" #. module: web_editor #. openerp-web @@ -342,7 +345,7 @@ msgstr "Contenido a traducir" #: code:addons/web_editor/static/src/xml/editor.xml:194 #, python-format msgid "Copy-paste your URL or embed code here" -msgstr "" +msgstr "Copie y pegue su URL o su código de incrustación aquí" #. module: web_editor #. openerp-web @@ -380,7 +383,7 @@ msgstr "Personalizar" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Dailymotion" -msgstr "" +msgstr "Dailymotion" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -418,7 +421,7 @@ msgstr "Descripción" #: code:addons/web_editor/static/src/xml/editor.xml:34 #, python-format msgid "Description (alt tag)" -msgstr "" +msgstr "Descripción (etiqueta ALT)" #. module: web_editor #. openerp-web @@ -495,7 +498,7 @@ msgstr "Epsilon" #: code:addons/web_editor/static/src/js/widgets/ace.js:93 #, python-format msgid "Expected " -msgstr "" +msgstr "Previsto" #. module: web_editor #. openerp-web @@ -671,35 +674,35 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:219 #, python-format msgid "Hide Dailymotion logo" -msgstr "" +msgstr "Ocultar logotipo de Dailymotion" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:216 #, python-format msgid "Hide Youtube logo" -msgstr "" +msgstr "Ocultar logotipo de Youtube" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:213 #, python-format msgid "Hide fullscreen button" -msgstr "" +msgstr "Ocultar botón de pantalla completa" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:210 #, python-format msgid "Hide player controls" -msgstr "" +msgstr "Ocultar controles de reproductor" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:222 #, python-format msgid "Hide sharing button" -msgstr "" +msgstr "Ocultar botón compartir" #. module: web_editor #. openerp-web @@ -732,6 +735,8 @@ msgid "" "If you reset this file, all your customizations will be lost as it will be " "reverted to the default file." msgstr "" +"Si restablece este archivo, todas sus personalizaciones se perderán y la " +"configuración volverá a ser la predeterminada." #. module: web_editor #. openerp-web @@ -755,13 +760,15 @@ msgid "" "In this mode, you can only translate texts. To change the structure of the page, you must edit the master page.\n" " Each modification on the master page is automatically applied to all translated versions." msgstr "" +"En este modo, solo puede traducir textos. Para cambiar la estructura de la página, debe editar la página maestra.\n" +" Las modificaciones de la página maestra se aplicarán automáticamente a todas las versiones traducidas." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/ace.xml:23 #, python-format msgid "Include All LESS Files" -msgstr "" +msgstr "Incluir todos los archivos LESS" #. module: web_editor #. openerp-web @@ -815,7 +822,7 @@ msgstr "Inserta video" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Instagram" -msgstr "" +msgstr "Instagram" #. module: web_editor #. openerp-web @@ -850,7 +857,7 @@ msgstr "Atajos de teclado" #: code:addons/web_editor/static/src/xml/ace.xml:11 #, python-format msgid "LESS (CSS)" -msgstr "" +msgstr "LESS (CSS)" #. module: web_editor #. openerp-web @@ -880,7 +887,7 @@ msgstr "Última actualización el" #: code:addons/web_editor/static/src/js/widgets/ace.js:360 #, python-format msgid "Less file: %s" -msgstr "" +msgstr "Archivo LESS: %s" #. module: web_editor #. openerp-web @@ -915,7 +922,7 @@ msgstr "Enlazar con" #: code:addons/web_editor/static/src/xml/editor.xml:207 #, python-format msgid "Loop" -msgstr "" +msgstr "Bucle" #. module: web_editor #. openerp-web @@ -979,7 +986,7 @@ msgstr "Aceptar" #: code:addons/web_editor/static/src/js/editor/translator.js:93 #, python-format msgid "Ok, never show me this again" -msgstr "" +msgstr "De acuerdo, no volver a mostrar esto" #. module: web_editor #. openerp-web @@ -1162,7 +1169,7 @@ msgstr "Resetear al defecto" #: code:addons/web_editor/static/src/js/widgets/ace.js:485 #, python-format msgid "Reseting views is not supported yet" -msgstr "" +msgstr "La función de restablecimiento de vistas aún no es compatible" #. module: web_editor #. openerp-web @@ -1248,7 +1255,7 @@ msgstr "Seleccione desde archivos" #: code:addons/web_editor/static/src/js/widgets/ace.js:567 #, python-format msgid "Server error" -msgstr "" +msgstr "Error de servidor" #. module: web_editor #. openerp-web @@ -1381,14 +1388,14 @@ msgstr "" #: code:addons/web_editor/static/src/js/widgets/widgets.js:871 #, python-format msgid "The provided url does not reference any supported video" -msgstr "" +msgstr "La URL proporcionada no hace referencia a ningún vídeo admitido" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets/widgets.js:865 #, python-format msgid "The provided url is not valid" -msgstr "" +msgstr "La URL proporcionada no es válida" #. module: web_editor #. openerp-web @@ -1438,7 +1445,7 @@ msgstr "Contenido traducido" #: code:addons/web_editor/static/src/js/editor/translator.js:91 #, python-format msgid "Translation Info" -msgstr "" +msgstr "Información de la traducción" #. module: web_editor #. openerp-web @@ -1453,7 +1460,7 @@ msgstr "Transparente" #: code:addons/web_editor/static/src/xml/editor.xml:248 #, python-format msgid "URL or Email" -msgstr "" +msgstr "URL o correo electrónico" #. module: web_editor #. openerp-web @@ -1474,7 +1481,7 @@ msgstr "Deshacer" #: code:addons/web_editor/static/src/js/widgets/ace.js:86 #, python-format msgid "Unexpected " -msgstr "" +msgstr "Inesperado" #. module: web_editor #. openerp-web @@ -1545,21 +1552,21 @@ msgstr "¿URL vídeo?" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "Video code" -msgstr "" +msgstr "Código de vídeo" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vimeo" -msgstr "" +msgstr "Vimeo" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vine.co" -msgstr "" +msgstr "Vine.co" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -1577,7 +1584,7 @@ msgstr "Blanco" #: code:addons/web_editor/static/src/xml/ace.xml:10 #, python-format msgid "XML (HTML)" -msgstr "" +msgstr "XML (HTML)" #. module: web_editor #. openerp-web @@ -1598,14 +1605,14 @@ msgstr "Está a punto de entrar en el modo de traducción." #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Youku" -msgstr "" +msgstr "Youku" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Youtube" -msgstr "" +msgstr "Youtube" #. module: web_editor #. openerp-web @@ -1622,7 +1629,7 @@ msgstr "y" #: code:addons/web_editor/static/src/xml/editor.xml:379 #, python-format msgid "auto" -msgstr "" +msgstr "automático" #. module: web_editor #. openerp-web @@ -1731,7 +1738,7 @@ msgstr "ir.ui.view" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "videos" -msgstr "" +msgstr "vídeos" #. module: web_editor #: model:ir.model,name:web_editor.model_web_editor_converter_test diff --git a/addons/web_editor/i18n/fr.po b/addons/web_editor/i18n/fr.po index 028410630d3..718600e927e 100644 --- a/addons/web_editor/i18n/fr.po +++ b/addons/web_editor/i18n/fr.po @@ -4,7 +4,7 @@ # # Translators: # Xavier Belmere <Info@cartmeleon.com>, 2016 -# Martin Trigaux <mat@odoo.com>, 2016 +# Martin Trigaux, 2016 # Olivier Lenoir <olivier.lenoir@free.fr>, 2016 # Fabien Pinckaers <fp@openerp.com>, 2016 # Loic <loic.richard2@gmail.com>, 2016 @@ -13,27 +13,28 @@ # Vincent Hammadache <vhammadache@gmail.com>, 2016 # Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016 # Fabri Yohann <psn@fabri.pw>, 2016 -# Fabrice Henrion <fhe@odoo.com>, 2016 +# Fabrice Henrion, 2016 # Xavier Symons <xsy@openerp.com>, 2016 # Melanie Bernard <mbe@odoo.com>, 2016 -# Kévin R. <realrom@hotmail.fr>, 2016 +# Kévin R., 2016 # Richard Mathot <rim@odoo.com>, 2016 # Shark McGnark <peculiarcheese@gmail.com>, 2016 # Fabien Bourgeois <fabien@yaltik.com>, 2016 -# Florian Hatat <mininet@wanadoo.fr>, 2016 +# Florian Hatat, 2016 # Quentin THEURET <odoo@kerpeo.com>, 2016 # Hubert TETARD <htetard@apik-conseils.com>, 2016 # Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2017 # Sébastien Le Ray <sebastien-github@orniz.org>, 2017 # Eloïse Stilmant <est@odoo.com>, 2017 # Olivier Dony <odo@odoo.com>, 2017 +# e2f <projects@e2f.com>, 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.saas~18\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-20 09:54+0000\n" "PO-Revision-Date: 2017-09-20 09:54+0000\n" -"Last-Translator: Olivier Dony <odo@odoo.com>, 2017\n" +"Last-Translator: e2f <projects@e2f.com>, 2018\n" "Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,7 +47,7 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "(URL or Embed)" -msgstr "" +msgstr "(URL ou code incorporé)" #. module: web_editor #. openerp-web @@ -98,13 +99,15 @@ msgid "" "A server error occured. Please check you correctly signed in and that the " "file you are saving is well-formed." msgstr "" +"Une erreur de serveur est survenue. Vérifiez que vous êtes bien connecté et " +"que le fichier que vous sauvegardez est bien mis en forme." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Accepts" -msgstr "" +msgstr "Accepte" #. module: web_editor #. openerp-web @@ -349,7 +352,7 @@ msgstr "Contenu à traduire" #: code:addons/web_editor/static/src/xml/editor.xml:194 #, python-format msgid "Copy-paste your URL or embed code here" -msgstr "" +msgstr "Copiez-coller votre URL ou votre code incorporé ici" #. module: web_editor #. openerp-web @@ -387,7 +390,7 @@ msgstr "Personnalisé" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Dailymotion" -msgstr "" +msgstr "Dailymotion" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -425,7 +428,7 @@ msgstr "Description" #: code:addons/web_editor/static/src/xml/editor.xml:34 #, python-format msgid "Description (alt tag)" -msgstr "" +msgstr "Description (balise alt)" #. module: web_editor #. openerp-web @@ -677,35 +680,35 @@ msgstr "Voici les exemples utilisés pour vous aider à traduire efficacement" #: code:addons/web_editor/static/src/xml/editor.xml:219 #, python-format msgid "Hide Dailymotion logo" -msgstr "" +msgstr "Masquer le logo Dailymotion" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:216 #, python-format msgid "Hide Youtube logo" -msgstr "" +msgstr "Masquer le logo YouTube" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:213 #, python-format msgid "Hide fullscreen button" -msgstr "" +msgstr "Masquer le bouton plein écran" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:210 #, python-format msgid "Hide player controls" -msgstr "" +msgstr "Masquer les commandes du lecteur" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:222 #, python-format msgid "Hide sharing button" -msgstr "" +msgstr "Masquer le bouton de partage" #. module: web_editor #. openerp-web @@ -738,6 +741,8 @@ msgid "" "If you reset this file, all your customizations will be lost as it will be " "reverted to the default file." msgstr "" +"Si vous réinitialisez ce fichier, toutes vos personnalisations seront " +"perdues, car vous retrouverez le fichier par défaut." #. module: web_editor #. openerp-web @@ -761,13 +766,15 @@ msgid "" "In this mode, you can only translate texts. To change the structure of the page, you must edit the master page.\n" " Each modification on the master page is automatically applied to all translated versions." msgstr "" +"Dans ce mode, vous pouvez uniquement traduire des textes. Pour modifier la structure de la page, vous devez modifier la page principale.\n" +" Chaque modification de la page principale est automatiquement appliquée à toutes les versions traduites." #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/ace.xml:23 #, python-format msgid "Include All LESS Files" -msgstr "" +msgstr "Inclure tous les fichiers MOINS" #. module: web_editor #. openerp-web @@ -821,7 +828,7 @@ msgstr "Insérer une video" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Instagram" -msgstr "" +msgstr "Instagram" #. module: web_editor #. openerp-web @@ -856,7 +863,7 @@ msgstr "Raccourcis clavier" #: code:addons/web_editor/static/src/xml/ace.xml:11 #, python-format msgid "LESS (CSS)" -msgstr "" +msgstr "MOINS (CSS)" #. module: web_editor #. openerp-web @@ -886,7 +893,7 @@ msgstr "Dernière mise à jour le" #: code:addons/web_editor/static/src/js/widgets/ace.js:360 #, python-format msgid "Less file: %s" -msgstr "" +msgstr "Fichier moins : %s" #. module: web_editor #. openerp-web @@ -921,7 +928,7 @@ msgstr "Lien vers" #: code:addons/web_editor/static/src/xml/editor.xml:207 #, python-format msgid "Loop" -msgstr "" +msgstr "Boucle" #. module: web_editor #. openerp-web @@ -985,7 +992,7 @@ msgstr "Ok" #: code:addons/web_editor/static/src/js/editor/translator.js:93 #, python-format msgid "Ok, never show me this again" -msgstr "" +msgstr "OK, ne plus me montrer cela" #. module: web_editor #. openerp-web @@ -1168,7 +1175,7 @@ msgstr "Remise par défaut" #: code:addons/web_editor/static/src/js/widgets/ace.js:485 #, python-format msgid "Reseting views is not supported yet" -msgstr "" +msgstr "La réinitialisation des affichages n'est pas encore possible" #. module: web_editor #. openerp-web @@ -1387,14 +1394,14 @@ msgstr "" #: code:addons/web_editor/static/src/js/widgets/widgets.js:871 #, python-format msgid "The provided url does not reference any supported video" -msgstr "" +msgstr "L'URL fournie ne renvoie à aucune vidéo compatible" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets/widgets.js:865 #, python-format msgid "The provided url is not valid" -msgstr "" +msgstr "L'URL fournie n'est pas valide" #. module: web_editor #. openerp-web @@ -1444,7 +1451,7 @@ msgstr "Traduire le contenu" #: code:addons/web_editor/static/src/js/editor/translator.js:91 #, python-format msgid "Translation Info" -msgstr "" +msgstr "Informations de traduction" #. module: web_editor #. openerp-web @@ -1459,7 +1466,7 @@ msgstr "Transparent" #: code:addons/web_editor/static/src/xml/editor.xml:248 #, python-format msgid "URL or Email" -msgstr "" +msgstr "URL ou e-mail" #. module: web_editor #. openerp-web @@ -1551,21 +1558,21 @@ msgstr "Url vidéo?" #: code:addons/web_editor/static/src/xml/editor.xml:193 #, python-format msgid "Video code" -msgstr "" +msgstr "Code de la vidéo" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vimeo" -msgstr "" +msgstr "Vimeo" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Vine.co" -msgstr "" +msgstr "Vine.co" #. module: web_editor #: model:ir.ui.view,arch_db:web_editor.colorpicker @@ -1583,7 +1590,7 @@ msgstr "Blanc" #: code:addons/web_editor/static/src/xml/ace.xml:10 #, python-format msgid "XML (HTML)" -msgstr "" +msgstr "XML (HTML)" #. module: web_editor #. openerp-web @@ -1604,7 +1611,7 @@ msgstr "Vous allez passer en mode traduction." #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "Youku" -msgstr "" +msgstr "Youku" #. module: web_editor #. openerp-web @@ -1737,7 +1744,7 @@ msgstr "ir.ui.view" #: code:addons/web_editor/static/src/xml/editor.xml:198 #, python-format msgid "videos" -msgstr "" +msgstr "vidéos" #. module: web_editor #: model:ir.model,name:web_editor.model_web_editor_converter_test diff --git a/addons/web_editor/static/src/js/backend/fields.js b/addons/web_editor/static/src/js/backend/fields.js index b84fcd21c91..d3d601bac73 100644 --- a/addons/web_editor/static/src/js/backend/fields.js +++ b/addons/web_editor/static/src/js/backend/fields.js @@ -118,6 +118,7 @@ var FieldTextHtmlSimple = basic_fields.DebouncedField.extend(TranslatableFieldMi */ _getValue: function () { if (this.nodeOptions['style-inline']) { + transcoder.linkImgToAttachmentThumbnail(this.$content); transcoder.classToStyle(this.$content); transcoder.fontToImg(this.$content); } @@ -133,6 +134,8 @@ var FieldTextHtmlSimple = basic_fields.DebouncedField.extend(TranslatableFieldMi this.$textarea.summernote(this._getSummernoteConfig()); this.$content = this.$('.note-editable:first'); this.$content.html(this._textToHtml(this.value)); + this.$content.data('oe-id', this.recordData.res_id || this.res_id); + this.$content.data('oe-model', this.recordData.model || this.model); // trigger a mouseup to refresh the editor toolbar this.$content.trigger('mouseup'); if (this.nodeOptions['style-inline']) { diff --git a/addons/web_editor/static/src/js/editor/rte.summernote.js b/addons/web_editor/static/src/js/editor/rte.summernote.js index d2613f42635..fb4d6fc7206 100644 --- a/addons/web_editor/static/src/js/editor/rte.summernote.js +++ b/addons/web_editor/static/src/js/editor/rte.summernote.js @@ -1084,8 +1084,12 @@ var SummernoteManager = Class.extend(mixins.EventDispatcherMixin, { return; } data.__alreadyDone = true; + var mediaDialog = new weWidgets.MediaDialog(this, - data.options || {}, + _.extend({ + res_model: data.$editable.data('oe-model'), + res_id: data.$editable.data('oe-id'), + }, data.options), data.$editable, data.media ); diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js index 24d9663a058..188b563f238 100644 --- a/addons/web_editor/static/src/js/editor/snippets.options.js +++ b/addons/web_editor/static/src/js/editor/snippets.options.js @@ -813,9 +813,12 @@ registry.background = SnippetOption.extend({ // Put fake image in the DOM, edit it and use it as background-image var $image = $('<img/>', {class: 'hidden', src: value}).appendTo(this.$target); + var $editable = this.$target.closest('.o_editable'); var _editor = new weWidgets.MediaDialog(this, { onlyImages: true, firstFilters: ['background'], + res_model: $editable.data('oe-model'), + res_id: $editable.data('oe-id'), }, null, $image[0]).open(); _editor.on('save', this, function () { diff --git a/addons/web_editor/static/src/js/editor/summernote.js b/addons/web_editor/static/src/js/editor/summernote.js index 59609eab8a5..121a1a6d3d7 100644 --- a/addons/web_editor/static/src/js/editor/summernote.js +++ b/addons/web_editor/static/src/js/editor/summernote.js @@ -913,15 +913,21 @@ range.WrappedRange.prototype.deleteContents = function (towrite) { return this; } - var prevBP = dom.removeBetween(this.sc, this.so, this.ec, this.eo, towrite); + var r; + var image = this.isOnImg(); + if (image) { + // If the range matches/is in an image, then the image is to be removed + // and the cursor moved to its previous position + var parentNode = image.parentNode; + var index = _.indexOf(parentNode.childNodes, image); + parentNode.removeChild(image); + r = new range.WrappedRange(parentNode, index, parentNode, index); + } else { + r = dom.removeBetween(this.sc, this.so, this.ec, this.eo, towrite); + } - $(dom.node(prevBP.sc)).trigger("click"); // trigger click to disable and reanable editor and image handler - return new range.WrappedRange( - prevBP.sc, - prevBP.so, - prevBP.ec, - prevBP.eo - ); + $(dom.node(r.sc)).trigger("click"); // trigger click to disable and reanable editor and image handler + return new range.WrappedRange(r.sc, r.so, r.ec, r.eo); }; range.WrappedRange.prototype.clean = function (mergeFilter, all) { var node = dom.node(this.sc === this.ec ? this.sc : this.commonAncestor()); @@ -1258,7 +1264,7 @@ $.summernote.pluginEvents.visible = function (event, editor, layoutInfo) { }; function remove_table_content(r) { - var nodes = dom.listBetween(r.sc, r.ec); + var nodes = dom.listBetween(r.sc, r.ec, r.so, r.eo); if (dom.isText(r.sc)) { r.sc.textContent = r.sc.textContent.slice(0, r.so); } diff --git a/addons/web_editor/static/src/js/editor/transcoder.js b/addons/web_editor/static/src/js/editor/transcoder.js index 058ea8ebcc7..6fd57c0330b 100644 --- a/addons/web_editor/static/src/js/editor/transcoder.js +++ b/addons/web_editor/static/src/js/editor/transcoder.js @@ -18,7 +18,7 @@ function getMatchedCSSRules(a) { var sheets = document.styleSheets; for (i = sheets.length-1 ; i >= 0 ; i--) { var rules; - if (sheets[i].rules) { + if (sheets[i].hasOwnProperty('rules')) { rules = sheets[i].rules; } else { // try...catch because Firefox not able to enumerate @@ -259,10 +259,40 @@ function styleToClass($editable) { $c.remove(); } +/** + * Converts css display for attachment link to real image. + * Without this post process, the display depends on the css and the picture + * does not appear when we use the html without css (to send by email for e.g.) + * + * @param {jQuery} $editable + */ +function attachmentThumbnailToLinkImg($editable) { + $editable.find('a[href*="/web/content/"][data-mimetype]:empty').each(function () { + var $link = $(this); + var $img = $('<img/>') + .attr('src', $link.css('background-image').replace(/(^url\(['"])|(['"]\)$)/g, '')) + .css('height', Math.max(1, $link.height()) + 'px') + .css('width', Math.max(1, $link.width()) + 'px'); + $link.append($img); + }); +} + +/** + * Revert attachmentThumbnailToLinkImg changes + * + * @see attachmentThumbnailToLinkImg + * @param {jQuery} $editable + */ +function linkImgToAttachmentThumbnail($editable) { + $editable.find('a[href*="/web/content/"][data-mimetype] > img').remove(); +} + return { fontToImg: fontToImg, imgToFont: imgToFont, classToStyle: classToStyle, styleToClass: styleToClass, + attachmentThumbnailToLinkImg: attachmentThumbnailToLinkImg, + linkImgToAttachmentThumbnail: linkImgToAttachmentThumbnail, }; }); diff --git a/addons/web_editor/static/src/js/iframe.js b/addons/web_editor/static/src/js/iframe.js index 949a141c333..f2c5e3be661 100644 --- a/addons/web_editor/static/src/js/iframe.js +++ b/addons/web_editor/static/src/js/iframe.js @@ -82,7 +82,7 @@ translator.Class.include({ //============================================================================== -odoo.define('web_editor.IframeRoot.instance', function (require) { +odoo.define('root.widget', function (require) { 'use strict'; require('web.dom_ready'); diff --git a/addons/web_editor/static/src/js/inline.js b/addons/web_editor/static/src/js/inline.js index 7480b2228fa..b1de23cb293 100644 --- a/addons/web_editor/static/src/js/inline.js +++ b/addons/web_editor/static/src/js/inline.js @@ -53,6 +53,7 @@ snippet_editor.Class.include({ this._super.apply(this, arguments); var $editable = $('#editable_area'); + transcoder.linkImgToAttachmentThumbnail($editable); transcoder.fontToImg($editable); transcoder.classToStyle($editable); diff --git a/addons/web_editor/static/src/js/widgets/ace.js b/addons/web_editor/static/src/js/widgets/ace.js index 6c28c1e2332..0a89d0d8ce7 100644 --- a/addons/web_editor/static/src/js/widgets/ace.js +++ b/addons/web_editor/static/src/js/widgets/ace.js @@ -742,7 +742,7 @@ var ViewEditor = Widget.extend({ var text = data.text || ''; if (!isSelected) { - text = Array($elem.data('level') + 1).join('-') + ' ' + text; + text = Array(($elem.data('level') || 0) + 1).join('-') + ' ' + text; } var $div = $('<div/>', { text: text, diff --git a/addons/web_editor/static/src/js/widgets/widgets.js b/addons/web_editor/static/src/js/widgets/widgets.js index 6791a21f721..c9659e04eab 100644 --- a/addons/web_editor/static/src/js/widgets/widgets.js +++ b/addons/web_editor/static/src/js/widgets/widgets.js @@ -206,13 +206,16 @@ var ImageWidget = MediaWidget.extend({ this.IMAGES_PER_PAGE = this.IMAGES_PER_ROW * this.IMAGES_ROWS; + this.options = options; this.accept = options.accept || (options.document ? '*/*' : 'image/*'); - this.domain = options.domain - || [ - '|', - ['mimetype', '=', false], - ['mimetype', options.document ? 'not in' : 'in', ['image/gif', 'image/jpe', 'image/jpeg', 'image/jpg', 'image/gif', 'image/png']] - ]; + if (options.res_id) { + this.domain = ['|', + '&', ['res_model', '=', options.res_model], ['res_id', '=', options.res_id], + ['res_model', '=', 'ir.ui.view']]; + } else { + this.domain = [['res_model', '=', 'ir.ui.view']]; + } + this.multiImages = options.multiImages; this.firstFilters = options.firstFilters || []; @@ -279,32 +282,55 @@ var ImageWidget = MediaWidget.extend({ * @override */ save: function () { + var self = this; if (this.multiImages) { return this.images; } var img = this.images[0]; - if (!img.isDocument) { - if (!this.$media.is('img')) { - this._replaceMedia($('<img/>')); - } - this.$media.attr('src', img.src); - } else { - if (!this.$media.is('a')) { - $('.note-control-selection').hide(); - this._replaceMedia($('<a/>')); - } - this.$media.attr('href', '/web/content/' + img.id + '?unique=' + img.checksum + '&download=true'); - this.$media.addClass('o_image').attr('title', img.name).attr('data-mimetype', img.mimetype); + var def = $.when(); + if (!img.access_token) { + def = this._rpc({ + model: 'ir.attachment', + method: 'generate_access_token', + args: [[img.id]] + }).then(function (access_token) { + img.access_token = access_token[0]; + }); } - this.$media.attr('alt', img.alt); - var style = this.style; - if (style) { - this.$media.css(style); - } + return def.then(function () { + if (!img.isDocument) { + if (img.access_token && self.options.res_model !== 'ir.ui.view') { + img.src += _.str.sprintf('?access_token=%s', img.access_token); + } + if (!self.$media.is('img')) { + self._replaceMedia($('<img/>')); + } + self.$media.attr('src', img.src); - return this.media; + } else { + if (!self.$media.is('a')) { + $('.note-control-selection').hide(); + self._replaceMedia($('<a/>')); + } + var href = '/web/content/' + img.id + '?'; + if (img.access_token && self.options.res_model !== 'ir.ui.view') { + href += _.str.sprintf('access_token=%s&', img.access_token); + } + href += 'unique=' + img.checksum + '&download=true'; + self.$media.attr('href', href); + self.$media.addClass('o_image').attr('title', img.name).attr('data-mimetype', img.mimetype); + } + + self.$media.attr('alt', img.alt); + var style = self.style; + if (style) { + self.$media.css(style); + } + + return self.media; + }); }, /** * @override @@ -314,7 +340,7 @@ var ImageWidget = MediaWidget.extend({ if (!noRender) { this.$('input.url').val('').trigger('input').trigger('change'); } - var domain = [['res_model', '=', 'ir.ui.view']].concat(this.domain); + var domain = this.domain.concat(['|', ['mimetype', '=', false], ['mimetype', this.options.document ? 'not in' : 'in', ['image/gif', 'image/jpe', 'image/jpeg', 'image/jpg', 'image/gif', 'image/png']]]); if (needle && needle.length) { domain.push('|', ['datas_fname', 'ilike', needle], ['name', 'ilike', needle]); } @@ -324,7 +350,7 @@ var ImageWidget = MediaWidget.extend({ args: [], kwargs: { domain: domain, - fields: ['name', 'datas_fname', 'mimetype', 'checksum', 'url', 'type'], + fields: ['name', 'datas_fname', 'mimetype', 'checksum', 'url', 'type', 'res_id', 'res_model', 'access_token'], order: [{name: 'id', asc: false}], context: weContext.get(), }, @@ -354,7 +380,7 @@ var ImageWidget = MediaWidget.extend({ .value(); _.each(self.records, function (record) { - record.src = record.url || _.str.sprintf('/web/image/%s/%s', record.id, record.name); // Name is added for SEO purposes + record.src = record.url || _.str.sprintf('/web/image/%s/%s', record.id, encodeURI(record.name)); // Name is added for SEO purposes record.isDocument = !(/gif|jpe|jpg|png/.test(record.mimetype)); }); if (!noRender) { @@ -1143,11 +1169,15 @@ var MediaDialog = Dialog.extend({ */ save: function () { var self = this; + var args = arguments; + var _super = this._super; if (this.multiImages) { // In the case of multi images selection we suppose this was not to // replace an old media, so we only retrieve the images and save. - this.final_data = this.active.save(); - return this._super.apply(this, arguments); + return $.when(this.active.save()).then(function (data) { + self.final_data = data; + return _super.apply(self, args); + }); } if (this.rte) { @@ -1164,28 +1194,29 @@ var MediaDialog = Dialog.extend({ } }); } - var media = this.active.save(); - if (!this.media) { - this.range.insertNode(media, true); - } - this.media = media; - this.$media = $(media); - this.final_data = this.media; - $(this.final_data).trigger('input').trigger('save'); - $(document.body).trigger("media-saved", this.final_data); // TODO get rid of this - - // Update editor bar after image edition (in case the image change to icon or other) - _.defer(function () { - if (!self.media.parentNode) { - return; + return $.when(this.active.save()).then(function (media) { + if (!self.media) { + self.range.insertNode(media, true); } - range.createFromNode(self.media).select(); - simulateMouseEvent(self.media, 'mousedown'); - simulateMouseEvent(self.media, 'mouseup'); - }); + self.media = media; + self.$media = $(media); - return this._super.apply(this, arguments); + self.final_data = self.media; + $(self.final_data).trigger('input').trigger('save'); + $(document.body).trigger("media-saved", self.final_data); // TODO get rid of this + + // Update editor bar after image edition (in case the image change to icon or other) + _.defer(function () { + if (!self.media.parentNode) { + return; + } + range.createFromNode(self.media).select(); + simulateMouseEvent(self.media, 'mousedown'); + simulateMouseEvent(self.media, 'mouseup'); + }); + return _super.apply(self, args); + }); }, //-------------------------------------------------------------------------- diff --git a/addons/web_editor/static/src/xml/editor.xml b/addons/web_editor/static/src/xml/editor.xml index 81abb435f2b..425c1bf1bce 100644 --- a/addons/web_editor/static/src/xml/editor.xml +++ b/addons/web_editor/static/src/xml/editor.xml @@ -86,6 +86,8 @@ target="fileframe"> <input type="hidden" name="csrf_token" t-att-value="csrf_token"/> <input type="hidden" name="filters" t-att-value="widget.firstFilters.join('_')"/> + <input t-if="widget.options.res_id" type="hidden" name="res_id" t-att-value="widget.options.res_id"/> + <input t-if="widget.options.res_model" type="hidden" name="res_model" t-att-value="widget.options.res_model"/> <div class="well"> <div class="form-group pull-left"> <input type="file" class="hidden" name="upload" t-att-accept="widget.accept" multiple="multiple"/> @@ -142,8 +144,9 @@ <div class="existing-attachments"> <div class="row mt16" t-as="row" t-foreach="rows"> <div class="col-sm-2 o_existing_attachment_cell" t-as="attachment" t-foreach="row"> - <i class="fa fa-times o_existing_attachment_remove" t-att-data-id="attachment.id"/> - <div class="o_attachment_border"><div t-att-data-src="attachment.src" t-att-data-url="attachment.url" t-att-alt="attachment.name" t-att-title="attachment.name" t-att-data-id="attachment.id" t-att-data-mimetype="attachment.mimetype" class="o_image o_image_loading"/></div> + <i t-if="attachment.res_model === 'ir.ui.view'" class="fa fa-times o_existing_attachment_remove" title="This file is a public view attachment" t-att-data-id="attachment.id"/> + <i t-else="" class="fa fa-times o_existing_attachment_remove" title="This file is attached to the current record" t-att-data-id="attachment.id"/> + <div class="o_attachment_border" t-att-style="attachment.res_model === 'ir.ui.view' ? null : 'border: 1px solid #5cb85c;'"><div t-att-data-src="attachment.src" t-att-data-url="attachment.url" t-att-alt="attachment.name" t-att-title="attachment.name" t-att-data-id="attachment.id" t-att-data-mimetype="attachment.mimetype" class="o_image o_image_loading"/></div> </div> </div> </div> |
