diff --git a/src/editor/EditorStartup.js b/src/editor/EditorStartup.js index 588173a6..d923ef51 100644 --- a/src/editor/EditorStartup.js +++ b/src/editor/EditorStartup.js @@ -81,14 +81,17 @@ class EditorStartup { const newSeImgPropDialog = document.createElement('se-img-prop-dialog'); newSeImgPropDialog.setAttribute('id', 'se-img-prop'); document.body.append(newSeImgPropDialog); + newSeImgPropDialog.init(this.i18next); // editor prefences dialoag added to DOM const newSeEditPrefsDialog = document.createElement('se-edit-prefs-dialog'); newSeEditPrefsDialog.setAttribute('id', 'se-edit-prefs'); document.body.append(newSeEditPrefsDialog); + newSeEditPrefsDialog.init(this.i18next); // canvas menu added to DOM const dialogBox = document.createElement('se-cmenu_canvas-dialog'); dialogBox.setAttribute('id', 'se-cmenu_canvas'); document.body.append(dialogBox); + dialogBox.init(this.i18next); // alertDialog added to DOM const alertBox = document.createElement('se-alert-dialog'); alertBox.setAttribute('id', 'se-alert-dialog'); @@ -101,6 +104,7 @@ class EditorStartup { const exportDialog = document.createElement('se-export-dialog'); exportDialog.setAttribute('id', 'se-export-dialog'); document.body.append(exportDialog); + exportDialog.init(this.i18next); } catch (err) { console.error(err); } diff --git a/src/editor/dialogs/cmenuDialog.js b/src/editor/dialogs/cmenuDialog.js index 70ade142..7416fc10 100644 --- a/src/editor/dialogs/cmenuDialog.js +++ b/src/editor/dialogs/cmenuDialog.js @@ -1,4 +1,3 @@ -/* gl#bals svgEditor */ const template = document.createElement('template'); // eslint-disable-next-line no-unsanitized/property template.innerHTML = ` @@ -68,53 +67,53 @@ template.innerHTML = `
@@ -145,12 +144,33 @@ export class SeCMenuDialog extends HTMLElement { this.$moveDownLink = this._shadowRoot.querySelector('#se-move-down'); this.$moveBackLink = this._shadowRoot.querySelector('#se-move-back'); } + /** + * @function init + * @param {any} name + * @returns {void} + */ + init (i18next) { + this.setAttribute('tools-cut', i18next.t('tools.cut')); + this.setAttribute('tools-copy', i18next.t('tools.copy')); + this.setAttribute('tools-paste', i18next.t('tools.paste')); + this.setAttribute('tools-paste_in_place', i18next.t('tools.paste_in_place')); + this.setAttribute('tools-delete', i18next.t('tools.delete')); + this.setAttribute('tools-group', i18next.t('tools.group')); + this.setAttribute('tools-ungroup', i18next.t('tools.ungroup')); + this.setAttribute('tools-move_front', i18next.t('tools.move_front')); + this.setAttribute('tools-move_up', i18next.t('tools.move_up')); + this.setAttribute('tools-move_down', i18next.t('tools.move_down')); + this.setAttribute('tools-move_back', i18next.t('tools.move_back')); + } /** * @function observedAttributes * @returns {any} observed */ static get observedAttributes () { - return [ 'disableallmenu', 'enablemenuitems', 'disablemenuitems' ]; + return [ 'disableallmenu', 'enablemenuitems', 'disablemenuitems', 'tools-cut', + 'tools-copy', 'tools-paste', 'tools-paste_in_place', 'tools-delete', 'tools-group', + 'tools-ungroup', 'tools-move_front', 'tools-move_up', 'tools-move_down', + 'tools-move_back' ]; } /** * @function attributeChangedCallback @@ -161,6 +181,7 @@ export class SeCMenuDialog extends HTMLElement { */ attributeChangedCallback (name, oldValue, newValue) { let eles = []; + let textnode; const sdowRoot = this._shadowRoot; switch (name) { case 'disableallmenu': @@ -185,6 +206,48 @@ export class SeCMenuDialog extends HTMLElement { selEle.parentElement.classList.add('disabled'); }); break; + case 'tools-cut': + textnode = document.createTextNode(newValue); + this.$cutLink.prepend(textnode); + break; + case 'tools-copy': + textnode = document.createTextNode(newValue); + this.$copyLink.prepend(textnode); + break; + case 'tools-paste': + this.$pasteLink.textContent = newValue; + break; + case 'tools-paste_in_place': + this.$pasteInPlaceLink.textContent = newValue; + break; + case 'tools-delete': + textnode = document.createTextNode(newValue); + this.$deleteLink.prepend(textnode); + break; + case 'tools-group': + textnode = document.createTextNode(newValue); + this.$groupLink.prepend(textnode); + break; + case 'tools-ungroup': + textnode = document.createTextNode(newValue); + this.$ungroupLink.prepend(textnode); + break; + case 'tools-move_front': + textnode = document.createTextNode(newValue); + this.$moveFrontLink.prepend(textnode); + break; + case 'tools-move_up': + textnode = document.createTextNode(newValue); + this.$moveUpLink.prepend(textnode); + break; + case 'tools-move_down': + textnode = document.createTextNode(newValue); + this.$moveDownLink.prepend(textnode); + break; + case 'tools-move_back': + textnode = document.createTextNode(newValue); + this.$moveBackLink.prepend(textnode); + break; default: // super.attributeChangedCallback(name, oldValue, newValue); break; diff --git a/src/editor/dialogs/cmenuLayersDialog.js b/src/editor/dialogs/cmenuLayersDialog.js index 7c6e3096..2fb31a8a 100644 --- a/src/editor/dialogs/cmenuLayersDialog.js +++ b/src/editor/dialogs/cmenuLayersDialog.js @@ -1,4 +1,3 @@ -/* gl#bals svgEditor */ const template = document.createElement('template'); // eslint-disable-next-line no-unsanitized/property template.innerHTML = ` @@ -93,12 +92,23 @@ export class SeCMenuLayerDialog extends HTMLElement { this.$mergeDownLink = this._shadowRoot.querySelector('#se-merge-down'); this.$mergeAllLink = this._shadowRoot.querySelector('#se-merge-all'); } + /** + * @function init + * @param {any} name + * @returns {void} + */ + init (i18next) { + this.setAttribute('layers-dupe', i18next.t('layers.dupe')); + this.setAttribute('layers-del', i18next.t('layers.del')); + this.setAttribute('layers-merge_down', i18next.t('layers.merge_down')); + this.setAttribute('layers-merge_all', i18next.t('layers.merge_all')); + } /** * @function observedAttributes * @returns {any} observed */ static get observedAttributes () { - return [ 'value', 'leftclick' ]; + return [ 'value', 'leftclick', 'layers-dupe', 'layers-del', 'layers-merge_down', 'layers-merge_all' ]; } /** * @function attributeChangedCallback @@ -117,6 +127,18 @@ export class SeCMenuLayerDialog extends HTMLElement { this._workarea = document.getElementById(this.source); } break; + case 'layers-dupe': + this.$duplicateLink.textContent = newValue; + break; + case 'layers-del': + this.$deleteLink.textContent = newValue; + break; + case 'layers-merge_down': + this.$mergeDownLink.textContent = newValue; + break; + case 'layers-merge_all': + this.$mergeAllLink.textContent = newValue; + break; default: // super.attributeChangedCallback(name, oldValue, newValue); break; diff --git a/src/editor/dialogs/editorPreferencesDialog.js b/src/editor/dialogs/editorPreferencesDialog.js index a286282a..3fa6db38 100644 --- a/src/editor/dialogs/editorPreferencesDialog.js +++ b/src/editor/dialogs/editorPreferencesDialog.js @@ -1,4 +1,3 @@ -/* gl#bals svgEditor */ const template = document.createElement('template'); // eslint-disable-next-line no-unsanitized/property template.innerHTML = ` @@ -149,17 +148,13 @@ template.innerHTML = `