From 2480f06b03f234f10885d5bf5c933f683f2c1d37 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 6 Oct 2023 00:25:06 +0300 Subject: [PATCH 01/65] Add icons for custom items in context menu --- apps/common/main/lib/component/MenuItem.js | 3 +++ apps/documenteditor/main/app/view/DocumentHolder.js | 10 ++++++++++ apps/pdfeditor/main/app/view/DocumentHolder.js | 10 ++++++++++ .../presentationeditor/main/app/view/DocumentHolder.js | 10 ++++++++++ apps/spreadsheeteditor/main/app/view/DocumentHolder.js | 10 ++++++++++ 5 files changed, 43 insertions(+) diff --git a/apps/common/main/lib/component/MenuItem.js b/apps/common/main/lib/component/MenuItem.js index 4cf22249cb..7752976bde 100644 --- a/apps/common/main/lib/component/MenuItem.js +++ b/apps/common/main/lib/component/MenuItem.js @@ -116,6 +116,8 @@ define([ ' tabindex="-1" type="menuitem" <% }; if(!_.isUndefined(options.stopPropagation)) { %> data-stopPropagation="true" <% }; if(!_.isUndefined(options.dataHint)) { %> data-hint="<%= options.dataHint %>" <% }; if(!_.isUndefined(options.dataHintDirection)) { %> data-hint-direction="<%= options.dataHintDirection %>" <% }; if(!_.isUndefined(options.dataHintOffset)) { %> data-hint-offset="<%= options.dataHintOffset %>" <% }; if(options.dataHintTitle) { %> data-hint-title="<%= options.dataHintTitle %>" <% }; %> >', '<% if (!_.isEmpty(iconCls)) { %>', '', + '<% } else if (!_.isEmpty(iconImg)) { %>', + '', '<% } %>', '<%= caption %>', '' @@ -169,6 +171,7 @@ define([ id : me.id, caption : me.caption, iconCls : me.iconCls, + iconImg : me.options.iconImg, style : me.style, options : me.options })); diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 55a8be1f16..6639f6cf9b 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -3010,6 +3010,7 @@ define([ value: item.id, guid: guid, menu: item.items ? getMenu(item.items, guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }); }); @@ -3053,6 +3054,7 @@ define([ value: item.id, guid: plugin.guid, menu: item.items && item.items.length>=0 ? getMenu(item.items, plugin.guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }).on('click', function(item, e) { !me._preventCustomClick && me.api && me.api.onPluginContextMenuItemClick && me.api.onPluginContextMenuItemClick(item.options.guid, item.value); @@ -3082,6 +3084,14 @@ define([ this._hasCustomItems = false; }, + parseIcons: function(icons) { + var plugins = DE.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins'); + if (icons && icons.length && plugins && plugins.parseIcons) { + icons = plugins.parseIcons(icons); + return icons ? icons['normal'] : undefined; + } + }, + focus: function() { var me = this; _.defer(function(){ me.cmpEl.focus(); }, 50); diff --git a/apps/pdfeditor/main/app/view/DocumentHolder.js b/apps/pdfeditor/main/app/view/DocumentHolder.js index 2f8a83f3b8..46cdb9c6c7 100644 --- a/apps/pdfeditor/main/app/view/DocumentHolder.js +++ b/apps/pdfeditor/main/app/view/DocumentHolder.js @@ -175,6 +175,7 @@ define([ value: item.id, guid: guid, menu: item.items ? getMenu(item.items, guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }); }); @@ -218,6 +219,7 @@ define([ value: item.id, guid: plugin.guid, menu: item.items && item.items.length>=0 ? getMenu(item.items, plugin.guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }).on('click', function(item, e) { !me._preventCustomClick && me.api && me.api.onPluginContextMenuItemClick && me.api.onPluginContextMenuItemClick(item.options.guid, item.value); @@ -247,6 +249,14 @@ define([ this._hasCustomItems = false; }, + parseIcons: function(icons) { + var plugins = PDFE.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins'); + if (icons && icons.length && plugins && plugins.parseIcons) { + icons = plugins.parseIcons(icons); + return icons ? icons['normal'] : undefined; + } + }, + focus: function() { var me = this; _.defer(function(){ me.cmpEl.focus(); }, 50); diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js index cd5335a7da..b7ecd49e14 100644 --- a/apps/presentationeditor/main/app/view/DocumentHolder.js +++ b/apps/presentationeditor/main/app/view/DocumentHolder.js @@ -2561,6 +2561,7 @@ define([ value: item.id, guid: guid, menu: item.items ? getMenu(item.items, guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }); }); @@ -2604,6 +2605,7 @@ define([ value: item.id, guid: plugin.guid, menu: item.items && item.items.length>=0 ? getMenu(item.items, plugin.guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }).on('click', function(item, e) { !me._preventCustomClick && me.api && me.api.onPluginContextMenuItemClick && me.api.onPluginContextMenuItemClick(item.options.guid, item.value); @@ -2633,6 +2635,14 @@ define([ this._hasCustomItems = false; }, + parseIcons: function(icons) { + var plugins = PE.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins'); + if (icons && icons.length && plugins && plugins.parseIcons) { + icons = plugins.parseIcons(icons); + return icons ? icons['normal'] : undefined; + } + }, + unitsChanged: function(m) { this._state.unitsChanged = true; }, diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 9be54f15a0..08e0df1c87 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -1582,6 +1582,7 @@ define([ value: item.id, guid: guid, menu: item.items ? getMenu(item.items, guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }); }); @@ -1625,6 +1626,7 @@ define([ value: item.id, guid: plugin.guid, menu: item.items && item.items.length>=0 ? getMenu(item.items, plugin.guid) : false, + iconImg: me.parseIcons(item.icons), disabled: !!item.disabled }).on('click', function(item, e) { !me._preventCustomClick && me.api && me.api.onPluginContextMenuItemClick && me.api.onPluginContextMenuItemClick(item.options.guid, item.value); @@ -1654,6 +1656,14 @@ define([ this._hasCustomItems = false; }, + parseIcons: function(icons) { + var plugins = SSE.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins'); + if (icons && icons.length && plugins && plugins.parseIcons) { + icons = plugins.parseIcons(icons); + return icons ? icons['normal'] : undefined; + } + }, + txtSort: 'Sort', txtAscending: 'Ascending', txtDescending: 'Descending', From 2ce7b16203f89ab864d7f71b0705b5a45185080c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 6 Oct 2023 13:37:36 +0300 Subject: [PATCH 02/65] Refactoring plugins icons --- apps/common/main/lib/view/Plugins.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index bcb3c87962..cd078101dd 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -275,7 +275,7 @@ define([ 'active': bestUrl['active'] || bestUrl['normal'] }; } else { // old version - var url = icons[((Common.Utils.applicationPixelRatio() > 1) ? 1 : 0) + (icons.length > 2 ? 2 : 0)]; + var url = icons[((Common.Utils.applicationPixelRatio() > 1 && icons.length > 1) ? 1 : 0) + (icons.length > 2 ? 2 : 0)]; return { 'normal': url, 'hover': url, From 35eb9d54ecbbf230de8ceff4f915f0642e344123 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 1 Dec 2023 12:18:35 +0300 Subject: [PATCH 03/65] Change oform->pdf, handle documentType=pdf --- apps/api/documents/api.js | 45 ++++++++++--------- .../app/controller/ApplicationController.js | 6 +-- .../main/app/controller/FormsTab.js | 14 ++++-- .../main/app/controller/Main.js | 12 +++-- .../main/app/controller/Toolbar.js | 2 +- .../main/app/view/FileMenuPanels.js | 10 ++--- apps/documenteditor/main/app/view/FormsTab.js | 12 ++--- .../main/app/view/SaveFormDlg.js | 2 +- apps/documenteditor/main/locale/en.json | 14 +++--- .../mobile/src/controller/Main.jsx | 6 ++- 10 files changed, 67 insertions(+), 56 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index ffabe47f37..1d3fdb5b4f 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -14,7 +14,7 @@ type: 'desktop or mobile or embedded', width: '100% by default', height: '100% by default', - documentType: 'word' | 'cell' | 'slide',// deprecate 'text' | 'spreadsheet' | 'presentation', + documentType: 'word' | 'cell' | 'slide' | 'pdf' ,// deprecate 'text' | 'spreadsheet' | 'presentation', token: encrypted signature document: { title: 'document title', @@ -438,11 +438,12 @@ 'presentation': 'pptx', 'word': 'docx', 'cell': 'xlsx', - 'slide': 'pptx' + 'slide': 'pptx', + 'pdf': 'pdf' }, app; if (_config.documentType=='text' || _config.documentType=='spreadsheet' ||_config.documentType=='presentation') - console.warn("The \"documentType\" parameter for the config object must take one of the values word/cell/slide."); + console.warn("The \"documentType\" parameter for the config object must take one of the values word/cell/slide/pdf."); if (typeof _config.documentType === 'string' && _config.documentType != '') { app = appMap[_config.documentType.toLowerCase()]; @@ -456,7 +457,7 @@ if (typeof _config.document.fileType === 'string' && _config.document.fileType != '') { _config.document.fileType = _config.document.fileType.toLowerCase(); - var type = /^(?:(xls|xlsx|ods|csv|gsheet|xlsm|xlt|xltm|xltx|fods|ots|xlsb|sxc|et|ett)|(pps|ppsx|ppt|pptx|odp|gslides|pot|potm|potx|ppsm|pptm|fodp|otp|sxi|dps|dpt)|(doc|docx|odt|gdoc|txt|rtf|mht|htm|html|mhtml|epub|docm|dot|dotm|dotx|fodt|ott|fb2|xml|oform|docxf|sxw|stw|wps|wpt|pdf|djvu|xps|oxps))$/ + var type = /^(?:(xls|xlsx|ods|csv|gsheet|xlsm|xlt|xltm|xltx|fods|ots|xlsb|sxc|et|ett)|(pps|ppsx|ppt|pptx|odp|gslides|pot|potm|potx|ppsm|pptm|fodp|otp|sxi|dps|dpt)|(pdf|djvu|xps|oxps)|(doc|docx|odt|gdoc|txt|rtf|mht|htm|html|mhtml|epub|docm|dot|dotm|dotx|fodt|ott|fb2|xml|oform|docxf|sxw|stw|wps|wpt))$/ .exec(_config.document.fileType); if (!type) { window.alert("The \"document.fileType\" parameter for the config object is invalid. Please correct it."); @@ -464,7 +465,8 @@ } else if (typeof _config.documentType !== 'string' || _config.documentType == ''){ if (typeof type[1] === 'string') _config.documentType = 'cell'; else if (typeof type[2] === 'string') _config.documentType = 'slide'; else - if (typeof type[3] === 'string') _config.documentType = 'word'; + if (typeof type[3] === 'string') _config.documentType = 'pdf'; else + if (typeof type[4] === 'string') _config.documentType = 'word'; } } @@ -939,34 +941,34 @@ 'slide': 'presentationeditor', 'pdf': 'pdfeditor' }, - app = appMap['word']; + appType = 'word'; if (typeof config.documentType === 'string') { - app = appMap[config.documentType.toLowerCase()]; - if (config.type !== 'mobile' && config.type !== 'embedded' && !!config.document && typeof config.document.fileType === 'string') { - var type = /^(?:(pdf|djvu|xps|oxps))$/.exec(config.document.fileType); + appType = config.documentType.toLowerCase(); + if (!!config.document && typeof config.document.fileType === 'string') { + var type = /^(?:(djvu|xps|oxps))$/.exec(config.document.fileType); if (type && typeof type[1] === 'string') - app = appMap['pdf']; + appType = 'pdf'; } } else if (!!config.document && typeof config.document.fileType === 'string') { - var type = /^(?:(xls|xlsx|ods|csv|xlst|xlsy|gsheet|xlsm|xlt|xltm|xltx|fods|ots|xlsb)|(pps|ppsx|ppt|pptx|odp|pptt|ppty|gslides|pot|potm|potx|ppsm|pptm|fodp|otp))$/ + var type = /^(?:(xls|xlsx|ods|csv|xlst|xlsy|gsheet|xlsm|xlt|xltm|xltx|fods|ots|xlsb)|(pps|ppsx|ppt|pptx|odp|pptt|ppty|gslides|pot|potm|potx|ppsm|pptm|fodp|otp)|(pdf|djvu|xps|oxps))$/ .exec(config.document.fileType); if (type) { - if (typeof type[1] === 'string') app = appMap['cell']; else - if (typeof type[2] === 'string') app = appMap['slide']; - } - if (config.type !== 'mobile' && config.type !== 'embedded') { - type = /^(?:(pdf|djvu|xps|oxps))$/.exec(config.document.fileType); - if (type && typeof type[1] === 'string') - app = appMap['pdf']; + if (typeof type[1] === 'string') appType = 'cell'; else + if (typeof type[2] === 'string') appType = 'slide'; else + if (typeof type[3] === 'string') appType = 'pdf'; } } + if (appType === 'pdf' && (config.type === 'mobile' || config.type === 'embedded')) { + appType = 'word'; + } - path += app + "/"; + path += appMap[appType] + "/"; const path_type = config.type === "mobile" ? "mobile" : (config.type === "embedded") - ? "embed" : (config.document && typeof config.document.fileType === 'string' && config.document.fileType.toLowerCase() === 'oform') + ? "embed" : (config.document && typeof config.document.fileType === 'string' && config.document.fileType.toLowerCase() === 'pdf' && + appType==='word') ? "forms" : "main"; path += path_type; @@ -1036,6 +1038,9 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; + if (config.documentType) + params += "&documentType=" + config.documentType; + return params; } diff --git a/apps/documenteditor/forms/app/controller/ApplicationController.js b/apps/documenteditor/forms/app/controller/ApplicationController.js index 59f47fe3e4..7a6d6ac7f4 100644 --- a/apps/documenteditor/forms/app/controller/ApplicationController.js +++ b/apps/documenteditor/forms/app/controller/ApplicationController.js @@ -553,7 +553,7 @@ define([ enable = !this.editorConfig.customization || (this.editorConfig.customization.plugins!==false); docInfo.asc_putIsEnabledPlugins(!!enable); - var type = /^(?:(pdf|djvu|xps|oxps))$/.exec(data.doc.fileType); + var type = /^(?:(djvu|xps|oxps))$/.exec(data.doc.fileType); if (type && typeof type[1] === 'string') { this.permissions.edit = this.permissions.review = false; } @@ -606,7 +606,7 @@ define([ this.appOptions.canLicense = (licType === Asc.c_oLicenseResult.Success || licType === Asc.c_oLicenseResult.SuccessLimit); this.appOptions.canSubmitForms = this.appOptions.canLicense && (typeof (this.editorConfig.customization) == 'object') && !!this.editorConfig.customization.submitForm && !this.appOptions.isOffline; - var type = /^(?:(oform))$/.exec(this.document.fileType); // can fill forms only in oform format + var type = /^(?:(pdf))$/.exec(this.document.fileType); // can fill forms only in pdf format this.appOptions.isOFORM = !!(type && typeof type[1] === 'string'); this.appOptions.canFillForms = this.appOptions.canLicense && this.appOptions.isOFORM && ((this.permissions.fillForms===undefined) ? (this.permissions.edit !== false) : this.permissions.fillForms) && (this.editorConfig.mode !== 'view'); this.api.asc_setViewMode(!this.appOptions.canFillForms); @@ -1071,7 +1071,7 @@ define([ Common.Gateway.reportError(Asc.c_oAscError.ID.AccessDeny, this.errorAccessDeny); return; } - var type = /^(?:(pdf|djvu|xps|oxps))$/.exec(this.document.fileType); + var type = /^(?:(djvu|xps|oxps))$/.exec(this.document.fileType); if (type && typeof type[1] === 'string') this.api.asc_DownloadOrigin(true); else diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index 9ad0e2f5e0..0d4d64ed7e 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -331,7 +331,7 @@ define([ this.closeHelpTip('save', true); this.showRolesList(function() { this.isFromFormSaveAs = this.appConfig.canRequestSaveAs || !!this.appConfig.saveAsUrl; - this.api.asc_DownloadAs(new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.OFORM, this.isFromFormSaveAs)); + this.api.asc_DownloadAs(new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.PDF, this.isFromFormSaveAs)); }); }, @@ -343,7 +343,7 @@ define([ var idx = defFileName.lastIndexOf('.'); if (idx>0) - defFileName = defFileName.substring(0, idx) + '.oform'; + defFileName = defFileName.substring(0, idx) + '.pdf'; if (me.appConfig.canRequestSaveAs) { Common.Gateway.requestSaveAs(url, defFileName, fileType); @@ -445,9 +445,17 @@ define([ // me.view.btnHighlight.currentColor = clr; // } - config.isEdit && config.canFeatureContentControl && config.isFormCreator && me.showHelpTip('create'); // show tip only when create form in docxf + config.isEdit && config.canFeatureContentControl && config.isFormCreator && !config.isOForm && me.showHelpTip('create'); // show tip only when create form in docxf me.onRefreshRolesList(); me.onChangeProtectDocument(); + config.isOForm && config.canDownloadForms && !Common.localStorage.getBool("de-convert-oform") && Common.UI.warning({ + msg : me.view.tipSaveFile, + dontshow: true, + callback: function(btn, dontshow){ + dontshow && Common.localStorage.setItem("de-convert-oform", 1); + Common.NotificationCenter.trigger('edit:complete'); + } + }); }); }, diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 2b567f36a3..8966717bc4 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -548,14 +548,12 @@ define([ $('#editor-container').find('.doc-placeholder').css('margin-top', 19); } - var type = data.doc ? /^(?:(docxf))$/.exec(data.doc.fileType) : false; - this.appOptions.isFormCreator = !!(type && typeof type[1] === 'string') && this.appOptions.canFeatureForms; // show forms only for docxf + var type = data.doc ? /^(?:(docxf|oform))$/.exec(data.doc.fileType) : false; + this.appOptions.isFormCreator = !!(type && typeof type[1] === 'string') && this.appOptions.canFeatureForms; // show forms only for docxf or oform type = data.doc ? /^(?:(oform))$/.exec(data.doc.fileType) : false; - if (type && typeof type[1] === 'string') { - (this.permissions.fillForms===undefined) && (this.permissions.fillForms = (this.permissions.edit!==false)); - this.permissions.edit = this.permissions.review = this.permissions.comment = false; - } + this.appOptions.isOForm = !!(type && typeof type[1] === 'string'); + this.api.asc_registerCallback('asc_onGetEditorPermissions', _.bind(this.onEditorPermissions, this)); this.api.asc_registerCallback('asc_onLicenseChanged', _.bind(this.onLicenseChanged, this)); this.api.asc_registerCallback('asc_onMacrosPermissionRequest', _.bind(this.onMacrosPermissionRequest, this)); @@ -640,7 +638,7 @@ define([ _defaultFormat = Asc.c_oAscFileType.DOCX; } if (this.appOptions.canFeatureForms && !/^djvu$/.test(this.document.fileType)) { - _supported = _supported.concat([Asc.c_oAscFileType.DOCXF, Asc.c_oAscFileType.OFORM]); + _supported = _supported.concat([Asc.c_oAscFileType.DOCXF]); } if ( !_format || _supported.indexOf(_format) < 0 ) _format = _defaultFormat; diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 4263c192b3..6bffadca0a 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -169,7 +169,7 @@ define([ Asc.c_oAscFileType.DOCM ]; if (_main.appOptions.canFeatureForms) { - _supported = _supported.concat([Asc.c_oAscFileType.DOCXF, Asc.c_oAscFileType.OFORM]); + _supported = _supported.concat([Asc.c_oAscFileType.DOCXF]); } if ( !_format || _supported.indexOf(_format) < 0 ) diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index 5484cd1f9a..83bd64141e 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -55,8 +55,7 @@ define([ {name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX}, {name: 'PDF', imgCls: 'pdf', type: Asc.c_oAscFileType.PDF}, {name: 'ODT', imgCls: 'odt', type: Asc.c_oAscFileType.ODT}, - {name: 'DOCXF', imgCls: 'docxf', type: Asc.c_oAscFileType.DOCXF}, - {name: 'OFORM', imgCls: 'oform', type: Asc.c_oAscFileType.OFORM} + {name: 'DOCXF', imgCls: 'docxf', type: Asc.c_oAscFileType.DOCXF} ],[ {name: 'DOTX', imgCls: 'dotx', type: Asc.c_oAscFileType.DOTX}, {name: 'DOCM', imgCls: 'docm', type: Asc.c_oAscFileType.DOCM}, @@ -123,7 +122,7 @@ define([ } if (this.mode && !this.mode.canFeatureForms && this.formats.length>2) { - this.formats[0].splice(3, 2); // remove docxf and oform + this.formats[0].splice(3, 1); // remove docxf } this.$el.html(this.template({rows:this.formats, @@ -180,8 +179,7 @@ define([ {name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX, ext: '.docx'}, {name: 'PDF', imgCls: 'pdf', type: Asc.c_oAscFileType.PDF, ext: '.pdf'}, {name: 'ODT', imgCls: 'odt', type: Asc.c_oAscFileType.ODT, ext: '.odt'}, - {name: 'DOCXF', imgCls: 'docxf', type: Asc.c_oAscFileType.DOCXF, ext: '.docxf'}, - {name: 'OFORM', imgCls: 'oform', type: Asc.c_oAscFileType.OFORM, ext: '.oform'} + {name: 'DOCXF', imgCls: 'docxf', type: Asc.c_oAscFileType.DOCXF, ext: '.docxf'} ],[ {name: 'DOTX', imgCls: 'dotx', type: Asc.c_oAscFileType.DOTX, ext: '.dotx'}, {name: 'DOCM', imgCls: 'docm', type: Asc.c_oAscFileType.DOCM, ext: '.docm'}, @@ -249,7 +247,7 @@ define([ } if (this.mode && !this.mode.canFeatureForms && this.formats.length>2) { - this.formats[0].splice(3, 2); // remove docxf and oform + this.formats[0].splice(3, 1); // remove docxf } this.$el.html(this.template({rows:this.formats, diff --git a/apps/documenteditor/main/app/view/FormsTab.js b/apps/documenteditor/main/app/view/FormsTab.js index 01796e8e6b..4f61e9fe9f 100644 --- a/apps/documenteditor/main/app/view/FormsTab.js +++ b/apps/documenteditor/main/app/view/FormsTab.js @@ -660,15 +660,15 @@ define([ tipSubmit: 'Submit form', textSubmited: 'Form submitted successfully', textRequired: 'Fill all required fields to send form.', - capBtnSaveForm: 'Save as oform', - tipSaveForm: 'Save a file as a fillable OFORM document', + capBtnSaveForm: 'Save as pdf', + tipSaveForm: 'Save a file as a fillable PDF', txtUntitled: 'Untitled', - textCreateForm: 'Add fields and create a fillable OFORM document', + textCreateForm: 'Add fields and create a fillable PDF', textGotIt: 'Got it', capBtnManager: 'Manage Roles', tipManager: 'Manage Roles', - capBtnDownloadForm: 'Download as oform', - tipDownloadForm: 'Download a file as a fillable OFORM document', + capBtnDownloadForm: 'Download as pdf', + tipDownloadForm: 'Download a file as a fillable PDF', capBtnEmail: 'Email Address', capBtnPhone: 'Phone Number', capBtnComplex: 'Complex Field', @@ -693,7 +693,7 @@ define([ tipFormGroupKey: 'Group radio buttons to make the filling process faster. Choices with the same names will be synchronized. Users can only tick one radio button from the group.', tipFieldSettings: 'You can configure selected fields on the right sidebar. Click this icon to open the field settings.', tipHelpRoles: 'Use the Manage Roles feature to group fields by purpose and assign the responsible team members.', - tipSaveFile: 'Click “Save as oform” to save the form in the format ready for filling.', + tipSaveFile: 'Click “Save as pdf” to save the form in the format ready for filling.', tipRolesLink: 'Learn more about roles', tipFieldsLink: 'Learn more about field parameters' diff --git a/apps/documenteditor/main/app/view/SaveFormDlg.js b/apps/documenteditor/main/app/view/SaveFormDlg.js index 8a4a939963..c9a9f8aa4a 100644 --- a/apps/documenteditor/main/app/view/SaveFormDlg.js +++ b/apps/documenteditor/main/app/view/SaveFormDlg.js @@ -159,7 +159,7 @@ define([ 'common/main/lib/view/AdvancedSettingsWindow', txtTitle: 'Save as Form', saveButtonText : 'Save', textEmpty: 'There are no roles associated with fields.', - textDescription: 'When saving to the oform, only roles with fields are added to the filling list', + textDescription: 'When saving to the pdf, only roles with fields are added to the filling list', textFill: 'Filling list', textAnyone: 'Anyone' diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 8acb0d1a28..75db8cbe73 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -2221,7 +2221,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Checkbox", "DE.Views.FormsTab.capBtnComboBox": "Combo Box", "DE.Views.FormsTab.capBtnComplex": "Complex Field", - "DE.Views.FormsTab.capBtnDownloadForm": "Download as oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Download as pdf", "DE.Views.FormsTab.capBtnDropDown": "Dropdown", "DE.Views.FormsTab.capBtnEmail": "Email Address", "DE.Views.FormsTab.capBtnImage": "Image", @@ -2230,7 +2230,7 @@ "DE.Views.FormsTab.capBtnPhone": "Phone Number", "DE.Views.FormsTab.capBtnPrev": "Previous Field", "DE.Views.FormsTab.capBtnRadioBox": "Radio Button", - "DE.Views.FormsTab.capBtnSaveForm": "Save as oform", + "DE.Views.FormsTab.capBtnSaveForm": "Save as pdf", "DE.Views.FormsTab.capBtnSubmit": "Submit", "DE.Views.FormsTab.capBtnText": "Text Field", "DE.Views.FormsTab.capBtnView": "View Form", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.textAnyone": "Anyone", "DE.Views.FormsTab.textClear": "Clear Fields", "DE.Views.FormsTab.textClearFields": "Clear All Fields", - "DE.Views.FormsTab.textCreateForm": "Add fields and create a fillable OFORM document", + "DE.Views.FormsTab.textCreateForm": "Add fields and create a fillable PDF", "DE.Views.FormsTab.textGotIt": "Got it", "DE.Views.FormsTab.textHighlight": "Highlight Settings", "DE.Views.FormsTab.textNoHighlight": "No highlighting", @@ -2252,7 +2252,7 @@ "DE.Views.FormsTab.tipCreateField": "To create a field select the desired field type on the toolbar and click on it. The field will appear in the document.", "DE.Views.FormsTab.tipCreditCard": "Insert credit card number", "DE.Views.FormsTab.tipDateTime": "Insert date and time", - "DE.Views.FormsTab.tipDownloadForm": "Download a file as a fillable OFORM document", + "DE.Views.FormsTab.tipDownloadForm": "Download a file as a fillable PDF", "DE.Views.FormsTab.tipDropDown": "Insert dropdown list", "DE.Views.FormsTab.tipEmailField": "Insert email address", "DE.Views.FormsTab.tipFieldSettings": "You can configure selected fields on the right sidebar. Click this icon to open the field settings.", @@ -2269,8 +2269,8 @@ "DE.Views.FormsTab.tipPrevForm": "Go to the previous field", "DE.Views.FormsTab.tipRadioBox": "Insert radio button", "DE.Views.FormsTab.tipRolesLink": "Learn more about roles", - "DE.Views.FormsTab.tipSaveFile": "Click “Save as oform” to save the form in the format ready for filling.", - "DE.Views.FormsTab.tipSaveForm": "Save a file as a fillable OFORM document", + "DE.Views.FormsTab.tipSaveFile": "Click “Save as pdf” to save the form in the format ready for filling.", + "DE.Views.FormsTab.tipSaveForm": "Save a file as a fillable PDF", "DE.Views.FormsTab.tipSubmit": "Submit form", "DE.Views.FormsTab.tipTextField": "Insert text field", "DE.Views.FormsTab.tipViewForm": "View form", @@ -2846,7 +2846,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Are you sure you want to delete the role {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Save", "DE.Views.SaveFormDlg.textAnyone": "Anyone", - "DE.Views.SaveFormDlg.textDescription": "When saving to the oform, only roles with fields are added to the filling list", + "DE.Views.SaveFormDlg.textDescription": "When saving to the pdf, only roles with fields are added to the filling list", "DE.Views.SaveFormDlg.textEmpty": "There are no roles associated with fields.", "DE.Views.SaveFormDlg.textFill": "Filling list", "DE.Views.SaveFormDlg.txtTitle": "Save as Form", diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index f74b27da0a..37d224a94f 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -343,8 +343,10 @@ class MainController extends Component { delete _translate[item]; }); - var result = /[\?\&]fileType=\b(pdf|djvu|xps|oxps)\b&?/i.exec(window.location.search), - isPDF = (!!result && result.length && typeof result[1] === 'string'); + var result = /[\?\&]fileType=\b(pdf)|(djvu|xps|oxps)\b&?/i.exec(window.location.search), + docType = /[\?\&]documentType=\b(word)\b&?/i.exec(window.location.search), + isPDF = (!!result && result.length && typeof result[2] === 'string') || !!result && result.length && typeof result[1] === 'string' && + !!docType && docType.length && typeof docType[1] !== 'string'; this.api = isPDF ? new Asc.PDFEditorApi({ 'id-view' : 'editor_sdk', From 35714543af6eb5802ea5ca498d3e8e0970fbd4a5 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 1 Dec 2023 21:25:12 +0300 Subject: [PATCH 04/65] Fix opening pdf and pdf-form files --- apps/documenteditor/embed/js/ApplicationController.js | 7 +++++-- apps/documenteditor/mobile/src/controller/Main.jsx | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index a09f7b5f85..68680b98ff 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -951,8 +951,11 @@ DE.ApplicationController = new(function(){ }); window["flat_desine"] = true; - var result = /[\?\&]fileType=\b(pdf|djvu|xps|oxps)\b&?/i.exec(window.location.search), - isPDF = (!!result && result.length && typeof result[1] === 'string'); + var result = /[\?\&]fileType=\b(pdf)|(djvu|xps|oxps)\b&?/i.exec(window.location.search), + docType = /[\?\&]documentType=\b(word)\b&?/i.exec(window.location.search), + isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && + (!docType || !docType.length || typeof docType[1] !== 'string'); + api = isPDF ? new Asc.PDFEditorApi({ 'id-view' : 'editor_sdk', diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index 37d224a94f..090be416e0 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -345,8 +345,8 @@ class MainController extends Component { var result = /[\?\&]fileType=\b(pdf)|(djvu|xps|oxps)\b&?/i.exec(window.location.search), docType = /[\?\&]documentType=\b(word)\b&?/i.exec(window.location.search), - isPDF = (!!result && result.length && typeof result[2] === 'string') || !!result && result.length && typeof result[1] === 'string' && - !!docType && docType.length && typeof docType[1] !== 'string'; + isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && + (!docType || !docType.length || typeof docType[1] !== 'string'); this.api = isPDF ? new Asc.PDFEditorApi({ 'id-view' : 'editor_sdk', From 3690029985dac27b6dd97518230d3033a8991002 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Dec 2023 15:15:58 +0300 Subject: [PATCH 05/65] Change pdf opening --- apps/api/documents/api.js | 12 ++++++------ .../documenteditor/embed/js/ApplicationController.js | 6 ++---- apps/documenteditor/mobile/src/controller/Main.jsx | 5 ++--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 1d3fdb5b4f..cb48d77a1e 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -945,8 +945,8 @@ if (typeof config.documentType === 'string') { appType = config.documentType.toLowerCase(); - if (!!config.document && typeof config.document.fileType === 'string') { - var type = /^(?:(djvu|xps|oxps))$/.exec(config.document.fileType); + if (config.type !== 'mobile' && config.type !== 'embedded' && !!config.document && typeof config.document.fileType === 'string') { + var type = /^(?:(pdf|djvu|xps|oxps))$/.exec(config.document.fileType); if (type && typeof type[1] === 'string') appType = 'pdf'; } @@ -957,10 +957,10 @@ if (type) { if (typeof type[1] === 'string') appType = 'cell'; else if (typeof type[2] === 'string') appType = 'slide'; else - if (typeof type[3] === 'string') appType = 'pdf'; + if (typeof type[3] === 'string' && config.type !== 'mobile' && config.type !== 'embedded') appType = 'pdf'; } } - if (appType === 'pdf' && (config.type === 'mobile' || config.type === 'embedded')) { + if (appType === 'pdf' && (config.type === 'mobile' || config.type === 'embedded' || config.document && config.document.isForm)) { appType = 'word'; } @@ -1038,8 +1038,8 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; - if (config.documentType) - params += "&documentType=" + config.documentType; + if (config.document && config.isForm) + params += "&isForm=true"; return params; } diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index 68680b98ff..a4034efe2e 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -952,10 +952,8 @@ DE.ApplicationController = new(function(){ window["flat_desine"] = true; var result = /[\?\&]fileType=\b(pdf)|(djvu|xps|oxps)\b&?/i.exec(window.location.search), - docType = /[\?\&]documentType=\b(word)\b&?/i.exec(window.location.search), - isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && - (!docType || !docType.length || typeof docType[1] !== 'string'); - + isForm = /[\?\&]isForm=\btrue\b&?/i.exec(window.location.search), + isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && !isForm; api = isPDF ? new Asc.PDFEditorApi({ 'id-view' : 'editor_sdk', diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index 090be416e0..35bcb760f0 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -344,9 +344,8 @@ class MainController extends Component { }); var result = /[\?\&]fileType=\b(pdf)|(djvu|xps|oxps)\b&?/i.exec(window.location.search), - docType = /[\?\&]documentType=\b(word)\b&?/i.exec(window.location.search), - isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && - (!docType || !docType.length || typeof docType[1] !== 'string'); + isForm = /[\?\&]isForm=\btrue\b&?/i.exec(window.location.search), + isPDF = (!!result && result.length && typeof result[2] === 'string') || (!!result && result.length && typeof result[1] === 'string') && !isForm; this.api = isPDF ? new Asc.PDFEditorApi({ 'id-view' : 'editor_sdk', From e29753b27c995ad204734bb49a47d9220951cfae Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Dec 2023 18:25:01 +0300 Subject: [PATCH 06/65] [PDFE] Protect pdf with password (Bug 61126) --- apps/pdfeditor/main/app.js | 6 +- apps/pdfeditor/main/app/controller/Main.js | 6 +- .../main/app/template/FileMenu.template | 2 + apps/pdfeditor/main/app/view/FileMenu.js | 5 + .../pdfeditor/main/app/view/FileMenuPanels.js | 185 ++++++++++++++++++ apps/pdfeditor/main/app_dev.js | 2 + apps/pdfeditor/main/locale/en.json | 13 ++ 7 files changed, 215 insertions(+), 4 deletions(-) diff --git a/apps/pdfeditor/main/app.js b/apps/pdfeditor/main/app.js index b58d01c506..c3ad9a82f8 100644 --- a/apps/pdfeditor/main/app.js +++ b/apps/pdfeditor/main/app.js @@ -156,7 +156,8 @@ require([ 'Common.Controllers.Chat', 'Common.Controllers.Comments', 'Common.Controllers.Draw', - 'Common.Controllers.Plugins' + 'Common.Controllers.Plugins', + 'Common.Controllers.Protection' ] }); @@ -185,7 +186,8 @@ require([ 'common/main/lib/controller/Chat', /** coauthoring end **/ 'common/main/lib/controller/Plugins', - 'common/main/lib/controller/Draw' + 'common/main/lib/controller/Draw', + 'common/main/lib/controller/Protection' ], function() { app.start(); }); diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 9bfb464d74..8e38d94c2f 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1159,7 +1159,7 @@ define([ this.appOptions.trialMode = params.asc_getLicenseMode(); this.appOptions.isBeta = params.asc_getIsBeta(); this.appOptions.isSignatureSupport= false;//this.appOptions.isEdit && this.appOptions.isDesktopApp && this.appOptions.isOffline && this.api.asc_isSignaturesSupport() && (this.permissions.protect!==false); - this.appOptions.isPasswordSupport = false;//this.appOptions.isEdit && this.api.asc_isProtectionSupport() && (this.permissions.protect!==false); + this.appOptions.isPasswordSupport = this.appOptions.isEdit && this.api.asc_isProtectionSupport() && (this.permissions.protect!==false); this.appOptions.canProtect = (this.permissions.protect!==false); this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false); @@ -1391,7 +1391,9 @@ define([ if (this.appOptions.isEdit) { // var fontsControllers = application.getController('Common.Controllers.Fonts'); // fontsControllers && fontsControllers.setApi(me.api); - // application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); + + if (me.appOptions.isSignatureSupport || me.appOptions.isPasswordSupport) + application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); var viewport = this.getApplication().getController('Viewport').getView('Viewport'); viewport.applyEditorMode(); diff --git a/apps/pdfeditor/main/app/template/FileMenu.template b/apps/pdfeditor/main/app/template/FileMenu.template index c128df7e8e..6736a39575 100644 --- a/apps/pdfeditor/main/app/template/FileMenu.template +++ b/apps/pdfeditor/main/app/template/FileMenu.template @@ -9,6 +9,7 @@
  • +
  • @@ -31,5 +32,6 @@
    +
    \ No newline at end of file diff --git a/apps/pdfeditor/main/app/view/FileMenu.js b/apps/pdfeditor/main/app/view/FileMenu.js index b553bde17c..440d913337 100644 --- a/apps/pdfeditor/main/app/view/FileMenu.js +++ b/apps/pdfeditor/main/app/view/FileMenu.js @@ -447,6 +447,11 @@ define([ !this.panels['recent'] && (this.panels['recent'] = (new Common.Views.RecentFiles({ el: '#panel-recentfiles', menu:this, recent: this.mode.recent})).render()); } + if (this.mode.isSignatureSupport || this.mode.isPasswordSupport) { + !this.panels['protect'] && (this.panels['protect'] = (new PDFE.Views.FileMenuPanels.ProtectDoc({menu:this})).render()); + this.panels['protect'].setMode(this.mode); + } + if (this.mode.canDownload) { !this.panels['saveas'] && (this.panels['saveas'] = ((new PDFE.Views.FileMenuPanels.ViewSaveAs({menu: this, fileType: this.document.fileType, mode: this.mode})).render())); } else if (this.mode.canDownloadOrigin) diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index 6f66d19d00..616cb860aa 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -1985,6 +1985,191 @@ define([ } }); + PDFE.Views.FileMenuPanels.ProtectDoc = Common.UI.BaseView.extend(_.extend({ + el: '#panel-protect', + menu: undefined, + + template: _.template([ + '', + '
    ', + '', + '
    ', + '
    <%= scope.txtProtectDocument %>
    ', + '
    ', + '
    ', + '
    ', + '
    <%= scope.txtEncrypted %>
    ', + '
    ', + '
    ', + '
    ', + '
    ', + '
    ', + '
    ', + '
    ', + '', + '
    ', + '
    <%= scope.txtAddSignature %>
    ', + '
    ', + '
    ', + '
    ', + '
    <%= scope.txtAddedSignature %>
    ', + '
    ', + '
    ', + '
    ' + ].join('')), + + initialize: function(options) { + Common.UI.BaseView.prototype.initialize.call(this,arguments); + + this.menu = options.menu; + + var me = this; + this.templateSignature = _.template([ + '
    ', + '
    <%= tipText %>
    ', + '
    ', + '', + '', + '
    ', + '
    ' + ].join('')); + }, + + render: function() { + this.$el.html(this.template({scope: this})); + + var protection = PDFE.getController('Common.Controllers.Protection').getView(); + + this.btnAddPwd = protection.getButton('add-password'); + this.btnAddPwd.render(this.$el.find('#fms-btn-add-pwd')); + this.btnAddPwd.on('click', _.bind(this.closeMenu, this)); + + this.btnChangePwd = protection.getButton('change-password'); + this.btnChangePwd.render(this.$el.find('#fms-btn-change-pwd')); + this.btnChangePwd.on('click', _.bind(this.closeMenu, this)); + + this.btnDeletePwd = protection.getButton('del-password'); + this.btnDeletePwd.render(this.$el.find('#fms-btn-delete-pwd')); + this.btnDeletePwd.on('click', _.bind(this.closeMenu, this)); + + this.cntPassword = $('#id-fms-password'); + this.cntEncryptBlock = this.$el.find('.encrypt-block'); + this.cntEncryptedBlock = this.$el.find('.encrypted-block'); + + this.btnAddInvisibleSign = protection.getButton('signature'); + this.btnAddInvisibleSign.render(this.$el.find('#fms-btn-invisible-sign')); + this.btnAddInvisibleSign.on('click', _.bind(this.closeMenu, this)); + + this.cntSignature = $('#id-fms-signature'); + this.cntSignatureView = $('#id-fms-signature-view'); + + this.cntAddSignature = this.$el.find('.add-signature-block'); + this.cntAddedSignature = this.$el.find('.added-signature-block'); + + if (_.isUndefined(this.scroller)) { + this.scroller = new Common.UI.Scroller({ + el: this.$el, + suppressScrollX: true, + alwaysVisibleY: true + }); + } + + this.$el.on('click', '.signature-edit-link', _.bind(this.onEdit, this)); + this.$el.on('click', '.signature-view-link', _.bind(this.onView, this)); + + return this; + }, + + show: function() { + Common.UI.BaseView.prototype.show.call(this,arguments); + this.updateSignatures(); + this.updateEncrypt(); + this.scroller && this.scroller.update(); + }, + + setMode: function(mode) { + this.mode = mode; + this.cntSignature.toggleClass('hidden', !this.mode.isSignatureSupport); + this.cntPassword.toggleClass('hidden', !this.mode.isPasswordSupport); + }, + + setApi: function(o) { + this.api = o; + return this; + }, + + closeMenu: function() { + this.menu && this.menu.hide(); + }, + + onEdit: function() { + this.menu && this.menu.hide(); + + var me = this; + Common.UI.warning({ + title: this.notcriticalErrorTitle, + msg: this.txtEditWarning, + buttons: ['ok', 'cancel'], + primary: 'ok', + callback: function(btn) { + if (btn == 'ok') { + me.api.asc_RemoveAllSignatures(); + } + } + }); + + }, + + onView: function() { + this.menu && this.menu.hide(); + // PDFE.getController('RightMenu').rightmenu.SetActivePane(Common.Utils.documentSettingsType.Signature, true); + }, + + updateSignatures: function(){ + var valid = this.api.asc_getSignatures(), + hasValid = false, + hasInvalid = false; + + _.each(valid, function(item, index){ + if (item.asc_getValid()==0) + hasValid = true; + else + hasInvalid = true; + }); + + // hasValid = true; + // hasInvalid = true; + + var tipText = (hasInvalid) ? this.txtSignedInvalid : (hasValid ? this.txtSigned : ""); + this.cntSignatureView.html(this.templateSignature({tipText: tipText, hasSigned: (hasValid || hasInvalid)})); + + var isAddedSignature = this.btnAddInvisibleSign.$el.find('button').hasClass('hidden'); + this.cntAddSignature.toggleClass('hidden', isAddedSignature); + this.cntAddedSignature.toggleClass('hidden', !isAddedSignature); + }, + + updateEncrypt: function() { + var isProtected = this.btnAddPwd.$el.find('button').hasClass('hidden'); + this.cntEncryptBlock.toggleClass('hidden', isProtected); + this.cntEncryptedBlock.toggleClass('hidden', !isProtected); + }, + + strProtect: 'Protect Document', + strSignature: 'With Signature', + txtView: 'View signatures', + txtEdit: 'Edit document', + txtSigned: 'Valid signatures has been added to the document. The document is protected from editing.', + txtSignedInvalid: 'Some of the digital signatures in document are invalid or could not be verified. The document is protected from editing.', + notcriticalErrorTitle: 'Warning', + txtEditWarning: 'Editing will remove the signatures from the document.
    Are you sure you want to continue?', + strEncrypt: 'With Password', + txtProtectDocument: 'Encrypt this document with a password', + txtEncrypted: 'A password is required to open this document', + txtAddSignature: 'Ensure the integrity of the document by adding an
    invisible digital signature', + txtAddedSignature: 'Valid signatures have been added to the document.
    The document is protected from editing.' + + }, PDFE.Views.FileMenuPanels.ProtectDoc || {})); + PDFE.Views.PrintWithPreview = Common.UI.BaseView.extend(_.extend({ el: '#panel-print', menu: undefined, diff --git a/apps/pdfeditor/main/app_dev.js b/apps/pdfeditor/main/app_dev.js index 430c77293b..c7abd80ef4 100644 --- a/apps/pdfeditor/main/app_dev.js +++ b/apps/pdfeditor/main/app_dev.js @@ -148,6 +148,7 @@ require([ ,'Common.Controllers.Comments' ,'Common.Controllers.Draw' ,'Common.Controllers.Plugins' + ,'Common.Controllers.Protection' ] }); @@ -176,6 +177,7 @@ require([ ,'common/main/lib/controller/Chat' ,'common/main/lib/controller/Plugins' ,'common/main/lib/controller/Draw' + ,'common/main/lib/controller/Protection' ], function() { window.compareVersions = true; app.start(); diff --git a/apps/pdfeditor/main/locale/en.json b/apps/pdfeditor/main/locale/en.json index ec602fc7fd..e872996d44 100644 --- a/apps/pdfeditor/main/locale/en.json +++ b/apps/pdfeditor/main/locale/en.json @@ -507,6 +507,19 @@ "PDFE.Views.FileMenuPanels.DocumentRights.txtAccessRights": "Access Rights", "PDFE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Change access rights", "PDFE.Views.FileMenuPanels.DocumentRights.txtRights": "Persons who have rights", + "PDFE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "With password", + "PDFE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document", + "PDFE.Views.FileMenuPanels.ProtectDoc.strSignature": "With signature", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddedSignature": "Valid signatures have been added to the document.
    The document is protected from editing.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddSignature": "Ensure the integrity of the document by adding an
    invisible digital signature", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Edit document", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "Editing will remove signatures from the document.
    Continue?", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "This document has been protected with password", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtProtectDocument": "Encrypt this document with a password", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtRequestedSignatures": "This document needs to be signed.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSigned": "Valid signatures have been added to the document. The document is protected from editing.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "Some of the digital signatures in the document are invalid or could not be verified. The document is protected from editing.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtView": "View signatures", "PDFE.Views.FileMenuPanels.Settings.okButtonText": "Apply", "PDFE.Views.FileMenuPanels.Settings.strCoAuthMode": "Co-editing Mode", "PDFE.Views.FileMenuPanels.Settings.strFast": "Fast", From 60036b3b7e82908003f347e17366530cec9985c0 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Dec 2023 18:37:49 +0300 Subject: [PATCH 07/65] [PDFE] Add password only for offline files in desktop --- apps/pdfeditor/main/app/controller/Main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 8e38d94c2f..74ff0746b6 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1159,7 +1159,7 @@ define([ this.appOptions.trialMode = params.asc_getLicenseMode(); this.appOptions.isBeta = params.asc_getIsBeta(); this.appOptions.isSignatureSupport= false;//this.appOptions.isEdit && this.appOptions.isDesktopApp && this.appOptions.isOffline && this.api.asc_isSignaturesSupport() && (this.permissions.protect!==false); - this.appOptions.isPasswordSupport = this.appOptions.isEdit && this.api.asc_isProtectionSupport() && (this.permissions.protect!==false); + this.appOptions.isPasswordSupport = this.appOptions.isEdit && this.appOptions.isDesktopApp && this.appOptions.isOffline && this.api.asc_isProtectionSupport() && (this.permissions.protect!==false); this.appOptions.canProtect = (this.permissions.protect!==false); this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false); From 0751705307ab26c81a641e615d240e178b8a78c4 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 6 Dec 2023 12:31:54 +0300 Subject: [PATCH 08/65] [PDF] Save changes to offline pdf file --- apps/pdfeditor/main/app/controller/LeftMenu.js | 2 +- apps/pdfeditor/main/app/controller/Main.js | 4 ++-- apps/pdfeditor/main/app/controller/Toolbar.js | 8 ++++---- apps/pdfeditor/main/app/view/FileMenuPanels.js | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/pdfeditor/main/app/controller/LeftMenu.js b/apps/pdfeditor/main/app/controller/LeftMenu.js index fc3e7d96ff..f51787e8a6 100644 --- a/apps/pdfeditor/main/app/controller/LeftMenu.js +++ b/apps/pdfeditor/main/app/controller/LeftMenu.js @@ -407,7 +407,7 @@ define([ var value; var fast_coauth = Common.Utils.InternalSettings.get("pdfe-settings-coauthmode"), - canPDFSave = this.mode.isPDFAnnotate || this.mode.isPDFEdit; + canPDFSave = (this.mode.isPDFAnnotate || this.mode.isPDFEdit) && !this.mode.isOffline; /** coauthoring begin **/ if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring && canPDFSave ) { if (this.mode.canChangeCoAuthoring) { diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 74ff0746b6..0289638192 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1130,9 +1130,9 @@ define([ this.appOptions.isEdit = !isXpsViewer; this.appOptions.canPDFEdit = false;//(this.permissions.edit !== false) && this.appOptions.canLicense; this.appOptions.isPDFEdit = false; // this.appOptions.canPDFEdit && this.editorConfig.mode !== 'view'; !! always open in view mode - this.appOptions.canPDFAnnotate = this.appOptions.canSwitchMode && this.appOptions.canLicense && (this.permissions.comment!== false); + this.appOptions.canPDFAnnotate = (this.appOptions.canSwitchMode || !isXpsViewer && this.appOptions.isDesktopApp && this.appOptions.isOffline) && this.appOptions.canLicense && (this.permissions.comment!== false); this.appOptions.canPDFAnnotate = this.appOptions.canPDFAnnotate && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false); - this.appOptions.isPDFAnnotate = false;// this.appOptions.canLicense && this.appOptions.canPDFAnnotate && !this.appOptions.isPDFEdit && this.editorConfig.mode !== 'view'; !! always open in view mode + this.appOptions.isPDFAnnotate = this.appOptions.canPDFAnnotate && this.appOptions.isDesktopApp && this.appOptions.isOffline; // this.appOptions.canPDFAnnotate && !this.appOptions.isPDFEdit && this.editorConfig.mode !== 'view'; !! online files always open in view mode this.appOptions.canComments = !isXpsViewer; this.appOptions.canViewComments = this.appOptions.canComments; this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !(this.permissions.chat===false || (this.permissions.chat===undefined) && diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index 4406b8e44c..5be48b77fe 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -411,10 +411,10 @@ define([ } }); } else if (this.api) { - var isModified = this.api.asc_isDocumentCanSave(); - var isSyncButton = toolbar.btnCollabChanges && toolbar.btnCollabChanges.cmpEl.hasClass('notify'); - if (!isModified && !isSyncButton && !toolbar.mode.forcesave) - return; + // var isModified = this.api.asc_isDocumentCanSave(); + // var isSyncButton = toolbar.btnCollabChanges && toolbar.btnCollabChanges.cmpEl.hasClass('notify'); + // if (!isModified && !isSyncButton && !toolbar.mode.forcesave) + // return; this.api.asc_Save(); toolbar.btnSave.setDisabled(!toolbar.mode.forcesave && !toolbar.mode.saveAlwaysEnabled); diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index 616cb860aa..d406b5b2eb 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -659,7 +659,7 @@ define([ this.mode = mode; var fast_coauth = Common.Utils.InternalSettings.get("pdfe-settings-coauthmode"), - canPDFSave = mode.isPDFAnnotate || mode.isPDFEdit; + canPDFSave = (mode.isPDFAnnotate || mode.isPDFEdit) && !mode.isOffline; $('tr.edit', this.el)[mode.isEdit?'show':'hide'](); $('tr.autosave', this.el)[mode.isEdit && canPDFSave && (mode.canChangeCoAuthoring || !fast_coauth) ? 'show' : 'hide'](); From f18d44056a02b01a2deba19d6024ee26aa8f3af5 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Sat, 9 Dec 2023 13:16:19 +0300 Subject: [PATCH 09/65] Open pdf-form files via pdf editor --- apps/api/documents/api.js | 8 +++----- apps/documenteditor/main/app/controller/FormsTab.js | 8 -------- apps/documenteditor/main/app/controller/Toolbar.js | 11 ++++++++++- apps/pdfeditor/main/app/controller/Viewport.js | 8 +++++++- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index cb48d77a1e..487269a95f 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -960,16 +960,14 @@ if (typeof type[3] === 'string' && config.type !== 'mobile' && config.type !== 'embedded') appType = 'pdf'; } } - if (appType === 'pdf' && (config.type === 'mobile' || config.type === 'embedded' || config.document && config.document.isForm)) { + if (appType === 'pdf' && (config.type === 'mobile' || config.type === 'embedded')) { appType = 'word'; } path += appMap[appType] + "/"; const path_type = config.type === "mobile" ? "mobile" : (config.type === "embedded") - ? "embed" : (config.document && typeof config.document.fileType === 'string' && config.document.fileType.toLowerCase() === 'pdf' && - appType==='word') - ? "forms" : "main"; + ? "embed" : "main"; path += path_type; var index = "/index.html"; @@ -1038,7 +1036,7 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; - if (config.document && config.isForm) + if (config.document && config.document.isForm) params += "&isForm=true"; return params; diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index 0d4d64ed7e..24774159b1 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -448,14 +448,6 @@ define([ config.isEdit && config.canFeatureContentControl && config.isFormCreator && !config.isOForm && me.showHelpTip('create'); // show tip only when create form in docxf me.onRefreshRolesList(); me.onChangeProtectDocument(); - config.isOForm && config.canDownloadForms && !Common.localStorage.getBool("de-convert-oform") && Common.UI.warning({ - msg : me.view.tipSaveFile, - dontshow: true, - callback: function(btn, dontshow){ - dontshow && Common.localStorage.setItem("de-convert-oform", 1); - Common.NotificationCenter.trigger('edit:complete'); - } - }); }); }, diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 6bffadca0a..a53ecc1285 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3539,6 +3539,14 @@ define([ .setApi(me.api) .onAppReady(config); } + config.isOForm && config.canDownloadForms && !Common.localStorage.getBool("de-convert-oform") && Common.UI.warning({ + msg : me.textConvertForm, + dontshow: true, + callback: function(btn, dontshow){ + dontshow && Common.localStorage.setItem("de-convert-oform", 1); + Common.NotificationCenter.trigger('edit:complete'); + } + }); }); }, @@ -4007,7 +4015,8 @@ define([ textGroup: 'Group', textEmptyMMergeUrl: 'You need to specify URL.', textRecentlyUsed: 'Recently Used', - dataUrl: 'Paste a data URL' + dataUrl: 'Paste a data URL', + textConvertForm: 'Download file as pdf to save the form in the format ready for filling.', }, DE.Controllers.Toolbar || {})); }); diff --git a/apps/pdfeditor/main/app/controller/Viewport.js b/apps/pdfeditor/main/app/controller/Viewport.js index 0e731e04f1..3a93767a54 100644 --- a/apps/pdfeditor/main/app/controller/Viewport.js +++ b/apps/pdfeditor/main/app/controller/Viewport.js @@ -131,7 +131,13 @@ define([ // Create and render main view this.viewport = this.createView('Viewport').render(); - this.api = new Asc.PDFEditorApi({ + this.isForm = /[\?\&]isForm=\btrue\b&?/i.exec(window.location.search); + this.isXpsViewer = /[\?\&]fileType=\b(djvu|xps|oxps)\b&?/i.exec(window.location.search); + + this.api = (!!this.isXpsViewer || !this.isForm) ? new Asc.PDFEditorApi({ + 'id-view' : 'editor_sdk', + 'translate': this.getApplication().getController('Main').translationTable + }) : new Asc.asc_docs_api({ 'id-view' : 'editor_sdk', 'translate': this.getApplication().getController('Main').translationTable }); From d2d371c9b16481314a20d98e447c48ca4e82b50a Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 11 Dec 2023 19:39:03 +0300 Subject: [PATCH 10/65] [PDF] Open pdf-form files in pdf-editor --- apps/common/main/lib/component/Mixtbar.js | 3 +- apps/common/main/lib/view/Header.js | 22 +- .../main/app/controller/DocumentHolder.js | 354 +++++++++++++++++- .../pdfeditor/main/app/controller/LeftMenu.js | 6 +- apps/pdfeditor/main/app/controller/Main.js | 117 +++++- apps/pdfeditor/main/app/controller/Toolbar.js | 191 ++++++++-- apps/pdfeditor/main/app/controller/ViewTab.js | 12 +- .../pdfeditor/main/app/controller/Viewport.js | 6 +- .../main/app/template/Toolbar.template | 15 + .../pdfeditor/main/app/view/DocumentHolder.js | 5 +- .../pdfeditor/main/app/view/FileMenuPanels.js | 4 +- apps/pdfeditor/main/app/view/LeftMenu.js | 1 + apps/pdfeditor/main/app/view/Toolbar.js | 306 ++++++++++----- apps/pdfeditor/main/app/view/ViewTab.js | 32 +- apps/pdfeditor/main/index.html | 1 - apps/pdfeditor/main/index.html.deploy | 1 - 16 files changed, 857 insertions(+), 219 deletions(-) diff --git a/apps/common/main/lib/component/Mixtbar.js b/apps/common/main/lib/component/Mixtbar.js index 0f1eaa71a5..81bd6cf10d 100644 --- a/apps/common/main/lib/component/Mixtbar.js +++ b/apps/common/main/lib/component/Mixtbar.js @@ -143,7 +143,8 @@ define([ this.$layout = $(options.template({ tabsmarkup: _.template(_template_tabs)({items: options.tabs}), - isRTL: Common.UI.isRTL() + isRTL: Common.UI.isRTL(), + config: options.config })); config.tabs = options.tabs; diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js index 2568e8cba2..44ab50c734 100644 --- a/apps/common/main/lib/view/Header.js +++ b/apps/common/main/lib/view/Header.js @@ -222,7 +222,7 @@ define([ function updateDocNamePosition(config) { if ( $labelDocName && config) { var $parent = $labelDocName.parent(); - if (!config.isEdit) { + if (!(config.isEdit || isPDFEditor && config.isRestrictedEdit)) { var _left_width = $parent.position().left, _right_width = $parent.next().outerWidth(); $parent.css('padding-left', _left_width < _right_width ? Math.max(2, _right_width - _left_width) : 2); @@ -242,7 +242,7 @@ define([ } } - if (!(config.customization && config.customization.toolbarHideFileName) && (!config.isEdit || config.customization && config.customization.compactHeader)) { + if (!(config.customization && config.customization.toolbarHideFileName) && (!(config.isEdit || isPDFEditor && config.isRestrictedEdit) || config.customization && config.customization.compactHeader)) { var basis = parseFloat($parent.css('padding-left') || 0) + parseFloat($parent.css('padding-right') || 0) + parseInt($labelDocName.css('min-width') || 50); // 2px - box-shadow config.isCrypted && (basis += 20); $parent.css('flex-basis', Math.ceil(basis) + 'px'); @@ -262,7 +262,7 @@ define([ } function onResize() { - if (appConfig && appConfig.isEdit && !(appConfig.customization && appConfig.customization.compactHeader)) { + if (appConfig && (appConfig.isEdit || isPDFEditor && appConfig.isRestrictedEdit) && !(appConfig.customization && appConfig.customization.compactHeader)) { updateDocNamePosition(appConfig); } } @@ -383,7 +383,7 @@ define([ }); } - if ( !mode.isEdit ) { + if ( !(mode.isEdit || isPDFEditor && mode.isRestrictedEdit) ) { if ( me.btnDownload ) { me.btnDownload.updateHint(me.tipDownload); me.btnDownload.on('click', function (e) { @@ -443,7 +443,7 @@ define([ Common.NotificationCenter.trigger('pdf:mode', item.value, _.bind(changePDFMode, me)); }); } - if (appConfig.isEdit && !(appConfig.customization && appConfig.customization.compactHeader)) + if ((appConfig.isEdit || isPDFEditor && appConfig.isRestrictedEdit) && !(appConfig.customization && appConfig.customization.compactHeader)) Common.NotificationCenter.on('window:resize', onResize); } @@ -638,7 +638,7 @@ define([ $html.find('#slot-btn-favorite').hide(); } - if ( !config.isEdit ) { + if ( !(config.isEdit || isPDFEditor && config.isRestrictedEdit)) { if ( (config.canDownload || config.canDownloadOrigin) && !config.isOffline ) this.btnDownload = createTitleButton('toolbar__icon icon--inverse btn-download', $html.findById('#slot-hbtn-download'), undefined, 'bottom', 'big'); @@ -653,7 +653,7 @@ define([ } me.btnSearch.render($html.find('#slot-btn-search')); - if (!config.isEdit || config.customization && !!config.customization.compactHeader) { + if (!(config.isEdit || isPDFEditor && config.isRestrictedEdit) || config.customization && !!config.customization.compactHeader) { if (config.user.guest && config.canRenameAnonymous) { me.btnUserName = new Common.UI.Button({ el: $html.findById('.slot-btn-user-name'), @@ -734,13 +734,15 @@ define([ $btnUserName = $html.find('.color-user-name'); me.setUserName(me.options.userName); - if ( config.canPrint && config.isEdit ) { + if ( config.canPrint && (config.isEdit || isPDFEditor && config.isRestrictedEdit) ) { me.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-btn-dt-print'), true, undefined, undefined, 'P'); } - if ( config.canQuickPrint && config.isEdit ) + if ( config.canQuickPrint && (config.isEdit || isPDFEditor && config.isRestrictedEdit) ) me.btnPrintQuick = createTitleButton('toolbar__icon icon--inverse btn-quick-print', $html.findById('#slot-btn-dt-print-quick'), true, undefined, undefined, 'Q'); - me.btnSave = createTitleButton('toolbar__icon icon--inverse btn-save', $html.findById('#slot-btn-dt-save'), true, undefined, undefined, 'S'); + if (!isPDFEditor || !config.isForm) + me.btnSave = createTitleButton('toolbar__icon icon--inverse btn-save', $html.findById('#slot-btn-dt-save'), true, undefined, undefined, 'S'); + me.btnUndo = createTitleButton('toolbar__icon icon--inverse btn-undo', $html.findById('#slot-btn-dt-undo'), true, undefined, undefined, 'Z'); me.btnRedo = createTitleButton('toolbar__icon icon--inverse btn-redo', $html.findById('#slot-btn-dt-redo'), true, undefined, undefined, 'Y'); diff --git a/apps/pdfeditor/main/app/controller/DocumentHolder.js b/apps/pdfeditor/main/app/controller/DocumentHolder.js index 24f2e858e4..4170c6c63a 100644 --- a/apps/pdfeditor/main/app/controller/DocumentHolder.js +++ b/apps/pdfeditor/main/app/controller/DocumentHolder.js @@ -41,7 +41,10 @@ define([ 'core', - 'pdfeditor/main/app/view/DocumentHolder' + 'pdfeditor/main/app/view/DocumentHolder', + 'common/main/lib/view/ImageFromUrlDialog', + 'common/main/lib/view/SelectFileDlg', + 'common/main/lib/view/SaveAsDlg' ], function () { 'use strict'; @@ -164,6 +167,13 @@ define([ this.api.asc_registerCallback('asc_onShowPDFFormsActions', _.bind(this.onShowFormsPDFActions, this)); this.api.asc_registerCallback('asc_onHidePdfFormsActions', _.bind(this.onHidePdfFormsActions, this)); } + if (this.mode.isRestrictedEdit) { + this.api.asc_registerCallback('asc_onShowContentControlsActions', _.bind(this.onShowContentControlsActions, this)); + this.api.asc_registerCallback('asc_onHideContentControlsActions', _.bind(this.onHideContentControlsActions, this)); + Common.Gateway.on('insertimage', _.bind(this.insertImage, this)); + Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this)); // try to load image from storage + Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this)); // set loaded image to control + } this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); @@ -836,8 +846,8 @@ define([ }, onHidePdfFormsActions: function() { - this.listControlMenu && this.listControlMenu.isVisible() && this.listControlMenu.hide(); - var controlsContainer = this.documentHolder.cmpEl.find('#calendar-control-container'); + this.listControlMenuPdf && this.listControlMenuPdf.isVisible() && this.listControlMenuPdf.hide(); + var controlsContainer = this.documentHolder.cmpEl.find('#calendar-control-container-pdf'); if (controlsContainer.is(':visible')) controlsContainer.hide(); }, @@ -848,7 +858,7 @@ define([ this.onShowListActionsPDF(obj, x, y); break; case AscPDF.FIELD_TYPES.text: - this.onShowDateActions(obj, x, y); + this.onShowDateActionsPDF(obj, x, y); break; } }, @@ -856,16 +866,16 @@ define([ onShowListActionsPDF: function(obj) { var isForm = true, cmpEl = this.documentHolder.cmpEl, - menu = this.listControlMenu, + menu = this.listControlMenuPdf, menuContainer = menu ? cmpEl.find(Common.Utils.String.format('#menu-container-{0}', menu.id)) : null, me = this; - me._listObj = obj; + me._listObjPdf = obj; this._fromShowContentControls = true; Common.UI.Menu.Manager.hideAll(); if (!menu) { - this.listControlMenu = menu = new Common.UI.Menu({ + this.listControlMenuPdf = menu = new Common.UI.Menu({ maxHeight: 207, menuAlign: 'tr-bl', items: [] @@ -885,7 +895,7 @@ define([ menu.render(menuContainer); menu.cmpEl.attr({tabindex: "-1"}); menu.on('hide:after', function(){ - me.listControlMenu.removeAll(); + me.listControlMenuPdf.removeAll(); if (!me._fromShowContentControls) me.api.asc_UncheckContentControlButtons(); }); @@ -925,15 +935,15 @@ define([ this._fromShowContentControls = false; }, - onShowDateActions: function(obj, x, y) { + onShowDateActionsPDF: function(obj, x, y) { var cmpEl = this.documentHolder.cmpEl, - controlsContainer = cmpEl.find('#calendar-control-container'), + controlsContainer = cmpEl.find('#calendar-control-container-pdf'), me = this; - this._dateObj = obj; + this._dateObjPdf = obj; if (controlsContainer.length < 1) { - controlsContainer = $('
    '); + controlsContainer = $('
    '); cmpEl.append(controlsContainer); } @@ -945,19 +955,19 @@ define([ controlsContainer.css({left: oGlobalCoords.X, top : oGlobalCoords.Y}); controlsContainer.show(); - if (!this.cmpCalendar) { - this.cmpCalendar = new Common.UI.Calendar({ - el: cmpEl.find('#id-document-calendar-control'), + if (!this.cmpCalendarPdf) { + this.cmpCalendarPdf = new Common.UI.Calendar({ + el: cmpEl.find('#id-document-calendar-control-pdf'), enableKeyEvents: true, firstday: 1 }); - this.cmpCalendar.on('date:click', function (cmp, date) { + this.cmpCalendarPdf.on('date:click', function (cmp, date) { var specProps = new AscCommon.CSdtDatePickerPr(); specProps.put_FullDate(new Date(date)); me.api.asc_SetTextFormDatePickerDate(specProps); controlsContainer.hide(); }); - this.cmpCalendar.on('calendar:keydown', function (cmp, e) { + this.cmpCalendarPdf.on('calendar:keydown', function (cmp, e) { if (e.keyCode==Common.UI.Keys.ESC) { controlsContainer.hide(); } @@ -969,14 +979,320 @@ define([ }); } - var val = this._dateObj ? this._dateObj.GetValue() : undefined; + var val = this._dateObjPdf ? this._dateObjPdf.GetValue() : undefined; if (val) { val = new Date(val); if (Object.prototype.toString.call(val) !== '[object Date]' || isNaN(val)) val = undefined; } !val && (val = new Date()); - this.cmpCalendar.setDate(val); + this.cmpCalendarPdf.setDate(val); + + // align + var offset = controlsContainer.offset(), + docW = Common.Utils.innerWidth(), + docH = Common.Utils.innerHeight() - 10, // Yep, it's magic number + menuW = this.cmpCalendarPdf.cmpEl.outerWidth(), + menuH = this.cmpCalendarPdf.cmpEl.outerHeight(), + buttonOffset = 22, + left = offset.left - menuW, + top = offset.top; + if (top + menuH > docH) { + top = docH - menuH; + left -= buttonOffset; + } + if (top < 0) + top = 0; + if (left + menuW > docW) + left = docW - menuW; + this.cmpCalendarPdf.cmpEl.css({left: left, top : top}); + + this._preventClick = true; + }, + + onShowContentControlsActions: function(obj, x, y) { + if (this._isDisabled) return; + + var me = this; + switch (obj.type) { + case Asc.c_oAscContentControlSpecificType.DateTime: + this.onShowDateActions(obj, x, y); + break; + case Asc.c_oAscContentControlSpecificType.Picture: + if (obj.pr && obj.pr.get_Lock) { + var lock = obj.pr.get_Lock(); + if (lock == Asc.c_oAscSdtLockType.SdtContentLocked || lock==Asc.c_oAscSdtLockType.ContentLocked) + return; + } + this.onShowImageActions(obj, x, y); + break; + case Asc.c_oAscContentControlSpecificType.DropDownList: + case Asc.c_oAscContentControlSpecificType.ComboBox: + this.onShowListActions(obj, x, y); + break; + } + }, + + onHideContentControlsActions: function() { + this.listControlMenu && this.listControlMenu.isVisible() && this.listControlMenu.hide(); + var controlsContainer = this.documentHolder.cmpEl.find('#calendar-control-container'); + if (controlsContainer.is(':visible')) + controlsContainer.hide(); + }, + + onShowImageActions: function(obj, x, y) { + var cmpEl = this.documentHolder.cmpEl, + menu = this.imageControlMenu, + menuContainer = menu ? cmpEl.find(Common.Utils.String.format('#menu-container-{0}', menu.id)) : null, + me = this; + + this.internalFormObj = obj && obj.pr ? obj.pr.get_InternalId() : null; + this._fromShowContentControls = true; + Common.UI.Menu.Manager.hideAll(); + + if (!menu) { + this.imageControlMenu = menu = new Common.UI.Menu({ + maxHeight: 207, + menuAlign: 'tl-bl', + items: [ + {caption: this.documentHolder.mniImageFromFile, value: 'file'}, + {caption: this.documentHolder.mniImageFromUrl, value: 'url'}, + {caption: this.documentHolder.mniImageFromStorage, value: 'storage', visible: this.mode.canRequestInsertImage || this.mode.fileChoiceUrl && this.mode.fileChoiceUrl.indexOf("{documentType}")>-1} + ] + }); + menu.on('item:click', function(menu, item) { + setTimeout(function(){ + me.onImageSelect(menu, item); + }, 1); + setTimeout(function(){ + me.api.asc_UncheckContentControlButtons(); + }, 500); + }); + + // Prepare menu container + if (!menuContainer || menuContainer.length < 1) { + menuContainer = $(Common.Utils.String.format('', menu.id)); + cmpEl.append(menuContainer); + } + + menu.render(menuContainer); + menu.cmpEl.attr({tabindex: "-1"}); + menu.on('hide:after', function(){ + if (!me._fromShowContentControls) + me.api.asc_UncheckContentControlButtons(); + }); + } + menuContainer.css({left: x, top : y}); + menuContainer.attr('data-value', 'prevent-canvas-click'); + this._preventClick = true; + menu.show(); + + _.delay(function() { + menu.cmpEl.focus(); + }, 10); + this._fromShowContentControls = false; + }, + + onImageSelect: function(menu, item) { + if (item.value=='url') { + var me = this; + (new Common.Views.ImageFromUrlDialog({ + handler: function(result, value) { + if (result == 'ok') { + if (me.api) { + var checkUrl = value.replace(/ /g, ''); + if (!_.isEmpty(checkUrl)) { + me.setImageUrl(checkUrl); + } + } + } + } + })).show(); + } else if (item.value=='storage') { + Common.NotificationCenter.trigger('storage:image-load', 'control'); + } else { + if (this._isFromFile) return; + this._isFromFile = true; + this.api.asc_addImage(this.internalFormObj); + this._isFromFile = false; + } + }, + + openImageFromStorage: function(type) { + var me = this; + if (this.mode.canRequestInsertImage) { + Common.Gateway.requestInsertImage(type); + } else { + (new Common.Views.SelectFileDlg({ + fileChoiceUrl: this.mode.fileChoiceUrl.replace("{fileExt}", "").replace("{documentType}", "ImagesOnly") + })).on('selectfile', function(obj, file){ + file && (file.c = type); + !file.images && (file.images = [{fileType: file.fileType, url: file.url}]); // SelectFileDlg uses old format for inserting image + file.url = null; + me.insertImage(file); + }).show(); + } + }, + + setImageUrl: function(url, token) { + this.api.asc_SetContentControlPictureUrl(url, this.internalFormObj && this.internalFormObj.pr ? this.internalFormObj.pr.get_InternalId() : null, token); + }, + + insertImage: function(data) { // gateway + if (data && (data.url || data.images)) { + data.url && console.log("Obsolete: The 'url' parameter of the 'insertImage' method is deprecated. Please use 'images' parameter instead."); + + var arr = []; + if (data.images && data.images.length>0) { + for (var i=0; i', menu.id)); + cmpEl.append(menuContainer); + } + + menu.render(menuContainer); + menu.cmpEl.attr({tabindex: "-1"}); + menu.on('hide:after', function(){ + me.listControlMenu.removeAll(); + if (!me._fromShowContentControls) + me.api.asc_UncheckContentControlButtons(); + }); + } + if (specProps) { + if (isForm){ // for dropdown and combobox form control always add placeholder item + var text = props.get_PlaceholderText(); + menu.addItem(new Common.UI.MenuItem({ + caption : (text.trim()!=='') ? text : this.documentHolder.txtEmpty, + value : '', + template : _.template([ + ' opacity: 0.6 <% } %>">', + '<%= Common.Utils.String.htmlEncode(caption) %>', + '' + ].join('')) + })); + } + var count = specProps.get_ItemsCount(); + for (var i=0; i', + '<%= Common.Utils.String.htmlEncode(caption) %>', + '' + ].join('')) + })); + } + if (!isForm && menu.items.length<1) { + menu.addItem(new Common.UI.MenuItem({ + caption : this.documentHolder.txtEmpty, + value : -1 + })); + } + } + + menuContainer.css({left: x, top : y}); + menuContainer.attr('data-value', 'prevent-canvas-click'); + this._preventClick = true; + menu.show(); + + _.delay(function() { + menu.cmpEl.focus(); + }, 10); + this._fromShowContentControls = false; + }, + + onShowDateActions: function(obj, x, y) { + var props = obj.pr, + specProps = props.get_DateTimePr(), + cmpEl = this.documentHolder.cmpEl, + controlsContainer = cmpEl.find('#calendar-control-container'), + me = this; + + this._dateObj = props; + + if (controlsContainer.length < 1) { + controlsContainer = $('
    '); + cmpEl.append(controlsContainer); + } + + Common.UI.Menu.Manager.hideAll(); + + controlsContainer.css({left: x, top : y}); + controlsContainer.show(); + + if (!this.cmpCalendar) { + this.cmpCalendar = new Common.UI.Calendar({ + el: cmpEl.find('#id-document-calendar-control'), + enableKeyEvents: true, + firstday: 1 + }); + this.cmpCalendar.on('date:click', function (cmp, date) { + var specProps = me._dateObj.get_DateTimePr(); + specProps.put_FullDate(new Date(date)); + me.api.asc_SetContentControlDatePickerDate(specProps); + controlsContainer.hide(); + me.api.asc_UncheckContentControlButtons(); + }); + this.cmpCalendar.on('calendar:keydown', function (cmp, e) { + if (e.keyCode==Common.UI.Keys.ESC) { + controlsContainer.hide(); + me.api.asc_UncheckContentControlButtons(); + } + }); + $(document).on('mousedown', function(e) { + if (e.target.localName !== 'canvas' && controlsContainer.is(':visible') && controlsContainer.find(e.target).length==0) { + controlsContainer.hide(); + me.api.asc_UncheckContentControlButtons(); + } + }); + + } + var val = specProps ? specProps.get_FullDate() : undefined; + this.cmpCalendar.setDate(val ? new Date(val) : new Date()); // align var offset = controlsContainer.offset(), diff --git a/apps/pdfeditor/main/app/controller/LeftMenu.js b/apps/pdfeditor/main/app/controller/LeftMenu.js index 845565e3cf..30ecc55e6b 100644 --- a/apps/pdfeditor/main/app/controller/LeftMenu.js +++ b/apps/pdfeditor/main/app/controller/LeftMenu.js @@ -200,7 +200,11 @@ define([ } /** coauthoring end **/ - this.leftMenu.setOptionsPanel('navigation', this.getApplication().getController('Navigation').getView('Navigation')); + if (this.mode.canUseViwerNavigation) { + this.leftMenu.setOptionsPanel('navigation', this.getApplication().getController('Navigation').getView('Navigation')); + } else { + this.leftMenu.btnNavigation.hide(); + } if (this.mode.canUseThumbnails) { this.leftMenu.setOptionsPanel('thumbnails', this.getApplication().getController('PageThumbnails').getView('PageThumbnails')); diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 23c8263644..c7fe66af73 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -97,8 +97,10 @@ define([ }); this.translationTable = { + 'Your text here': this.txtArt, "Choose an item": this.txtChoose, - "Enter a date": this.txtEnterDate + "Enter a date": this.txtEnterDate, + "Click to load image": this.txtClickToLoad }; }, @@ -449,7 +451,9 @@ define([ docInfo.put_Lang(this.editorConfig.lang); docInfo.put_Mode(this.editorConfig.mode); - var enable = !this.editorConfig.customization || (this.editorConfig.customization.plugins!==false); + var enable = !this.editorConfig.customization || (this.editorConfig.customization.macros!==false); + docInfo.asc_putIsEnabledMacroses(!!enable); + enable = !this.editorConfig.customization || (this.editorConfig.customization.plugins!==false); docInfo.asc_putIsEnabledPlugins(!!enable); // docInfo.put_Review(this.permissions.review); @@ -473,6 +477,7 @@ define([ this.api.asc_registerCallback('asc_onGetEditorPermissions', _.bind(this.onEditorPermissions, this)); this.api.asc_registerCallback('asc_onLicenseChanged', _.bind(this.onLicenseChanged, this)); + this.api.asc_registerCallback('asc_onRunAutostartMacroses', _.bind(this.onRunAutostartMacroses, this)); this.api.asc_setDocInfo(docInfo); this.api.asc_getEditorPermissions(this.editorConfig.licenseUrl, this.editorConfig.customerId); @@ -481,6 +486,12 @@ define([ } }, + onRunAutostartMacroses: function() { + if (!this.editorConfig.customization || (this.editorConfig.customization.macros!==false)) { + this.api.asc_runAutostartMacroses(); + } + }, + onProcessSaveResult: function(data) { this.api.asc_OnSaveEnd(data.result); if (data && data.result === false) { @@ -1000,8 +1011,8 @@ define([ documentHolderController.getView().on('editcomplete', _.bind(me.onEditComplete, me)); - if (me.appOptions.isEdit) { - if (me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true + if (me.appOptions.isEdit || me.appOptions.isRestrictedEdit) { + if (me.appOptions.isEdit && me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true me.appOptions.forcesave = Common.localStorage.getBool("pdfe-settings-forcesave", me.appOptions.canForcesave); Common.Utils.InternalSettings.set("pdfe-settings-forcesave", me.appOptions.forcesave); me.api.asc_setIsForceSaveOnUserSave(me.appOptions.forcesave); @@ -1010,6 +1021,7 @@ define([ if (me.needToUpdateVersion) Common.NotificationCenter.trigger('api:disconnect'); + me.appOptions.isRestrictedEdit && me.api.asc_SetHighlightRequiredFields(true); var timer_sl = setTimeout(function(){ toolbarController.createDelayedElements(); @@ -1065,7 +1077,7 @@ define([ onLicenseChanged: function(params) { var licType = params.asc_getLicenseType(); - if (licType !== undefined && (this.appOptions.canPDFEdit) && this.editorConfig.mode !== 'view' && + if (licType !== undefined && (this.appOptions.canPDFEdit && this.editorConfig.mode !== 'view' || this.appOptions.isRestrictedEdit) && (licType===Asc.c_oLicenseResult.Connections || licType===Asc.c_oLicenseResult.UsersCount || licType===Asc.c_oLicenseResult.ConnectionsOS || licType===Asc.c_oLicenseResult.UsersCountOS || licType===Asc.c_oLicenseResult.SuccessLimit && (this.appOptions.trialMode & Asc.c_oLicenseMode.Limited) !== 0)) this._state.licenseType = licType; @@ -1075,6 +1087,9 @@ define([ }, applyLicense: function() { + if (this.appOptions.isForm) + return this.applyLicenseForm(); + if (this.appOptions.canSwitchMode && (this.appOptions.canPDFAnnotate || this.appOptions.canPDFEdit) && !this.appOptions.isDesktopApp && !this.appOptions.canBrandingExt && this.editorConfig && this.editorConfig.customization && (this.editorConfig.customization.loaderName || this.editorConfig.customization.loaderLogo || @@ -1092,6 +1107,57 @@ define([ } }, + applyLicenseForm: function() { + if (!this.appOptions.isAnonymousSupport && !!this.appOptions.user.anonymous) { + this.api.asc_coAuthoringDisconnect(); + Common.NotificationCenter.trigger('api:disconnect'); + Common.UI.warning({ + title: this.notcriticalErrorTitle, + msg : this.warnLicenseAnonymous, + buttons: ['ok'] + }); + } else if (this._state.licenseType) { + var license = this._state.licenseType, + buttons = ['ok'], + primary = 'ok'; + if ((this.appOptions.trialMode & Asc.c_oLicenseMode.Limited) !== 0 && + (license===Asc.c_oLicenseResult.SuccessLimit || this.appOptions.permissionsLicense===Asc.c_oLicenseResult.SuccessLimit)) { + license = this.warnLicenseLimitedRenewed; + } else if (license===Asc.c_oLicenseResult.Connections || license===Asc.c_oLicenseResult.UsersCount) { + license = (license===Asc.c_oLicenseResult.Connections) ? this.warnLicenseExceeded : this.warnLicenseUsersExceeded; + } else { + license = (license===Asc.c_oLicenseResult.ConnectionsOS) ? this.warnNoLicense : this.warnNoLicenseUsers; + buttons = [{value: 'buynow', caption: this.textBuyNow}, {value: 'contact', caption: this.textContactUs}]; + primary = 'buynow'; + } + + if (this._state.licenseType!==Asc.c_oLicenseResult.SuccessLimit && this.appOptions.isRestrictedEdit) { + this.api.asc_coAuthoringDisconnect(); + Common.NotificationCenter.trigger('api:disconnect'); + } + + var value = Common.localStorage.getItem("pdfe-license-warning"); + value = (value!==null) ? parseInt(value) : 0; + var now = (new Date).getTime(); + if (now - value > 86400000) { + Common.UI.info({ + maxwidth: 500, + title: this.textNoLicenseTitle, + msg : license, + buttons: buttons, + primary: primary, + callback: function(btn) { + Common.localStorage.setItem("pdfe-license-warning", now); + if (btn == 'buynow') + window.open('{{PUBLISHER_URL}}', "_blank"); + else if (btn == 'contact') + window.open('mailto:{{SALES_EMAIL}}', "_blank"); + } + }); + } + } + }, + onOpenDocument: function(progress) { var elem = document.getElementById('loadmask-text'); var proc = (progress.asc_getCurrentFont() + progress.asc_getCurrentImage())/(progress.asc_getFontsCount() + progress.asc_getImagesCount()); @@ -1117,8 +1183,8 @@ define([ if (params.asc_getRights() !== Asc.c_oRights.Edit) this.permissions.edit = this.permissions.review = false; - var isXpsViewer = /^(?:(djvu|xps|oxps))$/.test(this.document.fileType) || Common.Locale.getDefaultLanguage() === 'ru'; - + this.appOptions.isXpsViewer = /^(?:(djvu|xps|oxps))$/.test(this.document.fileType) || Common.Locale.getDefaultLanguage() === 'ru'; + this.appOptions.isForm = !this.appOptions.isXpsViewer && !!this.document.isForm; this.appOptions.permissionsLicense = licType; this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable(); this.appOptions.canLicense = (licType === Asc.c_oLicenseResult.Success || licType === Asc.c_oLicenseResult.SuccessLimit); @@ -1127,18 +1193,18 @@ define([ this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion; /** coauthoring end **/ this.appOptions.isOffline = this.api.asc_isOffline(); - this.appOptions.canCreateNew = this.appOptions.canCreateNew && !this.appOptions.isOffline; + this.appOptions.canCreateNew = this.appOptions.canCreateNew && !this.appOptions.isOffline && !this.isForm; this.appOptions.isCrypted = this.api.asc_isCrypto(); this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights; - this.appOptions.canSwitchMode = !isXpsViewer && false; // switch between View/pdf comments/pdf edit - this.appOptions.canEdit = !isXpsViewer; - this.appOptions.isEdit = !isXpsViewer; + this.appOptions.canSwitchMode = !this.appOptions.isXpsViewer && !this.appOptions.isForm && false; // switch between View/pdf comments/pdf edit + this.appOptions.canEdit = !this.appOptions.isXpsViewer && !this.appOptions.isForm; + this.appOptions.isEdit = !this.appOptions.isXpsViewer && !this.appOptions.isForm; this.appOptions.canPDFEdit = false;//(this.permissions.edit !== false) && this.appOptions.canLicense; this.appOptions.isPDFEdit = false; // this.appOptions.canPDFEdit && this.editorConfig.mode !== 'view'; !! always open in view mode this.appOptions.canPDFAnnotate = this.appOptions.canSwitchMode && this.appOptions.canLicense && (this.permissions.comment!== false); this.appOptions.canPDFAnnotate = this.appOptions.canPDFAnnotate && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false); this.appOptions.isPDFAnnotate = false;// this.appOptions.canLicense && this.appOptions.canPDFAnnotate && !this.appOptions.isPDFEdit && this.editorConfig.mode !== 'view'; !! always open in view mode - this.appOptions.canComments = !isXpsViewer; + this.appOptions.canComments = !this.appOptions.isXpsViewer && !this.appOptions.isForm; this.appOptions.canViewComments = this.appOptions.canComments; this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !(this.permissions.chat===false || (this.permissions.chat===undefined) && (typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false); @@ -1167,6 +1233,11 @@ define([ this.appOptions.isPasswordSupport = false;//this.appOptions.isEdit && this.api.asc_isProtectionSupport() && (this.permissions.protect!==false); this.appOptions.canProtect = (this.permissions.protect!==false); this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false); + this.appOptions.canSubmitForms = this.appOptions.canLicense && (typeof (this.editorConfig.customization) == 'object') && !!this.editorConfig.customization.submitForm && !this.appOptions.isOffline; + // TODO: check view mode + this.appOptions.canFillForms = this.appOptions.canLicense && this.appOptions.isForm && ((this.permissions.fillForms===undefined) ? (this.permissions.edit !== false) : this.permissions.fillForms) && (this.editorConfig.mode !== 'view'); + this.appOptions.isAnonymousSupport = !!this.api.asc_isAnonymousSupport(); + this.appOptions.isRestrictedEdit = !this.appOptions.isEdit && this.appOptions.canFillForms; if ( !this.appOptions.canCoAuthoring ) { this.appOptions.canChat = false; @@ -1174,8 +1245,8 @@ define([ this.appOptions.canDownloadOrigin = false; this.appOptions.canDownload = this.permissions.download !== false; - this.appOptions.canUseSelectHandTools = isXpsViewer; - this.appOptions.canUseThumbnails = this.appOptions.canUseViwerNavigation = true; + this.appOptions.canUseSelectHandTools = this.appOptions.isXpsViewer; + this.appOptions.canUseThumbnails = this.appOptions.canUseViwerNavigation = !this.appOptions.isForm; this.appOptions.fileKey = this.document.key; @@ -1224,7 +1295,8 @@ define([ this.onLongActionBegin(Asc.c_oAscAsyncActionType.BlockInteraction, LoadingDocument); } - this.api.asc_setViewMode(!this.appOptions.isEdit); + this.api.asc_setViewMode(!this.appOptions.isEdit && !this.appOptions.isRestrictedEdit); + this.appOptions.isRestrictedEdit && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyForms); this.api.asc_LoadDocument(); }, @@ -1328,9 +1400,9 @@ define([ onPdfModeApply: function() { if (!this.api) return; - this._state.fastCoauth = (this.appOptions.isPDFAnnotate || this.appOptions.isPDFEdit) ? Common.Utils.InternalSettings.get("pdfe-settings-coauthmode") : false; + this._state.fastCoauth = (this.appOptions.isPDFAnnotate || this.appOptions.isPDFEdit) ? Common.Utils.InternalSettings.get("pdfe-settings-coauthmode") : this.appOptions.isForm; this.api.asc_SetFastCollaborative(this._state.fastCoauth); - this.api.asc_setAutoSaveGap(this.appOptions.isPDFAnnotate || this.appOptions.isPDFEdit ? Common.Utils.InternalSettings.get("pdfe-settings-autosave") : 0); + this.api.asc_setAutoSaveGap(this.appOptions.isPDFAnnotate || this.appOptions.isPDFEdit ? Common.Utils.InternalSettings.get("pdfe-settings-autosave") : (this.appOptions.isForm ? 1 : 0)); if (this.appOptions.isPDFAnnotate || this.appOptions.isPDFEdit) { var value = Common.Utils.InternalSettings.get((this._state.fastCoauth) ? "pdfe-settings-showchanges-fast" : "pdfe-settings-showchanges-strict"); switch(value) { @@ -1340,7 +1412,8 @@ define([ default: value = (this._state.fastCoauth) ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges; } this.api.SetCollaborativeMarksShowType(value); - } + } else + this.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None); this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').applyMode(); }, @@ -1597,6 +1670,10 @@ define([ config.msg = this.errorPasswordIsNotCorrect; break; + case Asc.c_oAscError.ID.TextFormWrongFormat: + config.msg = this.errorTextFormWrongFormat; + break; + case Asc.c_oAscError.ID.ConvertationOpenFormat: config.maxwidth = 600; if (errData === 'pdf') @@ -2456,7 +2533,9 @@ define([ txtValidPdfFormat: 'Field value should match format "{0}".', txtChoose: 'Choose an item', txtEnterDate: 'Enter a date', - errorEmailClient: 'No email client could be found' + errorEmailClient: 'No email client could be found', + errorTextFormWrongFormat: 'The value entered does not match the format of the field.', + txtArt: 'Your text here', } })(), PDFE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index e478d1366c..8058084416 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -166,7 +166,6 @@ define([ var me = this; toolbar.btnPrint.on('click', _.bind(this.onPrint, this)); toolbar.btnPrint.on('disabled', _.bind(this.onBtnChangeState, this, 'print:disabled')); - toolbar.btnSave.on('click', _.bind(this.tryToSave, this)); toolbar.btnUndo.on('click', _.bind(this.onUndo, this)); toolbar.btnUndo.on('disabled', _.bind(this.onBtnChangeState, this, 'undo:disabled')); toolbar.btnRedo.on('click', _.bind(this.onRedo, this)); @@ -174,23 +173,6 @@ define([ toolbar.btnCopy.on('click', _.bind(this.onCopyPaste, this, 'copy')); toolbar.btnPaste.on('click', _.bind(this.onCopyPaste, this, 'paste')); toolbar.btnCut.on('click', _.bind(this.onCopyPaste, this, 'cut')); - toolbar.btnSelectAll.on('click', _.bind(this.onSelectAll, this)); - toolbar.btnSelectTool.on('toggle', _.bind(this.onSelectTool, this, 'select')); - toolbar.btnHandTool.on('toggle', _.bind(this.onSelectTool, this, 'hand')); - toolbar.btnAddComment.on('click', function (btn, e) { - Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); - }); - toolbar.btnStrikeout.on('click', _.bind(this.onBtnStrikeout, this)); - toolbar.mnuStrikeoutColorPicker.on('select', _.bind(this.onSelectStrikeoutColor, this)); - toolbar.mnuStrikeoutTransparent.on('click', _.bind(this.onStrikeoutTransparentClick, this)); - toolbar.btnUnderline.on('click', _.bind(this.onBtnUnderline, this)); - toolbar.mnuUnderlineColorPicker.on('select', _.bind(this.onSelectUnderlineColor, this)); - toolbar.mnuUnderlineTransparent.on('click', _.bind(this.onUnderlineTransparentClick, this)); - toolbar.btnHighlight.on('click', _.bind(this.onBtnHighlight, this)); - toolbar.mnuHighlightColorPicker.on('select', _.bind(this.onSelectHighlightColor, this)); - toolbar.mnuHighlightTransparent.on('click', _.bind(this.onHighlightTransparentClick, this)); - toolbar.chShowComments.on('change', _.bind(this.onShowCommentsChange, this)); - // toolbar.btnRotate.on('click', _.bind(this.onRotateClick, this)); toolbar.fieldPages.on('changed:after', _.bind(this.onPagesChanged, this)); toolbar.fieldPages.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me.toolbar);}); toolbar.fieldPages.cmpEl && toolbar.fieldPages.cmpEl.on('focus', 'input.form-control', function() { @@ -203,26 +185,90 @@ define([ this.onBtnChangeState('undo:disabled', toolbar.btnUndo, toolbar.btnUndo.isDisabled()); this.onBtnChangeState('redo:disabled', toolbar.btnRedo, toolbar.btnRedo.isDisabled()); - Common.NotificationCenter.on('leftmenu:save', _.bind(this.tryToSave, this)); - Common.NotificationCenter.on('draw:start', _.bind(this.onDrawStart, this)); + + if (this.mode && this.mode.isEdit) { + toolbar.btnSave.on('click', _.bind(this.tryToSave, this)); + toolbar.btnSelectAll.on('click', _.bind(this.onSelectAll, this)); + toolbar.btnSelectTool.on('toggle', _.bind(this.onSelectTool, this, 'select')); + toolbar.btnHandTool.on('toggle', _.bind(this.onSelectTool, this, 'hand')); + toolbar.btnAddComment.on('click', function (btn, e) { + Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); + }); + toolbar.btnStrikeout.on('click', _.bind(this.onBtnStrikeout, this)); + toolbar.mnuStrikeoutColorPicker.on('select', _.bind(this.onSelectStrikeoutColor, this)); + toolbar.mnuStrikeoutTransparent.on('click', _.bind(this.onStrikeoutTransparentClick, this)); + toolbar.btnUnderline.on('click', _.bind(this.onBtnUnderline, this)); + toolbar.mnuUnderlineColorPicker.on('select', _.bind(this.onSelectUnderlineColor, this)); + toolbar.mnuUnderlineTransparent.on('click', _.bind(this.onUnderlineTransparentClick, this)); + toolbar.btnHighlight.on('click', _.bind(this.onBtnHighlight, this)); + toolbar.mnuHighlightColorPicker.on('select', _.bind(this.onSelectHighlightColor, this)); + toolbar.mnuHighlightTransparent.on('click', _.bind(this.onHighlightTransparentClick, this)); + toolbar.chShowComments.on('change', _.bind(this.onShowCommentsChange, this)); + // toolbar.btnRotate.on('click', _.bind(this.onRotateClick, this)); + Common.NotificationCenter.on('leftmenu:save', _.bind(this.tryToSave, this)); + Common.NotificationCenter.on('draw:start', _.bind(this.onDrawStart, this)); + } + if (this.mode && this.mode.isRestrictedEdit) { + toolbar.btnClear.on('click', _.bind(this.onClearClick, this)); + toolbar.btnPrevForm.on('click', _.bind(this.onGoToForm, this, 'prev')); + toolbar.btnNextForm.on('click', _.bind(this.onGoToForm, this, 'next')); + toolbar.btnSubmit && toolbar.btnSubmit.on('click', _.bind(this.onSubmitClick, this)); + toolbar.btnSaveForm && toolbar.btnSaveForm.on('click', _.bind(this.onSaveFormClick, this)); + if (toolbar.btnSubmit && !this.api.asc_IsAllRequiredFormsFilled()) { + toolbar.lockToolbar(Common.enumLock.requiredNotFilled, true, {array: [toolbar.btnSubmit]}); + if (!Common.localStorage.getItem("pdfe-embed-hide-submittip")) { + var requiredTooltip = new Common.UI.SynchronizeTip({ + extCls: 'colored', + placement: 'bottom-right', + target: toolbar.btnSubmit.$el, + text: this.textRequired, + showLink: false, + closable: false, + showButton: true, + textButton: this.textGotIt + }); + var onclose = function () { + requiredTooltip.hide(); + me.api && me.api.asc_MoveToFillingForm(true, true, true); + toolbar.btnSubmit.updateHint(me.textRequired); + }; + requiredTooltip.on('buttonclick', function () { + onclose(); + Common.localStorage.setItem("pdfe-embed-hide-submittip", 1); + }); + requiredTooltip.on('closeclick', onclose); + requiredTooltip.show(); + } else { + toolbar.btnSubmit.updateHint(me.textRequired); + } + } + } }, setApi: function(api) { this.api = api; - if (this.mode.isEdit) { - this.toolbar.setApi(api); - + if (this.mode.isEdit || this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onCanUndo', _.bind(this.onApiCanRevert, this, 'undo')); this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo')); - this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this)); this.api.asc_registerCallback('asc_onZoomChange', _.bind(this.onApiZoomChange, this)); - this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); + this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); this.api.asc_registerCallback('asc_onCanCopyCut', _.bind(this.onApiCanCopyCut, this)); + } + + if (this.mode.isEdit) { + this.toolbar.setApi(api); + this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this)); this.api.asc_registerCallback('asc_onContextMenu', _.bind(this.onContextMenu, this)); this.api.asc_registerCallback('asc_onMarkerFormatChanged', _.bind(this.onApiStartHighlight, this)); } + if (this.mode.isRestrictedEdit) { + this.api.asc_registerCallback('asc_onStartAction', _.bind(this.onLongActionBegin, this)); + this.api.asc_registerCallback('asc_onEndAction', _.bind(this.onLongActionEnd, this)); + this.api.asc_registerCallback('asc_onError', _.bind(this.onError, this)); + this.api.asc_registerCallback('sync_onAllRequiredFormsFilled', _.bind(this.onFillRequiredFields, this)); + } this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onCountPages, this)); this.api.asc_registerCallback('asc_onCurrentPage', _.bind(this.onCurrentPage, this)); this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this)); @@ -416,7 +462,7 @@ define([ return; this.api.asc_Save(); - toolbar.btnSave.setDisabled(!toolbar.mode.forcesave && !toolbar.mode.saveAlwaysEnabled); + toolbar.btnSave && toolbar.btnSave.setDisabled(!toolbar.mode.forcesave && !toolbar.mode.saveAlwaysEnabled); Common.component.Analytics.trackEvent('Save'); Common.component.Analytics.trackEvent('ToolBar', 'Save'); } @@ -439,17 +485,13 @@ define([ defFileName: defFileName }); me._saveCopyDlg.on('saveaserror', function(obj, err){ - var config = { + Common.UI.warning({ closable: false, - title: me.notcriticalErrorTitle, msg: err, - iconCls: 'warn', - buttons: ['ok'], callback: function(btn){ Common.NotificationCenter.trigger('edit:complete', me); } - }; - Common.UI.alert(config); + }); }).on('close', function(obj){ me._saveCopyDlg = undefined; }); @@ -695,13 +737,77 @@ define([ // this.api && this.api.asc_Rotate(); }, + onFillRequiredFields: function(isFilled) { + this.toolbar && this.toolbar.btnSubmit && this.toolbar.lockToolbar(Common.enumLock.requiredNotFilled, !isFilled, {array: [this.toolbar.btnSubmit]}); + }, + + onClearClick: function() { + this.api && this.api.asc_ClearAllSpecialForms(); + Common.NotificationCenter.trigger('edit:complete', this.toolbar); + }, + + onGoToForm: function(type) { + this.api && this.api.asc_MoveToFillingForm(type=='next'); + Common.NotificationCenter.trigger('edit:complete', this.toolbar); + }, + + onSubmitClick: function() { + this.api && this.api.asc_SendForm(); + Common.NotificationCenter.trigger('edit:complete', this.toolbar); + }, + + onSaveFormClick: function() { + if (this.api && this.mode && this.mode.canDownload) { + if (this.mode.isOffline) + this.api.asc_DownloadAs(new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.PDF)); + else { + this._state.isFromToolbarDownloadAs = this.mode.canRequestSaveAs || !!this.mode.saveAsUrl; + this.api.asc_DownloadAs(new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.PDF, this._state.isFromToolbarDownloadAs)); + } + } + }, + + onLongActionBegin: function(type, id) { + if (id==Asc.c_oAscAsyncAction['Submit'] && this.toolbar.btnSubmit) { + this._submitFail = false; + this.submitedTooltip && this.submitedTooltip.hide(); + this.toolbar.lockToolbar(Common.enumLock.submit, true, {array: [this.toolbar.btnSubmit]}) + } + }, + + onLongActionEnd: function(type, id) { + if (id==Asc.c_oAscAsyncAction['Submit'] && this.toolbar.btnSubmit) { + this.toolbar.lockToolbar(Common.enumLock.submit, false, {array: [this.toolbar.btnSubmit]}) + if (!this.submitedTooltip) { + this.submitedTooltip = new Common.UI.SynchronizeTip({ + text: this.textSubmited, + extCls: 'no-arrow', + showLink: false, + target: $('.toolbar'), + placement: 'bottom' + }); + this.submitedTooltip.on('closeclick', function () { + this.submitedTooltip.hide(); + }, this); + } + !this._submitFail && this.submitedTooltip.show(); + } + }, + + onError: function(id, level, errData) { + if (id==Asc.c_oAscError.ID.Submit) { + this._submitFail = true; + this.submitedTooltip && this.submitedTooltip.hide(); + } + }, + activateControls: function() { this.toolbar.lockToolbar(Common.enumLock.disableOnStart, false); this.toolbar.lockToolbar(Common.enumLock.undoLock, this._state.can_undo!==true, {array: [this.toolbar.btnUndo]}); this.toolbar.lockToolbar(Common.enumLock.redoLock, this._state.can_redo!==true, {array: [this.toolbar.btnRedo]}); this.toolbar.lockToolbar(Common.enumLock.copyLock, this._state.can_copy!==true, {array: [this.toolbar.btnCopy]}); this.toolbar.lockToolbar(Common.enumLock.cutLock, this._state.can_cut!==true, {array: [this.toolbar.btnCut]}); - this.toolbar.btnSave.setDisabled(!this.mode.isPDFEdit && !this.mode.isPDFAnnotate && !this.mode.saveAlwaysEnabled); + this.toolbar.btnSave && this.toolbar.btnSave.setDisabled(!this.mode.isPDFEdit && !this.mode.isPDFAnnotate && !this.mode.saveAlwaysEnabled); this._state.activated = true; }, @@ -713,7 +819,7 @@ define([ }, onApiCoAuthoringDisconnect: function(enableDownload) { - this.mode.isEdit && this.toolbar.setMode({isDisconnected:true, enableDownload: !!enableDownload}); + (this.mode.isEdit || this.mode.isRestrictedEdit) && this.toolbar.setMode({isDisconnected:true, enableDownload: !!enableDownload}); this.editMode = false; this.DisableToolbar(true, true); }, @@ -750,8 +856,8 @@ define([ onAppShowed: function (config) { var me = this; - var compactview = !config.isEdit; - if ( config.isEdit) { + var compactview = !(config.isEdit || config.isRestrictedEdit); + if ( config.isEdit || config.isRestrictedEdit) { if ( Common.localStorage.itemExists("pdfe-compact-toolbar") ) { compactview = Common.localStorage.getBool("pdfe-compact-toolbar"); } else @@ -761,11 +867,8 @@ define([ me.toolbar.render(_.extend({isCompactView: compactview}, config)); - if ( config.isEdit ) { + if ( config.isEdit || config.isRestrictedEdit) { me.toolbar.setMode(config); - - me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); - if (!(config.customization && config.customization.compactHeader)) { // hide 'print' and 'save' buttons group and next separator me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); @@ -779,6 +882,9 @@ define([ me.toolbar.btnCopy.$el.removeClass('split'); me.toolbar.processPanelVisible(null, true, true); } + } + if ( config.isEdit ) { + me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); var drawtab = me.getApplication().getController('Common.Controllers.Draw'); drawtab.setApi(me.api).setMode(config); @@ -857,7 +963,10 @@ define([ txtDownload: 'Download', txtSaveCopy: 'Save copy', errorAccessDeny: 'You are trying to perform an action you do not have rights for.
    Please contact your Document Server administrator.', - txtUntitled: 'Untitled' + txtUntitled: 'Untitled', + textRequired: 'Fill all required fields to send form.', + textGotIt: 'Got it', + textSubmited: 'Form submitted successfully
    Click to close the tip.' }, PDFE.Controllers.Toolbar || {})); }); diff --git a/apps/pdfeditor/main/app/controller/ViewTab.js b/apps/pdfeditor/main/app/controller/ViewTab.js index 4c0309c671..ce0396ce1a 100644 --- a/apps/pdfeditor/main/app/controller/ViewTab.js +++ b/apps/pdfeditor/main/app/controller/ViewTab.js @@ -159,10 +159,14 @@ define([ .on('combo:blur', _.bind(me.onComboBlur, me, false)); }); - me.getApplication().getController('LeftMenu').leftMenu.btnNavigation.on('toggle', function (btn, state) { - if (state !== me.view.btnNavigation.pressed) - me.view.turnNavigation(state); - }); + if (me.view.btnNavigation) { + me.getApplication().getController('LeftMenu').leftMenu.btnNavigation.on('toggle', function (btn, state) { + if (state !== me.view.btnNavigation.pressed) + me.view.turnNavigation(state); + }); + } else { + me.view.$el.find('.separator-navigation').hide().prev('.group').hide(); + } if (Common.UI.Themes.available()) { function _fill_themes() { diff --git a/apps/pdfeditor/main/app/controller/Viewport.js b/apps/pdfeditor/main/app/controller/Viewport.js index 3a93767a54..577f47c6b0 100644 --- a/apps/pdfeditor/main/app/controller/Viewport.js +++ b/apps/pdfeditor/main/app/controller/Viewport.js @@ -77,7 +77,7 @@ define([ 'render:before' : function (toolbar) { var config = PDFE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit || config.customization && !!config.customization.compactHeader) + if (!config.isEdit && !config.isRestrictedEdit || config.customization && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); var value = Common.localStorage.getBool("pdfe-settings-quick-print-button", true); @@ -174,7 +174,7 @@ define([ me.viewport.$el.attr('applang', me.appConfig.lang.split(/[\-_]/)[0]); - if ( !config.isEdit || ( !Common.localStorage.itemExists("pdfe-compact-toolbar") && + if ( !(config.isEdit || config.isRestrictedEdit) || ( !Common.localStorage.itemExists("pdfe-compact-toolbar") && config.customization && config.customization.compactToolbar )) { var panel = me.viewport.vlayout.getItem('toolbar'); if ( panel ) panel.height = _intvars.get('toolbar-height-tabs'); @@ -188,7 +188,7 @@ define([ me.viewport.vlayout.getItem('toolbar').el.addClass('style-skip-docname'); } - if ( config.isEdit && !(config.customization && config.customization.compactHeader)) { + if ( (config.isEdit || config.isRestrictedEdit) && !(config.customization && config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); diff --git a/apps/pdfeditor/main/app/template/Toolbar.template b/apps/pdfeditor/main/app/template/Toolbar.template index 3160cdc472..cd32b37e81 100644 --- a/apps/pdfeditor/main/app/template/Toolbar.template +++ b/apps/pdfeditor/main/app/template/Toolbar.template @@ -34,14 +34,29 @@
    + <% if ( typeof config !== "undefined" && config.isEdit) { %>
    + <% } %>
    + <% if ( typeof config !== "undefined" && config.isRestrictedEdit) { %> +
    + + + +
    +
    +
    + + +
    +
    + <% } %>
    diff --git a/apps/pdfeditor/main/app/view/DocumentHolder.js b/apps/pdfeditor/main/app/view/DocumentHolder.js index 993e1198f9..f09b94b01f 100644 --- a/apps/pdfeditor/main/app/view/DocumentHolder.js +++ b/apps/pdfeditor/main/app/view/DocumentHolder.js @@ -258,7 +258,10 @@ define([ textCopy: 'Copy', addCommentText: 'Add Comment', - txtWarnUrl: 'Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?' + txtWarnUrl: 'Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?', + mniImageFromFile: 'Image from File', + mniImageFromUrl: 'Image from URL', + mniImageFromStorage: 'Image from Storage', }, PDFE.Views.DocumentHolder || {})); }); \ No newline at end of file diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index 31645ece31..386ea3de7b 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -658,10 +658,10 @@ define([ this.chAutosave.setCaption(this.textAutoRecover); } /** coauthoring begin **/ - $('tr.collaboration', this.el)[mode.canCoAuthoring || mode.canViewReview ? 'show' : 'hide'](); + $('tr.collaboration', this.el)[mode.canCoAuthoring && !mode.isForm || mode.canViewReview ? 'show' : 'hide'](); $('tr.coauth.changes-mode', this.el)[mode.isEdit && !mode.isOffline && mode.canCoAuthoring && mode.canChangeCoAuthoring && canPDFSave ? 'show' : 'hide'](); $('tr.coauth.changes-show', this.el)[mode.isEdit && !mode.isOffline && mode.canCoAuthoring && canPDFSave ? 'show' : 'hide'](); - $('tr.comments', this.el)[mode.canCoAuthoring ? 'show' : 'hide'](); + $('tr.comments', this.el)[mode.canCoAuthoring && !mode.isForm ? 'show' : 'hide'](); $('tr.ui-rtl', this.el)[mode.uiRtl ? 'show' : 'hide'](); /** coauthoring end **/ diff --git a/apps/pdfeditor/main/app/view/LeftMenu.js b/apps/pdfeditor/main/app/view/LeftMenu.js index 21f545e52e..500a6f6362 100644 --- a/apps/pdfeditor/main/app/view/LeftMenu.js +++ b/apps/pdfeditor/main/app/view/LeftMenu.js @@ -395,6 +395,7 @@ define([ this.mode = mode; this.btnAbout.panel.setMode(mode); mode.canUseThumbnails && this.btnThumbnails.show(); + mode.canUseViwerNavigation && this.btnNavigation.show(); return this; }, diff --git a/apps/pdfeditor/main/app/view/Toolbar.js b/apps/pdfeditor/main/app/view/Toolbar.js index d5415eba39..2337fe6e13 100644 --- a/apps/pdfeditor/main/app/view/Toolbar.js +++ b/apps/pdfeditor/main/app/view/Toolbar.js @@ -77,7 +77,9 @@ define([ lostConnect: 'disconnect', disableOnStart: 'on-start', firstPage: 'first-page', - lastPage: 'last-page' + lastPage: 'last-page', + requiredNotFilled: 'required-not-filled', + submit: 'submit' }; for (var key in enumLock) { if (enumLock.hasOwnProperty(key)) { @@ -126,28 +128,13 @@ define([ {caption: me.textTabFile, action: 'file', extcls: 'canedit', layoutname: 'toolbar-file', haspanel:false, dataHintTitle: 'F'}, {caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'}, {caption: me.textTabComment, action: 'comment', extcls: 'canedit', dataHintTitle: 'C'} - ] + ], + config: config } ); this.btnSaveCls = 'btn-save'; this.btnSaveTip = this.tipSave;// + Common.Utils.String.platformKey('Ctrl+S'); - - this.btnPrint = new Common.UI.Button({ - id: 'id-toolbar-btn-print', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-print no-mask', - lock: [_set.cantPrint, _set.disableOnStart], - signals: ['disabled'], - split: config.canQuickPrint, - menu: config.canQuickPrint, - dataHint: '1', - dataHintDirection: 'bottom', - dataHintTitle: 'P', - printType: 'print' - }); - this.toolbarControls.push(this.btnPrint); - this.btnSave = new Common.UI.Button({ id: 'id-toolbar-btn-save', cls: 'btn-toolbar', @@ -161,73 +148,6 @@ define([ this.toolbarControls.push(this.btnSave); this.btnCollabChanges = this.btnSave; - this.btnUndo = new Common.UI.Button({ - id: 'id-toolbar-btn-undo', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-undo', - lock: [_set.undoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], - signals: ['disabled'], - dataHint: '1', - dataHintDirection: 'bottom', - dataHintTitle: 'Z' - }); - this.toolbarControls.push(this.btnUndo); - - this.btnRedo = new Common.UI.Button({ - id: 'id-toolbar-btn-redo', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-redo', - lock: [_set.redoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], - signals: ['disabled'], - dataHint: '1', - dataHintDirection: 'bottom', - dataHintTitle: 'Y' - }); - this.toolbarControls.push(this.btnRedo); - - this.btnCopy = new Common.UI.Button({ - id: 'id-toolbar-btn-copy', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-copy', - lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], - dataHint: '1', - dataHintDirection: 'top', - dataHintTitle: 'C' - }); - this.toolbarControls.push(this.btnCopy); - - this.btnPaste = new Common.UI.Button({ - id: 'id-toolbar-btn-paste', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-paste', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], - dataHint: '1', - dataHintDirection: 'top', - dataHintTitle: 'V' - }); - this.paragraphControls.push(this.btnPaste); - - this.btnCut = new Common.UI.Button({ - id: 'id-toolbar-btn-cut', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-cut', - lock: [_set.cutLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], - dataHint: '1', - dataHintDirection: 'top', - dataHintTitle: 'X' - }); - this.paragraphControls.push(this.btnCut); - - this.btnSelectAll = new Common.UI.Button({ - id: 'id-toolbar-btn-select-all', - cls: 'btn-toolbar', - iconCls: 'toolbar__icon btn-select-all', - lock: [_set.viewFormMode, _set.disableOnStart], - dataHint: '1', - dataHintDirection: 'bottom' - }); - this.toolbarControls.push(this.btnSelectAll); - this.btnSelectTool = new Common.UI.Button({ id: 'tlbtn-selecttool', cls: 'btn-toolbar x-huge icon-top', @@ -346,6 +266,163 @@ define([ }); this.paragraphControls.push(this.btnHighlight); + } else if ( config.isRestrictedEdit ) { + Common.UI.Mixtbar.prototype.initialize.call(this, { + template: _.template(template), + tabs: [ + {caption: me.textTabFile, action: 'file', extcls: 'canedit', layoutname: 'toolbar-file', haspanel:false, dataHintTitle: 'F'}, + {caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'} + ], + config: config + } + ); + + this.btnClear = new Common.UI.Button({ + id: 'id-toolbar-btn-clear', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-clear-style', + lock: [_set.disableOnStart], + caption: this.textClear, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnClear); + + this.btnPrevForm = new Common.UI.Button({ + id: 'id-toolbar-btn-prev', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-previous-field', + lock: [_set.disableOnStart], + caption: this.capBtnPrev, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnPrevForm); + + this.btnNextForm = new Common.UI.Button({ + id: 'id-toolbar-btn-next', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-next-field', + lock: [_set.disableOnStart], + caption: this.capBtnNext, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnNextForm); + + if (config.canSubmitForms) { + this.btnSubmit = new Common.UI.Button({ + id: 'id-toolbar-btn-submit', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-submit-form', + lock: [_set.lostConnect, _set.disableOnStart, _set.requiredNotFilled, _set.submit], + caption: this.capBtnSubmit, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnSubmit); + } else if (config.canDownload) { + this.btnSaveForm = new Common.UI.Button({ + id: 'id-toolbar-btn-download-form', + cls: 'btn-toolbar x-huge icon-top', + lock: [_set.lostConnect, _set.disableOnStart], + iconCls: 'toolbar__icon btn-save-form', + caption: config.canRequestSaveAs || !!config.saveAsUrl ? this.capBtnSaveForm : (config.isOffline ? this.capBtnSaveFormDesktop : this.capBtnDownloadForm), + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnSaveForm); + } + } + + if ( config.isEdit || config.isRestrictedEdit) { + this.btnPrint = new Common.UI.Button({ + id: 'id-toolbar-btn-print', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-print no-mask', + lock: [_set.cantPrint, _set.disableOnStart], + signals: ['disabled'], + split: config.canQuickPrint, + menu: config.canQuickPrint, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintTitle: 'P', + printType: 'print' + }); + this.toolbarControls.push(this.btnPrint); + + this.btnUndo = new Common.UI.Button({ + id: 'id-toolbar-btn-undo', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-undo', + lock: [_set.undoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + signals: ['disabled'], + dataHint: '1', + dataHintDirection: 'bottom', + dataHintTitle: 'Z' + }); + this.toolbarControls.push(this.btnUndo); + + this.btnRedo = new Common.UI.Button({ + id: 'id-toolbar-btn-redo', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-redo', + lock: [_set.redoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + signals: ['disabled'], + dataHint: '1', + dataHintDirection: 'bottom', + dataHintTitle: 'Y' + }); + this.toolbarControls.push(this.btnRedo); + + this.btnCopy = new Common.UI.Button({ + id: 'id-toolbar-btn-copy', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-copy', + lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + dataHint: '1', + dataHintDirection: 'top', + dataHintTitle: 'C' + }); + this.toolbarControls.push(this.btnCopy); + + this.btnPaste = new Common.UI.Button({ + id: 'id-toolbar-btn-paste', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-paste', + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], + dataHint: '1', + dataHintDirection: 'top', + dataHintTitle: 'V' + }); + this.paragraphControls.push(this.btnPaste); + + this.btnCut = new Common.UI.Button({ + id: 'id-toolbar-btn-cut', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-cut', + lock: [_set.cutLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], + dataHint: '1', + dataHintDirection: 'top', + dataHintTitle: 'X' + }); + this.paragraphControls.push(this.btnCut); + + this.btnSelectAll = new Common.UI.Button({ + id: 'id-toolbar-btn-select-all', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-select-all', + lock: [_set.viewFormMode, _set.disableOnStart], + dataHint: '1', + dataHintDirection: 'bottom' + }); + this.toolbarControls.push(this.btnSelectAll); + this.fieldPages = new Common.UI.InputFieldFixed({ id: 'id-toolbar-txt-pages', style : 'width: 100%;', @@ -438,7 +515,7 @@ define([ this.fireEvent('render:before', [this]); me.isCompactView = mode.isCompactView; - if ( mode.isEdit ) { + if ( mode.isEdit || mode.isRestrictedEdit) { me.$el.html(me.rendererComponents(me.$layout)); } else { me.$layout.find('.canedit').hide(); @@ -460,9 +537,8 @@ define([ this.showSynchTip = !Common.localStorage.getBool("de-hide-synch"); this.needShowSynchTip = false; /** coauthoring end **/ - - me.setTab('home'); } + (mode.isEdit || mode.isRestrictedEdit) && me.setTab('home'); if ( me.isCompactView ) me.setFolded(true); @@ -516,6 +592,11 @@ define([ _injectComponent('#slot-btn-prev-page', this.btnPrevPage); _injectComponent('#slot-btn-next-page', this.btnNextPage); _injectComponent('#slot-chk-showcomment', this.chShowComments); + _injectComponent('#slot-btn-form-clear', this.btnClear); + _injectComponent('#slot-btn-form-prev', this.btnPrevForm); + _injectComponent('#slot-btn-form-next', this.btnNextForm); + _injectComponent('#slot-btn-form-submit', this.btnSubmit); + _injectComponent('#slot-btn-form-save', this.btnSaveForm); this.btnPrint.menu && this.btnPrint.$el.addClass('split'); return $host; @@ -571,7 +652,7 @@ define([ (new Promise( function(resolve, reject) { resolve(); })).then(function () { - if ( !config.isEdit ) return; + if ( !config.isEdit && !config.isRestrictedEdit) return; if(me.btnPrint.menu){ me.btnPrint.setMenu( @@ -596,17 +677,17 @@ define([ ] })); } - if (me.btnStrikeout.menu) { + if (me.btnStrikeout && me.btnStrikeout.menu) { var arr = me.createPen(me.btnStrikeout, 'strikeout'); me.mnuStrikeoutColorPicker = arr[0]; me.mnuStrikeoutTransparent = arr[1]; } - if (me.btnUnderline.menu) { + if (me.btnUnderline && me.btnUnderline.menu) { var arr = me.createPen(me.btnUnderline, 'underline'); me.mnuUnderlineColorPicker = arr[0]; me.mnuUnderlineTransparent = arr[1]; } - if (me.btnHighlight.menu) { + if (me.btnHighlight && me.btnHighlight.menu) { var arr = me.createPen(me.btnHighlight, 'highlight'); me.mnuHighlightColorPicker = arr[0]; me.mnuHighlightTransparent = arr[1]; @@ -620,21 +701,30 @@ define([ } // set hints + if (this.mode.isEdit) { + this.btnSave.updateHint(this.btnSaveTip); + this.btnSelectTool.updateHint(this.tipSelectTool); + this.btnHandTool.updateHint(this.tipHandTool); + this.btnAddComment.updateHint(this.tipAddComment); + this.btnStrikeout.updateHint(this.textStrikeout); + this.btnUnderline.updateHint(this.textUnderline); + this.btnHighlight.updateHint(this.textHighlight); + // this.btnRotate.updateHint(this.tipRotate); + + } else if (this.mode.isRestrictedEdit) { + this.btnClear.updateHint(this.textClearFields); + this.btnPrevForm.updateHint(this.tipPrevForm); + this.btnNextForm.updateHint(this.tipNextForm); + this.btnSubmit && this.btnSubmit.updateHint(this.tipSubmit); + this.btnSaveForm && this.btnSaveForm.updateHint(this.mode.canRequestSaveAs || !!this.mode.saveAsUrl ? this.tipSaveForm : this.tipDownloadForm); + } this.btnPrint.updateHint(this.tipPrint + Common.Utils.String.platformKey('Ctrl+P')); - this.btnSave.updateHint(this.btnSaveTip); this.btnUndo.updateHint(this.tipUndo + Common.Utils.String.platformKey('Ctrl+Z')); this.btnRedo.updateHint(this.tipRedo + Common.Utils.String.platformKey('Ctrl+Y')); this.btnCopy.updateHint(this.tipCopy + Common.Utils.String.platformKey('Ctrl+C')); this.btnPaste.updateHint(this.tipPaste + Common.Utils.String.platformKey('Ctrl+V')); this.btnCut.updateHint(this.tipCut + Common.Utils.String.platformKey('Ctrl+X')); this.btnSelectAll.updateHint(this.tipSelectAll + Common.Utils.String.platformKey('Ctrl+A')); - this.btnSelectTool.updateHint(this.tipSelectTool); - this.btnHandTool.updateHint(this.tipHandTool); - this.btnAddComment.updateHint(this.tipAddComment); - this.btnStrikeout.updateHint(this.textStrikeout); - this.btnUnderline.updateHint(this.textUnderline); - this.btnHighlight.updateHint(this.textHighlight); - // this.btnRotate.updateHint(this.tipRotate); this.btnFirstPage.updateHint(this.tipFirstPage); this.btnLastPage.updateHint(this.tipLastPage); this.btnPrevPage.updateHint(this.tipPrevPage); @@ -786,7 +876,21 @@ define([ tipLastPage: 'Go to the last page', tipPrevPage: 'Go to the previous page', tipNextPage: 'Go to the next page', - capBtnShowComments: 'Show Comments' + capBtnShowComments: 'Show Comments', + textClearFields: 'Clear All Fields', + textClear: 'Clear Fields', + capBtnPrev: 'Previous Field', + capBtnNext: 'Next Field', + capBtnSubmit: 'Submit', + tipPrevForm: 'Go to the previous field', + tipNextForm: 'Go to the next field', + tipSubmit: 'Submit form', + textSubmited: 'Form submitted successfully', + capBtnSaveForm: 'Save as pdf', + capBtnSaveFormDesktop: 'Save as...', + tipSaveForm: 'Save a file as a fillable PDF', + capBtnDownloadForm: 'Download as pdf', + tipDownloadForm: 'Download a file as a fillable PDF', } })(), PDFE.Views.Toolbar || {})); }); diff --git a/apps/pdfeditor/main/app/view/ViewTab.js b/apps/pdfeditor/main/app/view/ViewTab.js index b938ea84a3..788660d859 100644 --- a/apps/pdfeditor/main/app/view/ViewTab.js +++ b/apps/pdfeditor/main/app/view/ViewTab.js @@ -50,7 +50,7 @@ define([ '
    ' + '' + '
    ' + - '
    ' + + '
    ' + '
    ' + '
    ' + '' + @@ -95,7 +95,7 @@ define([ setEvents: function () { var me = this; - me.btnNavigation.on('click', function (btn, e) { + me.btnNavigation && me.btnNavigation.on('click', function (btn, e) { me.fireEvent('viewtab:navigation', [btn.pressed]); }); me.btnsFitToPage.forEach(function (btn) { @@ -137,17 +137,19 @@ define([ var me = this; var _set = Common.enumLock; - this.btnNavigation = new Common.UI.Button({ - cls: 'btn-toolbar x-huge icon-top', - iconCls: 'toolbar__icon btn-big-menu-navigation', - lock: [_set.lostConnect, _set.disableOnStart], - caption: this.textOutline, - enableToggle: true, - dataHint: '1', - dataHintDirection: 'bottom', - dataHintOffset: 'small' - }); - this.lockedControls.push(this.btnNavigation); + if (!this.appConfig.isForm) { + this.btnNavigation = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-big-menu-navigation', + lock: [_set.lostConnect, _set.disableOnStart], + caption: this.textOutline, + enableToggle: true, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.btnNavigation); + } this.cmbsZoom = [this.getZoomCombo()]; @@ -268,7 +270,7 @@ define([ this.$el = $(_.template(template)( {} )); var $host = this.$el; - this.btnNavigation.render($host.find('#slot-btn-navigation')); + this.btnNavigation && this.btnNavigation.render($host.find('#slot-btn-navigation')); this.cmbsZoom[0].render($host.find('.slot-field-zoom')); $host.find('.slot-lbl-zoom').text(this.textZoom); this.btnsFitToPage[0].render($host.find('.slot-btn-ftp')); @@ -298,7 +300,7 @@ define([ onAppReady: function () { var me = this; - this.btnNavigation.updateHint(this.tipHeadings); + this.btnNavigation && this.btnNavigation.updateHint(this.tipHeadings); this.btnInterfaceTheme.updateHint(this.tipInterfaceTheme); this.btnDarkDocument.updateHint(this.tipDarkDocument); this.btnsFitToPage.forEach(function (btn) { diff --git a/apps/pdfeditor/main/index.html b/apps/pdfeditor/main/index.html index 56e5c50f20..1bbe2930a8 100644 --- a/apps/pdfeditor/main/index.html +++ b/apps/pdfeditor/main/index.html @@ -314,7 +314,6 @@ document.querySelectorAll('.compact').forEach(function(item){ item.style.display = 'inline-block'; }); - document.querySelector('.fat').style.left = '655px'; } visible && (document.querySelector('.brendpanel').style.display = 'block'); diff --git a/apps/pdfeditor/main/index.html.deploy b/apps/pdfeditor/main/index.html.deploy index f81036a13e..dab5568389 100644 --- a/apps/pdfeditor/main/index.html.deploy +++ b/apps/pdfeditor/main/index.html.deploy @@ -278,7 +278,6 @@ document.querySelectorAll('.compact').forEach(function(item){ item.style.display = 'inline-block'; }); - document.querySelector('.fat').style.left = '655px'; } visible && (document.querySelector('.brendpanel').style.display = 'block'); From f5dc7be7346f9c56b828d093f89441af08424b1e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 11 Dec 2023 20:21:49 +0300 Subject: [PATCH 11/65] [PDF] Handle tooltip for forms --- apps/pdfeditor/main/app/controller/DocumentHolder.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/pdfeditor/main/app/controller/DocumentHolder.js b/apps/pdfeditor/main/app/controller/DocumentHolder.js index 4170c6c63a..c2e4be1646 100644 --- a/apps/pdfeditor/main/app/controller/DocumentHolder.js +++ b/apps/pdfeditor/main/app/controller/DocumentHolder.js @@ -596,7 +596,7 @@ define([ var showPoint, ToolTip, type = moveData.get_Type(); - if (type==Asc.c_oAscMouseMoveDataTypes.Hyperlink || type==Asc.c_oAscMouseMoveDataTypes.Eyedropper) { + if (type==Asc.c_oAscMouseMoveDataTypes.Hyperlink || type==Asc.c_oAscMouseMoveDataTypes.Eyedropper || type==Asc.c_oAscMouseMoveDataTypes.Form) { if (me.isTooltipHiding) { me.mouseMoveData = moveData; return; @@ -608,6 +608,10 @@ define([ ToolTip = (_.isEmpty(hyperProps.get_ToolTip())) ? hyperProps.get_Value() : hyperProps.get_ToolTip(); if (ToolTip.length>256) ToolTip = ToolTip.substr(0, 256) + '...'; + } else if (type==Asc.c_oAscMouseMoveDataTypes.Form) { + ToolTip = moveData.get_FormHelpText(); + if (ToolTip.length>1000) + ToolTip = ToolTip.substr(0, 1000) + '...'; } else if (type==Asc.c_oAscMouseMoveDataTypes.Eyedropper) { if (me.eyedropperTip.isTipVisible) { me.eyedropperTip.isTipVisible = false; From eda1fcdc52af41d46ba2fd3adf5aeb990215b1cd Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Dec 2023 12:40:54 +0300 Subject: [PATCH 12/65] [PDF] Fix context menu --- .../main/app/controller/DocumentHolder.js | 72 +++++++++++++++-- apps/pdfeditor/main/app/controller/Toolbar.js | 2 +- .../pdfeditor/main/app/view/DocumentHolder.js | 81 ++++++++++++++++++- 3 files changed, 147 insertions(+), 8 deletions(-) diff --git a/apps/pdfeditor/main/app/controller/DocumentHolder.js b/apps/pdfeditor/main/app/controller/DocumentHolder.js index c2e4be1646..0bc85e1525 100644 --- a/apps/pdfeditor/main/app/controller/DocumentHolder.js +++ b/apps/pdfeditor/main/app/controller/DocumentHolder.js @@ -199,10 +199,20 @@ define([ }, createDelayedElements: function(view, type) { - var me = this; + var me = this, + view = me.documentHolder; - me.documentHolder.menuPDFViewCopy.on('click', _.bind(me.onCutCopyPaste, me)); - me.documentHolder.menuAddComment.on('click', _.bind(me.addComment, me)); + if (type==='pdf') { + view.menuPDFViewCopy.on('click', _.bind(me.onCutCopyPaste, me)); + view.menuAddComment.on('click', _.bind(me.addComment, me)); + } else if (type==='forms') { + view.menuPDFFormsUndo.on('click', _.bind(me.onUndo, me)); + view.menuPDFFormsRedo.on('click', _.bind(me.onRedo, me)); + view.menuPDFFormsClear.on('click', _.bind(me.onClear, me)); + view.menuPDFFormsCut.on('click', _.bind(me.onCutCopyPaste, me)); + view.menuPDFFormsCopy.on('click', _.bind(me.onCutCopyPaste, me)); + view.menuPDFFormsPaste.on('click', _.bind(me.onCutCopyPaste, me)); + } }, getView: function (name) { @@ -258,10 +268,47 @@ define([ return {menu_to_show: documentHolder.viewPDFModeMenu, menu_props: {}}; }, + fillFormsMenuProps: function(selectedElements) { + if (!selectedElements || !_.isArray(selectedElements)) return; + + var documentHolder = this.documentHolder; + if (!documentHolder.formsPDFMenu) + documentHolder.createDelayedElementsPDFForms(); + + var menu_props = {}, + noobject = true; + for (var i = 0; i Date: Tue, 12 Dec 2023 12:41:56 +0300 Subject: [PATCH 13/65] [PDF] Add icons --- .../img/toolbar/1.25x/big/btn-clear-style.png | Bin 0 -> 559 bytes .../img/toolbar/1.25x/big/btn-next-field.png | Bin 0 -> 338 bytes .../img/toolbar/1.25x/big/btn-previous-field.png | Bin 0 -> 348 bytes .../img/toolbar/1.25x/big/btn-save-form.png | Bin 0 -> 440 bytes .../img/toolbar/1.25x/big/btn-submit-form.png | Bin 0 -> 468 bytes .../img/toolbar/1.5x/big/btn-clear-style.png | Bin 0 -> 530 bytes .../img/toolbar/1.5x/big/btn-next-field.png | Bin 0 -> 422 bytes .../img/toolbar/1.5x/big/btn-previous-field.png | Bin 0 -> 446 bytes .../img/toolbar/1.5x/big/btn-save-form.png | Bin 0 -> 471 bytes .../img/toolbar/1.5x/big/btn-submit-form.png | Bin 0 -> 524 bytes .../img/toolbar/1.75x/big/btn-clear-style.png | Bin 0 -> 793 bytes .../img/toolbar/1.75x/big/btn-next-field.png | Bin 0 -> 460 bytes .../img/toolbar/1.75x/big/btn-previous-field.png | Bin 0 -> 476 bytes .../img/toolbar/1.75x/big/btn-save-form.png | Bin 0 -> 485 bytes .../img/toolbar/1.75x/big/btn-submit-form.png | Bin 0 -> 618 bytes .../img/toolbar/1x/big/btn-clear-style.png | Bin 0 -> 366 bytes .../img/toolbar/1x/big/btn-next-field.png | Bin 0 -> 323 bytes .../img/toolbar/1x/big/btn-previous-field.png | Bin 0 -> 323 bytes .../img/toolbar/1x/big/btn-save-form.png | Bin 0 -> 424 bytes .../img/toolbar/1x/big/btn-submit-form.png | Bin 0 -> 399 bytes .../img/toolbar/2.5x/big/btn-clear-style.svg | 3 +++ .../img/toolbar/2.5x/big/btn-next-field.svg | 3 +++ .../img/toolbar/2.5x/big/btn-previous-field.svg | 3 +++ .../img/toolbar/2.5x/big/btn-save-form.svg | 3 +++ .../img/toolbar/2.5x/big/btn-submit-form.svg | 3 +++ .../img/toolbar/2x/big/btn-clear-style.png | Bin 0 -> 764 bytes .../img/toolbar/2x/big/btn-next-field.png | Bin 0 -> 521 bytes .../img/toolbar/2x/big/btn-previous-field.png | Bin 0 -> 530 bytes .../img/toolbar/2x/big/btn-save-form.png | Bin 0 -> 682 bytes .../img/toolbar/2x/big/btn-submit-form.png | Bin 0 -> 708 bytes 30 files changed, 15 insertions(+) create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-clear-style.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-next-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-previous-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-save-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-clear-style.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-next-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-previous-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-save-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-clear-style.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-next-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-previous-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-save-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-clear-style.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-next-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-previous-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-save-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-submit-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-clear-style.svg create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-next-field.svg create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-previous-field.svg create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-save-form.svg create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-clear-style.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-next-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-previous-field.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-save-form.png create mode 100644 apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-submit-form.png diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-clear-style.png b/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-clear-style.png new file mode 100644 index 0000000000000000000000000000000000000000..da1c8ed94ff696312c32b882caefefc3d560119b GIT binary patch literal 559 zcmV+~0?_@5P)R zV+G@@jrIVoA6Njb4l-(8_l zOR$iwKEP)=20_Z^-KRuK*7r?LCS`Lj7IG;G!b^_94pOo)PdR%_Nf3gN-K1n=DGI3~ zCGArP>o6O~KgsqfgcV3Pe^UIU*4j0wB*haawJMj|QXap_@rC6WRFv{aB(OM_7E(MH zjvp+;pt2MXPwc|6D3?}JJOue}*0Z%HO(NN_jrtF*q$CJ3ITnqiB&2e-tX@kY%*(N8 xEG1Er(^E=<5GL;`#cDD+Re+)>ilQigm0xb_a-(Wil(zr?002ovPDHLkV1me6;jI7w literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-next-field.png b/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-next-field.png new file mode 100644 index 0000000000000000000000000000000000000000..0abd90667ad0fe679b2b960032eb3bbb3f666dc8 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhb6lZ})WHAE+w=f7ZGR&GI0Tg5` z4sv&5Sa(k5C6L3C?&#~tz_78O`%fY(kpJA%#WAFU@$L0Mz9s{KmWKx`CVc(Z{vxny z%2oj-wM$EKmT#Q(b5fgl^H*^$Ru>nSC+<&;=GYi9-LbWf&(OPFb3okc`7dpUYenaz zpG-LvqT$mDA!1A(70MbtD!iNYMKn2e$=@HLOV>}Gcum=A!@s31kJnxoIIt_}o5t#@T?c`s3T)%e!{h)!sjPQRcXG z`Stwy`?cmD-5LJu^8uAp zwBU;6-L`BZ+ceb)X>ptCb^8{(v2=8Fyx?blJz79+O_#*h!yydTs&-L=m4p05K;(t<| z{OSZIuG*tRjC#AsSQu$fu3jZboFyt=akR{0Fsx8H~;_u literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-save-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-save-form.png new file mode 100644 index 0000000000000000000000000000000000000000..9ddb17063e1ca08b1a407091954fef5d36442607 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3-qjPWHqDDVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}oCO|{#S9GG!XV7ZFl&wkP|z&EC&bmgz~}$}|3Ds)gfJj%APHwc#KH1V zm4%!79|ENXN`m}?85HKvZ?IRmf4{*#KK}iChx2Ur}lC-vh2=S&i!8Nu|+zAu;_!n*&UjjYrPjt*?1^nThBJA3uuK1~-#m3d{VHjYwVs+!;$P~>k z%Q;t5mn0jtE}nVf<~A{5i{E)UvyRxP@xAh$JmcL-#e+V3x3aT-mRe)0A^D=ZzcKNH z#JNjp7TL2I_e<>v;7!?V=^uJ>$;~;-R~5xwwEyN8{KEJPXK=2TVec}b$+0U8Z??WS z`17cE)+6!z{qwHK8~t29S@`yRKffLI7IXG6hP8{#%`{?C1_hg^tDnm{r-UW|)#0`o literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png new file mode 100644 index 0000000000000000000000000000000000000000..47a7251ffb141fe6691a4dc1ff99a8a4d0a44b86 GIT binary patch literal 468 zcmV;_0W1EAP)PR z!!Qg)4@C#)2pXZIbc2r26}&-5$S58~-XJ5Wl3@Kc7I-`%1#CSidbQcPMUhY{0A5X)i2oUcpd zuwohsLOHCM^SxY-M@%C@B*!D>{4AAY6>~Mke1+J>pc0000< KMNUMnLSTaSMYqQQ literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-clear-style.png b/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-clear-style.png new file mode 100644 index 0000000000000000000000000000000000000000..cb915b0455e101a3aefe6b7cf4b3b8c004ee72a7 GIT binary patch literal 530 zcmV+t0`2{YP)9=?tqy4Cj6mRQ$9gU1uV<5EX%Si>-*Zm zc!c4@c!qJuf_d+^FdqKw8OD<5NtlFqyFC8ELPbnMyj>nIb)E@tyFBl(5Nd|EU7mL< zp}xaRIV^zs4l{dw3Dgp1%3&gE2{SuxDk>K<5mCb7Dx2u{1Edz|$y`DLol*yQUF0?M{xmNwO zbd8(wEV~vwzYt)g_WzKL$qKurtml=}7kGRWJ?f1^gMvKnUiHyIlBHfRpim4n z7y}K)K!Y*RCy=?KaO1yx5>KF_^@+jR;(Pcx1(#h@ecYS2UjJzR$y=C{Z4F+y`hh$L1$qewYtpN8mJ&AOrUM+nG&Y;a?dHq3lne#ni;0`bImEp4HIw#njNO~ z+&rfsKTNTntKBKgbI&cG5!}M`9u)tYVP(}b#ywV=h3PTPzHhC1i2diBuM4w&A@)Fd zhdx5*+$l6#TG+p9ePeu&GUu5f{~fy7J>H=$1PnEtfT4yHFw}4Yh8j+A3-tqonuR*- ooL7Q@!@ROkho6&(h=?A=54-DE+xNACQ~&?~07*qoM6N<$f|Yfx0Ha%VKiw|4(HV zjFHXu_fa@lP$#GqpLPA<9P8p86m)5sg}Q3)`!?&;$I=~#G8V36(hUt=;1|sL zDrD+|cgFhyq!*pwF)(31{Mk6`%z+PodZLUS7u{8w;|=gEZK98sZ4rOA`Uvlu`4G}ouxl(X^?Ph)vFKltakqL@}C=1yLNe2EX)4T z?@pX&8&K%)dUWsJfc-Tq*X);{rhiqw_e$Fe3!goYCNe+OerVG#ujMZ} XLvm@gA@fXNs4;lD`njxgN@xNA2)@Nh literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png new file mode 100644 index 0000000000000000000000000000000000000000..7fabeedd9839d51c8465a3ff0ed43af5b32e3e58 GIT binary patch literal 524 zcmV+n0`vWeP)!Cqj#rRq5!#yPhD#1wo!c1T@Kfd)fFWvhZ({r zIZ^1Wn3ccAfDT%2meAhZ-VY_?LdiTg+_OTr>{swuh0A`0<2a7v9F0%Y7^~O2tp>ON O0000 z9OUlAuI9*6EK>_qHFAy|o1^5;w1p$>+u1i2Jr3VK>8M<5SftSfMqalg4ija(<~K=nA2*VH<)Lv(vFeI!SYM}?fyKA; zGTrNc^Br;wbGo=M;b~3$H`#@2wK;o^?p1qwVPeaRJ@wf^d%Y5Lo@pyD_t?R$$$9bT z&r=f1k0?Ei<9YHwy6i=S(+?hX&Blt)ADN3RIJ^}8JlXS8;Pk>amZoVu6Tk9_st6>W zoUrSC$V3N^&Vm&RjT3|dgP9yd4=>iwZub)6SXCpp*W~In2ML+Yjma`vUJ8fK?y6uG zpSyk+OI!Kn^BRv?r>YuU%-f~GZvXG84yRAv#Qu#Io=nE6Vm}vs{FcM%vyP{GvZ?{A z==C%egOx@)QWFpOy!`JNGVw!8i3VfUtVy@x*G&9uD=(xHa`xd#X4gOw7;5>!TfbX% VK5Ih@6EGz+c)I$ztaD0e0sy(RQ+)sc literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-next-field.png b/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-next-field.png new file mode 100644 index 0000000000000000000000000000000000000000..3f25fa6f91b3c6e7eea378728023c63ee7e6f6a4 GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^NkDAK!3HE1_t%62Db50q$YKTtZeb8+WSBKa0w~B> z9OUlAu@3;vCtjnACeZAA{$*;4U9ox^Y-G%*W1FnvLjy$vl@NgbWQi`w5?vp z40<>@U$AZyf3T(2i7Dyv%*U(_6J6#{O79OB_LZys#-78)mn4La98Jxu>Fr zo$nNwZ2zt?s*cxmI1+cQaqUKrY`snOv%U$4l@(8vJtBJiTKR$*3LURwUt2pYh!Wgl z(4yTW)s}QzP@!$%4O7iS0l9yfmKcQG4lk29Wn0l8(5BV#H*$-?vCw!2^#B>Syzf^T z1;Zr7Wz?VTx2jpb$V${LuU_tltzrGH-#JrNgX{DE8TTF9waD>WmgM2@7G1BdbXh3B z*15SuX`Z0MeC-=SCF>HnELzGK+b`%n5V*xEb4cXaw0Eh_5 z9OUlAuI}bSsuzq-6SZkpg<6bp2 z)-&Ac%>kinv74P(ET95tUtypH+f zyEP;&;})yn58*TB2R76>vYd-LU&id<=_oVx-rH*~6HNE+chEHGP?2yE;!)yco5<4a z(d4LdP$6UMiRqrAH4AS~n5e*F_*>nymS5$D!NENoUn1CM{W1M2pw^$d;OabY1NMUG z(Eo?0{SxRF$n#0xz~NLN?-c$1-+^hb1o)jY(nXdTXRs@N;AafrQBrET7oN-J=)=)) zuhPYXWAFA;JWV?U7+MvSoL~HHPZv1Srm*+_ZK0NexBZMwzXjZ~_y4KYUd>v6V76R~ zLDv2s@3uyL&`+DuWMSAo_}rsR=*qD{AWD$68POC5!N(ca25-X zGB4v{59b30mjn!YOj!2a4lg}g`8&(=LAhMwB8z$M5yBr@`Z_>B;|wc%_Y*7DN*_@C OF?hQAxvXyagye2-E$eLmm#dzzYLPsZ6l>^$XxAApKCW%Ev&+m!jsR3R$enp{JO^`d$vLKxj4~l zF`eP9mf?1RJ)BBig-o2eB^-x8beKG^=@YIz_moLs_FI`g;lqV}7175V_fC1oRo6Wu z;1QSbZ(ENyWgi?vn_us{f7xb5mdD-i)jo^TxWWUAxxyV+bzPYKZ)2B0#B=tR_1@=Q^ik@c-p6UpUSI1TmOZc9KVRzB rf2A+igFKt|P4oKn>*mh1l{*=o`(zakEDW;(h9QHetDnm{r-UW|v#-i8 literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png new file mode 100644 index 0000000000000000000000000000000000000000..afdead29688d2dc370f4e5fc5935076cf00454bd GIT binary patch literal 618 zcmV-w0+s!VP)m0ksy|#6tNz6 zk)al0BnV}wMXcY+Ww1otx-g_e6fxx+fCyQ`Ub&Pfhmq?EK^KIGP6!d55F$DuM07%k zxHD9bej~mYa&lCUuS>I|E#%;YO2oEN^a?RT5!*(QyoQnw8r-%}#UeHai184yjgABX zP9nC^ks!iLgvEJ@PmpmGVVsws*HH4Ij!X#ZL|!W*a~Rp9qlJj=R`m`7jYJsJ5|kQB zzfeae$AFzQ6tOXYKx+{eN9>>j5yq|>O21GCTf$+97wn(|5r-vq)lm9{I+%0B8wfNM zF)cx@Wub`g}wGna5gi-LTU(j$#fUP4wK&DniO}iJcbp*YJk`EgGN;u*E zSJtO|=PT<2ggA+i)==_619d{ankdWveU;Zx@Rqj5d=XH1i@qR1#AU7=TSw^;{X5v07*qoM6N<$ Ef;|%Q_5c6? literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-clear-style.png b/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-clear-style.png new file mode 100644 index 0000000000000000000000000000000000000000..3b08a6f90f12d924f63e5cc5cc1cfa4775064c39 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^7C z9OUlAu3tCzbiI)kVAEvBm#$lOAzS?l9ETTz2)aQ+1baduF1D_r~Qn zie_9p+tc;_+e9LotNoXqacOFUmbnIQUO_Ti2@r|!zQJ>jaD$CC8!!@_y> z3z!YV{{~z?@!Baj%6nbG>-uv}JKwuHZs@%KTTZ$_=6E4b1*6yA*Mh${CwKsZhr!d; K&t;ucLK6Vi0hFQu literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-next-field.png b/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-next-field.png new file mode 100644 index 0000000000000000000000000000000000000000..ee043c87821f62d56be8c8fee0602c00486bb31b GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^7C z9OUlAu=X{Nfl8?MbtTeT}odeyI7+ly_hYCqXKGuyo_ zKJcLB!G7T;dPCAAC=nVgB=#KJOJMR|t5 zpFHD1os;txG)yR&vtYxddDa>RURLiFRCi8yeP12EZvCWPlU?W61V-6 SKfN31M+Q$ z9OUlAu6F7R)Lt=yzi2M$G+dd>JZ1*)DB#_Hb`Pt7)d=)C3Jmz07J*>k1+ z^tj|=MfNnYzqztI`5wpF%4v6JY&f$?&}`L#KQ$p~k2sif9S@~H@Gn0-Ta-QQ>5e;B zD`z#eyf0#re!1ZOG-U}7ZlRh}XJ?+3x0tG(ZTgvGSMiJLT#0jwW*7OE3cif|!Y9vc zC1v!+;lpp2**5lpyoXr5-%0-Pl}kR-p9X>T#)66)&zx Sxoigdk-^i|&t;ucLK6Uyr+q8{ literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-save-form.png b/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-save-form.png new file mode 100644 index 0000000000000000000000000000000000000000..f196711b32d56b0b8fdfc096652bd43298643fdd GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^7CaOmaisT$;e&$#;XN7i?f@e6BrxH&u6SJl215+)737ZRYq*&98 zYApM>M4mj?TFzp1ZPT0WQYPvbHeWM6KBe#Nfm4&G_T8O4ReiOQT$oepmT;!z>yAhD z0^eA9G*-M@@hrmPA5YZUptYg*@*OO_LhOwu$UL>zW7m>=c* z9OUlAu0MhOkeAfl?h}=5yw_Z!b&O*eq$gWt8k&n;JbN1mm7Zo~YZhf}=Adkewb^j%J znZD$|%{8y{Aq@rzcuU%zt)7GOM-p|By z{;#zXm|(TC_UiO6Uu+Yfzlqzx7HxE1M!aK#>a5xJ#V3BY86F5U`@_QMxFP2Ur&8B~ zni64FXLs}274JIDJ8rJwoHgIvdUoK!piSl#la8`_pZxbEx=55)m&yBi_qhk$ucy7p zUMDm+EB+DRq*)I_e(S%eIV|x&@Pm!C?7lf?WfFU?|wh*4Uy*th985ctDnm{r-UW|rO}zA literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-clear-style.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-clear-style.svg new file mode 100644 index 0000000000..af05d07c58 --- /dev/null +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-clear-style.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-next-field.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-next-field.svg new file mode 100644 index 0000000000..3e56828663 --- /dev/null +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-next-field.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-previous-field.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-previous-field.svg new file mode 100644 index 0000000000..cb8c090139 --- /dev/null +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-previous-field.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-save-form.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-save-form.svg new file mode 100644 index 0000000000..071793a1c9 --- /dev/null +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-save-form.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg new file mode 100644 index 0000000000..5377216dc5 --- /dev/null +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-clear-style.png b/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-clear-style.png new file mode 100644 index 0000000000000000000000000000000000000000..e67467ffafbf87f3d479ceca5d17455c1da9d902 GIT binary patch literal 764 zcmeAS@N?(olHy`uVBq!ia0vp^1wd@U!3HE%U)Oj6Db50q$YKTtF;x&|^bAt@02E{_ z4sv&5Sa(k5C6L3C?&#~tz_78O`%fY(0|V1UPZ!6K3dXmy9~M4V5NMshj%oS_E6ez$ zdWxz$SmN1>*!|d9+%lGE$gy*lF`ln8{?n$RbrZv310ERKmFOUSVf*I%`TPEU zf7@q%$kKhyE9tg}edZ6J+`ekQJyYB#X!o&h>z`$%_B&lx#ya13^Eo6pV@YkoM2khq zosJXolSRIDT(S!jIzCTTsC&=a72(HsB`Ck24Wz3Yf5Zlyvh&y!2EmjA6OBEZ&9{Z2l{d4LRab#7!mn5I{Rd84L7i|&NcY?uAi=xdAhQ3lR z5r284C|%p`sEptwWy84FTb2bll~3Ha&+U)*zJ?B&kB`85Y@eqEXK01Yt@`dTg?sXa z-9J4SrOeQ*{i>tC^nCd7E@i=G!4Y*!oKCcQp2%fTQIuRJe22lKbpronjs2|CTij;& zC2;GBI_di?x}#PhG)wuQ=pB~(hgrQ6ohonf?0D(!u9cYOKf7_mj5+SiirfqJ-*1uP zZBa0N!g_87(_SYrr^vVi?G=5EUDv|B;~w;AUXgyHpml$8fMLaDHG$P{zsQsK*8dmJQMXYJNsbtEvt5i(^Oy>D>L6@$G@(bbU#4$yNW`RH_#jqXqfr5@T797(YeZ+l@q2+dRplD z*W&rdFTa+l*QNbCWOsG?dmFou1Akgq9{%ckIV7ca^Vf6lT`#_l%&#s@di`||=R!dP z3nn)A0}nVPWEh*36AD;(`Wg;`1;4MWm{-XtA6D17H?!8(zLA|*XaD-L==kot9hZ&L zH`eZVk9yrXuQe#sH`-gF_T}93D*-BtURIfHIo_~adD&~> z0zc`yKj%bsx#%oB-LP~?RU6-p^N-m2x3{nSTv5G*?f;ExBSC!~;g5%)RMCCEPgA6F z)hn&D4pgj`d2La&=c-iUiKBO2WQuCF`Aivs;pq#=Hl&lqNcCQcx_PZvDDi<-c>nXC|j@j7o5@OT9GawT9!drG3IvrUWhN%kF#} zbo}&J--z{l6YqCCUEim#k&!RKv@U;^+SIS6r`7GbuKv`KuV&d;W+%VkiiCkBn@=C( zKv^z9z`$!yrQRz>*1|`Ozsi#i0c93T1qf)%Es!vX+EeM5#mM@r z+^Sl*`njdvjhCK#Vy)JH?z{V1_{NdT95?hN=WlQ}?7ChOm%X~|9^k)q)3K=|I{an^LB{Ts5tYp|f literal 0 HcmV?d00001 diff --git a/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-save-form.png b/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-save-form.png new file mode 100644 index 0000000000000000000000000000000000000000..8f995600366d18f7277396a009096052956d3d30 GIT binary patch literal 682 zcmeAS@N?(olHy`uVBq!ia0vp^1wd@U!3-pYOnWMT6id3JuOkD)#(wTUiL5|AV{wqX z6T`Z5GB1G~&H|6fVg?2=RS;(M3{v?36pRY+32}8V@BuP`;Q#;s$P6GCA_8GRNVqb% z6hsS}ID~7~T4V%d$&>{71vA{AKR>?VzJfyh`}Yl}>(2)W2pAXytlz)hzrSC3|Geoy z=Wg_LaSVw#{PxD}yk-L)wg&|o?I~+Ybgk9i|DUDZ%W-sLviQo&Q6KLYHri`$l8sur zEvItDlv{d>%NKo*dOXcg-^gHdpi9!zMJHUcA8z(3;j`mDDxu?=#Iw!FkZr0*kE5!v zV1SC!0-u%zCITYQ`44WCUw_c?^s~Y@$Fnz>AF6CgP@Ch<5q7Ea%M~6y{^?@2rp>1h z`*z6ePzFtvvT6!SSAJ;ex^bdeJw~Kqg$6_6$DmFBRs=uL zkTcxya+Ziim%2#J_Q<(RSNpHJv-~Luoy>G~yRkZt&70K)!SKvq&$;a%Q@eG#jRHbkrmO_5ru92%d>QPvvh zzUr453-ifkiSK+iW$v(^EW^#Fa=eN8@V`^T&6X4}(+P75y(mfXSlrK}urG$G{s#}T63CnDl_vYT)ofCG<%Pcvx*k#%Q7IvXd zrpe-+I*m?E8-e_%Te&-Zfb4}X%MLu(`^CbX3eH+KMt3I7 zpJ$WX)*gs?ET|&GamF+Q$aR~2Ao})y-Fq9}O8?yc=!4t8Yv25x<+fKhF}X24z34pk z&oe`Z@CS^y@13!m!keFVS?@`@^>xt|^X}WQeE_;-YWLjN9B1A*J$)o`K-5D&L~o%& zz|w%77HkEqv%Z}cJMqeVo|p6-NJzbt?)!VBd}3mu>>q~tmiFDR75+_#Kh2Z#bAPn| nlOui)Hh=vCNf1p7gyZAxOrQBOZT@>;qGRxM^>bP0l+XkKRv0Ud literal 0 HcmV?d00001 From 8f7b50373ca22743669eedcedb1f1dc9242b32f7 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Dec 2023 13:15:27 +0300 Subject: [PATCH 14/65] [DE] Fix embed mode --- apps/documenteditor/embed/js/ApplicationController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index a4034efe2e..0031a7393a 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -557,7 +557,7 @@ DE.ApplicationController = new(function(){ // TODO: add asc_hasRequiredFields to sdk - if (appOptions.canSubmitForms && !api.asc_IsAllRequiredFormsFilled()) { + if (appOptions.canSubmitForms && appOptions.canFillForms && !api.asc_IsAllRequiredFormsFilled()) { var sgroup = $('#id-submit-group'); btnSubmit.attr({disabled: true}); btnSubmit.css("pointer-events", "none"); From 9e6d1517e91539f47cb09175b874aadc2c4ecdad Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Dec 2023 14:35:46 +0300 Subject: [PATCH 15/65] [PDF] Add translation --- .../main/app/controller/Toolbar.js | 2 +- apps/documenteditor/main/locale/en.json | 1 + apps/pdfeditor/main/app/view/Toolbar.js | 2 +- apps/pdfeditor/main/locale/en.json | 27 +++++++++++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index a53ecc1285..80e42a4aed 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -4016,7 +4016,7 @@ define([ textEmptyMMergeUrl: 'You need to specify URL.', textRecentlyUsed: 'Recently Used', dataUrl: 'Paste a data URL', - textConvertForm: 'Download file as pdf to save the form in the format ready for filling.', + textConvertForm: 'Download file as pdf to save the form in the format ready for filling.' }, DE.Controllers.Toolbar || {})); }); diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 75db8cbe73..c060e94a2f 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1550,6 +1550,7 @@ "DE.Controllers.Toolbar.txtSymbol_vdots": "Vertical ellipsis", "DE.Controllers.Toolbar.txtSymbol_xsi": "Xi", "DE.Controllers.Toolbar.txtSymbol_zeta": "Zeta", + "DE.Controllers.Toolbar.textConvertForm": "Download file as pdf to save the form in the format ready for filling.", "DE.Controllers.Viewport.textFitPage": "Fit to Page", "DE.Controllers.Viewport.textFitWidth": "Fit to Width", "DE.Controllers.Viewport.txtDarkMode": "Dark mode", diff --git a/apps/pdfeditor/main/app/view/Toolbar.js b/apps/pdfeditor/main/app/view/Toolbar.js index 2337fe6e13..a7a594f0e3 100644 --- a/apps/pdfeditor/main/app/view/Toolbar.js +++ b/apps/pdfeditor/main/app/view/Toolbar.js @@ -890,7 +890,7 @@ define([ capBtnSaveFormDesktop: 'Save as...', tipSaveForm: 'Save a file as a fillable PDF', capBtnDownloadForm: 'Download as pdf', - tipDownloadForm: 'Download a file as a fillable PDF', + tipDownloadForm: 'Download a file as a fillable PDF' } })(), PDFE.Views.Toolbar || {})); }); diff --git a/apps/pdfeditor/main/locale/en.json b/apps/pdfeditor/main/locale/en.json index c67c50a489..d1afbac2f3 100644 --- a/apps/pdfeditor/main/locale/en.json +++ b/apps/pdfeditor/main/locale/en.json @@ -423,6 +423,8 @@ "PDFE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
    Contact %1 sales team for personal upgrade terms.", "PDFE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "PDFE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "PDFE.Controllers.Main.errorTextFormWrongFormat": "The value entered does not match the format of the field.", + "PDFE.Controllers.Main.txtArt": "Your text here", "PDFE.Controllers.Navigation.txtBeginning": "Beginning of document", "PDFE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document", "PDFE.Controllers.Print.textMarginsLast": "Last Custom", @@ -444,12 +446,23 @@ "PDFE.Controllers.Toolbar.txtNeedDownload": "At the moment, PDF viewer can only save new changes in separate file copies. It doesn't support co-editing and other users won't see your changes unless you share a new file version.", "PDFE.Controllers.Toolbar.txtSaveCopy": "Save copy", "PDFE.Controllers.Toolbar.txtUntitled": "Untitled", + "PDFE.Controllers.Toolbar.textRequired": "Fill all required fields to send form.", + "PDFE.Controllers.Toolbar.textGotIt": "Got it", + "PDFE.Controllers.Toolbar.textSubmited": "Form submitted successfully
    Click to close the tip.", "PDFE.Controllers.Viewport.textFitPage": "Fit to Page", "PDFE.Controllers.Viewport.textFitWidth": "Fit to Width", "PDFE.Controllers.Viewport.txtDarkMode": "Dark mode", "PDFE.Views.DocumentHolder.addCommentText": "Add Comment", "PDFE.Views.DocumentHolder.textCopy": "Copy", "PDFE.Views.DocumentHolder.txtWarnUrl": "Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?", + "PDFE.Views.DocumentHolder.mniImageFromFile": "Image from File", + "PDFE.Views.DocumentHolder.mniImageFromUrl": "Image from URL", + "PDFE.Views.DocumentHolder.mniImageFromStorage": "Image from Storage", + "PDFE.Views.DocumentHolder.textUndo": "Undo", + "PDFE.Views.DocumentHolder.textRedo": "Redo", + "PDFE.Views.DocumentHolder.textCut": "Cut", + "PDFE.Views.DocumentHolder.textPaste": "Paste", + "PDFE.Views.DocumentHolder.textClearField": "Clear field", "PDFE.Views.FileMenu.btnBackCaption": "Open file location", "PDFE.Views.FileMenu.btnCloseMenuCaption": "Close Menu", "PDFE.Views.FileMenu.btnCreateNewCaption": "Create New", @@ -658,6 +671,20 @@ "PDFE.Views.Toolbar.tipSelectTool": "Select tool", "PDFE.Views.Toolbar.tipSynchronize": "The document has been changed by another user. Please click to save your changes and reload the updates.", "PDFE.Views.Toolbar.tipUndo": "Undo", + "PDFE.Views.Toolbar.textClearFields": "Clear All Fields", + "PDFE.Views.Toolbar.textClear": "Clear Fields", + "PDFE.Views.Toolbar.capBtnPrev": "Previous Field", + "PDFE.Views.Toolbar.capBtnNext": "Next Field", + "PDFE.Views.Toolbar.capBtnSubmit": "Submit", + "PDFE.Views.Toolbar.tipPrevForm": "Go to the previous field", + "PDFE.Views.Toolbar.tipNextForm": "Go to the next field", + "PDFE.Views.Toolbar.tipSubmit": "Submit form", + "PDFE.Views.Toolbar.textSubmited": "Form submitted successfully", + "PDFE.Views.Toolbar.capBtnSaveForm": "Save as pdf", + "PDFE.Views.Toolbar.capBtnSaveFormDesktop": "Save as...", + "PDFE.Views.Toolbar.tipSaveForm": "Save a file as a fillable PDF", + "PDFE.Views.Toolbar.capBtnDownloadForm": "Download as pdf", + "PDFE.Views.Toolbar.tipDownloadForm": "Download a file as a fillable PDF", "PDFE.Views.ViewTab.textAlwaysShowToolbar": "Always Show Toolbar", "PDFE.Views.ViewTab.textDarkDocument": "Dark Document", "PDFE.Views.ViewTab.textFitToPage": "Fit To Page", From 126eb16d09f68983c517826996ad38c0bee6fdd8 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Wed, 13 Dec 2023 15:58:12 +0100 Subject: [PATCH 16/65] [SSE mobile] Fix Bug 65436 --- apps/common/mobile/lib/view/Search.jsx | 31 +++++--------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/apps/common/mobile/lib/view/Search.jsx b/apps/common/mobile/lib/view/Search.jsx index d10341f7ed..8196f597c7 100644 --- a/apps/common/mobile/lib/view/Search.jsx +++ b/apps/common/mobile/lib/view/Search.jsx @@ -53,21 +53,10 @@ class SearchSettingsView extends Component { render() { const show_popover = !Device.phone; - // const navbar = - // - // {!show_popover && - // - // Done - // - // } - // ; const extra = this.extraSearchOptions(); const content = - {/* - {navbar} */} {extra} - {/* */} ; return ( show_popover ? @@ -143,7 +132,7 @@ class SearchView extends Component { searchParams() { let params = { - find: this.searchbar.query + find: this.state.searchQuery }; if (searchOptions.usereplace || searchOptions.isReplaceAll) { @@ -188,14 +177,7 @@ class SearchView extends Component { } } - // onSearchbarShow(isshowed, bar) { - // if ( !isshowed ) { - // // this.$replace.val(''); - // } - // } - onEditorTouchStart(e) { - // console.log('taouch start'); this.startPoint = this.pointerPosition(e); } @@ -252,7 +234,6 @@ class SearchView extends Component { onSearchInput(e) { const text = e.target.value; - const api = Common.EditorApi.get(); if (text && this.state.searchQuery !== text) { this.setState(prevState => ({ @@ -266,14 +247,12 @@ class SearchView extends Component { this.searchTimer = setInterval(() => { if (new Date() - this.lastInputChange < 400) return; - if (this.state.searchQuery !== '') { - this.props.onSearchQuery(this.searchParams(), true); - } else { - api.asc_endFindText(); - } - clearInterval(this.searchTimer); this.searchTimer = undefined; + + if(this.state.searchQuery !== '') { + this.props.onSearchQuery(this.searchParams(), true); + } }, 10); } } else { From 4a0c9db7c333b87db4cce76893dd8a2b9226f515 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Wed, 13 Dec 2023 16:27:10 +0100 Subject: [PATCH 17/65] [DE PE SSE mobile] Fix Bug 65499 --- apps/documenteditor/mobile/src/page/main.jsx | 1 + .../mobile/src/view/settings/SettingsPage.jsx | 18 +++++++++++------- .../mobile/src/page/main.jsx | 1 + .../mobile/src/view/settings/SettingsPage.jsx | 16 ++++++++++------ .../spreadsheeteditor/mobile/src/page/main.jsx | 3 ++- .../mobile/src/view/settings/SettingsPage.jsx | 18 +++++++++++------- 6 files changed, 36 insertions(+), 21 deletions(-) diff --git a/apps/documenteditor/mobile/src/page/main.jsx b/apps/documenteditor/mobile/src/page/main.jsx index 8f021c6145..387800a258 100644 --- a/apps/documenteditor/mobile/src/page/main.jsx +++ b/apps/documenteditor/mobile/src/page/main.jsx @@ -201,6 +201,7 @@ const MainPage = inject('storeDocumentInfo', 'users', 'storeAppOptions', 'storeV openOptions: handleClickToOpenOptions, closeOptions: handleOptionsViewClosed, showPanels: state.addShowOptions, + isBranding }}> diff --git a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx index 597c654fe6..ad13b97696 100644 --- a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx +++ b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx @@ -10,7 +10,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo const { t } = useTranslation(); const _t = t('Settings', {returnObjects: true}); const settingsContext = useContext(SettingsContext); - const mainContext = useContext(MainContext); + const {openOptions, isBranding} = useContext(MainContext); const appOptions = props.storeAppOptions; const canProtect = appOptions.canProtect; const storeReview = props.storeReview; @@ -27,7 +27,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo ; const onOpenOptions = name => { - mainContext.openOptions(name); + openOptions(name); settingsContext.closeModal(); } @@ -44,7 +44,8 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo _canAbout = true, _canHelp = true, _canPrint = false, - _canFeedback = true; + _canFeedback = true, + _canDisplayInfo = true; if (appOptions.isDisconnected) { _isEdit = false; @@ -63,6 +64,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo if (appOptions.customization) { _canHelp = appOptions.customization.help !== false; _canFeedback = appOptions.customization.feedback !== false; + _canDisplayInfo = appOptions.customization.info !== false; } } @@ -126,7 +128,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo : null} {Device.sailfish && _isEdit && - {settingsContext.onOrthographyCheck()}} className='no-indicator' link="#"> + settingsContext.onOrthographyCheck()} className='no-indicator' link="#"> } @@ -164,9 +166,11 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo } - - - + {!(!_canDisplayInfo && isBranding) && + + + + } {_canHelp && diff --git a/apps/presentationeditor/mobile/src/page/main.jsx b/apps/presentationeditor/mobile/src/page/main.jsx index 406b5d0475..654d27950d 100644 --- a/apps/presentationeditor/mobile/src/page/main.jsx +++ b/apps/presentationeditor/mobile/src/page/main.jsx @@ -141,6 +141,7 @@ class MainPage extends Component { openOptions: this.handleClickToOpenOptions.bind(this), closeOptions: this.handleOptionsViewClosed.bind(this), showPanels: this.state.addShowOptions, + isBranding }}> {!this.state.previewVisible ? null : diff --git a/apps/presentationeditor/mobile/src/view/settings/SettingsPage.jsx b/apps/presentationeditor/mobile/src/view/settings/SettingsPage.jsx index 3f75bdd010..39ed7c27db 100644 --- a/apps/presentationeditor/mobile/src/view/settings/SettingsPage.jsx +++ b/apps/presentationeditor/mobile/src/view/settings/SettingsPage.jsx @@ -9,7 +9,7 @@ import { SettingsContext } from '../../controller/settings/Settings'; const SettingsPage = inject('storeAppOptions', 'storeToolbarSettings', 'storePresentationInfo')(observer(props => { const { t } = useTranslation(); const _t = t('View.Settings', {returnObjects: true}); - const mainContext = useContext(MainContext); + const {openOptions, isBranding} = useContext(MainContext); const settingsContext = useContext(SettingsContext); const appOptions = props.storeAppOptions; const storeToolbarSettings = props.storeToolbarSettings; @@ -24,7 +24,7 @@ const SettingsPage = inject('storeAppOptions', 'storeToolbarSettings', 'storePre const onOpenOptions = name => { settingsContext.closeModal(); - mainContext.openOptions(name); + openOptions(name); } let _isEdit = false, @@ -33,7 +33,8 @@ const SettingsPage = inject('storeAppOptions', 'storeToolbarSettings', 'storePre _canAbout = true, _canHelp = true, _canPrint = false, - _canFeedback = true; + _canFeedback = true, + _canDisplayInfo = true; if (appOptions.isDisconnected) { _isEdit = false; @@ -52,6 +53,7 @@ const SettingsPage = inject('storeAppOptions', 'storeToolbarSettings', 'storePre if (appOptions.customization) { _canHelp = appOptions.customization.help !== false; _canFeedback = appOptions.customization.feedback !== false; + _canDisplayInfo = appOptions.customization.info !== false; } } @@ -101,9 +103,11 @@ const SettingsPage = inject('storeAppOptions', 'storeToolbarSettings', 'storePre } - - - + {!(!_canDisplayInfo && isBranding) && + + + + } {_canHelp && diff --git a/apps/spreadsheeteditor/mobile/src/page/main.jsx b/apps/spreadsheeteditor/mobile/src/page/main.jsx index 1f6da707f7..9290554fae 100644 --- a/apps/spreadsheeteditor/mobile/src/page/main.jsx +++ b/apps/spreadsheeteditor/mobile/src/page/main.jsx @@ -137,7 +137,8 @@ class MainPage extends Component { closeOptions: this.handleOptionsViewClosed.bind(this), showOptions: this.state.addShowOptions, wsLock, - wsProps + wsProps, + isBranding }}> {/* Top Navbar */} diff --git a/apps/spreadsheeteditor/mobile/src/view/settings/SettingsPage.jsx b/apps/spreadsheeteditor/mobile/src/view/settings/SettingsPage.jsx index e68ae5081e..7b2b89e654 100644 --- a/apps/spreadsheeteditor/mobile/src/view/settings/SettingsPage.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/settings/SettingsPage.jsx @@ -10,7 +10,7 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( const { t } = useTranslation(); const appOptions = props.storeAppOptions; const storeSpreadsheetInfo = props.storeSpreadsheetInfo; - const mainContext = useContext(MainContext); + const {openOptions, isBranding} = useContext(MainContext); const settingsContext = useContext(SettingsContext); const _t = t('View.Settings', {returnObjects: true}); const docTitle = storeSpreadsheetInfo.dataDoc?.title ?? ''; @@ -24,7 +24,7 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( const onOpenOptions = name => { settingsContext.closeModal(); - mainContext.openOptions(name); + openOptions(name); } let _isEdit = false, @@ -33,7 +33,8 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( _canAbout = true, _canHelp = true, _canPrint = false, - _canFeedback = true; + _canFeedback = true, + _canDisplayInfo = true; if (appOptions.isDisconnected) { _isEdit = false; @@ -52,6 +53,7 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( if (appOptions.customization) { _canHelp = appOptions.customization.help !== false; _canFeedback = appOptions.customization.feedback !== false; + _canDisplayInfo = appOptions.customization.info !== false; } } @@ -101,9 +103,11 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( } - - - + {!(!_canDisplayInfo && isBranding) && + + + + } {_canHelp && @@ -116,7 +120,7 @@ const SettingsPage = inject('storeAppOptions', 'storeSpreadsheetInfo')(observer( } {_canFeedback && - + } From 31c044c2455dc72afa41f775aa36e57d663100a4 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Thu, 14 Dec 2023 01:49:21 +0300 Subject: [PATCH 18/65] Bug 65490 --- apps/presentationeditor/main/app/view/Animation.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/presentationeditor/main/app/view/Animation.js b/apps/presentationeditor/main/app/view/Animation.js index d4c1ba1efb..628d0b8f01 100644 --- a/apps/presentationeditor/main/app/view/Animation.js +++ b/apps/presentationeditor/main/app/view/Animation.js @@ -663,10 +663,9 @@ define([ }, setColor: function (color){ - if(color) { - this._effectColor = Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b()).toUpperCase(); - (!!this.colorPickerParameters) && this.colorPickerParameters.selectByRGB(this._effectColor, true); - } + this._effectColor = (color) ? Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b()).toUpperCase(): this._effectColor; + (!!this.colorPickerParameters && this._effectColor) && this.colorPickerParameters.selectByRGB(this._effectColor, true); + }, updateColors: function (){ From d99ada575feddd332007c4ed8e7cd586de795ddf Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 14 Dec 2023 13:04:58 +0300 Subject: [PATCH 19/65] [PDF] Show hand/select buttons for pdf-forms --- apps/pdfeditor/main/app/controller/Toolbar.js | 8 +-- .../main/app/template/Toolbar.template | 28 ++++---- apps/pdfeditor/main/app/view/Toolbar.js | 65 +++++++++---------- 3 files changed, 49 insertions(+), 52 deletions(-) diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index 15b080531b..cc2e6d5955 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -173,6 +173,8 @@ define([ toolbar.btnCopy.on('click', _.bind(this.onCopyPaste, this, 'copy')); toolbar.btnPaste.on('click', _.bind(this.onCopyPaste, this, 'paste')); toolbar.btnCut.on('click', _.bind(this.onCopyPaste, this, 'cut')); + toolbar.btnSelectTool.on('toggle', _.bind(this.onSelectTool, this, 'select')); + toolbar.btnHandTool.on('toggle', _.bind(this.onSelectTool, this, 'hand')); toolbar.fieldPages.on('changed:after', _.bind(this.onPagesChanged, this)); toolbar.fieldPages.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me.toolbar);}); toolbar.fieldPages.cmpEl && toolbar.fieldPages.cmpEl.on('focus', 'input.form-control', function() { @@ -189,8 +191,6 @@ define([ if (this.mode && this.mode.isEdit) { toolbar.btnSave.on('click', _.bind(this.tryToSave, this)); toolbar.btnSelectAll.on('click', _.bind(this.onSelectAll, this)); - toolbar.btnSelectTool.on('toggle', _.bind(this.onSelectTool, this, 'select')); - toolbar.btnHandTool.on('toggle', _.bind(this.onSelectTool, this, 'hand')); toolbar.btnAddComment.on('click', function (btn, e) { Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); }); @@ -562,7 +562,7 @@ define([ }, turnOnSelectTool: function() { - if (this.mode.isEdit && this.toolbar && this.toolbar.btnSelectTool && !this.toolbar.btnSelectTool.isActive()) { + if ((this.mode.isEdit && this.mode.isRestrictedEdit) && this.toolbar && this.toolbar.btnSelectTool && !this.toolbar.btnSelectTool.isActive()) { this.api.asc_setViewerTargetType('select'); this.toolbar.btnSelectTool.toggle(true, true); this.toolbar.btnHandTool.toggle(false, true); @@ -933,7 +933,7 @@ define([ (new Promise(function(accept) { accept(); })).then(function () { - config.isEdit && me.toolbar && me.toolbar.btnHandTool.toggle(true, true); + (config.isEdit || config.isRestrictedEdit) && me.toolbar && me.toolbar.btnHandTool.toggle(true, true); me.api && me.api.asc_setViewerTargetType('hand'); }); }, diff --git a/apps/pdfeditor/main/app/template/Toolbar.template b/apps/pdfeditor/main/app/template/Toolbar.template index cd32b37e81..91c048da0b 100644 --- a/apps/pdfeditor/main/app/template/Toolbar.template +++ b/apps/pdfeditor/main/app/template/Toolbar.template @@ -34,29 +34,14 @@
    - <% if ( typeof config !== "undefined" && config.isEdit) { %>
    - <% } %>
    - <% if ( typeof config !== "undefined" && config.isRestrictedEdit) { %> -
    - - - -
    -
    -
    - - -
    -
    - <% } %>
    @@ -89,6 +74,19 @@
    + <% if ( typeof config !== "undefined" && config.isRestrictedEdit) { %> +
    +
    + + + +
    +
    +
    + + +
    + <% } %>
    diff --git a/apps/pdfeditor/main/app/view/Toolbar.js b/apps/pdfeditor/main/app/view/Toolbar.js index a7a594f0e3..e0aa8ce656 100644 --- a/apps/pdfeditor/main/app/view/Toolbar.js +++ b/apps/pdfeditor/main/app/view/Toolbar.js @@ -148,36 +148,6 @@ define([ this.toolbarControls.push(this.btnSave); this.btnCollabChanges = this.btnSave; - this.btnSelectTool = new Common.UI.Button({ - id: 'tlbtn-selecttool', - cls: 'btn-toolbar x-huge icon-top', - iconCls: 'toolbar__icon btn-select', - lock: [_set.disableOnStart], - caption: me.capBtnSelect, - toggleGroup: 'select-tools-tb', - enableToggle: true, - allowDepress: false, - dataHint: '1', - dataHintDirection: 'bottom', - dataHintOffset: 'small' - }); - this.toolbarControls.push(this.btnSelectTool); - - this.btnHandTool = new Common.UI.Button({ - id: 'tlbtn-handtool', - cls: 'btn-toolbar x-huge icon-top', - iconCls: 'toolbar__icon btn-big-hand-tool', - lock: [_set.disableOnStart], - caption: me.capBtnHand, - toggleGroup: 'select-tools-tb', - enableToggle: true, - allowDepress: false, - dataHint: '1', - dataHintDirection: 'bottom', - dataHintOffset: 'small' - }); - this.toolbarControls.push(this.btnHandTool); - // this.btnRotate = new Common.UI.Button({ // id: 'tlbtn-rotate', // cls: 'btn-toolbar x-huge icon-top', @@ -423,6 +393,36 @@ define([ }); this.toolbarControls.push(this.btnSelectAll); + this.btnSelectTool = new Common.UI.Button({ + id: 'tlbtn-selecttool', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-select', + lock: [_set.disableOnStart], + caption: me.capBtnSelect, + toggleGroup: 'select-tools-tb', + enableToggle: true, + allowDepress: false, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnSelectTool); + + this.btnHandTool = new Common.UI.Button({ + id: 'tlbtn-handtool', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon btn-big-hand-tool', + lock: [_set.disableOnStart], + caption: me.capBtnHand, + toggleGroup: 'select-tools-tb', + enableToggle: true, + allowDepress: false, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.toolbarControls.push(this.btnHandTool); + this.fieldPages = new Common.UI.InputFieldFixed({ id: 'id-toolbar-txt-pages', style : 'width: 100%;', @@ -703,14 +703,11 @@ define([ // set hints if (this.mode.isEdit) { this.btnSave.updateHint(this.btnSaveTip); - this.btnSelectTool.updateHint(this.tipSelectTool); - this.btnHandTool.updateHint(this.tipHandTool); this.btnAddComment.updateHint(this.tipAddComment); this.btnStrikeout.updateHint(this.textStrikeout); this.btnUnderline.updateHint(this.textUnderline); this.btnHighlight.updateHint(this.textHighlight); // this.btnRotate.updateHint(this.tipRotate); - } else if (this.mode.isRestrictedEdit) { this.btnClear.updateHint(this.textClearFields); this.btnPrevForm.updateHint(this.tipPrevForm); @@ -725,6 +722,8 @@ define([ this.btnPaste.updateHint(this.tipPaste + Common.Utils.String.platformKey('Ctrl+V')); this.btnCut.updateHint(this.tipCut + Common.Utils.String.platformKey('Ctrl+X')); this.btnSelectAll.updateHint(this.tipSelectAll + Common.Utils.String.platformKey('Ctrl+A')); + this.btnSelectTool.updateHint(this.tipSelectTool); + this.btnHandTool.updateHint(this.tipHandTool); this.btnFirstPage.updateHint(this.tipFirstPage); this.btnLastPage.updateHint(this.tipLastPage); this.btnPrevPage.updateHint(this.tipPrevPage); From 732c0277bbcac65446bb3ab91b4e107e1629177a Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 15 Dec 2023 12:36:25 +0300 Subject: [PATCH 20/65] Use checker for pdf-forms --- apps/api/documents/api.js | 17 ++- apps/common/checkExtendedPDF.js | 119 ++++++++++++++++++ apps/documenteditor/embed/index.html | 21 +++- apps/documenteditor/embed/index.html.deploy | 22 +++- apps/documenteditor/embed/index_loader.html | 21 +++- .../embed/index_loader.html.deploy | 22 +++- .../embed/js/ApplicationController.js | 3 +- .../mobile/src/controller/Main.jsx | 3 +- apps/documenteditor/mobile/src/index_dev.html | 16 ++- apps/pdfeditor/main/app/controller/Main.js | 2 +- .../pdfeditor/main/app/controller/Viewport.js | 4 +- apps/pdfeditor/main/index.html | 23 +++- apps/pdfeditor/main/index.html.deploy | 23 +++- apps/pdfeditor/main/index_loader.html | 24 +++- apps/pdfeditor/main/index_loader.html.deploy | 23 +++- build/Gruntfile.js | 12 +- build/documenteditor.json | 15 ++- build/presentationeditor.json | 15 ++- build/spreadsheeteditor.json | 15 ++- 19 files changed, 353 insertions(+), 47 deletions(-) create mode 100644 apps/common/checkExtendedPDF.js diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 487269a95f..a36376cda1 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -1020,6 +1020,9 @@ if (!(type && typeof type[1] === 'string') && (config.editorConfig && config.editorConfig.mode == 'view' || config.document && config.document.permissions && (config.document.permissions.edit === false && !config.document.permissions.review ))) params += "&mode=view"; + config.document.isForm = (type && typeof type[1] === 'string') ? config.document.isForm : false; + if (config.document && (config.document.isForm!==undefined)) + params += "&isForm=" + config.document.isForm; if (config.editorConfig && config.editorConfig.customization && !!config.editorConfig.customization.compactHeader) params += "&compact=true"; @@ -1036,8 +1039,18 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; - if (config.document && config.document.isForm) - params += "&isForm=true"; + if (config.document && config.document.directUrl) + params += "&directUrl=" + encodeURIComponent(config.document.directUrl); + + if (config.document && config.document.key) + params += "&key=" + config.document.key; + + if (config.document && config.document.url) + params += "&url=" + encodeURIComponent(config.document.url); + + if (config.document && config.document.token) + params += "&token=" + config.document.token; + return params; } diff --git a/apps/common/checkExtendedPDF.js b/apps/common/checkExtendedPDF.js new file mode 100644 index 0000000000..5589c48732 --- /dev/null +++ b/apps/common/checkExtendedPDF.js @@ -0,0 +1,119 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2023 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +function checkExtendedPDF(directUrl, key, url, token, callback) { + var limit = 110; + if (directUrl) { + downloadPartialy(directUrl, limit, {}, function(text) { + callback(isExtendedPDFFile(text)) + }); + } else { + var headers = { + 'Authorization': 'Bearer ' + token, + 'x-url': encodeURI(url) + } + var handlerUrl = "../../../../downloadfile/"+encodeURIComponent(key); + downloadPartialy(handlerUrl, limit, headers, function(text) { + callback(isExtendedPDFFile(text)) + }); + } +} +function isExtendedPDFFile(text) { + if (!text) { + return false; + } + const indexFirst = text.indexOf('%\xCD\xCA\xD2\xA9\x0D'); + if (indexFirst === -1) { + return false; + } + + let pFirst = text.substring(indexFirst + 6); + + if (!pFirst.startsWith('1 0 obj\x0A<<\x0A')) { + return false; + } + + pFirst = pFirst.substring(11); + + let signature = 'ONLYOFFICEFORM'; + const indexStream = pFirst.indexOf('stream\x0D\x0A'); + const indexMeta = pFirst.indexOf(signature); + + if (indexStream === -1 || indexMeta === -1 || indexStream < indexMeta) { + return false; + } + + let pMeta = pFirst.substring(indexMeta); + pMeta = pMeta.substring(signature.length + 3); + + let indexMetaLast = pMeta.indexOf(' '); + if (indexMetaLast === -1) { + return false; + } + + pMeta = pMeta.substring(indexMetaLast + 1); + + indexMetaLast = pMeta.indexOf(' '); + if (indexMetaLast === -1) { + return false; + } + + return true; +} +function downloadPartialy(url, limit, headers, callback) { + var callbackCalled = false; + var xhr = new XMLHttpRequest(); + //value of responseText always has the current content received from the server, even if it's incomplete + xhr.responseType = "text"; + xhr.overrideMimeType('text/xml; charset=iso-8859-1'); + xhr.onreadystatechange = function () { + if (callbackCalled) { + return; + } + if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 206 || xhr.status === 1223)) { + callbackCalled = true; + callback(xhr.responseText); + } else if (xhr.readyState === 3 && xhr.responseText.length >= limit) { + callbackCalled = true; + var res = xhr.responseText; + xhr.abort(); + callback(res); + } + }; + xhr.open('GET', url, true); + xhr.setRequestHeader('Range', 'bytes=0-' + limit); // the bytes (incl.) you request + for (var header in headers) { + if (headers.hasOwnProperty(header)) { + xhr.setRequestHeader(header, headers[header]); + } + } + xhr.send(); +} \ No newline at end of file diff --git a/apps/documenteditor/embed/index.html b/apps/documenteditor/embed/index.html index 451cd2eaaa..87760dbcd3 100644 --- a/apps/documenteditor/embed/index.html +++ b/apps/documenteditor/embed/index.html @@ -196,7 +196,12 @@ var params = getUrlParams(), lang = (params["lang"] || 'en').split(/[\-\_]/)[0], - logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null; + logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, + directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, + url = params["url"] ? encodeUrlParam(params["url"]) : null, + fileKey = params["key"] || '', + token = params["token"] || '', + isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; @@ -293,7 +298,19 @@ - + + - + + - + + - + + - - + + \ No newline at end of file diff --git a/apps/pdfeditor/main/index.html.deploy b/apps/pdfeditor/main/index.html.deploy index dab5568389..a8ab374b67 100644 --- a/apps/pdfeditor/main/index.html.deploy +++ b/apps/pdfeditor/main/index.html.deploy @@ -229,7 +229,12 @@ var params = getUrlParams(), lang = (params["lang"] || 'en').split(/[\-\_]/)[0], logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, - logoDark = params["headerlogodark"] ? encodeUrlParam(params["headerlogodark"]) : null; + logoDark = params["headerlogodark"] ? encodeUrlParam(params["headerlogodark"]) : null, + directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, + url = params["url"] ? encodeUrlParam(params["url"]) : null, + fileKey = params["key"] || '', + token = params["token"] || '', + isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; @@ -326,7 +331,19 @@
    - - + + \ No newline at end of file diff --git a/apps/pdfeditor/main/index_loader.html b/apps/pdfeditor/main/index_loader.html index 530c40b4ab..2359c09634 100644 --- a/apps/pdfeditor/main/index_loader.html +++ b/apps/pdfeditor/main/index_loader.html @@ -219,7 +219,13 @@ customer = params["customer"] ? ('
    ' + encodeUrlParam(params["customer"]) + '
    ') : '', margin = (customer !== '') ? 50 : 20, loading = 'Loading...', - logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null; + logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, + directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, + url = params["url"] ? encodeUrlParam(params["url"]) : null, + fileKey = params["key"] || '', + token = params["token"] || '', + isForm = params["isForm"]; + window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; if ( lang == 'de') loading = 'Ladevorgang...'; @@ -300,7 +306,19 @@ return reqerr; }; - - + + \ No newline at end of file diff --git a/apps/pdfeditor/main/index_loader.html.deploy b/apps/pdfeditor/main/index_loader.html.deploy index b9d48ed8fa..026833c093 100644 --- a/apps/pdfeditor/main/index_loader.html.deploy +++ b/apps/pdfeditor/main/index_loader.html.deploy @@ -241,7 +241,12 @@ customer = params["customer"] ? ('
    ' + encodeUrlParam(params["customer"]) + '
    ') : '', margin = (customer !== '') ? 50 : 20, loading = 'Loading...', - logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null; + logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, + directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, + url = params["url"] ? encodeUrlParam(params["url"]) : null, + fileKey = params["key"] || '', + token = params["token"] || '', + isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; @@ -321,7 +326,19 @@
    - - + + \ No newline at end of file diff --git a/build/Gruntfile.js b/build/Gruntfile.js index 98cdb1bf9f..0f1f1dfcdf 100644 --- a/build/Gruntfile.js +++ b/build/Gruntfile.js @@ -691,12 +691,18 @@ module.exports = function(grunt) { localization: { files: packageFile['embed']['copy']['localization'] }, - 'index-page': { - files: packageFile['embed']['copy']['index-page'] + indexhtml: { + files: packageFile['embed']['copy']['indexhtml'] }, 'images-app': { files: packageFile['embed']['copy']['images-app'] } + }, + + inline: { + dist: { + src: '<%= pkg.embed.copy.indexhtml[0].dest %>/*.html' + } } }); }); @@ -783,7 +789,7 @@ module.exports = function(grunt) { 'copy:images-app', 'copy:webpack-dist', 'concat', 'json-minify'/*,*/ /*'replace:writeVersion', 'replace:fixResourceUrl'*/]); - grunt.registerTask('deploy-app-embed', ['embed-app-init', 'clean:prebuild', 'terser', 'less', 'copy', 'clean:postbuild']); + grunt.registerTask('deploy-app-embed', ['embed-app-init', 'clean:prebuild', 'terser', 'less', 'copy', 'inline', 'clean:postbuild']); grunt.registerTask('deploy-app-test', ['test-app-init', 'clean:prebuild', 'terser', 'less', 'copy']); doRegisterInitializeAppTask('common', 'Common', 'common.json'); diff --git a/build/documenteditor.json b/build/documenteditor.json index fbe7657448..a739234129 100644 --- a/build/documenteditor.json +++ b/build/documenteditor.json @@ -356,10 +356,17 @@ "dest": "../deploy/web-apps/apps/documenteditor/embed/locale/" } ], - "index-page": { - "../deploy/web-apps/apps/documenteditor/embed/index.html": "../apps/documenteditor/embed/index.html.deploy", - "../deploy/web-apps/apps/documenteditor/embed/index_loader.html": "../apps/documenteditor/embed/index_loader.html.deploy" - }, + "indexhtml": [ + { + "expand": true, + "cwd": "../apps/documenteditor/embed", + "src": [ + "*.html.deploy" + ], + "ext": ".html", + "dest": "../deploy/web-apps/apps/documenteditor/embed" + } + ], "images-app": [ { "expand": true, diff --git a/build/presentationeditor.json b/build/presentationeditor.json index d7b9d12790..a93244d89a 100644 --- a/build/presentationeditor.json +++ b/build/presentationeditor.json @@ -354,10 +354,17 @@ "dest": "../deploy/web-apps/apps/presentationeditor/embed/locale/" } ], - "index-page": { - "../deploy/web-apps/apps/presentationeditor/embed/index.html": "../apps/presentationeditor/embed/index.html.deploy", - "../deploy/web-apps/apps/presentationeditor/embed/index_loader.html": "../apps/presentationeditor/embed/index_loader.html.deploy" - }, + "indexhtml": [ + { + "expand": true, + "cwd": "../apps/presentationeditor/embed", + "src": [ + "*.html.deploy" + ], + "ext": ".html", + "dest": "../deploy/web-apps/apps/presentationeditor/embed" + } + ], "images-app": [ { "expand": true, diff --git a/build/spreadsheeteditor.json b/build/spreadsheeteditor.json index 1ec8adb395..33a2726366 100644 --- a/build/spreadsheeteditor.json +++ b/build/spreadsheeteditor.json @@ -368,10 +368,17 @@ "dest": "../deploy/web-apps/apps/spreadsheeteditor/embed/locale/" } ], - "index-page": { - "../deploy/web-apps/apps/spreadsheeteditor/embed/index.html": "../apps/spreadsheeteditor/embed/index.html.deploy", - "../deploy/web-apps/apps/spreadsheeteditor/embed/index_loader.html": "../apps/spreadsheeteditor/embed/index_loader.html.deploy" - }, + "indexhtml": [ + { + "expand": true, + "cwd": "../apps/spreadsheeteditor/embed", + "src": [ + "*.html.deploy" + ], + "ext": ".html", + "dest": "../deploy/web-apps/apps/spreadsheeteditor/embed" + } + ], "images-app": [ { "expand": true, From 33784502b6276bba1f39e9098855cca20794f10f Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 15 Dec 2023 13:11:21 +0300 Subject: [PATCH 21/65] [DE mobile] Use pdf checker --- apps/documenteditor/mobile/src/app.js | 40 ++++++++++++++----- apps/documenteditor/mobile/src/index_dev.html | 15 ++++--- .../framework7-react/build/webpack.config.js | 1 + 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/apps/documenteditor/mobile/src/app.js b/apps/documenteditor/mobile/src/app.js index d7621a7ff6..292135297b 100644 --- a/apps/documenteditor/mobile/src/app.js +++ b/apps/documenteditor/mobile/src/app.js @@ -31,18 +31,36 @@ import { stores } from './store/mainStore.js'; // import { LocalStorage } from '../../../common/mobile/utils/LocalStorage'; const container = document.getElementById('app'); -const root = createRoot(container); -// Init F7 React Plugin -Framework7.use(Framework7React); +const startApp = () => { + const root = createRoot(container); + // Init F7 React Plugin + Framework7.use(Framework7React); // Mount React App -root.render( - - - {/**/} + root.render( + + + {/**/} - {/**/} - - -); + {/**/} + + + ); +}; + +const params = getUrlParams(), + isForm = params["isForm"]; +window.isPDFForm = isForm==='true'; +if (isForm===undefined && checkExtendedPDF) { + const directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, + url = params["url"] ? encodeUrlParam(params["url"]) : null, + fileKey = params["key"] || '', + token = params["token"] || ''; + checkExtendedPDF(directUrl, fileKey, url, token, function (isForm) { + window.isPDFForm = !!isForm; + startApp(); + }); +} else + startApp(); + diff --git a/apps/documenteditor/mobile/src/index_dev.html b/apps/documenteditor/mobile/src/index_dev.html index b14ff886aa..e3d3f97053 100644 --- a/apps/documenteditor/mobile/src/index_dev.html +++ b/apps/documenteditor/mobile/src/index_dev.html @@ -20,6 +20,11 @@ <% } else { %> <% } %> + <% if ( htmlWebpackPlugin.options.skeleton.checkerscript ) { %> + + <% } %> @@ -88,14 +93,8 @@ window.Common = {Locale: {defaultLang: <%= htmlWebpackPlugin.options.system.env.defaultLang %>}}; let params = getUrlParams(), - lang = (params["lang"] || window.Common.Locale.defaultLang).split(/[\-\_]/)[0], - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', - isForm = params["isForm"]; - - window.isPDFForm = isForm==='true'; + lang = (params["lang"] || window.Common.Locale.defaultLang).split(/[\-\_]/)[0]; + window.Common.Locale.currentLang = lang; window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; diff --git a/vendor/framework7-react/build/webpack.config.js b/vendor/framework7-react/build/webpack.config.js index c440c3ff03..8db88e5200 100644 --- a/vendor/framework7-react/build/webpack.config.js +++ b/vendor/framework7-react/build/webpack.config.js @@ -221,6 +221,7 @@ const config = { skeleton: { stylesheet: env === 'development' ? undefined : fs.readFileSync(`../../apps/common/mobile/resources/css/skeleton.css`), htmlscript: fs.readFileSync(`../../apps/common/mobile/utils/htmlutils.js`), + checkerscript: fs.readFileSync(`../../apps/common/checkExtendedPDF.js`), }, system: { env: { From c7e7efee43287714b3b6bfe702e7b49cfb50e84f Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 15 Dec 2023 13:49:49 +0300 Subject: [PATCH 22/65] Refactoring --- apps/documenteditor/mobile/src/index_dev.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/documenteditor/mobile/src/index_dev.html b/apps/documenteditor/mobile/src/index_dev.html index e3d3f97053..83d28bd8ab 100644 --- a/apps/documenteditor/mobile/src/index_dev.html +++ b/apps/documenteditor/mobile/src/index_dev.html @@ -20,11 +20,6 @@ <% } else { %> <% } %> - <% if ( htmlWebpackPlugin.options.skeleton.checkerscript ) { %> - - <% } %> @@ -34,6 +29,11 @@ <%= htmlWebpackPlugin.options.skeleton.htmlscript %> <% } %> + <% if ( htmlWebpackPlugin.options.skeleton.checkerscript ) { %> + + <% } %>
    From b6e88f8089fca33a736cbc0ddac590a3acd941c3 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Fri, 15 Dec 2023 14:56:45 +0100 Subject: [PATCH 23/65] [DE mobile] Change checking for filling forms --- .../mobile/src/controller/FormsToolbar.jsx | 140 ------------------ .../mobile/src/controller/Toolbar.jsx | 9 +- .../mobile/src/store/appOptions.js | 6 +- .../mobile/src/view/FormsToolbar.jsx | 36 ----- .../mobile/src/view/Toolbar.jsx | 12 +- .../mobile/src/view/settings/SettingsPage.jsx | 19 +-- 6 files changed, 28 insertions(+), 194 deletions(-) delete mode 100644 apps/documenteditor/mobile/src/controller/FormsToolbar.jsx delete mode 100644 apps/documenteditor/mobile/src/view/FormsToolbar.jsx diff --git a/apps/documenteditor/mobile/src/controller/FormsToolbar.jsx b/apps/documenteditor/mobile/src/controller/FormsToolbar.jsx deleted file mode 100644 index 1f2a4fc074..0000000000 --- a/apps/documenteditor/mobile/src/controller/FormsToolbar.jsx +++ /dev/null @@ -1,140 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { inject, observer } from 'mobx-react'; -import { f7 } from 'framework7-react'; -import { useTranslation } from 'react-i18next'; -import FormsToolbarView from "../view/FormsToolbar"; - -const FormsToolbarController = inject('storeAppOptions', 'users', 'storeToolbarSettings')(observer(props => { - const { t } = useTranslation(); - const _t = t("Toolbar", { returnObjects: true }); - const appOptions = props.storeAppOptions; - const isDisconnected = props.users.isDisconnected; - const storeToolbarSettings = props.storeToolbarSettings; - const isCanUndo = storeToolbarSettings.isCanUndo; - const isCanRedo = storeToolbarSettings.isCanRedo; - const disabledControls = storeToolbarSettings.disabledControls; - const disabledSettings = storeToolbarSettings.disabledSettings; - - useEffect(() => { - Common.Gateway.on('init', loadConfig); - Common.Notifications.on('toolbar:activatecontrols', activateControls); - Common.Notifications.on('toolbar:deactivateeditcontrols', deactivateEditControls); - Common.Notifications.on('goback', goBack); - - if (isDisconnected) { - f7.popover.close(); - f7.sheet.close(); - f7.popup.close(); - } - - return () => { - Common.Notifications.off('toolbar:activatecontrols', activateControls); - Common.Notifications.off('toolbar:deactivateeditcontrols', deactivateEditControls); - Common.Notifications.off('goback', goBack); - } - }, []); - - // Back button - const [isShowBack, setShowBack] = useState(appOptions.canBackToFolder); - const loadConfig = (data) => { - if(data && data.config && data.config.canBackToFolder !== false && - data.config.customization && data.config.customization.goback && - (data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose)) { - setShowBack(true); - } - }; - - const onRequestClose = () => { - const api = Common.EditorApi.get(); - - if (api.isDocumentModified()) { - api.asc_stopSaving(); - - f7.dialog.create({ - title : _t.dlgLeaveTitleText, - text : _t.dlgLeaveMsgText, - verticalButtons: true, - buttons : [ - { - text: _t.leaveButtonText, - onClick: () => { - api.asc_undoAllChanges(); - api.asc_continueSaving(); - Common.Gateway.requestClose(); - } - }, - { - text: _t.stayButtonText, - bold: true, - onClick: () => { - api.asc_continueSaving(); - } - } - ] - }).open(); - } else { - Common.Gateway.requestClose(); - } - }; - - const goBack = (current) => { - if (appOptions.customization.goback.requestClose && appOptions.canRequestClose) { - onRequestClose(); - } else { - const href = appOptions.customization.goback.url; - - if(!current && appOptions.customization.goback.blank !== false) { - window.open(href, "_blank"); - } else { - parent.location.href = href; - } - } - } - - const onUndo = () => { - const api = Common.EditorApi.get(); - - if(api) { - api.Undo(); - } - }; - - const onRedo = () => { - const api = Common.EditorApi.get(); - - if(api) { - api.Redo(); - } - } - - const deactivateEditControls = (enableDownload) => { - storeToolbarSettings.setDisabledEditControls(true); - - if(!enableDownload) { - storeToolbarSettings.setDisabledSettings(true); - } - }; - - const activateControls = () => { - storeToolbarSettings.setDisabledControls(false); - }; - - return ( - - ) -})); - -export default FormsToolbarController; \ No newline at end of file diff --git a/apps/documenteditor/mobile/src/controller/Toolbar.jsx b/apps/documenteditor/mobile/src/controller/Toolbar.jsx index 992494e783..87608f6990 100644 --- a/apps/documenteditor/mobile/src/controller/Toolbar.jsx +++ b/apps/documenteditor/mobile/src/controller/Toolbar.jsx @@ -11,6 +11,9 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto const _t = t("Toolbar", { returnObjects: true }); const appOptions = props.storeAppOptions; const isEdit = appOptions.isEdit; + const isForm = appOptions.isForm; + const canFillForms = appOptions.canFillForms; + const canSubmitForms = appOptions.canSubmitForms; const storeVersionHistory = props.storeVersionHistory; const isVersionHistoryMode = storeVersionHistory.isVersionHistoryMode; const isViewer = appOptions.isViewer; @@ -337,8 +340,8 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto } const saveForm = () => { - const isSubmitForm = appOptions.canFillForms && appOptions.canSubmitForms; - const isSavePdf = appOptions.canDownload && appOptions.canFillForms && !appOptions.canSubmitForms; + const isSubmitForm = canFillForms && canSubmitForms; + const isSavePdf = appOptions.canDownload && canFillForms && !canSubmitForms; if(isSubmitForm) submitForm(); if(isSavePdf) saveAsPdf(); @@ -393,6 +396,8 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto moveNextField={moveNextField} movePrevField={movePrevField} saveForm={saveForm} + isForm={isForm} + canFillForms={canFillForms} /> ) })); diff --git a/apps/documenteditor/mobile/src/store/appOptions.js b/apps/documenteditor/mobile/src/store/appOptions.js index 2f2eb18f4d..711bcc4457 100644 --- a/apps/documenteditor/mobile/src/store/appOptions.js +++ b/apps/documenteditor/mobile/src/store/appOptions.js @@ -176,8 +176,10 @@ export class storeAppOptions { this.canEditStyles = this.canLicense && this.canEdit; this.canPrint = (permissions.print !== false); this.fileKey = document.key; - const typeForm = /^(?:(oform))$/.exec(document.fileType); // can fill forms only in oform format - this.canFillForms = this.canLicense && !!(typeForm && typeof typeForm[1] === 'string') && ((permissions.fillForms===undefined) ? this.isEdit : permissions.fillForms) && (this.config.mode !== 'view'); + this.isXpsViewer = /^(?:(djvu|xps|oxps))$/.exec(document.fileType); + this.typeForm = /^(?:(pdf))$/.exec(document.fileType); // can fill forms only in pdf format + this.canFillForms = this.canLicense && !!(this.typeForm && typeof this.typeForm[1] === 'string') && ((permissions.fillForms === undefined) ? this.isEdit : permissions.fillForms) && (this.config.mode !== 'view'); + this.isForm = !this.isXpsViewer && !!window.isPDFForm; this.canProtect = permissions.protect !== false; this.canSubmitForms = this.canLicense && (typeof (this.customization) == 'object') && !!this.customization.submitForm && !this.isOffline; this.isRestrictedEdit = !this.isEdit && (this.canComments || this.canFillForms) && isSupportEditFeature; diff --git a/apps/documenteditor/mobile/src/view/FormsToolbar.jsx b/apps/documenteditor/mobile/src/view/FormsToolbar.jsx deleted file mode 100644 index 2ec2830bea..0000000000 --- a/apps/documenteditor/mobile/src/view/FormsToolbar.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import React, { Fragment, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { NavLeft, NavRight, Link } from 'framework7-react'; -import { Device } from '../../../../common/mobile/utils/device'; -import EditorUIController from '../lib/patch'; - -const FormsToolbarView = props => { - const isDisconnected = props.isDisconnected; - const isOpenModal = props.isOpenModal; - - return ( - - - {props.isShowBack && - Common.Notifications.trigger('goback')}> - } - {props.isEdit && EditorUIController.getUndoRedo && - EditorUIController.getUndoRedo({ - disabledUndo: !props.isCanUndo || isDisconnected, - disabledRedo: !props.isCanRedo || isDisconnected, - onUndoClick: props.onUndo, - onRedoClick: props.onRedo - }) - } - - - console.log('prev field')}> - console.log('next field')}> - console.log('export')}> - props.openOptions('settings')}> - - - ) -}; - -export default FormsToolbarView; \ No newline at end of file diff --git a/apps/documenteditor/mobile/src/view/Toolbar.jsx b/apps/documenteditor/mobile/src/view/Toolbar.jsx index 2926225891..951725c5b7 100644 --- a/apps/documenteditor/mobile/src/view/Toolbar.jsx +++ b/apps/documenteditor/mobile/src/view/Toolbar.jsx @@ -10,7 +10,9 @@ const ToolbarView = props => { const isDisconnected = props.isDisconnected; const docExt = props.docExt; const isAvailableExt = docExt && docExt !== 'djvu' && docExt !== 'pdf' && docExt !== 'xps' && docExt !== 'oform'; - const isForm = docExt === 'oform'; + const isForm = props.isForm; + const canFillForms = props.canFillForms; + const isEditableForms = isForm && canFillForms; const disableEditBtn = props.isObjectLocked || props.stateDisplayMode || props.disabledEditControls || isDisconnected; const isViewer = props.isViewer; const isMobileView = props.isMobileView; @@ -62,7 +64,7 @@ const ToolbarView = props => { Common.Notifications.trigger('goback')}> } {((Device.ios && props.isEdit && !isViewer && !isVersionHistoryMode) || - (Device.ios && isForm)) && + (Device.ios && isEditableForms)) && EditorUIController.getUndoRedo && EditorUIController.getUndoRedo({ disabledUndo: !props.isCanUndo || isDisconnected, disabledRedo: !props.isCanRedo || isDisconnected, @@ -71,14 +73,14 @@ const ToolbarView = props => { }) } - {((!Device.phone || isViewer) && !isVersionHistoryMode && !isForm) && + {((!Device.phone || isViewer) && !isVersionHistoryMode && !isEditableForms) &&
    props.changeTitleHandler()} style={{width: '71%'}}> {docTitle}
    } {((Device.android && props.isEdit && !isViewer && !isVersionHistoryMode) || - (Device.android && isForm)) && + (Device.android && isEditableForms)) && EditorUIController.getUndoRedo && EditorUIController.getUndoRedo({ disabledUndo: !props.isCanUndo, disabledRedo: !props.isCanRedo, @@ -86,7 +88,7 @@ const ToolbarView = props => { onRedoClick: props.onRedo }) } - {!isForm ? [ + {!isEditableForms ? [ ((isViewer || !Device.phone) && isAvailableExt && !props.disabledControls && !isVersionHistoryMode) && { props.changeMobileView(); diff --git a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx index 597c654fe6..03ab25d985 100644 --- a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx +++ b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx @@ -18,7 +18,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo const docInfo = props.storeDocumentInfo; const docTitle = docInfo.dataDoc.title; const docExt = docInfo.dataDoc ? docInfo.dataDoc.fileType : ''; - const isForm = docExt && docExt === 'oform'; + const isForm = appOptions.isForm; const isHistoryDisabled = docExt && (docExt === 'xps' || docExt === 'djvu' || docExt === 'pdf'); const navbar = @@ -36,6 +36,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo const isMobileView = appOptions.isMobileView; const isFavorite = appOptions.isFavorite; const canFillForms = appOptions.canFillForms; + const isEditableForms = isForm && canFillForms; const canSubmitForms = appOptions.canSubmitForms; let _isEdit = false, @@ -70,7 +71,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo {navbar} - {isForm ? [ + {isEditableForms ? [ (isFavorite !== undefined && isFavorite !== null ? @@ -90,7 +91,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo ] : null} - {(Device.phone || isForm) && + {(Device.phone || isEditableForms) && @@ -109,7 +110,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo } - {!isForm ? + {!isEditableForms ? { if(Device.phone) { onOpenOptions('navigation'); @@ -130,7 +131,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo } - {((!isViewer && Device.phone) || isForm) && + {((!isViewer && Device.phone) || isEditableForms) && { @@ -144,14 +145,14 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo } - {!isForm && + {!isEditableForms && } {_canDownload && - - + + } {_canDownloadOrigin && @@ -172,7 +173,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo } - {(_canAbout && !isForm) && + {(_canAbout && !isEditableForms) && From e0e648c9a7aaa4fe6260434dd233bbdb7e819dda Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Fri, 15 Dec 2023 15:10:10 +0100 Subject: [PATCH 24/65] [DE mobile] Removed oform format for download --- .../mobile/src/controller/settings/Download.jsx | 7 ++++++- .../mobile/src/view/settings/Download.jsx | 16 +++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/documenteditor/mobile/src/controller/settings/Download.jsx b/apps/documenteditor/mobile/src/controller/settings/Download.jsx index 574ad8dc20..f4f128835b 100644 --- a/apps/documenteditor/mobile/src/controller/settings/Download.jsx +++ b/apps/documenteditor/mobile/src/controller/settings/Download.jsx @@ -9,6 +9,7 @@ class DownloadController extends Component { constructor(props) { super(props); this.onSaveFormat = this.onSaveFormat.bind(this); + this.appOptions = this.props.storeAppOptions; } closeModal() { @@ -81,7 +82,11 @@ class DownloadController extends Component { render() { return ( - + ); } } diff --git a/apps/documenteditor/mobile/src/view/settings/Download.jsx b/apps/documenteditor/mobile/src/view/settings/Download.jsx index d56b8eda76..365ed6cc36 100644 --- a/apps/documenteditor/mobile/src/view/settings/Download.jsx +++ b/apps/documenteditor/mobile/src/view/settings/Download.jsx @@ -10,12 +10,14 @@ const Download = props => { const dataDoc = storeDocumentInfo.dataDoc; const canFeatureForms = props.storeAppOptions.canFeatureForms; const isAvailableExt = dataDoc.fileType === 'docxf' || dataDoc.fileType === 'docx' || dataDoc.fileType === 'pdf' || dataDoc.fileType === 'pdfa'; - const isForm = dataDoc.fileType === 'oform'; + const isForm = props.isForm; + const canFillForms = props.canFillForms; + const isEditableForms = isForm && canFillForms; return ( - - {isForm ? t('Settings.textExportAs') : _t.textDownloadAs} + + {isEditableForms ? t('Settings.textExportAs') : _t.textDownloadAs} props.onSaveFormat(Asc.c_oAscFileType.DOCX)}> @@ -24,15 +26,11 @@ const Download = props => { props.onSaveFormat(Asc.c_oAscFileType.DOCXF)}> , - props.onSaveFormat(Asc.c_oAscFileType.OFORM)}> - - - ] - : null} + ] : null} props.onSaveFormat(Asc.c_oAscFileType.PDF)}> - {!isForm ? [ + {!isEditableForms ? [ props.onSaveFormat(Asc.c_oAscFileType.PDFA)}> , From aed5e2b08d51e526db969a5c3c7300a05c662ae6 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 15 Dec 2023 22:36:56 +0300 Subject: [PATCH 25/65] Fix Bug 65561 --- apps/common/main/resources/less/calendar.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/common/main/resources/less/calendar.less b/apps/common/main/resources/less/calendar.less index 7240c6053e..97fe8653b2 100644 --- a/apps/common/main/resources/less/calendar.less +++ b/apps/common/main/resources/less/calendar.less @@ -108,7 +108,7 @@ } } - .calendar-content { + .calendar-content .dataview { padding: 0 8px; .item { From 6e7d311ab1480b7477abd029a13b1c83c961b820 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Mon, 18 Dec 2023 19:19:17 +0100 Subject: [PATCH 26/65] [DE mobile] Add edits for checking forms --- .../mobile/lib/pages/CollaborationPage.jsx | 2 +- .../mobile/src/controller/ContextMenu.jsx | 11 ++++--- .../mobile/src/controller/Main.jsx | 31 ++++++------------- apps/documenteditor/mobile/src/page/main.jsx | 2 +- .../mobile/src/store/appOptions.js | 1 + .../mobile/src/view/Toolbar.jsx | 4 +-- 6 files changed, 21 insertions(+), 30 deletions(-) diff --git a/apps/common/mobile/lib/pages/CollaborationPage.jsx b/apps/common/mobile/lib/pages/CollaborationPage.jsx index f20de8608b..aebaa63a03 100644 --- a/apps/common/mobile/lib/pages/CollaborationPage.jsx +++ b/apps/common/mobile/lib/pages/CollaborationPage.jsx @@ -26,7 +26,7 @@ const CollaborationPage = props => { } - {(sharingSettingsUrl && fileType !== 'oform') && + {(sharingSettingsUrl && fileType !== 'pdf') && diff --git a/apps/documenteditor/mobile/src/controller/ContextMenu.jsx b/apps/documenteditor/mobile/src/controller/ContextMenu.jsx index 5689a90c06..982e9eda08 100644 --- a/apps/documenteditor/mobile/src/controller/ContextMenu.jsx +++ b/apps/documenteditor/mobile/src/controller/ContextMenu.jsx @@ -7,7 +7,7 @@ import ContextMenuController from '../../../../common/mobile/lib/controller/Cont import { idContextMenuElement } from '../../../../common/mobile/lib/view/ContextMenu'; import EditorUIController from '../lib/patch'; -@inject ( stores => ({ +@inject(stores => ({ isEdit: stores.storeAppOptions.isEdit, canComments: stores.storeAppOptions.canComments, canViewComments: stores.storeAppOptions.canViewComments, @@ -22,7 +22,8 @@ import EditorUIController from '../lib/patch'; objects: stores.storeFocusObjects.settings, isViewer: stores.storeAppOptions.isViewer, isProtected: stores.storeAppOptions.isProtected, - typeProtection: stores.storeAppOptions.typeProtection + typeProtection: stores.storeAppOptions.typeProtection, + isForm: stores.storeAppOptions.isForm })) class ContextMenu extends ContextMenuController { constructor(props) { @@ -276,7 +277,7 @@ class ContextMenu extends ContextMenuController { initMenuItems() { if ( !Common.EditorApi ) return []; - const { isEdit, canFillForms, isDisconnected, isViewer, canEditComments, isProtected, typeProtection } = this.props; + const { isEdit, canFillForms, isDisconnected, isViewer, canEditComments, isProtected, typeProtection, isForm } = this.props; if (isEdit && EditorUIController.ContextMenu) { return EditorUIController.ContextMenu.mapMenuItems(this); @@ -327,14 +328,14 @@ class ContextMenu extends ContextMenuController { } if (!isDisconnected) { - if (canFillForms && canCopy && !locked && (!isViewer || docExt === 'oform') && isAllowedEditing) { + if (canFillForms && canCopy && !locked && (!isViewer || isForm) && isAllowedEditing) { itemsIcon.push({ event: 'cut', icon: 'icon-cut' }); } - if (canFillForms && canCopy && !locked && (!isViewer || docExt === 'oform') && isAllowedEditing) { + if (canFillForms && canCopy && !locked && (!isViewer || isForm) && isAllowedEditing) { itemsIcon.push({ event: 'paste', icon: 'icon-paste' diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index cd2e40b756..6072d16e8d 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -157,7 +157,7 @@ class MainController extends Component { } } - let type = data.doc ? /^(?:(oform))$/.exec(data.doc.fileType) : false; + let type = data.doc ? /^(?:(pdf))$/.exec(data.doc.fileType) : false; if (type && typeof type[1] === 'string') { (this.permissions.fillForms===undefined) && (this.permissions.fillForms = (this.permissions.edit!==false)); this.permissions.edit = this.permissions.review = this.permissions.comment = false; @@ -213,6 +213,7 @@ class MainController extends Component { this.appOptions.canLicense = (licType === Asc.c_oLicenseResult.Success || licType === Asc.c_oLicenseResult.SuccessLimit); const storeAppOptions = this.props.storeAppOptions; + const isForm = storeAppOptions.isForm; const editorConfig = window.native?.editorConfig; const config = storeAppOptions.config; const customization = config.customization; @@ -222,13 +223,9 @@ class MainController extends Component { this.applyMode(storeAppOptions); - const storeDocumentInfo = this.props.storeDocumentInfo; - const dataDoc = storeDocumentInfo.dataDoc; - const isExtRestriction = dataDoc.fileType !== 'oform'; - - if(isExtRestriction && isMobileForceView) { + if(!isForm && isMobileForceView) { this.api.asc_addRestriction(Asc.c_oAscRestrictionType.View); - } else if(isExtRestriction && !isMobileForceView) { + } else if(!isForm && !isMobileForceView) { storeAppOptions.changeViewerMode(false); } else { this.api.asc_addRestriction(Asc.c_oAscRestrictionType.OnlyForms) @@ -243,10 +240,8 @@ class MainController extends Component { return; const appOptions = this.props.storeAppOptions; + const isForm = appOptions.isForm; const appSettings = this.props.storeApplicationSettings; - const storeDocumentInfo = this.props.storeDocumentInfo; - const dataDoc = storeDocumentInfo.dataDoc; - const isExtRestriction = dataDoc.fileType !== 'oform'; f7.emit('resize'); @@ -279,7 +274,7 @@ class MainController extends Component { value = LocalStorage.getBool('mobile-view', true); - if(value && isExtRestriction) { + if(value && !isForm) { this.api.ChangeReaderMode(); } else { appOptions.changeMobileView(); @@ -501,16 +496,13 @@ class MainController extends Component { const warnLicenseUsersExceeded = _t.warnLicenseUsersExceeded.replace(/%1/g, __COMPANY_NAME__); const appOptions = this.props.storeAppOptions; - const storeDocumentInfo = this.props.storeDocumentInfo; - const dataDoc = storeDocumentInfo.dataDoc; - const docExt = dataDoc.fileType; - const isOpenForm = docExt === 'oform'; + const isForm = appOptions.isForm; if (appOptions.config.mode !== 'view' && !EditorUIController.isSupportEditFeature()) { let value = LocalStorage.getItem("de-opensource-warning"); value = (value !== null) ? parseInt(value) : 0; const now = (new Date).getTime(); - if (now - value > 86400000 && !isOpenForm) { + if (now - value > 86400000 && !isForm) { LocalStorage.setItem("de-opensource-warning", now); f7.dialog.create({ title: _t.notcriticalErrorTitle, @@ -655,13 +647,10 @@ class MainController extends Component { this.api.asc_registerCallback('asc_onShowContentControlsActions', (obj, x, y) => { const storeAppOptions = this.props.storeAppOptions; - const storeDocumentInfo = this.props.storeDocumentInfo; + const isForm = storeAppOptions.isForm; const isViewer = storeAppOptions.isViewer; - const dataDoc = storeDocumentInfo.dataDoc; - const docExt = dataDoc.fileType; - const isAvailableExt = docExt && docExt !== 'oform'; - if (!storeAppOptions.isEdit && !(storeAppOptions.isRestrictedEdit && storeAppOptions.canFillForms) || this.props.users.isDisconnected || (isViewer && isAvailableExt)) return; + if (!storeAppOptions.isEdit && !(storeAppOptions.isRestrictedEdit && storeAppOptions.canFillForms) || this.props.users.isDisconnected || (isViewer && !isForm)) return; switch (obj.type) { case Asc.c_oAscContentControlSpecificType.DateTime: diff --git a/apps/documenteditor/mobile/src/page/main.jsx b/apps/documenteditor/mobile/src/page/main.jsx index 8f021c6145..2e41786601 100644 --- a/apps/documenteditor/mobile/src/page/main.jsx +++ b/apps/documenteditor/mobile/src/page/main.jsx @@ -40,7 +40,7 @@ const MainPage = inject('storeDocumentInfo', 'users', 'storeAppOptions', 'storeV const isVersionHistoryMode = storeVersionHistory.isVersionHistoryMode; const storeDocumentInfo = props.storeDocumentInfo; const docExt = storeDocumentInfo.dataDoc ? storeDocumentInfo.dataDoc.fileType : ''; - const isAvailableExt = docExt && docExt !== 'djvu' && docExt !== 'pdf' && docExt !== 'xps' && docExt !== 'oform'; + const isAvailableExt = docExt && docExt !== 'djvu' && docExt !== 'pdf' && docExt !== 'xps'; const storeToolbarSettings = props.storeToolbarSettings; const isDisconnected = props.users.isDisconnected; const isViewer = appOptions.isViewer; diff --git a/apps/documenteditor/mobile/src/store/appOptions.js b/apps/documenteditor/mobile/src/store/appOptions.js index 711bcc4457..3a2968f892 100644 --- a/apps/documenteditor/mobile/src/store/appOptions.js +++ b/apps/documenteditor/mobile/src/store/appOptions.js @@ -182,6 +182,7 @@ export class storeAppOptions { this.isForm = !this.isXpsViewer && !!window.isPDFForm; this.canProtect = permissions.protect !== false; this.canSubmitForms = this.canLicense && (typeof (this.customization) == 'object') && !!this.customization.submitForm && !this.isOffline; + this.isEditableForms = this.isForm && this.canSubmitForms; this.isRestrictedEdit = !this.isEdit && (this.canComments || this.canFillForms) && isSupportEditFeature; if (this.isRestrictedEdit && this.canComments && this.canFillForms) // must be one restricted mode, priority for filling forms this.canComments = false; diff --git a/apps/documenteditor/mobile/src/view/Toolbar.jsx b/apps/documenteditor/mobile/src/view/Toolbar.jsx index 951725c5b7..684ff2b10e 100644 --- a/apps/documenteditor/mobile/src/view/Toolbar.jsx +++ b/apps/documenteditor/mobile/src/view/Toolbar.jsx @@ -9,7 +9,7 @@ const ToolbarView = props => { const isVersionHistoryMode = props.isVersionHistoryMode; const isDisconnected = props.isDisconnected; const docExt = props.docExt; - const isAvailableExt = docExt && docExt !== 'djvu' && docExt !== 'pdf' && docExt !== 'xps' && docExt !== 'oform'; + const isAvailableExt = docExt && docExt !== 'djvu' && docExt !== 'pdf' && docExt !== 'xps'; const isForm = props.isForm; const canFillForms = props.canFillForms; const isEditableForms = isForm && canFillForms; @@ -108,7 +108,7 @@ const ToolbarView = props => { (Device.phone ? null : ), - (window.matchMedia("(min-width: 360px)").matches && docExt !== 'oform' && !isVersionHistoryMode ? + (window.matchMedia("(min-width: 360px)").matches && !isForm && !isVersionHistoryMode ? props.openOptions('coauth')}> : null), (isVersionHistoryMode ? From 06cfca9d2ab07cd76948cbadd0e8f496a2d4067e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 18 Dec 2023 23:13:53 +0300 Subject: [PATCH 27/65] [PDF] Fix saving pdf-form --- apps/pdfeditor/main/app/view/FileMenuPanels.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index 386ea3de7b..daeb7a3df5 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -105,7 +105,7 @@ define([ render: function() { if (/^pdf$/.test(this.fileType)) { - this.formats[0].splice(1, 1, {name: 'PDF', imgCls: 'pdf', type: ''}); // remove pdf + !(this.mode && this.mode.isForm) && this.formats[0].splice(1, 1, {name: 'PDF', imgCls: 'pdf', type: ''}); // remove pdf this.formats[1].splice(1, 1); // remove pdfa } else if (/^xps|oxps$/.test(this.fileType)) { this.formats[0].push({name: this.fileType.toUpperCase(), imgCls: this.fileType, type: ''}); // original xps/oxps @@ -223,7 +223,7 @@ define([ render: function() { if (/^pdf$/.test(this.fileType)) { - this.formats[0].splice(1, 1, {name: 'PDF', imgCls: 'pdf', type: '', ext: true}); // remove pdf + !(this.mode && this.mode.isForm) && this.formats[0].splice(1, 1, {name: 'PDF', imgCls: 'pdf', type: '', ext: true}); // remove pdf this.formats[1].splice(1, 1); // remove pdfa } else if (/^xps|oxps$/.test(this.fileType)) { this.formats[0].push({name: this.fileType.toUpperCase(), imgCls: this.fileType, type: '', ext: true}); // original xps/oxps From dda7f30a8ba6d057e3ef67dcdd64829c538e96e8 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 19 Dec 2023 18:31:34 +0300 Subject: [PATCH 28/65] Refactoring pdf-check --- apps/documenteditor/embed/index.html | 22 ++++++++++------- apps/documenteditor/embed/index.html.deploy | 24 +++++++++++-------- apps/documenteditor/embed/index_loader.html | 22 ++++++++++------- .../embed/index_loader.html.deploy | 24 +++++++++++-------- apps/documenteditor/mobile/src/app.js | 10 ++++---- apps/pdfeditor/main/index.html | 24 +++++++++++-------- apps/pdfeditor/main/index.html.deploy | 24 +++++++++++-------- apps/pdfeditor/main/index_loader.html | 24 +++++++++++-------- apps/pdfeditor/main/index_loader.html.deploy | 24 +++++++++++-------- 9 files changed, 115 insertions(+), 83 deletions(-) diff --git a/apps/documenteditor/embed/index.html b/apps/documenteditor/embed/index.html index 87760dbcd3..bddada7aa7 100644 --- a/apps/documenteditor/embed/index.html +++ b/apps/documenteditor/embed/index.html @@ -300,16 +300,20 @@ \ No newline at end of file diff --git a/apps/pdfeditor/main/index.html.deploy b/apps/pdfeditor/main/index.html.deploy index a8ab374b67..71f3660be7 100644 --- a/apps/pdfeditor/main/index.html.deploy +++ b/apps/pdfeditor/main/index.html.deploy @@ -333,17 +333,21 @@ \ No newline at end of file diff --git a/apps/pdfeditor/main/index_loader.html b/apps/pdfeditor/main/index_loader.html index 2359c09634..559f7313de 100644 --- a/apps/pdfeditor/main/index_loader.html +++ b/apps/pdfeditor/main/index_loader.html @@ -308,17 +308,21 @@ \ No newline at end of file diff --git a/apps/pdfeditor/main/index_loader.html.deploy b/apps/pdfeditor/main/index_loader.html.deploy index 026833c093..e9c3e2c14a 100644 --- a/apps/pdfeditor/main/index_loader.html.deploy +++ b/apps/pdfeditor/main/index_loader.html.deploy @@ -328,17 +328,21 @@
    \ No newline at end of file From 926dfcdecb7b15e566201a4ebd0d6017ba5f632d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 19 Dec 2023 21:45:28 +0300 Subject: [PATCH 29/65] [DE] Fix Bug 65592 --- apps/documenteditor/main/app/controller/FormsTab.js | 4 ++++ apps/documenteditor/main/app/view/FormSettings.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index c585d7e65d..f6d6c14c6c 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -84,6 +84,7 @@ define([ } Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); Common.NotificationCenter.on('forms:close-help', _.bind(this.closeHelpTip, this)); + Common.NotificationCenter.on('forms:show-help', _.bind(this.showHelpTip, this)); return this; }, @@ -466,6 +467,9 @@ define([ var props = this._helpTips[step], target = props.target; + if (props.tip && props.tip.isVisible()) + return true; + if (typeof target === 'string') target = $(target); if (!(target && target.length && target.is(':visible'))) diff --git a/apps/documenteditor/main/app/view/FormSettings.js b/apps/documenteditor/main/app/view/FormSettings.js index 716e73b5c8..d1f59db8e9 100644 --- a/apps/documenteditor/main/app/view/FormSettings.js +++ b/apps/documenteditor/main/app/view/FormSettings.js @@ -649,6 +649,12 @@ define([ this.lockedControls.push(this.cmbRoles); this.cmbRoles.on('selected', this.onRolesChanged.bind(this)); + var showRolesTip = function() { + Common.NotificationCenter.trigger('forms:show-help', 'roles'); + me.cmbRoles.off('show:before', showRolesTip); + }; + me.cmbRoles.on('show:before', showRolesTip); + this.cmbFormat = new Common.UI.ComboBox({ el: $markup.findById('#form-combo-format'), cls: 'input-group-nr', From 9e85516650f52f80d06033e210910c797a1026f2 Mon Sep 17 00:00:00 2001 From: maxkadushkin Date: Wed, 20 Dec 2023 14:11:44 +0300 Subject: [PATCH 30/65] [desktop] fix for local pdf forms --- apps/api/documents/index.html.desktop | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/api/documents/index.html.desktop b/apps/api/documents/index.html.desktop index c2c60dfaa3..9708da69d1 100644 --- a/apps/api/documents/index.html.desktop +++ b/apps/api/documents/index.html.desktop @@ -91,10 +91,13 @@ download: true } }; - + if (urlParams['mode'] == 'review') docparams.permissions.edit = !(docparams.permissions.review = true); + if (urlParams['isForm'] !== undefined) + docparams.isForm = urlParams['isForm']; + return docparams; } From ce34f704efceaf3e28c1b01457eca91b1f694881 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 20 Dec 2023 19:40:25 +0300 Subject: [PATCH 31/65] [Plugins] Handle new icons format --- apps/common/main/lib/controller/Plugins.js | 5 +- apps/common/main/lib/view/Plugins.js | 87 +++++++++++++++++++++- 2 files changed, 86 insertions(+), 6 deletions(-) diff --git a/apps/common/main/lib/controller/Plugins.js b/apps/common/main/lib/controller/Plugins.js index 6abccc19bb..5e6b57e217 100644 --- a/apps/common/main/lib/controller/Plugins.js +++ b/apps/common/main/lib/controller/Plugins.js @@ -770,7 +770,7 @@ define([ description: description, index: variationsArr.length, url: itemVar.url, - icons: itemVar.icons2 || itemVar.icons, + icons: (typeof itemVar.icons === 'string' && itemVar.icons.indexOf('%') !== -1 || !itemVar.icons2) ? itemVar.icons : itemVar.icons2, buttons: itemVar.buttons, visible: visible, help: itemVar.help @@ -1073,7 +1073,6 @@ define([ if (this.customPluginsDlg[frameId].binding.resize) this.customPluginsDlg[frameId].binding.resize({ pageX: x*Common.Utils.zoom()+offset.left, pageY: y*Common.Utils.zoom()+offset.top }); } else Common.NotificationCenter.trigger('frame:mousemove', { pageX: x*Common.Utils.zoom()+this._moveOffset.x, pageY: y*Common.Utils.zoom()+this._moveOffset.y }); - }, - + } }, Common.Controllers.Plugins || {})); }); diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index cd078101dd..f2b868e5c9 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -228,7 +228,88 @@ define([ } }, + iconsStr2IconsObj: function(icons) { + let result = icons; + if (typeof result === 'string' && result.indexOf('%') !== -1) { + /* + valid params: + theme-type - {string} theme type (light|dark|common) + theme-name - {string} the name of theme + state - {string} state of icons for different situations (normal|hover|active) + scale - {string} list of avaliable scales (100|125|150|175|200|default|extended) + extension - {string} use it after symbol "." (png|jpeg|svg) + */ + let scaleValue = { + '100%' : 'icon.', + '125%' : 'icon@1.25x.', + '150%' : 'icon@1.5x.', + '175%' : 'icon@1.75x.', + '200%' : 'icon@2x.' + } + let arrParams = ['theme-type', 'theme-name' ,'state', 'scale', 'extension'], + template = result, + start = template.indexOf('%'), + commonPart = template.substring(0, start), + end = 0, + param = null, + values = null, + tempObj = {}; + + result = []; + + for (let index = 0; index < arrParams.length; index++) { + param = arrParams[index]; + start = template.indexOf(param); + if (start === -1 ) + continue; + + start += param.length + 2; + end = template.indexOf(')', start); + values = template.substring(start, end); + tempObj[param] = values.split('|'); + } + + // we don't work with svg yet. Change it when we will work with it (extended variant). + if (tempObj['scale'] && (tempObj['scale'] == 'default' || tempObj['scale'] == 'extended') ) { + tempObj['scale'] = ['100', '125', '150', '175', '200']; + } else if (!tempObj['scale']) { + tempObj['scale'] = ['100']; + } + + if (!tempObj['state']) { + tempObj['state'] = ['normal']; + } + + let bHasName = !!tempObj['theme-name']; + let bHasType = (tempObj['theme-type'] && tempObj['theme-type'][0] !== 'common'); + let arrThemes = bHasName ? tempObj['theme-name'] : (bHasType ? tempObj['theme-type'] : []); + let paramName = bHasName ? 'theme' : 'style'; + if (arrThemes.length) { + for (let thInd = 0; thInd < arrThemes.length; thInd++) { + result.push({[paramName]: arrThemes[thInd]}); + } + } else { + result.push({}); + } + + for (let index = 0; index < result.length; index++) { + for (let scaleInd = 0; scaleInd < tempObj['scale'].length; scaleInd++) { + let themePath = (result[index][paramName] || 'img') + '/'; + let scale = tempObj['scale'][scaleInd] + '%'; + let obj = {}; + for (let stateInd = 0; stateInd < tempObj['state'].length; stateInd++) { + let state = tempObj['state'][stateInd]; + obj[state] = commonPart + themePath + (state == 'normal' ? '' : (state + '_')) + (scaleValue[scale] || 'icon.') + tempObj['extension'][0]; + } + result[index][scale] = obj; + } + } + } + return result; + }, + parseIcons: function(icons) { + icons = this.iconsStr2IconsObj(icons); if (icons.length && typeof icons[0] !== 'string') { var theme = Common.UI.Themes.currentThemeId().toLowerCase(), style = Common.UI.Themes.isDarkTheme() ? 'dark' : 'light', @@ -270,9 +351,9 @@ define([ } (bestDistance>0.01 && defUrl) && (bestUrl = defUrl); return { - 'normal': bestUrl['normal'], - 'hover': bestUrl['hover'] || bestUrl['normal'], - 'active': bestUrl['active'] || bestUrl['normal'] + 'normal': bestUrl ? bestUrl['normal'] : '', + 'hover': bestUrl ? bestUrl['hover'] || bestUrl['normal'] : '', + 'active': bestUrl ? bestUrl['active'] || bestUrl['normal'] : '' }; } else { // old version var url = icons[((Common.Utils.applicationPixelRatio() > 1 && icons.length > 1) ? 1 : 0) + (icons.length > 2 ? 2 : 0)]; From d8d3e1717ac7a64e00a556433ceda29246dc1cf2 Mon Sep 17 00:00:00 2001 From: Denis Dokin Date: Thu, 21 Dec 2023 11:03:56 +0300 Subject: [PATCH 32/65] Icons Upload --- .../img/toolbar/1.25x/big/btn-submit-form.png | Bin 468 -> 586 bytes .../img/toolbar/1.5x/big/btn-submit-form.png | Bin 524 -> 677 bytes .../img/toolbar/1.75x/big/btn-submit-form.png | Bin 618 -> 796 bytes .../img/toolbar/1x/big/btn-submit-form.png | Bin 399 -> 470 bytes .../img/toolbar/2.5x/big/btn-submit-form.svg | 3 ++- .../img/toolbar/2x/big/btn-submit-form.png | Bin 708 -> 902 bytes 6 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/documenteditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png b/apps/documenteditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png index 47a7251ffb141fe6691a4dc1ff99a8a4d0a44b86..6cdad30fa704c70c537bfc30c0beaa53aa5f862a 100644 GIT binary patch delta 562 zcmV-20?qx@1Ih%DBYy%BNklk>^eb5B6Cl=uW>Zk?gfIo}y78$PuV=&zSkJW`>45nKYr=3cB@+DBr#bCY*lnCic zFfWoq5ACkBz%ut~dM)1d7e}Bk(LOfij;p$Ncco5-4+#FX3Wq zt^$)5+nl;`6pXlqgNmrxuu*L_)K2|Fcq8oD!Is zL_)K2|C830oEFWA7>_nSfkTV!B$1j2BF5vwJ%y7L+kZ(cH5rA~V;k-z^M6C*j*R-<9>Egg A`v3p{ delta 443 zcmV;s0Yv`F1k?kNBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yPPR!!Qg)4@C#)2pXZIbc2r26}&-5$S58~-XJ5W zl3@Kc7I-`%1%*K_tf`=KL&`V-<5X z#e9X>#pFk$3IZfa@B}g5JTC}-CB%@h?R%^71|jUJR1dq=kk-=kf@9nPCx~!}8F#=5 zLOf!m&rVJ;@_%P1g_ssQoZTZ5)7TZ=QzmPcXs6aE*g`JE6g#;FT}$6{vc|+Wm_oE- z22?G5&&e7aJFJDQ5z{c&()XOKu^nR`pQ}2ikfU5F=3e6iBw{i58gwmvPjLL}sWdxo z#1{mJ#7JuCdBHKp^E*U1#pD{YT6$h^P#4%M9AfAT>@;OwXmICY#jtteZ-)oGPSy`- ly5@kNL)0|~f*=T<%nwT7C(*r@*bD#w002ovPDHLkV1fwWw^INB diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png index 7fabeedd9839d51c8465a3ff0ed43af5b32e3e58..079d5385c836f81f0d13c5075e78bc67598f0770 100644 GIT binary patch delta 654 zcmV;90&)F}1f>O#BYy&HNkl|LHYSpCdISn{C#%Z(~F9`roIBw%K zS}mY67?a_v0u{lS3|}>^-e$!U zdQXdTX@S|Dr9(I3&PB)vFuUxSLNLQ3^g2`6Z@>(T(2FIm0MLQtO;ae)f#gk7BG4zf zA=#YVDFu`iA&$WC*kRo)$&qocQ2xZs;Gk-mQkRo)$&qocQVR2cLJuQLh zI8VVAP*PmJ${xH{LQK4Kor07g!-kfmMd-twRuXsUu%;y=Md%}uR#Jk{tD|rJT5|MR z47e6hdUf7fo3eO%-_PPRm#4PGZx zn;xeCMZZ^S)8lNQi=66&=g3|x%BfCr4z2cG5kR%)$oV>BiWx4TT+NFW4a)*F^k delta 499 zcmVSF>4wNQ%%owId-P-97i**ZdK-2&dRlR-j_nB&hnAL$(W zf@9EKr!V<$mh|9D{+iRQ|1}u zJyRs~oP)l%Glj++ZxBEh8goeM+{OTh8Nw$yQRu9gmA}S-4q9%O(B9nM4<+M5$vijQ pvqHD*SMXSc%YKF9IF92SjZf1UtJk}&2DktK002ovPDHLkV1mu2(a-<@ diff --git a/apps/documenteditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png b/apps/documenteditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png index afdead29688d2dc370f4e5fc5935076cf00454bd..5ee42b3a7ba868cb745b55cfbfee1f39457bd0b0 100644 GIT binary patch delta 773 zcmV+g1N!{x1e^wtBYy(pNklI~y#gc_ufnD;EIQ~_drdqXX)v8td+>G;{z|UGY0072$PvB=w z5Z3uX00NxfFy_&tisS621p|oVh=0SN1mTY=Fn}SBC=6;4 zS}=eqju;FM5E?LmF^&ifE)dc%fH@933{DV|FhC#_me1|bNHR5DS+paNkUyf(F5*A)T+D;`2{T~`VStPTD+ z`rmNX2Ju1O!G9k|uTx$32%_4fo(I-O*L&AAYw^k6-MIRr>0GF zX}V<$aDOac%zosoO~|F`mNCGwd@0arbk@O3Dkw3p zG!Wso79-{rC2<7X+H5heL=df)GmLOvN)WA=GmKa9|Y4?Zu| zfKa_vit#z0r37JwAuMhPK^S2Oi<_oewQAL>RoiI4qo8irS_hf{00000NkvXXu0mjf D!Xi}t delta 594 zcmV-Y0TmBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yPBm~+G%2s9KiEkUWF^b2*cZbiGVpq~!45pm3fQShr@ z&~QnBts_1_rdC8vyBDx^1iglm4;ubTIN|Rqj g5d=XH1i@qR1#AU7=TSw^;{X5v07*qoM6N<$f>kT>PXGV_ diff --git a/apps/documenteditor/main/resources/img/toolbar/1x/big/btn-submit-form.png b/apps/documenteditor/main/resources/img/toolbar/1x/big/btn-submit-form.png index aa20557e64e486ca6de64ef2298176266856089c..57e4a3270930b91b222c4c13de9ea429fc0be58e 100644 GIT binary patch delta 445 zcmV;u0Yd(d1J(nOBYy#%NklsaU*z^zKV z055Yx01Q@I0A6GmfFX6Tn|hxIV+S{4JJ?OtgSCTOdbxY_tQ`Cj|8j6WGY3Ozp+}md z0X65KN1CGn?~r$vSw#bJcgQ=N6uV1jHUEP*jGT0<~3SpvMUml_9$VZ(K90 zW7<0J*nnnrO#8^YBLLSe;hNiGzCGlsC0r>zG{UD0^fo&>;L|U@2TQbia7l^PWnwvj!$oYmbz)?2*1OY*?Z1@QxilBUS69q#@H=B6wi8qMZtO=T* zH#?hA!BVm}cy5x#1xv~P(&Rn8gkU2ixTXHtzf3 TjZ_~C00000NkvXXu0mjfN8gx5 diff --git a/apps/documenteditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg b/apps/documenteditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg index 5377216dc5..175d835957 100644 --- a/apps/documenteditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg +++ b/apps/documenteditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg @@ -1,3 +1,4 @@ - + + diff --git a/apps/documenteditor/main/resources/img/toolbar/2x/big/btn-submit-form.png b/apps/documenteditor/main/resources/img/toolbar/2x/big/btn-submit-form.png index 456fd1ee175c0b076df92d5b5e2f2edb86d436a4..a0ac54809bee818f3add274a696e256793949eb7 100644 GIT binary patch delta 880 zcmV-$1CRW~1%?NZBYy);Nkl*SV26_IMzHIA%9{695_KN0C3<25gVZ5 z1Q8pc$JyAyWeMA&!CL9p;rv2`~V03>@#UuT(66kbdgw&7sxr)?Uv9 zAf%tVdUNPNYk#lj0&q~UzN)LmJ7#vM8~_fGzN$CJ;vL@R(_8>T;?BTe6I$; zP|~sxbwn&doKVuTkbH460O~#2$W4X20K8(p2L-tM*CRL8_jVXad=CQ9O+MBPh&tkX zccNwO>VGznn|!QSAx4sxO(dT$2cW-Ga24W0?R!9gOW-#84)A{@z6SyLs>1tuU8e83 zP3(~oz}LucA-YW8bDP*BCxFKZzY1|Y@jb16Z|K(c!0{@?$a{_7#O4NY(|iHq0mpxz zyZdY?vftb+blbx_gBaOi__4cw_##JuYR^P%1b>%3c%Dd8CqU-O8`%n$ti zmT3=fgmI|=y5++gRa`}UBD)jcYZl->SC{g={{WC(+{$-m3qS#QF07|CL53kXkyuY@ zg2+$+98{U7HC^e@^aKDwzbZm{ELX2YB9TZW5{X2jX7mkeB?LF+$ta@$0000oqE%h|?#|&p>7@QdwlAOTT-+20f*=TjAP54_q#DN>rGH~cdlMW`N=Y@2r7zOn z1Se$lm3JBwjHxF&7akKFu%7JR?YWS+o@sQ#qePa#1P2m{0+SbsEP+CTu|$@@<+Tfm zOo2jzp+u&@<-NH?wm>1lNFrO{@|meb4S_;}fkX{~%jaeiwFC+Y$`Z8%F5j6*)D$SB zlVe^$MpNMO{eP)MdVX`C=qs>gSLX;a1c5EPIydKc2RmMCd|Y|#1IEK$e!XX)tA2aW zK&^f)XJF8Q5I8s?aBxE4;Do?`1iKpC!|-;2U4_=B_ccs!hu8w8?ObCA0~7=bxyBAg zXb9ZQ&q?Rn*WUm9F$U-flz4~YY*ZE~ylc-!ZGr2O`hNrk31yTzf2Le|nknkdqQs6ieC{PLG;_ycP*7i?B9=Cgf0!9Mm(L_X+@7{C=sFH|m}AW)@Hxi|)J1)BED7Rc&1o=O{>5I8s? zaB%J$j{U@UkzsKi`~aUhKa1-i{*YhG3~c$oTP9EB#7^L|_56Y$2!bF8f}j&$Ufh?N T>1Lnr00000NkvXXu0mjfVz4UC From 8e9429d6a07e3dd483c48197336b8ba7cf1adf6c Mon Sep 17 00:00:00 2001 From: Denis Dokin Date: Thu, 21 Dec 2023 11:16:18 +0300 Subject: [PATCH 33/65] Icons upload to pdf editor --- .../img/toolbar/1.25x/big/btn-submit-form.png | Bin 468 -> 586 bytes .../img/toolbar/1.5x/big/btn-submit-form.png | Bin 524 -> 677 bytes .../img/toolbar/1.75x/big/btn-submit-form.png | Bin 618 -> 796 bytes .../img/toolbar/1x/big/btn-submit-form.png | Bin 399 -> 470 bytes .../img/toolbar/2.5x/big/btn-submit-form.svg | 3 ++- .../img/toolbar/2x/big/btn-submit-form.png | Bin 708 -> 902 bytes 6 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.25x/big/btn-submit-form.png index 47a7251ffb141fe6691a4dc1ff99a8a4d0a44b86..6cdad30fa704c70c537bfc30c0beaa53aa5f862a 100644 GIT binary patch delta 562 zcmV-20?qx@1Ih%DBYy%BNklk>^eb5B6Cl=uW>Zk?gfIo}y78$PuV=&zSkJW`>45nKYr=3cB@+DBr#bCY*lnCic zFfWoq5ACkBz%ut~dM)1d7e}Bk(LOfij;p$Ncco5-4+#FX3Wq zt^$)5+nl;`6pXlqgNmrxuu*L_)K2|Fcq8oD!Is zL_)K2|C830oEFWA7>_nSfkTV!B$1j2BF5vwJ%y7L+kZ(cH5rA~V;k-z^M6C*j*R-<9>Egg A`v3p{ delta 443 zcmV;s0Yv`F1k?kNBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yPPR!!Qg)4@C#)2pXZIbc2r26}&-5$S58~-XJ5W zl3@Kc7I-`%1%*K_tf`=KL&`V-<5X z#e9X>#pFk$3IZfa@B}g5JTC}-CB%@h?R%^71|jUJR1dq=kk-=kf@9nPCx~!}8F#=5 zLOf!m&rVJ;@_%P1g_ssQoZTZ5)7TZ=QzmPcXs6aE*g`JE6g#;FT}$6{vc|+Wm_oE- z22?G5&&e7aJFJDQ5z{c&()XOKu^nR`pQ}2ikfU5F=3e6iBw{i58gwmvPjLL}sWdxo z#1{mJ#7JuCdBHKp^E*U1#pD{YT6$h^P#4%M9AfAT>@;OwXmICY#jtteZ-)oGPSy`- ly5@kNL)0|~f*=T<%nwT7C(*r@*bD#w002ovPDHLkV1fwWw^INB diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.5x/big/btn-submit-form.png index 7fabeedd9839d51c8465a3ff0ed43af5b32e3e58..079d5385c836f81f0d13c5075e78bc67598f0770 100644 GIT binary patch delta 654 zcmV;90&)F}1f>O#BYy&HNkl|LHYSpCdISn{C#%Z(~F9`roIBw%K zS}mY67?a_v0u{lS3|}>^-e$!U zdQXdTX@S|Dr9(I3&PB)vFuUxSLNLQ3^g2`6Z@>(T(2FIm0MLQtO;ae)f#gk7BG4zf zA=#YVDFu`iA&$WC*kRo)$&qocQ2xZs;Gk-mQkRo)$&qocQVR2cLJuQLh zI8VVAP*PmJ${xH{LQK4Kor07g!-kfmMd-twRuXsUu%;y=Md%}uR#Jk{tD|rJT5|MR z47e6hdUf7fo3eO%-_PPRm#4PGZx zn;xeCMZZ^S)8lNQi=66&=g3|x%BfCr4z2cG5kR%)$oV>BiWx4TT+NFW4a)*F^k delta 499 zcmVSF>4wNQ%%owId-P-97i**ZdK-2&dRlR-j_nB&hnAL$(W zf@9EKr!V<$mh|9D{+iRQ|1}u zJyRs~oP)l%Glj++ZxBEh8goeM+{OTh8Nw$yQRu9gmA}S-4q9%O(B9nM4<+M5$vijQ pvqHD*SMXSc%YKF9IF92SjZf1UtJk}&2DktK002ovPDHLkV1mu2(a-<@ diff --git a/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1.75x/big/btn-submit-form.png index afdead29688d2dc370f4e5fc5935076cf00454bd..5ee42b3a7ba868cb745b55cfbfee1f39457bd0b0 100644 GIT binary patch delta 773 zcmV+g1N!{x1e^wtBYy(pNklI~y#gc_ufnD;EIQ~_drdqXX)v8td+>G;{z|UGY0072$PvB=w z5Z3uX00NxfFy_&tisS621p|oVh=0SN1mTY=Fn}SBC=6;4 zS}=eqju;FM5E?LmF^&ifE)dc%fH@933{DV|FhC#_me1|bNHR5DS+paNkUyf(F5*A)T+D;`2{T~`VStPTD+ z`rmNX2Ju1O!G9k|uTx$32%_4fo(I-O*L&AAYw^k6-MIRr>0GF zX}V<$aDOac%zosoO~|F`mNCGwd@0arbk@O3Dkw3p zG!Wso79-{rC2<7X+H5heL=df)GmLOvN)WA=GmKa9|Y4?Zu| zfKa_vit#z0r37JwAuMhPK^S2Oi<_oewQAL>RoiI4qo8irS_hf{00000NkvXXu0mjf D!Xi}t delta 594 zcmV-Y0TmBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yPBm~+G%2s9KiEkUWF^b2*cZbiGVpq~!45pm3fQShr@ z&~QnBts_1_rdC8vyBDx^1iglm4;ubTIN|Rqj g5d=XH1i@qR1#AU7=TSw^;{X5v07*qoM6N<$f>kT>PXGV_ diff --git a/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/1x/big/btn-submit-form.png index aa20557e64e486ca6de64ef2298176266856089c..57e4a3270930b91b222c4c13de9ea429fc0be58e 100644 GIT binary patch delta 445 zcmV;u0Yd(d1J(nOBYy#%NklsaU*z^zKV z055Yx01Q@I0A6GmfFX6Tn|hxIV+S{4JJ?OtgSCTOdbxY_tQ`Cj|8j6WGY3Ozp+}md z0X65KN1CGn?~r$vSw#bJcgQ=N6uV1jHUEP*jGT0<~3SpvMUml_9$VZ(K90 zW7<0J*nnnrO#8^YBLLSe;hNiGzCGlsC0r>zG{UD0^fo&>;L|U@2TQbia7l^PWnwvj!$oYmbz)?2*1OY*?Z1@QxilBUS69q#@H=B6wi8qMZtO=T* zH#?hA!BVm}cy5x#1xv~P(&Rn8gkU2ixTXHtzf3 TjZ_~C00000NkvXXu0mjfN8gx5 diff --git a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg index 5377216dc5..175d835957 100644 --- a/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg +++ b/apps/pdfeditor/main/resources/img/toolbar/2.5x/big/btn-submit-form.svg @@ -1,3 +1,4 @@ - + + diff --git a/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-submit-form.png b/apps/pdfeditor/main/resources/img/toolbar/2x/big/btn-submit-form.png index 456fd1ee175c0b076df92d5b5e2f2edb86d436a4..a0ac54809bee818f3add274a696e256793949eb7 100644 GIT binary patch delta 880 zcmV-$1CRW~1%?NZBYy);Nkl*SV26_IMzHIA%9{695_KN0C3<25gVZ5 z1Q8pc$JyAyWeMA&!CL9p;rv2`~V03>@#UuT(66kbdgw&7sxr)?Uv9 zAf%tVdUNPNYk#lj0&q~UzN)LmJ7#vM8~_fGzN$CJ;vL@R(_8>T;?BTe6I$; zP|~sxbwn&doKVuTkbH460O~#2$W4X20K8(p2L-tM*CRL8_jVXad=CQ9O+MBPh&tkX zccNwO>VGznn|!QSAx4sxO(dT$2cW-Ga24W0?R!9gOW-#84)A{@z6SyLs>1tuU8e83 zP3(~oz}LucA-YW8bDP*BCxFKZzY1|Y@jb16Z|K(c!0{@?$a{_7#O4NY(|iHq0mpxz zyZdY?vftb+blbx_gBaOi__4cw_##JuYR^P%1b>%3c%Dd8CqU-O8`%n$ti zmT3=fgmI|=y5++gRa`}UBD)jcYZl->SC{g={{WC(+{$-m3qS#QF07|CL53kXkyuY@ zg2+$+98{U7HC^e@^aKDwzbZm{ELX2YB9TZW5{X2jX7mkeB?LF+$ta@$0000oqE%h|?#|&p>7@QdwlAOTT-+20f*=TjAP54_q#DN>rGH~cdlMW`N=Y@2r7zOn z1Se$lm3JBwjHxF&7akKFu%7JR?YWS+o@sQ#qePa#1P2m{0+SbsEP+CTu|$@@<+Tfm zOo2jzp+u&@<-NH?wm>1lNFrO{@|meb4S_;}fkX{~%jaeiwFC+Y$`Z8%F5j6*)D$SB zlVe^$MpNMO{eP)MdVX`C=qs>gSLX;a1c5EPIydKc2RmMCd|Y|#1IEK$e!XX)tA2aW zK&^f)XJF8Q5I8s?aBxE4;Do?`1iKpC!|-;2U4_=B_ccs!hu8w8?ObCA0~7=bxyBAg zXb9ZQ&q?Rn*WUm9F$U-flz4~YY*ZE~ylc-!ZGr2O`hNrk31yTzf2Le|nknkdqQs6ieC{PLG;_ycP*7i?B9=Cgf0!9Mm(L_X+@7{C=sFH|m}AW)@Hxi|)J1)BED7Rc&1o=O{>5I8s? zaB%J$j{U@UkzsKi`~aUhKa1-i{*YhG3~c$oTP9EB#7^L|_56Y$2!bF8f}j&$Ufh?N T>1Lnr00000NkvXXu0mjfVz4UC From 833c2647e7b17d9485f763b7616c9052dfe1ca15 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Dec 2023 13:08:31 +0300 Subject: [PATCH 34/65] Fix Bug 65637 --- apps/common/main/lib/component/DataView.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 10eafe4154..ee2b764a55 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -854,6 +854,7 @@ define([ } else { this.pressedCtrl=false; function getFirstItemIndex() { + if (this.dataViewItems.length===0) return 0; var first = 0; while(!this.dataViewItems[first] || !this.dataViewItems[first].$el || this.dataViewItems[first].$el.hasClass('disabled')) { first++; @@ -861,6 +862,7 @@ define([ return first; } function getLastItemIndex() { + if (this.dataViewItems.length===0) return 0; var last = this.dataViewItems.length-1; while(!this.dataViewItems[last] || !this.dataViewItems[last].$el || this.dataViewItems[last].$el.hasClass('disabled')) { last--; @@ -1395,6 +1397,7 @@ define([ var idx = _.indexOf(this.store.models, rec); if (idx<0) { function getFirstItemIndex() { + if (this.dataViewItems.length===0) return 0; var first = 0; while(!this.dataViewItems[first].el.is(':visible')) { first++; From 89a4e629684f883fba93e9c56a090312cef458ca Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Dec 2023 15:43:20 +0300 Subject: [PATCH 35/65] Add 'icon-name' parameter for plugins icons --- apps/common/main/lib/view/Plugins.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index f2b868e5c9..aad16febcb 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -238,15 +238,16 @@ define([ state - {string} state of icons for different situations (normal|hover|active) scale - {string} list of avaliable scales (100|125|150|175|200|default|extended) extension - {string} use it after symbol "." (png|jpeg|svg) + icon-name - {string} the name of icon, "icon" by default */ let scaleValue = { - '100%' : 'icon.', - '125%' : 'icon@1.25x.', - '150%' : 'icon@1.5x.', - '175%' : 'icon@1.75x.', - '200%' : 'icon@2x.' + '100%' : '.', + '125%' : '@1.25x.', + '150%' : '@1.5x.', + '175%' : '@1.75x.', + '200%' : '@2x.' } - let arrParams = ['theme-type', 'theme-name' ,'state', 'scale', 'extension'], + let arrParams = ['theme-type', 'theme-name' ,'state', 'scale', 'extension', 'icon-name'], template = result, start = template.indexOf('%'), commonPart = template.substring(0, start), @@ -280,6 +281,10 @@ define([ tempObj['state'] = ['normal']; } + if (!tempObj['icon-name']) { + tempObj['icon-name'] = ['icon']; + } + let bHasName = !!tempObj['theme-name']; let bHasType = (tempObj['theme-type'] && tempObj['theme-type'][0] !== 'common'); let arrThemes = bHasName ? tempObj['theme-name'] : (bHasType ? tempObj['theme-type'] : []); @@ -299,7 +304,7 @@ define([ let obj = {}; for (let stateInd = 0; stateInd < tempObj['state'].length; stateInd++) { let state = tempObj['state'][stateInd]; - obj[state] = commonPart + themePath + (state == 'normal' ? '' : (state + '_')) + (scaleValue[scale] || 'icon.') + tempObj['extension'][0]; + obj[state] = commonPart + themePath + (state == 'normal' ? '' : (state + '_')) + tempObj['icon-name'] + (scaleValue[scale] || '.') + tempObj['extension'][0]; } result[index][scale] = obj; } From e255a74c0d26979cea309e612bf91cb8ac821808 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Dec 2023 22:04:24 +0300 Subject: [PATCH 36/65] Fix Bug 65221, Bug 65219 --- .../main/app/controller/FormsTab.js | 39 ++++++++++++++----- .../main/app/view/FormSettings.js | 2 + 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index f6d6c14c6c..ddf3b81408 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -61,7 +61,9 @@ define([ this._state = { lastViewRole: undefined, // last selected role in the preview mode lastRoleInList: undefined, // last role in the roles list, - formCount: 0 + formCount: 0, + formAdded: undefined, + formRadioAdded: undefined }; }, @@ -97,8 +99,8 @@ define([ }); this._helpTips = { 'create': {name: 'de-form-tip-create', placement: 'bottom-right', text: this.view.tipCreateField, link: false, target: '#slot-btn-form-field'}, - 'key': {name: 'de-form-tip-settings', placement: 'left-bottom', text: this.view.tipFormKey, link: {text: this.view.tipFieldsLink, src: 'UsageInstructions\/CreateFillableForms.htm'}, target: '#form-combo-key'}, - 'group-key': {name: 'de-form-tip-settings', placement: 'left-bottom', text: this.view.tipFormGroupKey, link: false, target: '#form-combo-group-key'}, + 'key': {name: 'de-form-tip-settings-key', placement: 'left-bottom', text: this.view.tipFormKey, link: {text: this.view.tipFieldsLink, src: 'UsageInstructions\/CreateFillableForms.htm'}, target: '#form-combo-key'}, + 'group-key': {name: 'de-form-tip-settings-group', placement: 'left-bottom', text: this.view.tipFormGroupKey, link: false, target: '#form-combo-group-key'}, 'settings': {name: 'de-form-tip-settings', placement: 'left-top', text: this.view.tipFieldSettings, link: {text: this.view.tipFieldsLink, src: 'UsageInstructions\/CreateFillableForms.htm'}, target: '#id-right-menu-form'}, 'roles': {name: 'de-form-tip-roles', placement: 'bottom-left', text: this.view.tipHelpRoles, link: {text: this.view.tipRolesLink, src: 'UsageInstructions\/CreateFillableForms.htm#managing_roles'}, target: '#slot-btn-manager'}, 'save': this.appConfig.canDownloadForms ? {name: 'de-form-tip-save', placement: 'bottom-left', text: this.view.tipSaveFile, link: false, target: '#slot-btn-form-save'} : undefined @@ -181,8 +183,25 @@ define([ Common.Utils.lockControls(Common.enumLock.inSmartartInternal, in_smart_art_internal, {array: arr}); if (control_props && control_props.get_FormPr()) { - (control_props.get_SpecificType() === Asc.c_oAscContentControlSpecificType.CheckBox && - control_props.get_CheckBoxPr() && (typeof control_props.get_CheckBoxPr().get_GroupKey()==='string')) ? this.closeHelpTip('key') : this.closeHelpTip('group-key'); + var isRadio = control_props.get_SpecificType() === Asc.c_oAscContentControlSpecificType.CheckBox && + control_props.get_CheckBoxPr() && (typeof control_props.get_CheckBoxPr().get_GroupKey()==='string'); + isRadio ? this.closeHelpTip('key') : this.closeHelpTip('group-key'); + var me = this; + setTimeout(function() { + if (me._state.formRadioAdded && isRadio) { + if (me.showHelpTip('group-key')) { + me._state.formRadioAdded = false; + me.closeHelpTip('settings', true); + } else + me.showHelpTip('settings'); + } else if (me._state.formAdded && !isRadio) { + if (me.showHelpTip('key')) { + me._state.formAdded = false; + me.closeHelpTip('settings', true); + } else + me.showHelpTip('settings'); + } + }, 500); } else { this.closeHelpTip('key'); this.closeHelpTip('group-key'); @@ -211,6 +230,8 @@ define([ oFormPr = new AscCommon.CSdtFormPr(); oFormPr.put_Role(Common.Utils.InternalSettings.get('de-last-form-role') || this._state.lastRoleInList); this.toolbar.toolbar.fireEvent('insertcontrol', this.toolbar.toolbar); + (this._state.formAdded===undefined) && (type !== 'radiobox') && (this._state.formAdded = true); + (this._state.formRadioAdded===undefined) && (type === 'radiobox') && (this._state.formRadioAdded = true); if (type == 'picture') this.api.asc_AddContentControlPicture(oFormPr); else if (type == 'checkbox' || type == 'radiobox') { @@ -249,9 +270,6 @@ define([ var me = this; if (!this._state.formCount) { // add first form this.closeHelpTip('create'); - setTimeout(function() { - !me.showHelpTip(type === 'radiobox' ? 'group-key' : 'key') && me.showHelpTip('settings'); - }, 500); } else if (this._state.formCount===1) { setTimeout(function() { me.showHelpTip('roles'); @@ -567,9 +585,10 @@ define([ }, onRightMenuClick: function(menu, type, minimized, event) { - if (!minimized && event && type === Common.Utils.documentSettingsType.Form) + if (!minimized && event && type === Common.Utils.documentSettingsType.Form) { this.closeHelpTip('settings', true); - else if (minimized || type !== Common.Utils.documentSettingsType.Form) { + (this._state.formRadioAdded || this._state.formAdded) && this.onApiFocusObject(this.api.getSelectedElements()); + } else if (minimized || type !== Common.Utils.documentSettingsType.Form) { this.closeHelpTip('key'); this.closeHelpTip('group-key'); this.closeHelpTip('settings'); diff --git a/apps/documenteditor/main/app/view/FormSettings.js b/apps/documenteditor/main/app/view/FormSettings.js index d1f59db8e9..2a83bbb972 100644 --- a/apps/documenteditor/main/app/view/FormSettings.js +++ b/apps/documenteditor/main/app/view/FormSettings.js @@ -144,6 +144,7 @@ define([ var showtip = function() { Common.NotificationCenter.trigger('forms:close-help', 'key', true); + Common.NotificationCenter.trigger('forms:close-help', 'settings', true); me.cmbKey.off('show:before', showtip); me.cmbKey.off('combo:focusin', showtip); }; @@ -385,6 +386,7 @@ define([ var showGrouptip = function() { Common.NotificationCenter.trigger('forms:close-help', 'group-key', true); + Common.NotificationCenter.trigger('forms:close-help', 'settings', true); me.cmbGroupKey.off('show:before', showGrouptip); me.cmbGroupKey.off('combo:focusin', showGrouptip); }; From 447858660989ea3335ef1ab770ad5f6482a00bad Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Dec 2023 23:23:05 +0300 Subject: [PATCH 37/65] Fix for pdf form --- apps/pdfeditor/main/app/controller/Main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 3808045d75..20d4bf501e 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1196,7 +1196,7 @@ define([ this.appOptions.isEdit = !this.appOptions.isXpsViewer && !this.appOptions.isForm; this.appOptions.canPDFEdit = false;//(this.permissions.edit !== false) && this.appOptions.canLicense; this.appOptions.isPDFEdit = false; // this.appOptions.canPDFEdit && this.editorConfig.mode !== 'view'; !! always open in view mode - this.appOptions.canPDFAnnotate = (this.appOptions.canSwitchMode || !this.appOptions.isXpsViewer && this.appOptions.isDesktopApp && this.appOptions.isOffline) && this.appOptions.canLicense && (this.permissions.comment!== false); + this.appOptions.canPDFAnnotate = (this.appOptions.canSwitchMode || !this.appOptions.isXpsViewer && !this.appOptions.isForm && this.appOptions.isDesktopApp && this.appOptions.isOffline) && this.appOptions.canLicense && (this.permissions.comment!== false); this.appOptions.canPDFAnnotate = this.appOptions.canPDFAnnotate && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false); this.appOptions.isPDFAnnotate = this.appOptions.canPDFAnnotate && this.appOptions.isDesktopApp && this.appOptions.isOffline; // this.appOptions.canPDFAnnotate && !this.appOptions.isPDFEdit && this.editorConfig.mode !== 'view'; !! online files always open in view mode this.appOptions.canComments = !this.appOptions.isXpsViewer && !this.appOptions.isForm; From 1ff374398d48f2a4cdb7341a9808c59bb9fb9220 Mon Sep 17 00:00:00 2001 From: maxkadushkin Date: Fri, 22 Dec 2023 13:14:30 +0300 Subject: [PATCH 38/65] [desktop] changes for rtl mode support --- apps/common/main/lib/controller/Desktop.js | 3 +++ apps/documenteditor/main/app/controller/Main.js | 2 +- apps/pdfeditor/main/app/controller/Main.js | 2 +- apps/presentationeditor/main/app/controller/Main.js | 2 +- apps/spreadsheeteditor/main/app/controller/Main.js | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index d16dc98955..82021f9d8c 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -698,6 +698,9 @@ define([ return false; }, + uiRtlSupported: function () { + return nativevars && nativevars.rtl != undefined; + }, }; }; diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 6a3497ed44..96e496e32f 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -461,7 +461,7 @@ define([ this.appOptions.canFeatureComparison = true; this.appOptions.canFeatureContentControl = true; this.appOptions.canFeatureForms = !!this.api.asc_isSupportFeature("forms"); - this.appOptions.uiRtl = true; + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); this.appOptions.disableNetworkFunctionality = !!(window["AscDesktopEditor"] && window["AscDesktopEditor"]["isSupportNetworkFunctionality"] && false === window["AscDesktopEditor"]["isSupportNetworkFunctionality"]()); this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 20d4bf501e..fc043c423d 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -401,7 +401,7 @@ define([ this.appOptions.canRequestInsertImage = this.editorConfig.canRequestInsertImage; this.appOptions.canRequestSharingSettings = this.editorConfig.canRequestSharingSettings; this.appOptions.compatibleFeatures = true; - this.appOptions.uiRtl = true; + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 1ad440b408..29f6c8853c 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -411,7 +411,7 @@ define([ this.appOptions.compatibleFeatures = (typeof (this.appOptions.customization) == 'object') && !!this.appOptions.customization.compatibleFeatures; this.appOptions.canRequestSharingSettings = this.editorConfig.canRequestSharingSettings; this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); - this.appOptions.uiRtl = true; + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); this.appOptions.user.guest && this.appOptions.canRenameAnonymous && Common.NotificationCenter.on('user:rename', _.bind(this.showRenameUserDialog, this)); diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 917f9bca57..d0812d590b 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -465,7 +465,7 @@ define([ this.appOptions.canMakeActionLink = this.editorConfig.canMakeActionLink; this.appOptions.canFeaturePivot = true; this.appOptions.canFeatureViews = true; - this.appOptions.uiRtl = true; + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); this.appOptions.canRequestReferenceData = this.editorConfig.canRequestReferenceData; this.appOptions.canRequestOpen = this.editorConfig.canRequestOpen; this.appOptions.canRequestReferenceSource = this.editorConfig.canRequestReferenceSource; From ee7f7888cf91498c642414110eb2822245e43782 Mon Sep 17 00:00:00 2001 From: AlexeyMatveev686 Date: Fri, 22 Dec 2023 13:42:50 +0300 Subject: [PATCH 39/65] Change function for parsing new icon format. Remove parametr "icon-name". --- apps/common/main/lib/view/Plugins.js | 39 ++++++++++++++++++---------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index aad16febcb..786fbad10e 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -238,7 +238,8 @@ define([ state - {string} state of icons for different situations (normal|hover|active) scale - {string} list of avaliable scales (100|125|150|175|200|default|extended) extension - {string} use it after symbol "." (png|jpeg|svg) - icon-name - {string} the name of icon, "icon" by default + + Example: "resources/%theme-type%(light|dark)/%state%(normal)icon%scale%(default).%extension%(png)" */ let scaleValue = { '100%' : '.', @@ -247,29 +248,41 @@ define([ '175%' : '@1.75x.', '200%' : '@2x.' } - let arrParams = ['theme-type', 'theme-name' ,'state', 'scale', 'extension', 'icon-name'], - template = result, - start = template.indexOf('%'), - commonPart = template.substring(0, start), + let arrParams = ['theme-type', 'theme-name' ,'state', 'scale', 'extension'], + start = result.indexOf('%'), + template = result.substring(start).replace(/[/.]/g, ('')), + commonPart = result.substring(0, start), end = 0, param = null, values = null, + iconName = '', tempObj = {}; result = []; for (let index = 0; index < arrParams.length; index++) { param = arrParams[index]; - start = template.indexOf(param); - if (start === -1 ) + start = template.indexOf(param) - 1; + if (start < 0 ) continue; - start += param.length + 2; - end = template.indexOf(')', start); - values = template.substring(start, end); + end = param.length + 2; + template = template.substring(0, start) + template.substring(start + end); + start = template.indexOf('(', 0); + end = template.indexOf(')', 0); + values = template.substring((start + 1), end); + template = template.substring(0, start) + template.substring(++end); tempObj[param] = values.split('|'); } + if (template.length) { + iconName = template; + } else { + let arr = commonPart.split('/'); + iconName = arr.pop().replace(/\./g, ''); + commonPart = arr.join('/') + '/'; + } + // we don't work with svg yet. Change it when we will work with it (extended variant). if (tempObj['scale'] && (tempObj['scale'] == 'default' || tempObj['scale'] == 'extended') ) { tempObj['scale'] = ['100', '125', '150', '175', '200']; @@ -281,8 +294,8 @@ define([ tempObj['state'] = ['normal']; } - if (!tempObj['icon-name']) { - tempObj['icon-name'] = ['icon']; + if (!iconName) { + iconName = 'icon'; } let bHasName = !!tempObj['theme-name']; @@ -304,7 +317,7 @@ define([ let obj = {}; for (let stateInd = 0; stateInd < tempObj['state'].length; stateInd++) { let state = tempObj['state'][stateInd]; - obj[state] = commonPart + themePath + (state == 'normal' ? '' : (state + '_')) + tempObj['icon-name'] + (scaleValue[scale] || '.') + tempObj['extension'][0]; + obj[state] = commonPart + themePath + (state == 'normal' ? '' : (state + '_')) + iconName + (scaleValue[scale] || '.') + tempObj['extension'][0]; } result[index][scale] = obj; } From a350e1700ba4fe5b34b124a75f4eccbced04f9aa Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 22 Dec 2023 14:49:57 +0300 Subject: [PATCH 40/65] Update translation --- apps/documenteditor/embed/locale/zh-tw.json | 64 +- apps/documenteditor/forms/locale/zh-tw.json | 246 +++--- apps/documenteditor/main/locale/ar.json | 233 +++--- apps/documenteditor/main/locale/el.json | 20 + apps/documenteditor/main/locale/en.json | 2 +- apps/documenteditor/main/locale/fr.json | 2 +- apps/documenteditor/main/locale/pl.json | 19 +- apps/documenteditor/main/locale/pt.json | 1 + apps/documenteditor/main/locale/sr.json | 1 + apps/documenteditor/main/locale/zh-tw.json | 307 +++---- apps/documenteditor/main/locale/zh.json | 8 + apps/documenteditor/mobile/locale/ar.json | 10 +- apps/documenteditor/mobile/locale/el.json | 56 +- apps/documenteditor/mobile/locale/pt.json | 12 +- apps/documenteditor/mobile/locale/sr.json | 10 +- apps/documenteditor/mobile/locale/zh.json | 58 +- apps/pdfeditor/main/locale/ar.json | 1 + apps/pdfeditor/main/locale/el.json | 7 + apps/pdfeditor/main/locale/en.json | 50 +- apps/pdfeditor/main/locale/pl.json | 1 + apps/pdfeditor/main/locale/pt.json | 1 + apps/pdfeditor/main/locale/ro.json | 40 + apps/pdfeditor/main/locale/ru.json | 40 + apps/pdfeditor/main/locale/sr.json | 1 + apps/pdfeditor/main/locale/zh-tw.json | 6 + apps/pdfeditor/main/locale/zh.json | 4 + .../embed/locale/zh-tw.json | 44 +- apps/presentationeditor/main/locale/ar.json | 135 +-- apps/presentationeditor/main/locale/el.json | 12 + apps/presentationeditor/main/locale/fr.json | 2 +- apps/presentationeditor/main/locale/pl.json | 12 +- apps/presentationeditor/main/locale/pt.json | 1 + apps/presentationeditor/main/locale/sr.json | 1 + apps/presentationeditor/main/locale/zh.json | 2 + apps/presentationeditor/mobile/locale/ar.json | 16 +- apps/presentationeditor/mobile/locale/el.json | 38 +- apps/presentationeditor/mobile/locale/pt.json | 20 +- apps/presentationeditor/mobile/locale/sr.json | 10 +- .../mobile/locale/zh-tw.json | 510 ++++++------ apps/presentationeditor/mobile/locale/zh.json | 38 +- .../spreadsheeteditor/embed/locale/zh-tw.json | 42 +- apps/spreadsheeteditor/main/locale/ar.json | 220 +++-- apps/spreadsheeteditor/main/locale/el.json | 74 ++ apps/spreadsheeteditor/main/locale/fr.json | 2 +- apps/spreadsheeteditor/main/locale/pl.json | 25 + apps/spreadsheeteditor/main/locale/pt.json | 52 ++ apps/spreadsheeteditor/main/locale/sr.json | 27 + apps/spreadsheeteditor/main/locale/zh.json | 87 ++ apps/spreadsheeteditor/mobile/locale/ar.json | 12 +- apps/spreadsheeteditor/mobile/locale/el.json | 34 +- apps/spreadsheeteditor/mobile/locale/pl.json | 774 +++++++++--------- apps/spreadsheeteditor/mobile/locale/pt.json | 8 +- apps/spreadsheeteditor/mobile/locale/zh.json | 34 +- 53 files changed, 1967 insertions(+), 1465 deletions(-) diff --git a/apps/documenteditor/embed/locale/zh-tw.json b/apps/documenteditor/embed/locale/zh-tw.json index c1b2f3dff4..5575ea10bc 100644 --- a/apps/documenteditor/embed/locale/zh-tw.json +++ b/apps/documenteditor/embed/locale/zh-tw.json @@ -8,49 +8,49 @@ "DE.ApplicationController.convertationErrorText": "轉換失敗。", "DE.ApplicationController.convertationTimeoutText": "轉換逾時。", "DE.ApplicationController.criticalErrorTitle": "錯誤", - "DE.ApplicationController.downloadErrorText": "下載失敗", - "DE.ApplicationController.downloadTextText": "文件下載中...", - "DE.ApplicationController.errorAccessDeny": "您嘗試進行未被授權的動作。
    請聯繫您的文件伺服器(Document Server)的管理者。", + "DE.ApplicationController.downloadErrorText": "下載失敗。", + "DE.ApplicationController.downloadTextText": "正在下載文件...", + "DE.ApplicationController.errorAccessDeny": "您正試圖執行您無權限的操作。
    請聯繫您的文件伺服器管理員。", "DE.ApplicationController.errorDefaultMessage": "錯誤編號:%1", - "DE.ApplicationController.errorEditingDownloadas": "在處理文件檔期間發生錯誤。
    使用“下載為...”選項將文件備份副本儲存到硬碟。", - "DE.ApplicationController.errorFilePassProtect": "該文件受密碼保護,無法打開。", - "DE.ApplicationController.errorFileSizeExceed": "此檔案超過此伺服器設定的限制大小
    想了解更多資訊,請聯絡您的文件伺服器(Document Server)的管理者。", - "DE.ApplicationController.errorForceSave": "儲存文件檔時發生錯誤。請使用 “下載為” 選項將文件存到硬碟,或稍後再試。", - "DE.ApplicationController.errorInconsistentExt": "開啟檔案時發生錯誤。
    檔案內容與副檔名不一致。", - "DE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應到文字檔(例如 docx),但檔案副檔名不一致:%1。", - "DE.ApplicationController.errorInconsistentExtPdf": "開啟檔案時發生錯誤。
    檔案內容對應到下列格式之一:pdf/djvu/xps/oxps,但檔案副檔名不一致:%1。", - "DE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應到簡報檔(例如 pptx),但檔案副檔名不一致:%1。", - "DE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應到試算表檔案(例如 xlsx),但檔案副檔名不一致:%1。", - "DE.ApplicationController.errorLoadingFont": "字體未載入。
    請聯絡檔案伺服器管理員。", - "DE.ApplicationController.errorSubmit": "傳送失敗", - "DE.ApplicationController.errorTokenExpire": "檔案安全憑證已過期。
    請聯絡您的檔案伺服器管理員。", - "DE.ApplicationController.errorUpdateVersionOnDisconnect": "網路連接已恢復,文件版本已更改。
    在繼續工作之前,您需要下載文件或複制其內容以確保沒有資料遺失,然後重新整裡此頁面。", - "DE.ApplicationController.errorUserDrop": "目前無法存取該文件。", + "DE.ApplicationController.errorEditingDownloadas": "在處理文件時發生錯誤。
    使用「另存為...」選項將檔案備份保存到您的電腦硬碟。", + "DE.ApplicationController.errorFilePassProtect": "該文件已被密碼保護,無法打開。", + "DE.ApplicationController.errorFileSizeExceed": "文件大小超出了伺服器設置的限制。
    詳細請聯繫管理員。", + "DE.ApplicationController.errorForceSave": "儲存檔案時發生錯誤。請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "DE.ApplicationController.errorInconsistentExt": "在打開檔案時發生錯誤。
    檔案內容與副檔名不符。", + "DE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應於文字文件(例如 docx),但檔案的副檔名不一致:%1。", + "DE.ApplicationController.errorInconsistentExtPdf": "在打開檔案時發生錯誤。
    檔案內容對應以下格式之一:pdf/djvu/xps/oxps,但檔案的副檔名矛盾:%1。", + "DE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應於簡報(例如 pptx),但檔案的副檔名不一致:%1。", + "DE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應於試算表(例如 xlsx),但檔案的副檔名不一致:%1。", + "DE.ApplicationController.errorLoadingFont": "字型未載入。請聯絡您的文件伺服器管理員。", + "DE.ApplicationController.errorSubmit": "提交失敗", + "DE.ApplicationController.errorTokenExpire": "文件安全令牌已過期。
    請聯繫相關管理員。", + "DE.ApplicationController.errorUpdateVersionOnDisconnect": "連線已恢復,且檔案版本已更改。
    在您繼續工作之前,您需要下載該檔案或複製其內容以確保不會遺失任何內容,然後重新載入此頁面。", + "DE.ApplicationController.errorUserDrop": "目前無法存取該檔案。", "DE.ApplicationController.notcriticalErrorTitle": "警告", - "DE.ApplicationController.openErrorText": "開啟檔案時發生錯誤", - "DE.ApplicationController.scriptLoadError": "連接速度太慢,某些組件無法載入。請重新整理頁面。", + "DE.ApplicationController.openErrorText": "打開檔案時發生錯誤。", + "DE.ApplicationController.scriptLoadError": "連線速度太慢,無法載入某些元件。請重新載入頁面。", "DE.ApplicationController.textAnonymous": "匿名", - "DE.ApplicationController.textClear": "清除所有段落", + "DE.ApplicationController.textClear": "清除所有欄位", "DE.ApplicationController.textCtrl": "Ctrl", - "DE.ApplicationController.textGotIt": "我瞭解了", + "DE.ApplicationController.textGotIt": "了解", "DE.ApplicationController.textGuest": "訪客", "DE.ApplicationController.textLoadingDocument": "載入文件中", - "DE.ApplicationController.textNext": "下一欄位", + "DE.ApplicationController.textNext": "下一個欄位", "DE.ApplicationController.textOf": "於", - "DE.ApplicationController.textRequired": "填寫所有必填欄位以發送表單。", - "DE.ApplicationController.textSubmit": "傳送", - "DE.ApplicationController.textSubmited": "表格傳送成功
    點此關閉提示", - "DE.ApplicationController.txtClose": "結束", - "DE.ApplicationController.txtEmpty": "(空)", - "DE.ApplicationController.txtPressLink": "按%1並點擊連結", + "DE.ApplicationController.textRequired": "填寫所有必填欄位以傳送表單。", + "DE.ApplicationController.textSubmit": "提交", + "DE.ApplicationController.textSubmited": "表單已成功提交
    點擊關閉提示", + "DE.ApplicationController.txtClose": "關閉", + "DE.ApplicationController.txtEmpty": "(空白)", + "DE.ApplicationController.txtPressLink": "請按下 %1 並點擊連結。", "DE.ApplicationController.unknownErrorText": "未知錯誤。", "DE.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器", - "DE.ApplicationController.waitText": "請耐心等待...", + "DE.ApplicationController.waitText": "請稍候...", "DE.ApplicationView.txtDownload": "下載", - "DE.ApplicationView.txtDownloadDocx": "下載及儲存為docx", - "DE.ApplicationView.txtDownloadPdf": "下載及儲存為pdf", + "DE.ApplicationView.txtDownloadDocx": "下載為 docx 檔案", + "DE.ApplicationView.txtDownloadPdf": "下載為 pdf 檔案", "DE.ApplicationView.txtEmbed": "嵌入", - "DE.ApplicationView.txtFileLocation": "打開文件所在位置", + "DE.ApplicationView.txtFileLocation": "打開檔案位置", "DE.ApplicationView.txtFullScreen": "全螢幕", "DE.ApplicationView.txtPrint": "列印", "DE.ApplicationView.txtSearch": "搜索", diff --git a/apps/documenteditor/forms/locale/zh-tw.json b/apps/documenteditor/forms/locale/zh-tw.json index 176d19d553..9fbc24e9cd 100644 --- a/apps/documenteditor/forms/locale/zh-tw.json +++ b/apps/documenteditor/forms/locale/zh-tw.json @@ -8,42 +8,42 @@ "Common.UI.Calendar.textJune": "六月", "Common.UI.Calendar.textMarch": "三月", "Common.UI.Calendar.textMay": "五月", - "Common.UI.Calendar.textMonths": "月", + "Common.UI.Calendar.textMonths": "月份", "Common.UI.Calendar.textNovember": "十一月", "Common.UI.Calendar.textOctober": "十月", "Common.UI.Calendar.textSeptember": "九月", - "Common.UI.Calendar.textShortApril": "Apr", - "Common.UI.Calendar.textShortAugust": "Aug", - "Common.UI.Calendar.textShortDecember": "Dec", - "Common.UI.Calendar.textShortFebruary": "Feb", - "Common.UI.Calendar.textShortFriday": "Fri", - "Common.UI.Calendar.textShortJanuary": "Jan", - "Common.UI.Calendar.textShortJuly": "Jul", - "Common.UI.Calendar.textShortJune": "Jun", - "Common.UI.Calendar.textShortMarch": "Mar", - "Common.UI.Calendar.textShortMay": "May", + "Common.UI.Calendar.textShortApril": "四月", + "Common.UI.Calendar.textShortAugust": "八月", + "Common.UI.Calendar.textShortDecember": "十二月", + "Common.UI.Calendar.textShortFebruary": "二月", + "Common.UI.Calendar.textShortFriday": "Fr", + "Common.UI.Calendar.textShortJanuary": "一月", + "Common.UI.Calendar.textShortJuly": "七月", + "Common.UI.Calendar.textShortJune": "六月", + "Common.UI.Calendar.textShortMarch": "三月", + "Common.UI.Calendar.textShortMay": "五月", "Common.UI.Calendar.textShortMonday": "Mo", - "Common.UI.Calendar.textShortNovember": "Nov", - "Common.UI.Calendar.textShortOctober": "Oct", + "Common.UI.Calendar.textShortNovember": "十一月", + "Common.UI.Calendar.textShortOctober": "十月", "Common.UI.Calendar.textShortSaturday": "Sa", - "Common.UI.Calendar.textShortSeptember": "Sep", + "Common.UI.Calendar.textShortSeptember": "9月", "Common.UI.Calendar.textShortSunday": "Su", - "Common.UI.Calendar.textShortThursday": "Thur", - "Common.UI.Calendar.textShortTuesday": "Tue", - "Common.UI.Calendar.textShortWednesday": "Wed", - "Common.UI.Calendar.textYears": "年", + "Common.UI.Calendar.textShortThursday": "Th", + "Common.UI.Calendar.textShortTuesday": "Tu", + "Common.UI.Calendar.textShortWednesday": "We", + "Common.UI.Calendar.textYears": "年份", "Common.UI.SearchBar.textFind": "尋找", - "Common.UI.SearchBar.tipCloseSearch": "關閉搜索", + "Common.UI.SearchBar.tipCloseSearch": "關閉搜尋", "Common.UI.SearchBar.tipNextResult": "下一個結果", - "Common.UI.SearchBar.tipPreviousResult": "上一個結果", - "Common.UI.Themes.txtThemeClassicLight": "傳統亮色", - "Common.UI.Themes.txtThemeContrastDark": "暗色對比", - "Common.UI.Themes.txtThemeDark": "暗色主題", - "Common.UI.Themes.txtThemeLight": "亮色主題", - "Common.UI.Themes.txtThemeSystem": "和系統一致", + "Common.UI.SearchBar.tipPreviousResult": "前一個結果", + "Common.UI.Themes.txtThemeClassicLight": "經典亮色", + "Common.UI.Themes.txtThemeContrastDark": "對比度深", + "Common.UI.Themes.txtThemeDark": "深色", + "Common.UI.Themes.txtThemeLight": "淺色", + "Common.UI.Themes.txtThemeSystem": "與系統相同", "Common.UI.Window.cancelButtonText": "取消", "Common.UI.Window.closeButtonText": "關閉", - "Common.UI.Window.noButtonText": "沒有", + "Common.UI.Window.noButtonText": "否", "Common.UI.Window.okButtonText": "確定", "Common.UI.Window.textConfirmation": "確認", "Common.UI.Window.textDontShow": "不再顯示此訊息", @@ -52,139 +52,139 @@ "Common.UI.Window.textWarning": "警告", "Common.UI.Window.yesButtonText": "是", "Common.Views.CopyWarningDialog.textDontShow": "不再顯示此訊息", - "Common.Views.CopyWarningDialog.textMsg": "使用右鍵選單動作的複製、剪下和貼上的動作將只在此編輯者工作表中執行。

    要從編輯者工作表之外的應用程序中複製或貼上、請使用以下鍵盤組合:", - "Common.Views.CopyWarningDialog.textTitle": "複製, 剪下, 與貼上之動作", - "Common.Views.CopyWarningDialog.textToCopy": "複製", - "Common.Views.CopyWarningDialog.textToCut": "剪下", - "Common.Views.CopyWarningDialog.textToPaste": "粘貼", + "Common.Views.CopyWarningDialog.textMsg": "僅支援使用右鍵選單的複製、剪下和貼上動作。

    要複製或從其他應用程式複製或貼上,請使用以下鍵盤組合:", + "Common.Views.CopyWarningDialog.textTitle": "複製、剪下和貼上動作", + "Common.Views.CopyWarningDialog.textToCopy": "適用於複製", + "Common.Views.CopyWarningDialog.textToCut": "適用於剪下", + "Common.Views.CopyWarningDialog.textToPaste": "適用於貼上", "Common.Views.EmbedDialog.textHeight": "\n高度", "Common.Views.EmbedDialog.textTitle": "嵌入", "Common.Views.EmbedDialog.textWidth": "寬度", - "Common.Views.EmbedDialog.txtCopy": "複製到剪貼板", - "Common.Views.EmbedDialog.warnCopy": "瀏覽器錯誤!使用鍵盤快捷鍵[Ctrl] + [C]", - "Common.Views.ImageFromUrlDialog.textUrl": "粘貼圖片網址:", - "Common.Views.ImageFromUrlDialog.txtEmpty": "這是必填欄", - "Common.Views.ImageFromUrlDialog.txtNotUrl": "此段落應為\"http://www.example.com\"格式的網址", + "Common.Views.EmbedDialog.txtCopy": "複製到剪貼簿", + "Common.Views.EmbedDialog.warnCopy": "瀏覽器錯誤!使用鍵盤快速鍵 [Ctrl] + [C]", + "Common.Views.ImageFromUrlDialog.textUrl": "貼上圖片URL:", + "Common.Views.ImageFromUrlDialog.txtEmpty": "此欄位為必填欄位", + "Common.Views.ImageFromUrlDialog.txtNotUrl": "此欄位應為符合「http://www.example.com」格式的網址。", "Common.Views.OpenDialog.closeButtonText": "關閉檔案", "Common.Views.OpenDialog.txtEncoding": "編碼", - "Common.Views.OpenDialog.txtIncorrectPwd": "密碼錯誤。", - "Common.Views.OpenDialog.txtOpenFile": "輸入檔案密碼", + "Common.Views.OpenDialog.txtIncorrectPwd": "密碼不正確。", + "Common.Views.OpenDialog.txtOpenFile": "請輸入用於開啟文件的密碼", "Common.Views.OpenDialog.txtPassword": "密碼", "Common.Views.OpenDialog.txtPreview": "預覽", - "Common.Views.OpenDialog.txtProtected": "輸入密碼並打開文件後,該文件的當前密碼將被重置。", + "Common.Views.OpenDialog.txtProtected": "當您輸入密碼並打開文件後,該文件的當前密碼將被重置。", "Common.Views.OpenDialog.txtTitle": "選擇%1個選項", - "Common.Views.OpenDialog.txtTitleProtected": "受保護的文件", + "Common.Views.OpenDialog.txtTitleProtected": "受保護的檔案", "Common.Views.SaveAsDlg.textLoading": "載入中", - "Common.Views.SaveAsDlg.textTitle": "儲存文件夾", + "Common.Views.SaveAsDlg.textTitle": "儲存用的資料夾", "Common.Views.SelectFileDlg.textLoading": "載入中", - "Common.Views.SelectFileDlg.textTitle": "選擇資料來源", + "Common.Views.SelectFileDlg.textTitle": "選取資料來源", "Common.Views.ShareDialog.textTitle": "分享連結", - "Common.Views.ShareDialog.txtCopy": "複製到剪貼板", + "Common.Views.ShareDialog.txtCopy": "複製到剪貼簿", "Common.Views.ShareDialog.warnCopy": "瀏覽器錯誤!使用鍵盤快捷鍵[Ctrl] + [C]", "DE.Controllers.ApplicationController.convertationErrorText": "轉換失敗。", - "DE.Controllers.ApplicationController.convertationTimeoutText": "轉換逾時。", + "DE.Controllers.ApplicationController.convertationTimeoutText": "轉換逾時", "DE.Controllers.ApplicationController.criticalErrorTitle": "錯誤", - "DE.Controllers.ApplicationController.downloadErrorText": "下載失敗", - "DE.Controllers.ApplicationController.downloadTextText": "文件下載中...", - "DE.Controllers.ApplicationController.errorAccessDeny": "您嘗試進行未被授權的動作。
    請聯繫您的文件伺服器(Document Server)的管理者。", - "DE.Controllers.ApplicationController.errorBadImageUrl": "不正確的圖像 URL", - "DE.Controllers.ApplicationController.errorConnectToServer": "無法儲存該文檔。請檢查連接設置或與管理員聯繫。
    單擊“確定”按鈕時,系統將提示您下載文檔。", - "DE.Controllers.ApplicationController.errorDataEncrypted": "已收到加密的更改,無法解密。", - "DE.Controllers.ApplicationController.errorDefaultMessage": "錯誤編號:%1", - "DE.Controllers.ApplicationController.errorEditingDownloadas": "在處理文檔期間發生錯誤。
    使用“下載為...”選項將文件備份副本儲存到電腦硬碟中。", - "DE.Controllers.ApplicationController.errorEditingSaveas": "使用文檔期間發生錯誤。
    使用“另存為...”選項將文件備份副本儲存到電腦硬碟中。", - "DE.Controllers.ApplicationController.errorFilePassProtect": "該文件受密碼保護,無法打開。", - "DE.Controllers.ApplicationController.errorFileSizeExceed": "此檔案超過這主機設定的限制的大小
    想了解更多資訊,請聯絡您的檔案伺服器(Document Server)管理者。", - "DE.Controllers.ApplicationController.errorForceSave": "儲存文件時發生錯誤。請使用\"下載為\"選項將文件儲存到電腦硬碟中,或稍後再試。", - "DE.Controllers.ApplicationController.errorInconsistentExt": "開啟檔案時發生錯誤。
    檔案內容與副檔名不一致。", - "DE.Controllers.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應到文字檔(例如 docx),但檔案副檔名不一致:%1。", - "DE.Controllers.ApplicationController.errorInconsistentExtPdf": "開啟檔案時發生錯誤。
    檔案內容對應到下列格式之一:pdf/djvu/xps/oxps,但檔案副檔名不一致:%1。", - "DE.Controllers.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應到簡報檔(例如 pptx),但檔案副檔名不一致:%1。", - "DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應到試算表檔案(例如 xlsx),但檔案副檔名不一致:%1。", - "DE.Controllers.ApplicationController.errorLoadingFont": "字體未載入。
    請聯絡檔案伺服器管理員。", - "DE.Controllers.ApplicationController.errorServerVersion": "編輯器版本已更新。該頁面將被重新加載以應用更改。", - "DE.Controllers.ApplicationController.errorSessionAbsolute": "該檔案編輯時效已逾期。請重新載入此頁面。", - "DE.Controllers.ApplicationController.errorSessionIdle": "此文件已經在編輯狀態有很長時間, 請重新載入此頁面。", - "DE.Controllers.ApplicationController.errorSessionToken": "與服務器的連接已中斷。請重新加載頁面。", - "DE.Controllers.ApplicationController.errorSubmit": "傳送失敗", - "DE.Controllers.ApplicationController.errorTextFormWrongFormat": "輸入的值與欄位格式不符。", - "DE.Controllers.ApplicationController.errorToken": "檔案安全憑證格式不正確。
    請聯絡您的檔案伺服器管理員。", - "DE.Controllers.ApplicationController.errorTokenExpire": "檔案安全憑證已過期。
    請聯絡您的檔案伺服器管理員。", - "DE.Controllers.ApplicationController.errorUpdateVersion": "文件版本已更改。該頁面將重新加載。", - "DE.Controllers.ApplicationController.errorUpdateVersionOnDisconnect": "網路連接已恢復,文件版本已更改。
    在繼續工作之前,您需要下載文件或複制其內容以確保沒有丟失,然後重新加載此頁面。", - "DE.Controllers.ApplicationController.errorUserDrop": "目前無法存取該文件。", - "DE.Controllers.ApplicationController.errorViewerDisconnect": "連線失敗。您仍然可以查看該檔案,
    但在恢復連接並重新加載頁面之前將無法下載或列印該檔案。", - "DE.Controllers.ApplicationController.mniImageFromFile": "圖片來自文件", - "DE.Controllers.ApplicationController.mniImageFromStorage": "來自存儲的圖像", - "DE.Controllers.ApplicationController.mniImageFromUrl": "來自網址的圖片", + "DE.Controllers.ApplicationController.downloadErrorText": "下載失敗。", + "DE.Controllers.ApplicationController.downloadTextText": "正在下載文件...", + "DE.Controllers.ApplicationController.errorAccessDeny": "您正試圖執行您無權限的操作。
    請聯繫您的文件伺服器管理員。", + "DE.Controllers.ApplicationController.errorBadImageUrl": "圖片網址不正確", + "DE.Controllers.ApplicationController.errorConnectToServer": "無法保存文件。請檢查連接設置或聯繫您的管理員。
    單擊“確定”按鈕後,您將被提示下載文件。", + "DE.Controllers.ApplicationController.errorDataEncrypted": "已接收到加密的更改,無法解密。", + "DE.Controllers.ApplicationController.errorDefaultMessage": "錯誤碼:%1", + "DE.Controllers.ApplicationController.errorEditingDownloadas": "在處理文件時發生錯誤。
    使用「另存為...」選項將檔案備份保存到您的電腦硬碟。", + "DE.Controllers.ApplicationController.errorEditingSaveas": "在儲存文件時發生錯誤。
    請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "DE.Controllers.ApplicationController.errorFilePassProtect": "該文件已被密碼保護,無法打開。", + "DE.Controllers.ApplicationController.errorFileSizeExceed": "文件大小超出了伺服器設置的限制。
    詳細請聯繫管理員。", + "DE.Controllers.ApplicationController.errorForceSave": "儲存檔案時發生錯誤。請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "DE.Controllers.ApplicationController.errorInconsistentExt": "在打開檔案時發生錯誤。
    檔案內容與副檔名不符。", + "DE.Controllers.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應於文字文件(例如 docx),但檔案的副檔名不一致:%1。", + "DE.Controllers.ApplicationController.errorInconsistentExtPdf": "在打開檔案時發生錯誤。
    檔案內容對應以下格式之一:pdf/djvu/xps/oxps,但檔案的副檔名矛盾:%1。", + "DE.Controllers.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應於簡報(例如 pptx),但檔案的副檔名不一致:%1。", + "DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應於試算表(例如 xlsx),但檔案的副檔名不一致:%1。", + "DE.Controllers.ApplicationController.errorLoadingFont": "字型未載入。
    請聯絡您的文件伺服器管理員。", + "DE.Controllers.ApplicationController.errorServerVersion": "編輯器版本已更新。將重新載入頁面以更新改動。", + "DE.Controllers.ApplicationController.errorSessionAbsolute": "文件編輯會話已過期。請重新加載頁面。", + "DE.Controllers.ApplicationController.errorSessionIdle": "該文件已經有一段時間未編輯。請重新載入頁面。", + "DE.Controllers.ApplicationController.errorSessionToken": "與伺服器的連線已中斷。請重新載入頁面。", + "DE.Controllers.ApplicationController.errorSubmit": "提交失敗", + "DE.Controllers.ApplicationController.errorTextFormWrongFormat": "輸入的值與欄位的格式不符合。", + "DE.Controllers.ApplicationController.errorToken": "文件安全令牌格式不正確。
    請聯繫您的相關管理員。", + "DE.Controllers.ApplicationController.errorTokenExpire": "文件安全令牌已過期。
    請聯繫相關管理員。", + "DE.Controllers.ApplicationController.errorUpdateVersion": "文件版本已更改。將重新載入頁面。", + "DE.Controllers.ApplicationController.errorUpdateVersionOnDisconnect": "連線已恢復,且檔案版本已更改。
    在您繼續工作之前,您需要下載該檔案或複製其內容以確保不會遺失任何內容,然後重新載入此頁面。", + "DE.Controllers.ApplicationController.errorUserDrop": "目前無法存取該檔案。", + "DE.Controllers.ApplicationController.errorViewerDisconnect": "連線已中斷。您仍然可以檢視文件,
    但在連線恢復並重新載入頁面之前,將無法下載或列印文件。", + "DE.Controllers.ApplicationController.mniImageFromFile": "從檔案插入圖片", + "DE.Controllers.ApplicationController.mniImageFromStorage": "從儲存空間插入圖片", + "DE.Controllers.ApplicationController.mniImageFromUrl": "從網址插入圖片", "DE.Controllers.ApplicationController.notcriticalErrorTitle": "警告", - "DE.Controllers.ApplicationController.openErrorText": "開啟檔案時發生錯誤", - "DE.Controllers.ApplicationController.saveErrorText": "儲存檔案時發生錯誤", - "DE.Controllers.ApplicationController.saveErrorTextDesktop": "無法存檔或新增此文件。
    可能的原因是:
    1。該文件是唯獨模式的。
    2。該文件正在由其他帳戶編輯。
    3。磁碟已滿或損壞。", - "DE.Controllers.ApplicationController.scriptLoadError": "連接速度太慢,某些組件無法加載。請重新加載頁面。", + "DE.Controllers.ApplicationController.openErrorText": "打開檔案時發生錯誤。", + "DE.Controllers.ApplicationController.saveErrorText": "儲存檔案時發生錯誤。", + "DE.Controllers.ApplicationController.saveErrorTextDesktop": "無法保存或創建此檔案。可能的原因包括:
    1. 該檔案為唯讀。
    2. 其他使用者正在編輯該檔案。
    3. 磁碟已滿或損壞。", + "DE.Controllers.ApplicationController.scriptLoadError": "連線速度太慢,無法載入某些元件。請重新載入頁面。", "DE.Controllers.ApplicationController.textAnonymous": "匿名", - "DE.Controllers.ApplicationController.textBuyNow": "訪問網站", - "DE.Controllers.ApplicationController.textCloseTip": "點擊以關閉提示", - "DE.Controllers.ApplicationController.textContactUs": "聯絡銷售人員", - "DE.Controllers.ApplicationController.textGotIt": "我瞭解了", + "DE.Controllers.ApplicationController.textBuyNow": "瀏覽網站", + "DE.Controllers.ApplicationController.textCloseTip": "點擊關閉提示。", + "DE.Controllers.ApplicationController.textContactUs": "聯繫銷售部門", + "DE.Controllers.ApplicationController.textGotIt": "了解", "DE.Controllers.ApplicationController.textGuest": "訪客", - "DE.Controllers.ApplicationController.textLoadingDocument": "載入文件", - "DE.Controllers.ApplicationController.textNoLicenseTitle": "達到許可限制", + "DE.Controllers.ApplicationController.textLoadingDocument": "載入文件中", + "DE.Controllers.ApplicationController.textNoLicenseTitle": "已達到授權人數限制", "DE.Controllers.ApplicationController.textOf": "於", - "DE.Controllers.ApplicationController.textRequired": "填寫所有必填欄位以發送表單。", - "DE.Controllers.ApplicationController.textSaveAs": "另存為PDF", - "DE.Controllers.ApplicationController.textSaveAsDesktop": "另存新檔", - "DE.Controllers.ApplicationController.textSubmited": "表格傳送成功
    點此關閉提示", - "DE.Controllers.ApplicationController.titleLicenseExp": "憑證過期", - "DE.Controllers.ApplicationController.titleLicenseNotActive": "授權未啟用", + "DE.Controllers.ApplicationController.textRequired": "填寫所有必填欄位以傳送表單。", + "DE.Controllers.ApplicationController.textSaveAs": "另存為 PDF", + "DE.Controllers.ApplicationController.textSaveAsDesktop": "另存為...", + "DE.Controllers.ApplicationController.textSubmited": "表單已成功提交
    點擊關閉提示", + "DE.Controllers.ApplicationController.titleLicenseExp": "授權證書已過期", + "DE.Controllers.ApplicationController.titleLicenseNotActive": "授權證書未啟用", "DE.Controllers.ApplicationController.titleServerVersion": "編輯器已更新", "DE.Controllers.ApplicationController.titleUpdateVersion": "版本已更改", - "DE.Controllers.ApplicationController.txtArt": "在這輸入文字", - "DE.Controllers.ApplicationController.txtChoose": "選擇一個項目", - "DE.Controllers.ApplicationController.txtClickToLoad": "點此讀取圖片", + "DE.Controllers.ApplicationController.txtArt": "在此輸入文字", + "DE.Controllers.ApplicationController.txtChoose": "選擇項目", + "DE.Controllers.ApplicationController.txtClickToLoad": "點擊載入圖片", "DE.Controllers.ApplicationController.txtClose": "關閉", - "DE.Controllers.ApplicationController.txtEmpty": "(空)", - "DE.Controllers.ApplicationController.txtEnterDate": "輸入日期", - "DE.Controllers.ApplicationController.txtPressLink": "按Ctrl並點擊連結", - "DE.Controllers.ApplicationController.txtUntitled": "無標題", + "DE.Controllers.ApplicationController.txtEmpty": "(空白)", + "DE.Controllers.ApplicationController.txtEnterDate": "請輸入日期", + "DE.Controllers.ApplicationController.txtPressLink": "按住 Ctrl 鍵並點擊連結", + "DE.Controllers.ApplicationController.txtUntitled": "未命名", "DE.Controllers.ApplicationController.unknownErrorText": "未知錯誤。", "DE.Controllers.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器", - "DE.Controllers.ApplicationController.uploadImageExtMessage": "圖片格式未知。", - "DE.Controllers.ApplicationController.uploadImageSizeMessage": "圖像超出最大大小限制。最大大小為25MB。", - "DE.Controllers.ApplicationController.waitText": "請耐心等待...", - "DE.Controllers.ApplicationController.warnLicenseAnonymous": "匿名使用者無法存取。
    此文件將僅供檢視。", - "DE.Controllers.ApplicationController.warnLicenseBefore": "授權未啟用。
    請聯絡您的管理員。", - "DE.Controllers.ApplicationController.warnLicenseExceeded": "您的系統已經達到同時編輯連線的 %1 編輯者。只能以檢視模式開啟此文件。
    進一步訊息, 請聯繫您的管理者。", - "DE.Controllers.ApplicationController.warnLicenseExp": "您的授權憑證已過期.
    請更新您的授權憑證並重新整理頁面。", + "DE.Controllers.ApplicationController.uploadImageExtMessage": "未知圖片格式。", + "DE.Controllers.ApplicationController.uploadImageSizeMessage": "圖片超出最大大小限制。最大大小為25MB。", + "DE.Controllers.ApplicationController.waitText": "請稍候...", + "DE.Controllers.ApplicationController.warnLicenseAnonymous": "拒絕匿名使用者存取。
    此文件只能以檢視模式開啟。", + "DE.Controllers.ApplicationController.warnLicenseBefore": "授權證書未啟用。
    請聯繫您的管理員。", + "DE.Controllers.ApplicationController.warnLicenseExceeded": "您已達到同時連接 %1 編輯器的限制。此文件將僅以檢視模式開啟。
    請聯繫您的管理員以了解詳情。", + "DE.Controllers.ApplicationController.warnLicenseExp": "您的許可證已過期。
    請更新您的許可證並刷新頁面。", "DE.Controllers.ApplicationController.warnLicenseLimitedNoAccess": "授權過期
    您已沒有編輯文件功能的授權
    請與您的管理者聯繫。", "DE.Controllers.ApplicationController.warnLicenseLimitedRenewed": "授權證書需要更新
    您只有部分的文件編輯功能的存取權限
    請與您的管理者聯繫來取得完整的存取權限。", - "DE.Controllers.ApplicationController.warnLicenseUsersExceeded": "您已達到%1個編輯器的用戶限制。請與您的管理員聯繫以了解更多信息。", - "DE.Controllers.ApplicationController.warnNoLicense": "您的系統已經達到同時編輯連線的 %1 編輯者。只能以檢視模式開啟此文件。
    請聯繫 %1 銷售團隊來取得個人升級的需求。", + "DE.Controllers.ApplicationController.warnLicenseUsersExceeded": "您已達到 %1 編輯器的使用者限制。請聯繫您的管理員以了解詳情。", + "DE.Controllers.ApplicationController.warnNoLicense": "您已達到同時連接 %1 編輯器的限制。此文件將僅以檢視模式開啟。
    請聯繫 %1 的銷售團隊了解個人升級條款。", "DE.Controllers.ApplicationController.warnNoLicenseUsers": "您已達到%1個編輯器的用戶限制。與%1銷售團隊聯繫以了解個人升級條款。", - "DE.Views.ApplicationView.textClear": "清除所有段落", - "DE.Views.ApplicationView.textClearField": "清除字段", + "DE.Views.ApplicationView.textClear": "清除所有欄位", + "DE.Views.ApplicationView.textClearField": "清除欄位", "DE.Views.ApplicationView.textCopy": "複製", "DE.Views.ApplicationView.textCut": "剪下", - "DE.Views.ApplicationView.textFitToPage": "符合頁面大小", - "DE.Views.ApplicationView.textFitToWidth": "符合寬度", - "DE.Views.ApplicationView.textNext": "下一欄位", + "DE.Views.ApplicationView.textFitToPage": "調整至頁面大小", + "DE.Views.ApplicationView.textFitToWidth": "調整至寬度大小", + "DE.Views.ApplicationView.textNext": "下一個欄位", "DE.Views.ApplicationView.textPaste": "貼上", - "DE.Views.ApplicationView.textPrintSel": "列印選擇", + "DE.Views.ApplicationView.textPrintSel": "列印選取範圍", "DE.Views.ApplicationView.textRedo": "重做", - "DE.Views.ApplicationView.textSubmit": "傳送", + "DE.Views.ApplicationView.textSubmit": "提交", "DE.Views.ApplicationView.textUndo": "復原", - "DE.Views.ApplicationView.textZoom": "放大", + "DE.Views.ApplicationView.textZoom": "縮放", "DE.Views.ApplicationView.tipRedo": "重做", "DE.Views.ApplicationView.tipUndo": "復原", - "DE.Views.ApplicationView.txtDarkMode": "夜間模式", + "DE.Views.ApplicationView.txtDarkMode": "深色模式", "DE.Views.ApplicationView.txtDownload": "下載", - "DE.Views.ApplicationView.txtDownloadDocx": "下載及儲存為docx", - "DE.Views.ApplicationView.txtDownloadPdf": "下載及儲存為pdf", + "DE.Views.ApplicationView.txtDownloadDocx": "下載為 docx 檔案", + "DE.Views.ApplicationView.txtDownloadPdf": "下載為 pdf 檔案", "DE.Views.ApplicationView.txtEmbed": "嵌入", - "DE.Views.ApplicationView.txtFileLocation": "打開文件所在位置", + "DE.Views.ApplicationView.txtFileLocation": "打開檔案位置", "DE.Views.ApplicationView.txtFullScreen": "全螢幕", - "DE.Views.ApplicationView.txtPrint": "打印", - "DE.Views.ApplicationView.txtSearch": "搜索", + "DE.Views.ApplicationView.txtPrint": "列印", + "DE.Views.ApplicationView.txtSearch": "搜尋", "DE.Views.ApplicationView.txtShare": "分享", "DE.Views.ApplicationView.txtTheme": "介面主題" } \ No newline at end of file diff --git a/apps/documenteditor/main/locale/ar.json b/apps/documenteditor/main/locale/ar.json index 203805a68d..ae1dc2f230 100644 --- a/apps/documenteditor/main/locale/ar.json +++ b/apps/documenteditor/main/locale/ar.json @@ -81,25 +81,25 @@ "Common.Controllers.ReviewChanges.textTableRowsDel": "تم حذف اعمدة الجدول
    ", "Common.Controllers.ReviewChanges.textTabs": "تغيير التبويبات", "Common.Controllers.ReviewChanges.textTitleComparison": "إعدادات المقارنة", - "Common.Controllers.ReviewChanges.textUnderline": "سطر تحتي", + "Common.Controllers.ReviewChanges.textUnderline": "تحته خط", "Common.Controllers.ReviewChanges.textUrl": "لصق رابط مستند", "Common.Controllers.ReviewChanges.textWidow": "التحكم بالنافذة", "Common.Controllers.ReviewChanges.textWord": "مستوى الكلمة", - "Common.define.chartData.textArea": "مساحة", + "Common.define.chartData.textArea": "مساحي", "Common.define.chartData.textAreaStacked": "منطقة متراصة", "Common.define.chartData.textAreaStackedPer": "مساحة مكدسة بنسبة ٪100", "Common.define.chartData.textBar": "شريط", "Common.define.chartData.textBarNormal": "عمود متفاوت المسافات", "Common.define.chartData.textBarNormal3d": "عمود مجمع ثلاثي الابعاد", "Common.define.chartData.textBarNormal3dPerspective": "عمود ثلاثي الابعاد", - "Common.define.chartData.textBarStacked": "أعمدة متراصة", + "Common.define.chartData.textBarStacked": "أعمدة مكدسة", "Common.define.chartData.textBarStacked3d": "عمود مكدس ثلاثي الابعاد", "Common.define.chartData.textBarStackedPer": "عمود مكدس بنسبة ٪100", "Common.define.chartData.textBarStackedPer3d": "عمود مكدس 100% ثلاثي الابعاد", "Common.define.chartData.textCharts": "الرسوم البيانية", "Common.define.chartData.textColumn": "عمود", - "Common.define.chartData.textCombo": "مزيج", - "Common.define.chartData.textComboAreaBar": "منطقة متراصة - أعمدة مجتمعة", + "Common.define.chartData.textCombo": "مختلط", + "Common.define.chartData.textComboAreaBar": "مساحي مكدس - أعمدة مجتمعة", "Common.define.chartData.textComboBarLine": "عمود متفاوت المسافات - خط", "Common.define.chartData.textComboBarLineSecondary": "عمود متفاوت المسافات - خط عليه", "Common.define.chartData.textComboCustom": "تركيبة مخصصة", @@ -110,19 +110,19 @@ "Common.define.chartData.textHBarStacked3d": "شريط مكدس ثلاثي الأبعاد", "Common.define.chartData.textHBarStackedPer": "شريط مكدس بنسبة ٪100", "Common.define.chartData.textHBarStackedPer3d": "شريط مكدس 100% ثلاثي الابعاد", - "Common.define.chartData.textLine": "خط", + "Common.define.chartData.textLine": "خطي", "Common.define.chartData.textLine3d": "خط ثلاثي الابعاد", "Common.define.chartData.textLineMarker": "سطر مع علامات", "Common.define.chartData.textLineStacked": "سطر متراص", "Common.define.chartData.textLineStackedMarker": "خط مرتص مع علامات", "Common.define.chartData.textLineStackedPer": "خط مكدس بنسبة ٪100", "Common.define.chartData.textLineStackedPerMarker": "خط مكدس بنسبة 100٪ مع علامات", - "Common.define.chartData.textPie": "مخطط على شكل فطيرة", + "Common.define.chartData.textPie": "دائرة جزئية", "Common.define.chartData.textPie3d": "مخطط دائري ثلاثي الأبعاد ", - "Common.define.chartData.textPoint": "س ص (بعثرة)", - "Common.define.chartData.textRadar": "قطري", - "Common.define.chartData.textRadarFilled": "رادار ممتلئ", - "Common.define.chartData.textRadarMarker": "قطري مع علامات مرجعية", + "Common.define.chartData.textPoint": "س ص (متبعثر)", + "Common.define.chartData.textRadar": "نسيجي", + "Common.define.chartData.textRadarFilled": "نسيجي ممتلأ", + "Common.define.chartData.textRadarMarker": "نسيجي مع علامات", "Common.define.chartData.textScatter": "متبعثر", "Common.define.chartData.textScatterLine": "متبعثر مع خطوط مستقيمة", "Common.define.chartData.textScatterLineMarker": "متبعثر مع خطوط مستقيمة و علامات", @@ -615,7 +615,7 @@ "Common.Views.ReviewChanges.tipCoAuthMode": "تفعيل وضع التحرير التشاركي", "Common.Views.ReviewChanges.tipCombine": "مزج الملف الحالي بآخر", "Common.Views.ReviewChanges.tipCommentRem": "حذف التعليقات", - "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليقات الحالية", + "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.tipCommentResolve": "إجابة التعليقات", "Common.Views.ReviewChanges.tipCommentResolveCurrent": "إجابة التعليقات الحالية", "Common.Views.ReviewChanges.tipCompare": "مقارنة الملف الحالي بآخر", @@ -635,7 +635,7 @@ "Common.Views.ReviewChanges.txtCoAuthMode": "وضع التحرير المشترك", "Common.Views.ReviewChanges.txtCombine": "مزج", "Common.Views.ReviewChanges.txtCommentRemAll": "حذف كافة التعليقات", - "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف العليق الحالي", + "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtCommentRemMy": "حذف تعليقاتي", "Common.Views.ReviewChanges.txtCommentRemMyCurrent": "حذف تعليقي الحالي", "Common.Views.ReviewChanges.txtCommentRemove": "حذف", @@ -661,7 +661,7 @@ "Common.Views.ReviewChanges.txtOnGlobal": "التفعيل لي و للجميع", "Common.Views.ReviewChanges.txtOriginal": "تم رفض كل التغييرات {0}", "Common.Views.ReviewChanges.txtOriginalCap": "أصلي", - "Common.Views.ReviewChanges.txtPrev": "التغيير السابق", + "Common.Views.ReviewChanges.txtPrev": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtPreview": "عرض", "Common.Views.ReviewChanges.txtReject": "رفض", "Common.Views.ReviewChanges.txtRejectAll": "رفض كل التغييرات", @@ -750,7 +750,7 @@ "Common.Views.SymbolTableDialog.textCopyright": "علامة حقوق التأليف والنشر", "Common.Views.SymbolTableDialog.textDCQuote": "علامة التنصيص المزدوجة المغلقة", "Common.Views.SymbolTableDialog.textDOQuote": "علامة اقتباس مزدوجة", - "Common.Views.SymbolTableDialog.textEllipsis": "قطع ناقص أفقي", + "Common.Views.SymbolTableDialog.textEllipsis": "نقاط", "Common.Views.SymbolTableDialog.textEmDash": "فاصلة طويلة", "Common.Views.SymbolTableDialog.textEmSpace": "مسافة طويلة", "Common.Views.SymbolTableDialog.textEnDash": "الفاصلة القصيرة", @@ -758,7 +758,7 @@ "Common.Views.SymbolTableDialog.textFont": "الخط", "Common.Views.SymbolTableDialog.textNBHyphen": "شرطة عدم تقطيع", "Common.Views.SymbolTableDialog.textNBSpace": "فراغ عدم تقطيع", - "Common.Views.SymbolTableDialog.textPilcrow": "رمز أنتيغراف", + "Common.Views.SymbolTableDialog.textPilcrow": "إشارة فقرة", "Common.Views.SymbolTableDialog.textQEmSpace": "مسافة بقدر 1/4 em", "Common.Views.SymbolTableDialog.textRange": "نطاق", "Common.Views.SymbolTableDialog.textRecent": "الرموز التي تم استخدامها مؤخراً", @@ -967,12 +967,12 @@ "DE.Controllers.Main.txtSameAsPrev": "مثل السابق", "DE.Controllers.Main.txtSection": "قسم", "DE.Controllers.Main.txtSeries": "سلسلة", - "DE.Controllers.Main.txtShape_accentBorderCallout1": "استدعاء السطر 1 (حد وفاصل تمييز)", - "DE.Controllers.Main.txtShape_accentBorderCallout2": "استدعاء السطر 2 - (حد وفاصل تمييز)", - "DE.Controllers.Main.txtShape_accentBorderCallout3": "استدعاء الخط 3 (حد وفاصل تمييز)", - "DE.Controllers.Main.txtShape_accentCallout1": "استدعاء السطر 1 (فاصل تمييز) ", - "DE.Controllers.Main.txtShape_accentCallout2": "استدعاء السطر الثاني (فاصل تمييز)", - "DE.Controllers.Main.txtShape_accentCallout3": "استدعاء السطر 3 (فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentBorderCallout1": "وسيلة شرح 1 (حد و فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentBorderCallout2": "وسيلة شرح 2 (حد و فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentBorderCallout3": "وسيلة شرح 3 (حد و فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentCallout1": "وسيلة شرح 1 (فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentCallout2": "وسيلة شرح 2 (فاصل تمييز)", + "DE.Controllers.Main.txtShape_accentCallout3": "وسيلة شرح 3 (فاصل تمييز)", "DE.Controllers.Main.txtShape_actionButtonBackPrevious": "زر الرجوع أو السابق", "DE.Controllers.Main.txtShape_actionButtonBeginning": "زر البداية", "DE.Controllers.Main.txtShape_actionButtonBlank": "زر فارغ", @@ -991,7 +991,7 @@ "DE.Controllers.Main.txtShape_bentConnector5WithArrow": "موصل سهم مع مفصل", "DE.Controllers.Main.txtShape_bentConnector5WithTwoArrows": "موصل سهم مزدوج مع مفصل", "DE.Controllers.Main.txtShape_bentUpArrow": "سهم منحني", - "DE.Controllers.Main.txtShape_bevel": "ميل", + "DE.Controllers.Main.txtShape_bevel": "مستطيل مشطوف الحواف", "DE.Controllers.Main.txtShape_blockArc": "شكل قوس", "DE.Controllers.Main.txtShape_borderCallout1": "وسيلة شرح مع خط 1", "DE.Controllers.Main.txtShape_borderCallout2": "وسيلة شرح 2", @@ -1000,12 +1000,12 @@ "DE.Controllers.Main.txtShape_callout1": "وسيلة شرح مع خط 1 (بدون حدود)", "DE.Controllers.Main.txtShape_callout2": "وسيلة شرح 2 (بدون حدود)", "DE.Controllers.Main.txtShape_callout3": "وسيلة شرح مع خط 3 (بدون حدود)", - "DE.Controllers.Main.txtShape_can": "يستطيع", - "DE.Controllers.Main.txtShape_chevron": "شيفرون", + "DE.Controllers.Main.txtShape_can": "أسطوانة", + "DE.Controllers.Main.txtShape_chevron": "سهم بشكل رتبة عسكرية", "DE.Controllers.Main.txtShape_chord": "وتر", "DE.Controllers.Main.txtShape_circularArrow": "سهم دائرى", "DE.Controllers.Main.txtShape_cloud": "سحابة", - "DE.Controllers.Main.txtShape_cloudCallout": "صراخ السحاب", + "DE.Controllers.Main.txtShape_cloudCallout": "فقاعة التفكير - على شكل سحابة", "DE.Controllers.Main.txtShape_corner": "ركن", "DE.Controllers.Main.txtShape_cube": "مكعب", "DE.Controllers.Main.txtShape_curvedConnector3": "رابط منحني", @@ -1017,12 +1017,12 @@ "DE.Controllers.Main.txtShape_curvedUpArrow": "سهم منحني لأعلي", "DE.Controllers.Main.txtShape_decagon": "عشاري الأضلاع", "DE.Controllers.Main.txtShape_diagStripe": "شريط قطري", - "DE.Controllers.Main.txtShape_diamond": "الماس", + "DE.Controllers.Main.txtShape_diamond": "معين", "DE.Controllers.Main.txtShape_dodecagon": "ذو اثني عشر ضلعا", - "DE.Controllers.Main.txtShape_donut": "دونات", + "DE.Controllers.Main.txtShape_donut": "دائرة مجوفة", "DE.Controllers.Main.txtShape_doubleWave": "مزدوج التموج", "DE.Controllers.Main.txtShape_downArrow": "سهم لأسفل", - "DE.Controllers.Main.txtShape_downArrowCallout": "استدعاء سهم إلى الأسفل", + "DE.Controllers.Main.txtShape_downArrowCallout": "وسيلة شرح مع سهم إلى الأسفل", "DE.Controllers.Main.txtShape_ellipse": "بيضوي", "DE.Controllers.Main.txtShape_ellipseRibbon": "شريط منحني لأسفل", "DE.Controllers.Main.txtShape_ellipseRibbon2": "شريط منحني لأعلي", @@ -1059,9 +1059,9 @@ "DE.Controllers.Main.txtShape_halfFrame": "نصف إطار", "DE.Controllers.Main.txtShape_heart": "قلب", "DE.Controllers.Main.txtShape_heptagon": "شكل بسبعة أضلاع", - "DE.Controllers.Main.txtShape_hexagon": "شكل بثمانية أضلاع", + "DE.Controllers.Main.txtShape_hexagon": "سداسي الأضلاع", "DE.Controllers.Main.txtShape_homePlate": "خماسي الأضلاع", - "DE.Controllers.Main.txtShape_horizontalScroll": "تمرير أفقي", + "DE.Controllers.Main.txtShape_horizontalScroll": "لفافة ورقية أفقية", "DE.Controllers.Main.txtShape_irregularSeal1": "انفجار 1", "DE.Controllers.Main.txtShape_irregularSeal2": "انفجار 2", "DE.Controllers.Main.txtShape_leftArrow": "سهم أيسر", @@ -1073,7 +1073,7 @@ "DE.Controllers.Main.txtShape_leftRightUpArrow": "سهم إلى اليمين و اليسار و الأعلى", "DE.Controllers.Main.txtShape_leftUpArrow": "سهم إلى اليسار و الأعلى", "DE.Controllers.Main.txtShape_lightningBolt": "برق", - "DE.Controllers.Main.txtShape_line": "خط", + "DE.Controllers.Main.txtShape_line": "خطي", "DE.Controllers.Main.txtShape_lineWithArrow": "سهم", "DE.Controllers.Main.txtShape_lineWithTwoArrows": "سهم مزدوج", "DE.Controllers.Main.txtShape_mathDivide": "القسمة", @@ -1088,18 +1088,18 @@ "DE.Controllers.Main.txtShape_octagon": "مضلع ثماني", "DE.Controllers.Main.txtShape_parallelogram": "متوازي الأضلاع", "DE.Controllers.Main.txtShape_pentagon": "خماسي الأضلاع", - "DE.Controllers.Main.txtShape_pie": "مخطط على شكل فطيرة", + "DE.Controllers.Main.txtShape_pie": "دائرة جزئية", "DE.Controllers.Main.txtShape_plaque": "إشارة", "DE.Controllers.Main.txtShape_plus": "زائد", "DE.Controllers.Main.txtShape_polyline1": "على عجل", "DE.Controllers.Main.txtShape_polyline2": "استمارة حرة", "DE.Controllers.Main.txtShape_quadArrow": "سهم رباعي", - "DE.Controllers.Main.txtShape_quadArrowCallout": "استدعاء سهم رباعي", + "DE.Controllers.Main.txtShape_quadArrowCallout": "وسيلة شرح مع أربعة أسهم", "DE.Controllers.Main.txtShape_rect": "مستطيل", "DE.Controllers.Main.txtShape_ribbon": "أسدل الشريط للأسفل", "DE.Controllers.Main.txtShape_ribbon2": "شريط إلى الأعلى", "DE.Controllers.Main.txtShape_rightArrow": "سهم إلى اليمين", - "DE.Controllers.Main.txtShape_rightArrowCallout": "استدعاء سهم إلى اليمين", + "DE.Controllers.Main.txtShape_rightArrowCallout": "وسيلة شرح مع سهم إلى اليمين", "DE.Controllers.Main.txtShape_rightBrace": "قوس إغلاق", "DE.Controllers.Main.txtShape_rightBracket": "قوس إغلاق", "DE.Controllers.Main.txtShape_round1Rect": "مستطيل بزاوية مستديرة واحدة", @@ -1130,14 +1130,14 @@ "DE.Controllers.Main.txtShape_trapezoid": "شبه منحرف", "DE.Controllers.Main.txtShape_triangle": "مثلث", "DE.Controllers.Main.txtShape_upArrow": "سهم إلى الأعلى", - "DE.Controllers.Main.txtShape_upArrowCallout": "شرح توضيحي مع سهم إلى الأعلى", + "DE.Controllers.Main.txtShape_upArrowCallout": "وسيلة شرح مع سهم إلى الأعلى", "DE.Controllers.Main.txtShape_upDownArrow": "سهم إلى الأعلى و الأسفل", "DE.Controllers.Main.txtShape_uturnArrow": "سهم على شكل U", - "DE.Controllers.Main.txtShape_verticalScroll": "تحريك عامودي", + "DE.Controllers.Main.txtShape_verticalScroll": "لفافة ورقية رأسية", "DE.Controllers.Main.txtShape_wave": "موجة", - "DE.Controllers.Main.txtShape_wedgeEllipseCallout": "استدعاء بيضوي", - "DE.Controllers.Main.txtShape_wedgeRectCallout": "استدعاء مستطيل", - "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "استدعاء مستطيل بزوايا مستديرة", + "DE.Controllers.Main.txtShape_wedgeEllipseCallout": "فقاعة الكلام - بيضوية", + "DE.Controllers.Main.txtShape_wedgeRectCallout": "فقاعة الكلام - مستطيلة", + "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "فقاعة الكلام - مستطيل بزوايا مستديرة", "DE.Controllers.Main.txtStarsRibbons": "النجوم و الأشرطة", "DE.Controllers.Main.txtStyle_Caption": "تسمية توضيحية", "DE.Controllers.Main.txtStyle_endnote_text": "نص الحاشية السفلية", @@ -1152,7 +1152,7 @@ "DE.Controllers.Main.txtStyle_Heading_8": "العنوان ٨", "DE.Controllers.Main.txtStyle_Heading_9": "العنوان ٩", "DE.Controllers.Main.txtStyle_Intense_Quote": "اقتباس مكثف", - "DE.Controllers.Main.txtStyle_List_Paragraph": "اعرض الفقرات", + "DE.Controllers.Main.txtStyle_List_Paragraph": "عرض الفقرات", "DE.Controllers.Main.txtStyle_No_Spacing": "بلا تباعد", "DE.Controllers.Main.txtStyle_Normal": "عادي", "DE.Controllers.Main.txtStyle_Quote": "اقتباس", @@ -1218,10 +1218,10 @@ "DE.Controllers.Toolbar.textEmptyMMergeUrl": "يجب تحديد الرابط", "DE.Controllers.Toolbar.textFontSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 1 و 300", "DE.Controllers.Toolbar.textFraction": "النسب", - "DE.Controllers.Toolbar.textFunction": "التوابع", + "DE.Controllers.Toolbar.textFunction": "دوال", "DE.Controllers.Toolbar.textGroup": "مجموعة", "DE.Controllers.Toolbar.textInsert": "إدراج", - "DE.Controllers.Toolbar.textIntegral": "أرقام صحيحة", + "DE.Controllers.Toolbar.textIntegral": "تكاملات", "DE.Controllers.Toolbar.textLargeOperator": "معاملات كبيرة", "DE.Controllers.Toolbar.textLimitAndLog": "الحدود و اللوغاريتمات", "DE.Controllers.Toolbar.textMatrix": "مصفوفات", @@ -1336,24 +1336,24 @@ "DE.Controllers.Toolbar.txtFunction_Sinh": "تابع الجيب الزائد", "DE.Controllers.Toolbar.txtFunction_Tan": "دالة الظل", "DE.Controllers.Toolbar.txtFunction_Tanh": "تابع الظل الزائد", - "DE.Controllers.Toolbar.txtIntegral": "رقم صحيح", - "DE.Controllers.Toolbar.txtIntegral_dtheta": "ثيتا التفاضلية", - "DE.Controllers.Toolbar.txtIntegral_dx": "س التفاضلية", - "DE.Controllers.Toolbar.txtIntegral_dy": "ص التفاضلية", - "DE.Controllers.Toolbar.txtIntegralCenterSubSup": "رقم صحيح مع حدود متراصة", - "DE.Controllers.Toolbar.txtIntegralDouble": "رقم صحيح مزدوج", - "DE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "رقم صحيح مزدوج مع حدود مكدسة", - "DE.Controllers.Toolbar.txtIntegralDoubleSubSup": "رقم صحيح مزدوج مع حدود", - "DE.Controllers.Toolbar.txtIntegralOriented": "محيط الشكل المتكامل", - "DE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "محيط الشكل المتكامل بحدود متراصة", + "DE.Controllers.Toolbar.txtIntegral": "تكامل", + "DE.Controllers.Toolbar.txtIntegral_dtheta": "تفاضل ثيتا", + "DE.Controllers.Toolbar.txtIntegral_dx": "تفاضل x", + "DE.Controllers.Toolbar.txtIntegral_dy": "تفاضل y", + "DE.Controllers.Toolbar.txtIntegralCenterSubSup": "تكامل مع حدود مكدسة", + "DE.Controllers.Toolbar.txtIntegralDouble": "تكامل مزدوج", + "DE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "تكامل مزدوج مع حدود مكدسة", + "DE.Controllers.Toolbar.txtIntegralDoubleSubSup": "تكامل مزدوج مع حدود", + "DE.Controllers.Toolbar.txtIntegralOriented": "تكامل محيطي", + "DE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "تكامل محيطي مع حدود مكدسة", "DE.Controllers.Toolbar.txtIntegralOrientedDouble": "تكامل السطح", "DE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "تكامل سطحي مع حدود متراصة", "DE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "تكامل سطحي مع حدود", - "DE.Controllers.Toolbar.txtIntegralOrientedSubSup": "محيط الشكل المتكامل بحدود تقيدية", + "DE.Controllers.Toolbar.txtIntegralOrientedSubSup": "تكامل محيطي مع حدود", "DE.Controllers.Toolbar.txtIntegralOrientedTriple": "تكامل حجمي", "DE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "تكامل حجمي مع حدود متراصة", "DE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "تكامل حجمي مع حدود", - "DE.Controllers.Toolbar.txtIntegralSubSup": "رقم صحيح مع حدود", + "DE.Controllers.Toolbar.txtIntegralSubSup": "تكامل مع حدود", "DE.Controllers.Toolbar.txtIntegralTriple": "تكامل ثلاثي", "DE.Controllers.Toolbar.txtIntegralTripleCenterSubSup": "تكامل ثلاثي مع حدود متراصة", "DE.Controllers.Toolbar.txtIntegralTripleSubSup": "تكامل ثلاثي مع حدود", @@ -1550,8 +1550,8 @@ "DE.Controllers.Toolbar.txtSymbol_vdots": "شبه منحنى رأسي", "DE.Controllers.Toolbar.txtSymbol_xsi": "إكساي", "DE.Controllers.Toolbar.txtSymbol_zeta": "حرف الزيتا", - "DE.Controllers.Viewport.textFitPage": "لائم الصفحة", - "DE.Controllers.Viewport.textFitWidth": "لائم العرض", + "DE.Controllers.Viewport.textFitPage": "ملائم للصفحة", + "DE.Controllers.Viewport.textFitWidth": "ملائم للعرض", "DE.Controllers.Viewport.txtDarkMode": "الوضع المظلم", "DE.Views.AddNewCaptionLabelDialog.textLabel": "علامة:", "DE.Views.AddNewCaptionLabelDialog.textLabelError": "العلامة لا يجب أن تكون فارغة.", @@ -1585,7 +1585,7 @@ "DE.Views.CaptionDialog.textInsert": "إدراج", "DE.Views.CaptionDialog.textLabel": "علامة", "DE.Views.CaptionDialog.textLongDash": "فاصلة طويلة", - "DE.Views.CaptionDialog.textNumbering": "الترقيم", + "DE.Views.CaptionDialog.textNumbering": "تعداد رقمي", "DE.Views.CaptionDialog.textPeriod": "نقطة", "DE.Views.CaptionDialog.textSeparator": "استخدم الفواصل", "DE.Views.CaptionDialog.textTable": "جدول", @@ -1600,7 +1600,7 @@ "DE.Views.ChartSettings.text3dDepth": "العمق (% من القاعدة)", "DE.Views.ChartSettings.text3dHeight": "الارتفاع (% من الأساس)", "DE.Views.ChartSettings.text3dRotation": "تدوير ثلاثي الابعاد", - "DE.Views.ChartSettings.textAdvanced": "أظهر الاعدادات المتقدمة", + "DE.Views.ChartSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "DE.Views.ChartSettings.textAutoscale": "تحجيم تلقائى", "DE.Views.ChartSettings.textChartType": "تغيير نوع الرسم البياني", "DE.Views.ChartSettings.textDefault": "الوضع الافتراضي للدوران", @@ -1647,7 +1647,7 @@ "DE.Views.ControlSettingsDialog.textDropDown": "قائمة منسدلة", "DE.Views.ControlSettingsDialog.textFormat": "عرض التاريخ مثل هذا", "DE.Views.ControlSettingsDialog.textLang": "اللغة", - "DE.Views.ControlSettingsDialog.textLock": "جاري القفل", + "DE.Views.ControlSettingsDialog.textLock": "القفل", "DE.Views.ControlSettingsDialog.textName": "العنوان", "DE.Views.ControlSettingsDialog.textNone": "لا شيء", "DE.Views.ControlSettingsDialog.textPlaceholder": "حجز موقع", @@ -2123,8 +2123,8 @@ "DE.Views.FileMenuPanels.Settings.txtDarkMode": "فعل الوضع المظلم للمستند", "DE.Views.FileMenuPanels.Settings.txtEditingSaving": "التحرير و الحفظ", "DE.Views.FileMenuPanels.Settings.txtFastTip": "التحرير المشترك في الوقت الحقيقي. يتم حفظ كافة التغييرات تلقائيا", - "DE.Views.FileMenuPanels.Settings.txtFitPage": "لائم الصفحة", - "DE.Views.FileMenuPanels.Settings.txtFitWidth": "لائم العرض", + "DE.Views.FileMenuPanels.Settings.txtFitPage": "ملائم للصفحة", + "DE.Views.FileMenuPanels.Settings.txtFitWidth": "ملائم للعرض", "DE.Views.FileMenuPanels.Settings.txtHieroglyphs": "أحرف هيروغليفية", "DE.Views.FileMenuPanels.Settings.txtInch": "بوصة", "DE.Views.FileMenuPanels.Settings.txtLast": "عرض الأخير", @@ -2138,6 +2138,7 @@ "DE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "المستند سيتم طباعته على الطابعة التى تم استخدامها آخر مرة أو بالطابعة الافتراضية", "DE.Views.FileMenuPanels.Settings.txtRunMacros": "تفعيل الكل", "DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "فعّل كل وحدات الماكرو بدون اشعارات", + "DE.Views.FileMenuPanels.Settings.txtScreenReader": "تشغيل دعم قارئ الشاشة", "DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "عرض تعقب التغييرات", "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "التدقيق الإملائي", "DE.Views.FileMenuPanels.Settings.txtStopMacros": "تعطيل الكل", @@ -2235,7 +2236,7 @@ "DE.Views.FormsTab.capBtnText": "حقل نص", "DE.Views.FormsTab.capBtnView": "عرض الاستمارة", "DE.Views.FormsTab.capCreditCard": "بطاقة ائتمانية", - "DE.Views.FormsTab.capDateTime": "التاريخ و الوقت", + "DE.Views.FormsTab.capDateTime": "التاريخ والوقت", "DE.Views.FormsTab.capZipCode": "الرمز البريدي", "DE.Views.FormsTab.textAnyone": "اي شخص", "DE.Views.FormsTab.textClear": "مسح ما في الحقول", @@ -2319,7 +2320,7 @@ "DE.Views.HyphenationDialog.textNoLimit": "بدون حدود", "DE.Views.HyphenationDialog.textTitle": "التوصيل", "DE.Views.HyphenationDialog.textZone": "منطقة التوصيل", - "DE.Views.ImageSettings.textAdvanced": "أظهر الاعدادات المتقدمة", + "DE.Views.ImageSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "DE.Views.ImageSettings.textCrop": "اقتصاص", "DE.Views.ImageSettings.textCropFill": "ملء", "DE.Views.ImageSettings.textCropFit": "ملائمة", @@ -2362,10 +2363,10 @@ "DE.Views.ImageSettingsAdvanced.textArrows": "الأسهم", "DE.Views.ImageSettingsAdvanced.textAspectRatio": "حافظ على نسبة الطول إلى العرض", "DE.Views.ImageSettingsAdvanced.textAutofit": "احتواء تلقائى", - "DE.Views.ImageSettingsAdvanced.textBeginSize": "بداية القياس", - "DE.Views.ImageSettingsAdvanced.textBeginStyle": "أسلوب البدأ", + "DE.Views.ImageSettingsAdvanced.textBeginSize": "حجم سهم البدء", + "DE.Views.ImageSettingsAdvanced.textBeginStyle": "نوع سهم البدء", "DE.Views.ImageSettingsAdvanced.textBelow": "أسفل", - "DE.Views.ImageSettingsAdvanced.textBevel": "مائل", + "DE.Views.ImageSettingsAdvanced.textBevel": "مستطيل مشطوف الحواف", "DE.Views.ImageSettingsAdvanced.textBottom": "أسفل", "DE.Views.ImageSettingsAdvanced.textBottomMargin": "هامش القاع", "DE.Views.ImageSettingsAdvanced.textBtnWrap": "التفاف النص", @@ -2374,10 +2375,10 @@ "DE.Views.ImageSettingsAdvanced.textCharacter": "حرف", "DE.Views.ImageSettingsAdvanced.textColumn": "عمود", "DE.Views.ImageSettingsAdvanced.textDistance": "المسافة من النص", - "DE.Views.ImageSettingsAdvanced.textEndSize": "نهاية الحجم", - "DE.Views.ImageSettingsAdvanced.textEndStyle": "نهاية النسق", + "DE.Views.ImageSettingsAdvanced.textEndSize": "حجم سهم النهاية", + "DE.Views.ImageSettingsAdvanced.textEndStyle": "نوع سهم النهاية", "DE.Views.ImageSettingsAdvanced.textFlat": "مسطح", - "DE.Views.ImageSettingsAdvanced.textFlipped": "ملقوب", + "DE.Views.ImageSettingsAdvanced.textFlipped": "انعكاس", "DE.Views.ImageSettingsAdvanced.textHeight": "طول", "DE.Views.ImageSettingsAdvanced.textHorizontal": "أفقي", "DE.Views.ImageSettingsAdvanced.textHorizontally": "أفقياً", @@ -2385,8 +2386,8 @@ "DE.Views.ImageSettingsAdvanced.textKeepRatio": "نسب ثابتة", "DE.Views.ImageSettingsAdvanced.textLeft": "اليسار", "DE.Views.ImageSettingsAdvanced.textLeftMargin": "هامش أيسر", - "DE.Views.ImageSettingsAdvanced.textLine": "خط", - "DE.Views.ImageSettingsAdvanced.textLineStyle": "نمط السطر", + "DE.Views.ImageSettingsAdvanced.textLine": "خطي", + "DE.Views.ImageSettingsAdvanced.textLineStyle": "نمط الخط", "DE.Views.ImageSettingsAdvanced.textMargin": "هامش", "DE.Views.ImageSettingsAdvanced.textMiter": "زاوية", "DE.Views.ImageSettingsAdvanced.textMove": "تحريك الكائن مع النص", @@ -2448,7 +2449,7 @@ "DE.Views.LineNumbersDialog.textDocument": "المستند بالكامل", "DE.Views.LineNumbersDialog.textForward": "من هذه النقطة إلى الأمام", "DE.Views.LineNumbersDialog.textFromText": "من النص", - "DE.Views.LineNumbersDialog.textNumbering": "الترقيم", + "DE.Views.LineNumbersDialog.textNumbering": "تعداد رقمي", "DE.Views.LineNumbersDialog.textRestartEachPage": "إعادة ضبط كل صفحة", "DE.Views.LineNumbersDialog.textRestartEachSection": "إعادة ضبط كل قسم", "DE.Views.LineNumbersDialog.textSection": "القسم الحالي", @@ -2616,7 +2617,7 @@ "DE.Views.NoteSettingsDialog.textFormat": "التنسيق", "DE.Views.NoteSettingsDialog.textInsert": "إدراج", "DE.Views.NoteSettingsDialog.textLocation": "الموقع", - "DE.Views.NoteSettingsDialog.textNumbering": "الترقيم", + "DE.Views.NoteSettingsDialog.textNumbering": "تعداد رقمي", "DE.Views.NoteSettingsDialog.textNumFormat": "تنسيق الأرقام", "DE.Views.NoteSettingsDialog.textPageBottom": "قاع الصفحة", "DE.Views.NoteSettingsDialog.textSectEnd": "نهاية القسم", @@ -2661,11 +2662,11 @@ "DE.Views.ParagraphSettings.strIndentsRightText": "اليمين", "DE.Views.ParagraphSettings.strIndentsSpecial": "خاص", "DE.Views.ParagraphSettings.strLineHeight": "تباعد السطور", - "DE.Views.ParagraphSettings.strParagraphSpacing": "تباعد الفقرة", + "DE.Views.ParagraphSettings.strParagraphSpacing": "تباعد الفقرات", "DE.Views.ParagraphSettings.strSomeParagraphSpace": "لا تضع فاصلاً بين الفقرات التي تمتلك نفس النسق", "DE.Views.ParagraphSettings.strSpacingAfter": "بعد", "DE.Views.ParagraphSettings.strSpacingBefore": "قبل", - "DE.Views.ParagraphSettings.textAdvanced": "أظهر الاعدادات المتقدمة", + "DE.Views.ParagraphSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "DE.Views.ParagraphSettings.textAt": "عند", "DE.Views.ParagraphSettings.textAtLeast": "على الأقل", "DE.Views.ParagraphSettings.textAuto": "متعدد", @@ -2683,7 +2684,7 @@ "DE.Views.ParagraphSettingsAdvanced.strIndent": "مسافات بادئة", "DE.Views.ParagraphSettingsAdvanced.strIndentsLeftText": "اليسار", "DE.Views.ParagraphSettingsAdvanced.strIndentsLineSpacing": "تباعد السطور", - "DE.Views.ParagraphSettingsAdvanced.strIndentsOutlinelevel": "مستوى التخطيط", + "DE.Views.ParagraphSettingsAdvanced.strIndentsOutlinelevel": "مستوى المخطط التفصيلي", "DE.Views.ParagraphSettingsAdvanced.strIndentsRightText": "اليمين", "DE.Views.ParagraphSettingsAdvanced.strIndentsSpacingAfter": "بعد", "DE.Views.ParagraphSettingsAdvanced.strIndentsSpacingBefore": "قبل", @@ -2703,7 +2704,7 @@ "DE.Views.ParagraphSettingsAdvanced.strSubscript": "نص منخفض", "DE.Views.ParagraphSettingsAdvanced.strSuperscript": "نص مرتفع", "DE.Views.ParagraphSettingsAdvanced.strSuppressLineNumbers": "حذف أرقام السطور", - "DE.Views.ParagraphSettingsAdvanced.strTabs": "التبويبات", + "DE.Views.ParagraphSettingsAdvanced.strTabs": "مسافة زر الجدولة", "DE.Views.ParagraphSettingsAdvanced.textAlign": "المحاذاة", "DE.Views.ParagraphSettingsAdvanced.textAll": "الكل", "DE.Views.ParagraphSettingsAdvanced.textAtLeast": "على الأقل", @@ -2720,7 +2721,7 @@ "DE.Views.ParagraphSettingsAdvanced.textContextDiscret": "سياقية وتقديرية", "DE.Views.ParagraphSettingsAdvanced.textContextHistDiscret": "سياقية وتاريخية وتقديرية", "DE.Views.ParagraphSettingsAdvanced.textContextHistorical": "سياقي و تاريخي", - "DE.Views.ParagraphSettingsAdvanced.textDefault": "التبويب الافتراضي", + "DE.Views.ParagraphSettingsAdvanced.textDefault": "المسافة الافتراضية", "DE.Views.ParagraphSettingsAdvanced.textDiscret": "متوفر", "DE.Views.ParagraphSettingsAdvanced.textEffects": "التأثيرات", "DE.Views.ParagraphSettingsAdvanced.textExact": "بالضبط", @@ -2751,18 +2752,18 @@ "DE.Views.ParagraphSettingsAdvanced.textStandardHistorical": "قياسي و تاريخي", "DE.Views.ParagraphSettingsAdvanced.textTabCenter": "المنتصف", "DE.Views.ParagraphSettingsAdvanced.textTabLeft": "اليسار", - "DE.Views.ParagraphSettingsAdvanced.textTabPosition": "موقع التبويب", + "DE.Views.ParagraphSettingsAdvanced.textTabPosition": "موقع نهاية الجدولة", "DE.Views.ParagraphSettingsAdvanced.textTabRight": "اليمين", "DE.Views.ParagraphSettingsAdvanced.textTitle": "الفقرة - الإعدادات المتقدمة", "DE.Views.ParagraphSettingsAdvanced.textTop": "أعلى", "DE.Views.ParagraphSettingsAdvanced.tipAll": "وضع الحد الخارجي و كافة الخطوط الداخلية", - "DE.Views.ParagraphSettingsAdvanced.tipBottom": "إنشاء الحد السفلي فقط", + "DE.Views.ParagraphSettingsAdvanced.tipBottom": "الحد السفلي فقط", "DE.Views.ParagraphSettingsAdvanced.tipInner": "وضع الخطوط الأفقية الداخلية فقط", - "DE.Views.ParagraphSettingsAdvanced.tipLeft": "وضع الحد الأبسر فقط", - "DE.Views.ParagraphSettingsAdvanced.tipNone": "اجعله بلا حدود", - "DE.Views.ParagraphSettingsAdvanced.tipOuter": "وضع الحد الخارجي فقط", - "DE.Views.ParagraphSettingsAdvanced.tipRight": "وضع الحد الأيمن فقط", - "DE.Views.ParagraphSettingsAdvanced.tipTop": "ضبط الحد الخارجي فقط", + "DE.Views.ParagraphSettingsAdvanced.tipLeft": "الحد الأيسر فقط", + "DE.Views.ParagraphSettingsAdvanced.tipNone": "بلا حدود", + "DE.Views.ParagraphSettingsAdvanced.tipOuter": "الحدود الخارجية فقط", + "DE.Views.ParagraphSettingsAdvanced.tipRight": "الحد الأيمن فقط", + "DE.Views.ParagraphSettingsAdvanced.tipTop": "الحد العلوي فقط", "DE.Views.ParagraphSettingsAdvanced.txtAutoText": "تلقائي", "DE.Views.ParagraphSettingsAdvanced.txtNoBorders": "بدون حدود", "DE.Views.PrintWithPreview.textMarginsLast": "الأخير المخصص", @@ -2858,10 +2859,10 @@ "DE.Views.ShapeSettings.strPattern": "نمط", "DE.Views.ShapeSettings.strShadow": "إظهار الظلال", "DE.Views.ShapeSettings.strSize": "الحجم", - "DE.Views.ShapeSettings.strStroke": "خط", + "DE.Views.ShapeSettings.strStroke": "خطي", "DE.Views.ShapeSettings.strTransparency": "معدل الشفافية", "DE.Views.ShapeSettings.strType": "النوع", - "DE.Views.ShapeSettings.textAdvanced": "أظهر الاعدادات المتقدمة", + "DE.Views.ShapeSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "DE.Views.ShapeSettings.textAngle": "زاوية", "DE.Views.ShapeSettings.textBorderSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 0 و 1584 نقطة.", "DE.Views.ShapeSettings.textColor": "تعبئة اللون", @@ -2934,8 +2935,8 @@ "DE.Views.SignatureSettings.txtSignedInvalid": "بعض التوقيعات الرقمية في هذا المستند غير صالحة أو لا يمكن التحقق منها. هذا المستند محمي من التعديل.", "DE.Views.Statusbar.goToPageText": "الذهاب إلى الصفحة", "DE.Views.Statusbar.pageIndexText": "الصفحة {0} من {1}", - "DE.Views.Statusbar.tipFitPage": "لائم الصفحة", - "DE.Views.Statusbar.tipFitWidth": "لائم العرض", + "DE.Views.Statusbar.tipFitPage": "ملائم للصفحة", + "DE.Views.Statusbar.tipFitWidth": "ملائم للعرض", "DE.Views.Statusbar.tipHandTool": "أدوات يدوية", "DE.Views.Statusbar.tipSelectTool": "أداة التحديد", "DE.Views.Statusbar.tipSetLang": "تحديد لغة النص", @@ -2947,7 +2948,7 @@ "DE.Views.Statusbar.txtParagraphs": "فقرات", "DE.Views.Statusbar.txtSpaces": "رموز مع فراغات", "DE.Views.Statusbar.txtSymbols": "الرموز", - "DE.Views.Statusbar.txtWordCount": "عد الكلمات", + "DE.Views.Statusbar.txtWordCount": "تعداد الكلمات", "DE.Views.Statusbar.txtWords": "الكلمات", "DE.Views.StyleTitleDialog.textHeader": "إنشاء نمط جديد", "DE.Views.StyleTitleDialog.textNextStyle": "نمط الفقرة التالية", @@ -3007,7 +3008,7 @@ "DE.Views.TableSettings.splitCellTitleText": "اقسم الخلية", "DE.Views.TableSettings.strRepeatRow": "تكرار كصف ترويسة في أعلى كل صفحة", "DE.Views.TableSettings.textAddFormula": "اضافة معادلة", - "DE.Views.TableSettings.textAdvanced": "أظهر الاعدادات المتقدمة", + "DE.Views.TableSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "DE.Views.TableSettings.textBackColor": "لون الخلفية", "DE.Views.TableSettings.textBanded": "مطوق بشريط", "DE.Views.TableSettings.textBorderColor": "اللون", @@ -3034,8 +3035,8 @@ "DE.Views.TableSettings.tipInnerHor": "وضع الخطوط الأفقية الداخلية فقط", "DE.Views.TableSettings.tipInnerVert": "ضبط الخطوط الداخلية الرأسية فقط", "DE.Views.TableSettings.tipLeft": "وضع الحد الخارجي الأيسر فقط", - "DE.Views.TableSettings.tipNone": "اجعله بلا حدود", - "DE.Views.TableSettings.tipOuter": "وضع الحد الخارجي فقط", + "DE.Views.TableSettings.tipNone": "بلا حدود", + "DE.Views.TableSettings.tipOuter": "الحدود الخارجية فقط", "DE.Views.TableSettings.tipRight": "وضع الحد الخارجي الأيمن فقط", "DE.Views.TableSettings.tipTop": "وضع الحد الخارجي العلوي فقط", "DE.Views.TableSettings.txtGroupTable_BorderedAndLined": "جدول محاط بحدود وبخط", @@ -3117,8 +3118,8 @@ "DE.Views.TableSettingsAdvanced.tipCellInner": "ضبط الخطوط الرأسية و الأفقية للخلايا الداخلية فقط", "DE.Views.TableSettingsAdvanced.tipCellOuter": "وضع الحد الخارجي للخلايا الداخلية فقط", "DE.Views.TableSettingsAdvanced.tipInner": "وضع الخطوط الداخلية فقط", - "DE.Views.TableSettingsAdvanced.tipNone": "اجعله بلا حدود", - "DE.Views.TableSettingsAdvanced.tipOuter": "وضع الحد الخارجي فقط", + "DE.Views.TableSettingsAdvanced.tipNone": "بلا حدود", + "DE.Views.TableSettingsAdvanced.tipOuter": "الحدود الخارجية فقط", "DE.Views.TableSettingsAdvanced.tipTableOuterCellAll": "وضع الحد الخارجي و كافة حدود الخلايا الداخلية", "DE.Views.TableSettingsAdvanced.tipTableOuterCellInner": "وضع الحد الخارجي و كافة الخطوط الرأسية و الأفقية للخلايا الداخلية", "DE.Views.TableSettingsAdvanced.tipTableOuterCellOuter": "ضبط الحد الخارجي للجدول و الحدود الخارجية للخلايا الداخلية", @@ -3133,12 +3134,12 @@ "DE.Views.TableToTextDialog.textPara": "علامات الفقرة", "DE.Views.TableToTextDialog.textSemicolon": "فواصل منقوطة", "DE.Views.TableToTextDialog.textSeparator": "فواصل النص", - "DE.Views.TableToTextDialog.textTab": "التبويبات", + "DE.Views.TableToTextDialog.textTab": "مسافة زر الجدولة", "DE.Views.TableToTextDialog.textTitle": "تحويل الجدول إلى نص", "DE.Views.TextArtSettings.strColor": "اللون", "DE.Views.TextArtSettings.strFill": "ملء", "DE.Views.TextArtSettings.strSize": "الحجم", - "DE.Views.TextArtSettings.strStroke": "خط", + "DE.Views.TextArtSettings.strStroke": "خطي", "DE.Views.TextArtSettings.strTransparency": "معدل الشفافية", "DE.Views.TextArtSettings.strType": "النوع", "DE.Views.TextArtSettings.textAngle": "زاوية", @@ -3168,7 +3169,7 @@ "DE.Views.TextToTableDialog.textRows": "الصفوف", "DE.Views.TextToTableDialog.textSemicolon": "فواصل منقوطة", "DE.Views.TextToTableDialog.textSeparator": "فصل النص عند", - "DE.Views.TextToTableDialog.textTab": "التبويبات", + "DE.Views.TextToTableDialog.textTab": "مسافة زر الجدولة", "DE.Views.TextToTableDialog.textTableSize": "حجم الجدول", "DE.Views.TextToTableDialog.textTitle": "تحويل النص إلى جدول", "DE.Views.TextToTableDialog.textWindow": "ملائمة تلقائية للنافذة", @@ -3177,20 +3178,20 @@ "DE.Views.Toolbar.capBtnBlankPage": "صفحة فارغة", "DE.Views.Toolbar.capBtnColumns": "الأعمدة", "DE.Views.Toolbar.capBtnComment": "تعليق", - "DE.Views.Toolbar.capBtnDateTime": "التاريخ و الوقت", + "DE.Views.Toolbar.capBtnDateTime": "التاريخ والوقت", "DE.Views.Toolbar.capBtnHyphenation": "التوصيل", "DE.Views.Toolbar.capBtnInsChart": "رسم بياني", "DE.Views.Toolbar.capBtnInsControls": "ضوابط المحتوى", "DE.Views.Toolbar.capBtnInsDropcap": "إسقاط الأحرف الاستهلالية", "DE.Views.Toolbar.capBtnInsEquation": "معادلة", - "DE.Views.Toolbar.capBtnInsHeader": "الترويسة و التذييل", + "DE.Views.Toolbar.capBtnInsHeader": "الترويسة والتذييل", "DE.Views.Toolbar.capBtnInsImage": "صورة", "DE.Views.Toolbar.capBtnInsPagebreak": "فواصل", "DE.Views.Toolbar.capBtnInsShape": "شكل", "DE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "DE.Views.Toolbar.capBtnInsSymbol": "رمز", "DE.Views.Toolbar.capBtnInsTable": "جدول", - "DE.Views.Toolbar.capBtnInsTextart": "تصميم النص", + "DE.Views.Toolbar.capBtnInsTextart": "Text Art", "DE.Views.Toolbar.capBtnInsTextbox": "مربع نص", "DE.Views.Toolbar.capBtnLineNumbers": "ترقيم السطور", "DE.Views.Toolbar.capBtnMargins": "الهوامش", @@ -3320,7 +3321,7 @@ "DE.Views.Toolbar.textTabFile": "ملف", "DE.Views.Toolbar.textTabHome": "الرئيسية", "DE.Views.Toolbar.textTabInsert": "إدراج", - "DE.Views.Toolbar.textTabLayout": "مخطط الصفحة", + "DE.Views.Toolbar.textTabLayout": "التخطيط", "DE.Views.Toolbar.textTabLinks": "المراجع", "DE.Views.Toolbar.textTabProtect": "حماية", "DE.Views.Toolbar.textTabReview": "مراجعة", @@ -3330,7 +3331,7 @@ "DE.Views.Toolbar.textToCurrent": "الموضع الحالي", "DE.Views.Toolbar.textTop": "الأعلى:", "DE.Views.Toolbar.textTradeMark": "علامة تجارية", - "DE.Views.Toolbar.textUnderline": "سطر تحتي", + "DE.Views.Toolbar.textUnderline": "تحته خط", "DE.Views.Toolbar.textYen": "ين", "DE.Views.Toolbar.tipAlignCenter": "المحاذاة للوسط", "DE.Views.Toolbar.tipAlignJust": "مضبوط", @@ -3340,7 +3341,7 @@ "DE.Views.Toolbar.tipBlankPage": "إدراج صفحة فارغة", "DE.Views.Toolbar.tipChangeCase": "تغيير الحالة", "DE.Views.Toolbar.tipChangeChart": "تغيير نوع الرسم البياني", - "DE.Views.Toolbar.tipClearStyle": "إزالة الشكل", + "DE.Views.Toolbar.tipClearStyle": "مسح التنسيق", "DE.Views.Toolbar.tipColorSchemas": "تغيير نظام الألوان", "DE.Views.Toolbar.tipColumns": "إدراج أعمدة", "DE.Views.Toolbar.tipControls": "إدراج أدوات تحكم بالمحتوى", @@ -3377,7 +3378,7 @@ "DE.Views.Toolbar.tipLineNumbers": "إظهار أرقام السطور", "DE.Views.Toolbar.tipLineSpace": "الفراغات بين أسطر الفقرة", "DE.Views.Toolbar.tipMailRecepients": "دمج البريد الالكتروني", - "DE.Views.Toolbar.tipMarkers": "نقط", + "DE.Views.Toolbar.tipMarkers": "تعدادات نقطية", "DE.Views.Toolbar.tipMarkersArrow": "نِقَاط سهمية", "DE.Views.Toolbar.tipMarkersCheckmark": "نقاط علامة صح", "DE.Views.Toolbar.tipMarkersDash": "نقاط شكل الفاصلة", @@ -3394,14 +3395,14 @@ "DE.Views.Toolbar.tipMultilevels": "قائمة متعددة المستويات", "DE.Views.Toolbar.tipMultiLevelSymbols": "نقاط رمزية متعددة المستويات", "DE.Views.Toolbar.tipMultiLevelVarious": "نقاط مرقمة متنوعة متعددة المستويات", - "DE.Views.Toolbar.tipNumbers": "الترقيم", + "DE.Views.Toolbar.tipNumbers": "تعداد رقمي", "DE.Views.Toolbar.tipPageBreak": "إدراج فاصل صفحة أو قسم", "DE.Views.Toolbar.tipPageMargins": "هوامش الصفحة", "DE.Views.Toolbar.tipPageOrient": "اتجاه الصفحة", "DE.Views.Toolbar.tipPageSize": "حجم الصفحة", "DE.Views.Toolbar.tipParagraphStyle": "نمط الفقرة", "DE.Views.Toolbar.tipPaste": "لصق", - "DE.Views.Toolbar.tipPrColor": "ظلال", + "DE.Views.Toolbar.tipPrColor": "التظليل", "DE.Views.Toolbar.tipPrint": "طباعة", "DE.Views.Toolbar.tipPrintQuick": "طباعة سريعة", "DE.Views.Toolbar.tipRedo": "اعادة", @@ -3449,9 +3450,9 @@ "DE.Views.Toolbar.txtScheme8": "تدفق", "DE.Views.Toolbar.txtScheme9": "Foundry", "DE.Views.ViewTab.textAlwaysShowToolbar": "أظهر دائما شريط الأدوات", - "DE.Views.ViewTab.textDarkDocument": "مستند مظلم", - "DE.Views.ViewTab.textFitToPage": "لائم الصفحة", - "DE.Views.ViewTab.textFitToWidth": "لائم العرض", + "DE.Views.ViewTab.textDarkDocument": "مستند داكن", + "DE.Views.ViewTab.textFitToPage": "ملائم للصفحة", + "DE.Views.ViewTab.textFitToWidth": "ملائم للعرض", "DE.Views.ViewTab.textInterfaceTheme": "سمة الواجهة", "DE.Views.ViewTab.textLeftMenu": "اللوحة اليسرى", "DE.Views.ViewTab.textNavigation": "التنقل", @@ -3460,9 +3461,9 @@ "DE.Views.ViewTab.textRulers": "مساطر", "DE.Views.ViewTab.textStatusBar": "شريط الحالة", "DE.Views.ViewTab.textZoom": "تكبير/تصغير", - "DE.Views.ViewTab.tipDarkDocument": "مستند مظلم", - "DE.Views.ViewTab.tipFitToPage": "لائم الصفحة", - "DE.Views.ViewTab.tipFitToWidth": "لائم العرض", + "DE.Views.ViewTab.tipDarkDocument": "مستند داكن", + "DE.Views.ViewTab.tipFitToPage": "ملائم للصفحة", + "DE.Views.ViewTab.tipFitToWidth": "ملائم للعرض", "DE.Views.ViewTab.tipHeadings": "العناوين", "DE.Views.ViewTab.tipInterfaceTheme": "سمة الواجهة", "DE.Views.WatermarkSettingsDialog.textAuto": "تلقائي", @@ -3477,7 +3478,7 @@ "DE.Views.WatermarkSettingsDialog.textImageW": "علامة مائية صورية", "DE.Views.WatermarkSettingsDialog.textItalic": "مائل", "DE.Views.WatermarkSettingsDialog.textLanguage": "اللغة", - "DE.Views.WatermarkSettingsDialog.textLayout": "مخطط الصفحة", + "DE.Views.WatermarkSettingsDialog.textLayout": "التخطيط", "DE.Views.WatermarkSettingsDialog.textNone": "لا شيء", "DE.Views.WatermarkSettingsDialog.textScale": "تغيير الحجم", "DE.Views.WatermarkSettingsDialog.textSelect": "اختيار صورة", @@ -3486,7 +3487,7 @@ "DE.Views.WatermarkSettingsDialog.textTextW": "علامة مائية نصية", "DE.Views.WatermarkSettingsDialog.textTitle": "إعدادات العلامة المائية", "DE.Views.WatermarkSettingsDialog.textTransparency": "شبه شفاف", - "DE.Views.WatermarkSettingsDialog.textUnderline": "خط سفلي", + "DE.Views.WatermarkSettingsDialog.textUnderline": "تحته خط", "DE.Views.WatermarkSettingsDialog.tipFontName": "اسم الخط", "DE.Views.WatermarkSettingsDialog.tipFontSize": "حجم الخط" } \ No newline at end of file diff --git a/apps/documenteditor/main/locale/el.json b/apps/documenteditor/main/locale/el.json index be8c974923..42ea9c549c 100644 --- a/apps/documenteditor/main/locale/el.json +++ b/apps/documenteditor/main/locale/el.json @@ -342,6 +342,7 @@ "Common.UI.HSBColorPicker.textNoColor": "Χωρίς Χρώμα", "Common.UI.InputFieldBtnCalendar.textDate": "Επιλογή ημερομηνίας", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "Απόκρυψη συνθηματικού", + "Common.UI.InputFieldBtnPassword.textHintHold": "Πατήστε παρατεταμένα για να εμφανιστεί ο κωδικός πρόσβασης", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "Εμφάνιση συνθηματικού", "Common.UI.SearchBar.textFind": "Εύρεση", "Common.UI.SearchBar.tipCloseSearch": "Κλείσιμο αναζήτησης", @@ -488,6 +489,9 @@ "Common.Views.Comments.textResolve": "Επίλυση", "Common.Views.Comments.textResolved": "Επιλύθηκε", "Common.Views.Comments.textSort": "Ταξινόμηση σχολίων", + "Common.Views.Comments.textSortFilter": "Ταξινόμηση και φιλτράρισμα σχολίων", + "Common.Views.Comments.textSortFilterMore": "Ταξινόμηση, φιλτράρισμα και άλλα", + "Common.Views.Comments.textSortMore": "Ταξινόμηση και άλλα", "Common.Views.Comments.textViewResolved": "Δεν έχετε άδεια να ανοίξετε ξανά το σχόλιο", "Common.Views.Comments.txtEmpty": "Δεν υπάρχουν σχόλια στο έγγραφο.", "Common.Views.CopyWarningDialog.textDontShow": "Να μην εμφανίζεται αυτό το μήνυμα ξανά", @@ -570,10 +574,16 @@ "Common.Views.PasswordDialog.txtTitle": "Ορισμός συνθηματικού", "Common.Views.PasswordDialog.txtWarning": "Προσοχή: Εάν χάσετε ή ξεχάσετε το συνθηματικό, δεν είναι δυνατή η ανάκτησή του. Παρακαλούμε διατηρήστε το σε ασφαλές μέρος.", "Common.Views.PluginDlg.textLoading": "Γίνεται φόρτωση", + "Common.Views.PluginPanel.textClosePanel": "Κλείσιμο πρόσθετου", + "Common.Views.PluginPanel.textLoading": "Φόρτωση", "Common.Views.Plugins.groupCaption": "Πρόσθετα", "Common.Views.Plugins.strPlugins": "Πρόσθετα", + "Common.Views.Plugins.textBackgroundPlugins": "Πρόσθετα φόντου", + "Common.Views.Plugins.textSettings": "Ρυθμίσεις", "Common.Views.Plugins.textStart": "Εκκίνηση", "Common.Views.Plugins.textStop": "Διακοπή", + "Common.Views.Plugins.textTheListOfBackgroundPlugins": "Η λίστα των προσθηκών φόντου", + "Common.Views.Plugins.tipMore": "Περισσότερα", "Common.Views.Protection.hintAddPwd": "Κρυπτογράφηση με συνθηματικό", "Common.Views.Protection.hintDelPwd": "Διαγραφή συνθηματικού", "Common.Views.Protection.hintPwd": "Αλλαγή ή διαγραφή συνθηματικού", @@ -2128,6 +2138,7 @@ "DE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Το έγγραφο θα εκτυπωθεί στον τελευταίο επιλεγμένο ή προεπιλεγμένο εκτυπωτή", "DE.Views.FileMenuPanels.Settings.txtRunMacros": "Ενεργοποίηση όλων", "DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Ενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση", + "DE.Views.FileMenuPanels.Settings.txtScreenReader": "Ενεργοποίηση υποστήριξης προγράμματος ανάγνωσης οθόνης", "DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "Εμφάνιση αλλαγών κομματιού", "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Έλεγχος ορθογραφίας", "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Απενεργοποίηση όλων", @@ -2188,6 +2199,7 @@ "DE.Views.FormSettings.textPhone2": "Αριθμός τηλεφώνου (π.χ. +447911123456)", "DE.Views.FormSettings.textPlaceholder": "Δέσμευση Θέσης", "DE.Views.FormSettings.textRadiobox": "Κουμπί Επιλογής", + "DE.Views.FormSettings.textRadioChoice": "Επιλογή κουμπιού επιλογής", "DE.Views.FormSettings.textRadioDefault": "Το κουμπί είναι επιλεγμένο από προεπιλογή", "DE.Views.FormSettings.textReg": "Συμβολική Έκφραση", "DE.Views.FormSettings.textRequired": "Απαιτείται", @@ -2238,12 +2250,18 @@ "DE.Views.FormsTab.tipCheckBox": "Εισαγωγή πλαισίου επιλογής", "DE.Views.FormsTab.tipComboBox": "Εισαγωγή πολλαπλών επιλογών", "DE.Views.FormsTab.tipComplexField": "Εισαγωγή σύνθετου πεδίου", + "DE.Views.FormsTab.tipCreateField": "Για να δημιουργήσετε ένα πεδίο, επιλέξτε τον επιθυμητό τύπο πεδίου στη γραμμή εργαλείων και κάντε κλικ σε αυτό. Το πεδίο θα εμφανιστεί στο έγγραφο.", "DE.Views.FormsTab.tipCreditCard": "Εισαγωγή αριθμού πιστωτικής κάρτας", "DE.Views.FormsTab.tipDateTime": "Εισαγωγή ημερομηνίας και ώρας", "DE.Views.FormsTab.tipDownloadForm": "Κατεβάστε ένα αρχείο ως έγγραφο OFORM με δυνατότητα συμπλήρωσης", "DE.Views.FormsTab.tipDropDown": "Εισαγωγή πτυσσόμενης λίστας", "DE.Views.FormsTab.tipEmailField": "Εισαγωγή διεύθυνσης email ", + "DE.Views.FormsTab.tipFieldSettings": "Μπορείτε να διαμορφώσετε επιλεγμένα πεδία στη δεξιά πλαϊνή γραμμή. Κάντε κλικ σε αυτό το εικονίδιο για να ανοίξετε τις ρυθμίσεις πεδίου.", + "DE.Views.FormsTab.tipFieldsLink": "Μάθετε περισσότερα σχετικά με τις παραμέτρους πεδίου", "DE.Views.FormsTab.tipFixedText": "Εισαγωγή σταθερού πεδίου κειμένου", + "DE.Views.FormsTab.tipFormGroupKey": "Ομαδοποιήστε τα κουμπιά επιλογής για να κάνετε τη διαδικασία πλήρωσης πιο γρήγορη. Οι επιλογές με τα ίδια ονόματα θα συγχρονιστούν. Οι χρήστες μπορούν να επιλέξουν μόνο ένα κουμπί επιλογής από την ομάδα.", + "DE.Views.FormsTab.tipFormKey": "Μπορείτε να αντιστοιχίσετε ένα κλειδί σε ένα πεδίο ή μια ομάδα πεδίων. Όταν ένας χρήστης συμπληρώνει τα δεδομένα, θα αντιγραφούν σε όλα τα πεδία με το ίδιο κλειδί.", + "DE.Views.FormsTab.tipHelpRoles": "Χρησιμοποιήστε τη δυνατότητα \"Διαχείριση ρόλων\" για να ομαδοποιήσετε πεδία κατά σκοπό και να αναθέσετε στα υπεύθυνα μέλη της ομάδας.", "DE.Views.FormsTab.tipImageField": "Εισαγωγή εικόνας", "DE.Views.FormsTab.tipInlineText": "Εισαγωγή ενσωματωμένου πεδίου κειμένου", "DE.Views.FormsTab.tipManager": "Διαχείριση ρόλων", @@ -2251,6 +2269,8 @@ "DE.Views.FormsTab.tipPhoneField": "Εισαγωγή αριθμού τηλεφώνου", "DE.Views.FormsTab.tipPrevForm": "Μετάβαση στο προηγούμενο πεδίο", "DE.Views.FormsTab.tipRadioBox": "Εισαγωγή κουμπιού επιλογής", + "DE.Views.FormsTab.tipRolesLink": "Μάθετε περισσότερα σχετικά με τους ρόλους", + "DE.Views.FormsTab.tipSaveFile": "Κάντε κλικ στην επιλογή \"Αποθήκευση ως oform\" για να αποθηκεύσετε τη φόρμα σε μορφή έτοιμη για συμπλήρωση.", "DE.Views.FormsTab.tipSaveForm": "Αποθήκευση αρχείου ως συμπληρώσιμο έγγραφο OFORM", "DE.Views.FormsTab.tipSubmit": "Υποβολή φόρμας", "DE.Views.FormsTab.tipTextField": "Εισαγωγή πεδίου κειμένου", diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 2e682b0ee5..d9738ca0b5 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1214,6 +1214,7 @@ "DE.Controllers.Toolbar.notcriticalErrorTitle": "Warning", "DE.Controllers.Toolbar.textAccent": "Accents", "DE.Controllers.Toolbar.textBracket": "Brackets", + "DE.Controllers.Toolbar.textConvertForm": "Download file as pdf to save the form in the format ready for filling.", "DE.Controllers.Toolbar.textEmptyImgUrl": "You need to specify image URL.", "DE.Controllers.Toolbar.textEmptyMMergeUrl": "You need to specify URL.", "DE.Controllers.Toolbar.textFontSizeErr": "The entered value is incorrect.
    Please enter a numeric value between 1 and 300", @@ -1550,7 +1551,6 @@ "DE.Controllers.Toolbar.txtSymbol_vdots": "Vertical ellipsis", "DE.Controllers.Toolbar.txtSymbol_xsi": "Xi", "DE.Controllers.Toolbar.txtSymbol_zeta": "Zeta", - "DE.Controllers.Toolbar.textConvertForm": "Download file as pdf to save the form in the format ready for filling.", "DE.Controllers.Viewport.textFitPage": "Fit to Page", "DE.Controllers.Viewport.textFitWidth": "Fit to Width", "DE.Controllers.Viewport.txtDarkMode": "Dark mode", diff --git a/apps/documenteditor/main/locale/fr.json b/apps/documenteditor/main/locale/fr.json index a86b2eda53..238cf36ee9 100644 --- a/apps/documenteditor/main/locale/fr.json +++ b/apps/documenteditor/main/locale/fr.json @@ -2793,7 +2793,7 @@ "DE.Views.PrintWithPreview.txtPageSize": "Taille de page", "DE.Views.PrintWithPreview.txtPortrait": "Portrait", "DE.Views.PrintWithPreview.txtPrint": "Imprimer", - "DE.Views.PrintWithPreview.txtPrintPdf": "Imprimer au format PDF", + "DE.Views.PrintWithPreview.txtPrintPdf": "Imprimer au PDF", "DE.Views.PrintWithPreview.txtPrintRange": "Zone d'impression", "DE.Views.PrintWithPreview.txtPrintSides": "Impression sur les deux côtés", "DE.Views.PrintWithPreview.txtRight": "Droite", diff --git a/apps/documenteditor/main/locale/pl.json b/apps/documenteditor/main/locale/pl.json index 0ac01bc276..96aa33d956 100644 --- a/apps/documenteditor/main/locale/pl.json +++ b/apps/documenteditor/main/locale/pl.json @@ -1,6 +1,7 @@ { "Common.Controllers.Chat.notcriticalErrorTitle": "Ostrzeżenie", "Common.Controllers.Chat.textEnterMessage": "Wprowadź swoją wiadomość tutaj", + "Common.Controllers.Desktop.itemCreateFromTemplate": "Utwórz z szablonu", "Common.Controllers.ExternalDiagramEditor.textAnonymous": "Gość", "Common.Controllers.ExternalDiagramEditor.textClose": "Zamknij", "Common.Controllers.ExternalDiagramEditor.warningText": "Obiekt jest wyłączony, ponieważ jest edytowany przez innego użytkownika.", @@ -127,6 +128,7 @@ "Common.define.chartData.textSurface": "Powierzchnia", "Common.define.smartArt.textList": "Lista", "Common.Translation.textMoreButton": "Więcej", + "Common.Translation.tipFileLocked": "Dokument jest zablokowany do edycji. Zmiany można wprowadzić później i zapisać go jako kopię lokalną.", "Common.Translation.warnFileLocked": "Nie możesz edytować tego pliku, ponieważ jest on edytowany w innej aplikacji.", "Common.Translation.warnFileLockedBtnEdit": "Utwórz kopię", "Common.Translation.warnFileLockedBtnView": "Otwarte do oglądania", @@ -417,6 +419,7 @@ "Common.Views.ReviewChanges.textWarnTrackChangesTitle": "Włączyć śledzenie zmian dla wszystkich?", "Common.Views.ReviewChanges.tipAcceptCurrent": "Zaakceptuj bieżącą zmianę", "Common.Views.ReviewChanges.tipCoAuthMode": "Ustaw tryb współedycji", + "Common.Views.ReviewChanges.tipCombine": "Połącz bieżący dokument z innym", "Common.Views.ReviewChanges.tipCommentRem": "Usuń komentarze", "Common.Views.ReviewChanges.tipCommentRemCurrent": "Usuń aktualne komentarze", "Common.Views.ReviewChanges.tipCommentResolve": "Rozwiąż komentarze", @@ -436,6 +439,7 @@ "Common.Views.ReviewChanges.txtChat": "Czat", "Common.Views.ReviewChanges.txtClose": "Zamknij", "Common.Views.ReviewChanges.txtCoAuthMode": "Tryb współtworzenia", + "Common.Views.ReviewChanges.txtCombine": "Połącz", "Common.Views.ReviewChanges.txtCommentRemAll": "Usuń wszystkie komentarze", "Common.Views.ReviewChanges.txtCommentRemCurrent": "Usuń aktualne komentarze", "Common.Views.ReviewChanges.txtCommentRemMy": "Usuń moje komentarze", @@ -694,6 +698,7 @@ "DE.Controllers.Main.textShape": "Kształt", "DE.Controllers.Main.textStrict": "Tryb ścisły", "DE.Controllers.Main.textText": "Tekst", + "DE.Controllers.Main.textTryQuickPrint": "Wybrano opcję Szybkie drukowanie: cały dokument zostanie wydrukowany na ostatnio wybranej lub domyślnej drukarce.
    Czy chcesz kontynuować?", "DE.Controllers.Main.textTryUndoRedo": "Funkcje Cofnij/Ponów są wyłączone w trybie \"Szybki\" współtworzenia.
    Kliknij przycisk \"Tryb ścisły\", aby przejść do trybu ścisłego edytowania, aby edytować plik bez ingerencji innych użytkowników i wysyłać zmiany tylko po zapisaniu. Możesz przełączać się między trybami współtworzenia, używając edytora Ustawienia zaawansowane.", "DE.Controllers.Main.textTryUndoRedoWarn": "Funkcje Cofnij/Ponów są wyłączone w trybie Szybkim współtworzenia.", "DE.Controllers.Main.textUndo": "Cofnij", @@ -969,6 +974,7 @@ "DE.Controllers.Main.warnProcessRightsChange": "Nie masz prawa edytować tego pliku.", "DE.Controllers.Navigation.txtBeginning": "Początek dokumentu", "DE.Controllers.Navigation.txtGotoBeginning": "Przejdź na początek dokumentu", + "DE.Controllers.Print.txtPrintRangeSingleRange": "Wprowadź numer pojedynczej strony lub zakres pojedynczych stron (na przykład 5-12). Możesz też wydrukować do pliku PDF.", "DE.Controllers.Search.notcriticalErrorTitle": "Ostrzeżenie", "DE.Controllers.Search.textNoTextFound": "Nie znaleziono danych, których szukasz. Proszę dostosuj opcje wyszukiwania.", "DE.Controllers.Search.textReplaceSkipped": "Zastąpiono. {0} zdarzenia zostały pominięte.", @@ -2395,14 +2401,23 @@ "DE.Views.PrintWithPreview.textMarginsUsNormal": "Normalny US", "DE.Views.PrintWithPreview.textMarginsWide": "Szeroki", "DE.Views.PrintWithPreview.txtAllPages": "Wszystkie strony", - "DE.Views.PrintWithPreview.txtMargins": "Marginesy", + "DE.Views.PrintWithPreview.txtBothSides": "Druk dwustronny", + "DE.Views.PrintWithPreview.txtCopies": "Kopie", + "DE.Views.PrintWithPreview.txtCurrentPage": "Bieżąca strona", + "DE.Views.PrintWithPreview.txtCustomPages": "Niestandardowy zakres", + "DE.Views.PrintWithPreview.txtLandscape": "Pozioma", + "DE.Views.PrintWithPreview.txtMargins": "Margines", "DE.Views.PrintWithPreview.txtOf": "z {0}", + "DE.Views.PrintWithPreview.txtOneSide": "Druk jednostronny", "DE.Views.PrintWithPreview.txtPage": "Strona", "DE.Views.PrintWithPreview.txtPageNumInvalid": "Błędny numer strony", "DE.Views.PrintWithPreview.txtPageOrientation": "Orientacja strony", "DE.Views.PrintWithPreview.txtPages": "Strony", "DE.Views.PrintWithPreview.txtPageSize": "Rozmiar strony", + "DE.Views.PrintWithPreview.txtPortrait": "Pionowa", "DE.Views.PrintWithPreview.txtPrint": "Drukuj", + "DE.Views.PrintWithPreview.txtPrintPdf": "Zapisz jako PDF", + "DE.Views.PrintWithPreview.txtPrintRange": "Zakres wydruku", "DE.Views.ProtectDialog.textComments": "Komentarze", "DE.Views.ProtectDialog.txtIncorrectPwd": "Hasła nie są takie same", "DE.Views.ProtectDialog.txtPassword": "Hasło", @@ -2863,7 +2878,7 @@ "DE.Views.Toolbar.textTabLinks": "Odwołania", "DE.Views.Toolbar.textTabProtect": "Ochrona", "DE.Views.Toolbar.textTabReview": "Przegląd", - "DE.Views.Toolbar.textTabView": "Zobacz", + "DE.Views.Toolbar.textTabView": "Widok", "DE.Views.Toolbar.textTilde": "Tylda", "DE.Views.Toolbar.textTitleError": "Błąd", "DE.Views.Toolbar.textToCurrent": "Do aktualnej pozycji", diff --git a/apps/documenteditor/main/locale/pt.json b/apps/documenteditor/main/locale/pt.json index 3ffa879bad..7b7c7e3423 100644 --- a/apps/documenteditor/main/locale/pt.json +++ b/apps/documenteditor/main/locale/pt.json @@ -2138,6 +2138,7 @@ "DE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "O documento será impresso na última impressora selecionada ou padrão", "DE.Views.FileMenuPanels.Settings.txtRunMacros": "Habilitar todos", "DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Habilitar todas as macros sem uma notificação", + "DE.Views.FileMenuPanels.Settings.txtScreenReader": "Habilitar o suporte ao leitor de tela", "DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "Mostrar alterações de faixa", "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Verificação ortográfica", "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Desabilitar tudo", diff --git a/apps/documenteditor/main/locale/sr.json b/apps/documenteditor/main/locale/sr.json index 3e26a4b7af..2b525182d1 100644 --- a/apps/documenteditor/main/locale/sr.json +++ b/apps/documenteditor/main/locale/sr.json @@ -2138,6 +2138,7 @@ "DE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Dokument će biti štampan na poslednje odabranom ili podrazumevanom štampaču", "DE.Views.FileMenuPanels.Settings.txtRunMacros": "Omogući Sve", "DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Omogući sve makroe bez notifikacije", + "DE.Views.FileMenuPanels.Settings.txtScreenReader": "Uključi podršku za čitač ekrana", "DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "Prikaži praćene promene", "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Provera Pravopisa ", "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Onemogući Sve", diff --git a/apps/documenteditor/main/locale/zh-tw.json b/apps/documenteditor/main/locale/zh-tw.json index 473160aaa7..d2540fb191 100644 --- a/apps/documenteditor/main/locale/zh-tw.json +++ b/apps/documenteditor/main/locale/zh-tw.json @@ -1,6 +1,7 @@ { "Common.Controllers.Chat.notcriticalErrorTitle": "警告", "Common.Controllers.Chat.textEnterMessage": "在這裡輸入您的信息", + "Common.Controllers.Desktop.hintBtnHome": "顯示主視窗", "Common.Controllers.Desktop.itemCreateFromTemplate": "從模板創建", "Common.Controllers.ExternalDiagramEditor.textAnonymous": "匿名", "Common.Controllers.ExternalDiagramEditor.textClose": "關閉", @@ -32,7 +33,7 @@ "Common.Controllers.ReviewChanges.textEquation": "方程式", "Common.Controllers.ReviewChanges.textExact": "準確", "Common.Controllers.ReviewChanges.textFirstLine": "第一行", - "Common.Controllers.ReviewChanges.textFontSize": "字體大小", + "Common.Controllers.ReviewChanges.textFontSize": "字型大小", "Common.Controllers.ReviewChanges.textFormatted": "已格式化", "Common.Controllers.ReviewChanges.textHighlight": "熒光色選", "Common.Controllers.ReviewChanges.textImage": "圖像", @@ -66,7 +67,7 @@ "Common.Controllers.ReviewChanges.textPosition": "職務", "Common.Controllers.ReviewChanges.textRight": "對齊右側", "Common.Controllers.ReviewChanges.textShape": "形狀", - "Common.Controllers.ReviewChanges.textShd": "背景顏色", + "Common.Controllers.ReviewChanges.textShd": "背景色彩", "Common.Controllers.ReviewChanges.textShow": "顯示更改", "Common.Controllers.ReviewChanges.textSmallCaps": "小大寫", "Common.Controllers.ReviewChanges.textSpacing": "間距", @@ -351,7 +352,7 @@ "Common.UI.SearchDialog.textMatchCase": "區分大小寫", "Common.UI.SearchDialog.textReplaceDef": "輸入替換文字", "Common.UI.SearchDialog.textSearchStart": "在這裡輸入您的文字", - "Common.UI.SearchDialog.textTitle": "尋找與取代", + "Common.UI.SearchDialog.textTitle": "尋找和取代", "Common.UI.SearchDialog.textTitle2": "尋找", "Common.UI.SearchDialog.textWholeWords": "僅使用全字", "Common.UI.SearchDialog.txtBtnHideReplace": "隱藏替換", @@ -429,9 +430,9 @@ "Common.Views.About.txtTel": "電話: ", "Common.Views.About.txtVersion": "版本", "Common.Views.AutoCorrectDialog.textAdd": "新增", - "Common.Views.AutoCorrectDialog.textApplyText": "鍵入時同時申請", + "Common.Views.AutoCorrectDialog.textApplyText": "輸入時套用", "Common.Views.AutoCorrectDialog.textAutoCorrect": "自動更正", - "Common.Views.AutoCorrectDialog.textAutoFormat": "鍵入時自動調整規格", + "Common.Views.AutoCorrectDialog.textAutoFormat": "輸入時自動套用格式", "Common.Views.AutoCorrectDialog.textBulleted": "自動項目符號列表", "Common.Views.AutoCorrectDialog.textBy": "依照", "Common.Views.AutoCorrectDialog.textDelete": "刪除", @@ -491,7 +492,7 @@ "Common.Views.Comments.txtEmpty": "文件裡沒有註解。", "Common.Views.CopyWarningDialog.textDontShow": "不再顯示此訊息", "Common.Views.CopyWarningDialog.textMsg": "使用編輯器工具欄按鈕進行[複制],[剪下]和[貼上]的操作以及內文選單操作僅能在此編輯器中執行。

    要在\"編輯器\"之外的應用程式之間進行[複製]或[貼上],請使用以下鍵盤組合:", - "Common.Views.CopyWarningDialog.textTitle": "複製, 剪下, 與貼上之動作", + "Common.Views.CopyWarningDialog.textTitle": "複製、剪下和貼上動作", "Common.Views.CopyWarningDialog.textToCopy": "複製", "Common.Views.CopyWarningDialog.textToCut": "剪下", "Common.Views.CopyWarningDialog.textToPaste": "粘貼", @@ -570,11 +571,14 @@ "Common.Views.PasswordDialog.txtWarning": "警告:如果失去密碼,將無法取回。請妥善保存。", "Common.Views.PluginDlg.textLoading": "載入中", "Common.Views.PluginPanel.textClosePanel": "關閉插件", + "Common.Views.PluginPanel.textLoading": "載入中", "Common.Views.Plugins.groupCaption": "外掛程式", "Common.Views.Plugins.strPlugins": "外掛程式", "Common.Views.Plugins.textBackgroundPlugins": "背景組件", + "Common.Views.Plugins.textSettings": "設定", "Common.Views.Plugins.textStart": "開始", "Common.Views.Plugins.textStop": "停止", + "Common.Views.Plugins.tipMore": "更多", "Common.Views.Protection.hintAddPwd": "用密碼加密", "Common.Views.Protection.hintDelPwd": "刪除密碼", "Common.Views.Protection.hintPwd": "變更或刪除密碼", @@ -586,6 +590,7 @@ "Common.Views.Protection.txtInvisibleSignature": "新增數位簽章", "Common.Views.Protection.txtSignature": "簽名", "Common.Views.Protection.txtSignatureLine": "新增簽名欄", + "Common.Views.RecentFiles.txtOpenRecent": "打開最近", "Common.Views.RenameDialog.textName": "檔案名稱", "Common.Views.RenameDialog.txtInvalidName": "文件名不能包含以下任何字符:", "Common.Views.ReviewChanges.hintNext": "到下一個變化", @@ -617,9 +622,9 @@ "Common.Views.ReviewChanges.tipSetSpelling": "拼字檢查", "Common.Views.ReviewChanges.tipSharing": "管理文檔存取權限", "Common.Views.ReviewChanges.txtAccept": "同意", - "Common.Views.ReviewChanges.txtAcceptAll": "同意所有更改", + "Common.Views.ReviewChanges.txtAcceptAll": "接受所有變更", "Common.Views.ReviewChanges.txtAcceptChanges": "同意更改", - "Common.Views.ReviewChanges.txtAcceptCurrent": "同意當前更改", + "Common.Views.ReviewChanges.txtAcceptCurrent": "接受目前的變更", "Common.Views.ReviewChanges.txtChat": "聊天", "Common.Views.ReviewChanges.txtClose": "關閉", "Common.Views.ReviewChanges.txtCoAuthMode": "共同編輯模式", @@ -663,8 +668,8 @@ "Common.Views.ReviewChanges.txtView": "顯示模式", "Common.Views.ReviewChangesDialog.textTitle": "查看變更", "Common.Views.ReviewChangesDialog.txtAccept": "同意", - "Common.Views.ReviewChangesDialog.txtAcceptAll": "同意所有更改", - "Common.Views.ReviewChangesDialog.txtAcceptCurrent": "同意當前更改", + "Common.Views.ReviewChangesDialog.txtAcceptAll": "接受所有變更", + "Common.Views.ReviewChangesDialog.txtAcceptCurrent": "接受目前的變更", "Common.Views.ReviewChangesDialog.txtNext": "到下一個變化", "Common.Views.ReviewChangesDialog.txtPrev": "到以前的變化", "Common.Views.ReviewChangesDialog.txtReject": "拒絕", @@ -693,7 +698,7 @@ "Common.Views.SearchPanel.textCloseSearch": "關閉搜索", "Common.Views.SearchPanel.textContentChanged": "文件已變更", "Common.Views.SearchPanel.textFind": "尋找", - "Common.Views.SearchPanel.textFindAndReplace": "尋找與取代", + "Common.Views.SearchPanel.textFindAndReplace": "尋找和取代", "Common.Views.SearchPanel.textItemsSuccessfullyReplaced": "{0} 項成功取代。", "Common.Views.SearchPanel.textMatchUsingRegExp": "用正規表達式進行匹配", "Common.Views.SearchPanel.textNoMatches": "查無匹配", @@ -724,8 +729,8 @@ "Common.Views.SignDialog.textTitle": "簽署文件", "Common.Views.SignDialog.textUseImage": "或單擊“選擇圖像”以使用圖片作為簽名", "Common.Views.SignDialog.textValid": "從%1到%2有效", - "Common.Views.SignDialog.tipFontName": "字體名稱", - "Common.Views.SignDialog.tipFontSize": "字體大小", + "Common.Views.SignDialog.tipFontName": "字型名稱", + "Common.Views.SignDialog.tipFontSize": "字型大小", "Common.Views.SignSettingsDialog.textAllowComment": "允許簽名者在簽名對話框中添加註釋", "Common.Views.SignSettingsDialog.textDefInstruction": "在簽署此文件之前,請驗證您正在簽署的內容是否正確。", "Common.Views.SignSettingsDialog.textInfoEmail": "電子郵件", @@ -737,23 +742,23 @@ "Common.Views.SignSettingsDialog.txtEmpty": "這是必填欄", "Common.Views.SymbolTableDialog.textCharacter": "文字", "Common.Views.SymbolTableDialog.textCode": "Unicode HEX 值", - "Common.Views.SymbolTableDialog.textCopyright": "版權標誌", - "Common.Views.SymbolTableDialog.textDCQuote": "結束雙引號", + "Common.Views.SymbolTableDialog.textCopyright": "版權符號", + "Common.Views.SymbolTableDialog.textDCQuote": "結束的雙引號", "Common.Views.SymbolTableDialog.textDOQuote": "開頭雙引號", "Common.Views.SymbolTableDialog.textEllipsis": "水平橢圓", "Common.Views.SymbolTableDialog.textEmDash": "破折號", - "Common.Views.SymbolTableDialog.textEmSpace": "全形空格", - "Common.Views.SymbolTableDialog.textEnDash": "連接號", - "Common.Views.SymbolTableDialog.textEnSpace": "半形空格", + "Common.Views.SymbolTableDialog.textEmSpace": "字寬空白", + "Common.Views.SymbolTableDialog.textEnDash": "短橫線", + "Common.Views.SymbolTableDialog.textEnSpace": "字元寬空白", "Common.Views.SymbolTableDialog.textFont": "字體", "Common.Views.SymbolTableDialog.textNBHyphen": "不間斷連字號", "Common.Views.SymbolTableDialog.textNBSpace": "不間斷空格", "Common.Views.SymbolTableDialog.textPilcrow": "段落符號", - "Common.Views.SymbolTableDialog.textQEmSpace": "1/4 等寬空格", + "Common.Views.SymbolTableDialog.textQEmSpace": "1/4 字寬空白", "Common.Views.SymbolTableDialog.textRange": "範圍", "Common.Views.SymbolTableDialog.textRecent": "最近使用的符號", "Common.Views.SymbolTableDialog.textRegistered": "註冊標誌", - "Common.Views.SymbolTableDialog.textSCQuote": "結束單引號", + "Common.Views.SymbolTableDialog.textSCQuote": "結束的單引號", "Common.Views.SymbolTableDialog.textSection": "分區標誌", "Common.Views.SymbolTableDialog.textShortcut": "快捷鍵", "Common.Views.SymbolTableDialog.textSHyphen": "軟連字號", @@ -917,7 +922,7 @@ "DE.Controllers.Main.titleUpdateVersion": "版本已更改", "DE.Controllers.Main.txtAbove": "以上", "DE.Controllers.Main.txtArt": "在此輸入文字", - "DE.Controllers.Main.txtBasicShapes": "基本形狀", + "DE.Controllers.Main.txtBasicShapes": "基本圖案", "DE.Controllers.Main.txtBelow": "以下", "DE.Controllers.Main.txtBookmarkError": "錯誤!書籤未定義。", "DE.Controllers.Main.txtButtons": "按鈕", @@ -931,8 +936,8 @@ "DE.Controllers.Main.txtEndOfFormula": "函數意外結束", "DE.Controllers.Main.txtEnterDate": "輸入日期", "DE.Controllers.Main.txtErrorLoadHistory": "歷史記錄加載失敗", - "DE.Controllers.Main.txtEvenPage": "雙數頁", - "DE.Controllers.Main.txtFiguredArrows": "圖箭", + "DE.Controllers.Main.txtEvenPage": "偶數頁", + "DE.Controllers.Main.txtFiguredArrows": "箭號圖案", "DE.Controllers.Main.txtFirstPage": "第一頁", "DE.Controllers.Main.txtFooter": "頁尾", "DE.Controllers.Main.txtFormulaNotInTable": "函數不在表格中", @@ -1130,7 +1135,7 @@ "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "圓角矩形標註", "DE.Controllers.Main.txtStarsRibbons": "星星和絲帶", "DE.Controllers.Main.txtStyle_Caption": "標題", - "DE.Controllers.Main.txtStyle_endnote_text": "尾註文", + "DE.Controllers.Main.txtStyle_endnote_text": "章節附註文字", "DE.Controllers.Main.txtStyle_footnote_text": "註腳文字", "DE.Controllers.Main.txtStyle_Heading_1": "標題 1", "DE.Controllers.Main.txtStyle_Heading_2": "標題 2", @@ -1229,7 +1234,7 @@ "DE.Controllers.Toolbar.txtAccent_Bar": "槓", "DE.Controllers.Toolbar.txtAccent_BarBot": "底橫槓", "DE.Controllers.Toolbar.txtAccent_BarTop": "橫槓", - "DE.Controllers.Toolbar.txtAccent_BorderBox": "盒裝公式(帶佔位符)", + "DE.Controllers.Toolbar.txtAccent_BorderBox": "有方框的公式(包含佔位符)", "DE.Controllers.Toolbar.txtAccent_BorderBoxCustom": "盒裝函數(範例)", "DE.Controllers.Toolbar.txtAccent_Check": "檢查", "DE.Controllers.Toolbar.txtAccent_CurveBracketBot": "底括號", @@ -1249,13 +1254,13 @@ "DE.Controllers.Toolbar.txtAccent_Hat": "帽子", "DE.Controllers.Toolbar.txtAccent_Smile": "短音符", "DE.Controllers.Toolbar.txtAccent_Tilde": "代字號", - "DE.Controllers.Toolbar.txtBracket_Angle": "括號", - "DE.Controllers.Toolbar.txtBracket_Angle_Delimiter_2": "帶分隔符的括號", - "DE.Controllers.Toolbar.txtBracket_Angle_Delimiter_3": "帶分隔符的括號", + "DE.Controllers.Toolbar.txtBracket_Angle": "角括號", + "DE.Controllers.Toolbar.txtBracket_Angle_Delimiter_2": "帶分隔符的角括號", + "DE.Controllers.Toolbar.txtBracket_Angle_Delimiter_3": "帶兩個分隔符的角括號", "DE.Controllers.Toolbar.txtBracket_Angle_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_Angle_OpenNone": "單括號", - "DE.Controllers.Toolbar.txtBracket_Curve": "括號", - "DE.Controllers.Toolbar.txtBracket_Curve_Delimiter_2": "帶分隔符的括號", + "DE.Controllers.Toolbar.txtBracket_Curve": "大括號", + "DE.Controllers.Toolbar.txtBracket_Curve_Delimiter_2": "帶分隔符的大括號", "DE.Controllers.Toolbar.txtBracket_Curve_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_Curve_OpenNone": "單括號", "DE.Controllers.Toolbar.txtBracket_Custom_1": "案件(兩件條件)", @@ -1264,14 +1269,14 @@ "DE.Controllers.Toolbar.txtBracket_Custom_4": "堆疊物件", "DE.Controllers.Toolbar.txtBracket_Custom_5": "案件例子", "DE.Controllers.Toolbar.txtBracket_Custom_6": "二項式係數", - "DE.Controllers.Toolbar.txtBracket_Custom_7": "二項式係數", + "DE.Controllers.Toolbar.txtBracket_Custom_7": "帶有角括號的二項式係數", "DE.Controllers.Toolbar.txtBracket_Line": "括號", "DE.Controllers.Toolbar.txtBracket_Line_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_Line_OpenNone": "單括號", - "DE.Controllers.Toolbar.txtBracket_LineDouble": "括號", + "DE.Controllers.Toolbar.txtBracket_LineDouble": "雙豎線", "DE.Controllers.Toolbar.txtBracket_LineDouble_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_LineDouble_OpenNone": "單括號", - "DE.Controllers.Toolbar.txtBracket_LowLim": "括號", + "DE.Controllers.Toolbar.txtBracket_LowLim": "底部整數", "DE.Controllers.Toolbar.txtBracket_LowLim_NoneNone": "單括號", "DE.Controllers.Toolbar.txtBracket_LowLim_OpenNone": "單括號", "DE.Controllers.Toolbar.txtBracket_Round": "括號", @@ -1284,17 +1289,17 @@ "DE.Controllers.Toolbar.txtBracket_Square_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_Square_OpenNone": "單括號", "DE.Controllers.Toolbar.txtBracket_Square_OpenOpen": "括號", - "DE.Controllers.Toolbar.txtBracket_SquareDouble": "括號", + "DE.Controllers.Toolbar.txtBracket_SquareDouble": "雙方括號", "DE.Controllers.Toolbar.txtBracket_SquareDouble_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_SquareDouble_OpenNone": "單括號", - "DE.Controllers.Toolbar.txtBracket_UppLim": "括號", + "DE.Controllers.Toolbar.txtBracket_UppLim": "天花板", "DE.Controllers.Toolbar.txtBracket_UppLim_NoneOpen": "單括號", "DE.Controllers.Toolbar.txtBracket_UppLim_OpenNone": "單括號", "DE.Controllers.Toolbar.txtFractionDiagonal": "偏斜分數", - "DE.Controllers.Toolbar.txtFractionDifferential_1": "微分", - "DE.Controllers.Toolbar.txtFractionDifferential_2": "微分", + "DE.Controllers.Toolbar.txtFractionDifferential_1": "dx 除以 dy", + "DE.Controllers.Toolbar.txtFractionDifferential_2": "Δy 除以 Δx 的大寫Δ", "DE.Controllers.Toolbar.txtFractionDifferential_3": "微分", - "DE.Controllers.Toolbar.txtFractionDifferential_4": "微分", + "DE.Controllers.Toolbar.txtFractionDifferential_4": "Δx 除以 Δy", "DE.Controllers.Toolbar.txtFractionHorizontal": "線性分數", "DE.Controllers.Toolbar.txtFractionPi_2": "Pi超過2", "DE.Controllers.Toolbar.txtFractionSmall": "小分數", @@ -1332,14 +1337,14 @@ "DE.Controllers.Toolbar.txtIntegral_dy": "差分 y", "DE.Controllers.Toolbar.txtIntegralCenterSubSup": "積分", "DE.Controllers.Toolbar.txtIntegralDouble": "雙積分", - "DE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "雙積分", - "DE.Controllers.Toolbar.txtIntegralDoubleSubSup": "雙積分", + "DE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "帶堆疊限制的雙重積分", + "DE.Controllers.Toolbar.txtIntegralDoubleSubSup": "帶限制的雙重積分", "DE.Controllers.Toolbar.txtIntegralOriented": "輪廓積分", - "DE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "輪廓積分", + "DE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "帶堆疊限制的等高積分", "DE.Controllers.Toolbar.txtIntegralOrientedDouble": "表面積分", "DE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "表面積分", "DE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "表面積分", - "DE.Controllers.Toolbar.txtIntegralOrientedSubSup": "輪廓積分", + "DE.Controllers.Toolbar.txtIntegralOrientedSubSup": "帶限制的等高積分", "DE.Controllers.Toolbar.txtIntegralOrientedTriple": "體積積分", "DE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "體積積分", "DE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "體積積分", @@ -1353,10 +1358,10 @@ "DE.Controllers.Toolbar.txtLargeOperator_Conjunction_Sub": "楔", "DE.Controllers.Toolbar.txtLargeOperator_Conjunction_SubSup": "楔", "DE.Controllers.Toolbar.txtLargeOperator_CoProd": "聯產品", - "DE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSub": "聯產品", - "DE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSubSup": "聯產品", - "DE.Controllers.Toolbar.txtLargeOperator_CoProd_Sub": "聯產品", - "DE.Controllers.Toolbar.txtLargeOperator_CoProd_SubSup": "聯產品", + "DE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSub": "帶下限的共積", + "DE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSubSup": "帶限制的共積", + "DE.Controllers.Toolbar.txtLargeOperator_CoProd_Sub": "帶有下標下限的共積", + "DE.Controllers.Toolbar.txtLargeOperator_CoProd_SubSup": "帶有上下標限制的共積", "DE.Controllers.Toolbar.txtLargeOperator_Custom_1": "求和", "DE.Controllers.Toolbar.txtLargeOperator_Custom_2": "求和", "DE.Controllers.Toolbar.txtLargeOperator_Custom_3": "求和", @@ -1397,28 +1402,28 @@ "DE.Controllers.Toolbar.txtLimitLog_Min": "最低", "DE.Controllers.Toolbar.txtMarginsH": "對於給定的頁面高度,上下邊距太高", "DE.Controllers.Toolbar.txtMarginsW": "給定頁面寬度,左右頁邊距太寬", - "DE.Controllers.Toolbar.txtMatrix_1_2": "1x2空矩陣", - "DE.Controllers.Toolbar.txtMatrix_1_3": "1x3空矩陣", + "DE.Controllers.Toolbar.txtMatrix_1_2": "1x2 空矩陣", + "DE.Controllers.Toolbar.txtMatrix_1_3": "1x3 空矩陣", "DE.Controllers.Toolbar.txtMatrix_2_1": "2x1 空矩陣", "DE.Controllers.Toolbar.txtMatrix_2_2": "2x2 空矩陣", - "DE.Controllers.Toolbar.txtMatrix_2_2_DLineBracket": "帶線括號的2x2空矩陣", - "DE.Controllers.Toolbar.txtMatrix_2_2_LineBracket": "帶線括號的2x2空矩陣", - "DE.Controllers.Toolbar.txtMatrix_2_2_RoundBracket": "帶圓括號的2x2空矩陣", - "DE.Controllers.Toolbar.txtMatrix_2_2_SquareBracket": "帶方形括號的2x2空矩陣", + "DE.Controllers.Toolbar.txtMatrix_2_2_DLineBracket": "以雙豎線表示的空的 2x2 矩陣", + "DE.Controllers.Toolbar.txtMatrix_2_2_LineBracket": "空的 2x2 行列式", + "DE.Controllers.Toolbar.txtMatrix_2_2_RoundBracket": "以括弧表示的空的 2x2 矩陣", + "DE.Controllers.Toolbar.txtMatrix_2_2_SquareBracket": "以括號表示的空的 2x2 矩陣", "DE.Controllers.Toolbar.txtMatrix_2_3": "2x3 空矩陣", "DE.Controllers.Toolbar.txtMatrix_3_1": "3x1 空矩陣", "DE.Controllers.Toolbar.txtMatrix_3_2": "3x2 空矩陣", "DE.Controllers.Toolbar.txtMatrix_3_3": "3x3 空矩陣", - "DE.Controllers.Toolbar.txtMatrix_Dots_Baseline": "基準點", + "DE.Controllers.Toolbar.txtMatrix_Dots_Baseline": "基線點", "DE.Controllers.Toolbar.txtMatrix_Dots_Center": "中線點", "DE.Controllers.Toolbar.txtMatrix_Dots_Diagonal": "對角點", "DE.Controllers.Toolbar.txtMatrix_Dots_Vertical": "垂直點", "DE.Controllers.Toolbar.txtMatrix_Flat_Round": "稀疏矩陣", "DE.Controllers.Toolbar.txtMatrix_Flat_Square": "稀疏矩陣", - "DE.Controllers.Toolbar.txtMatrix_Identity_2": "2x2 單位矩陣", - "DE.Controllers.Toolbar.txtMatrix_Identity_2_NoZeros": "3x3 單位矩陣", - "DE.Controllers.Toolbar.txtMatrix_Identity_3": "3x3 單位矩陣", - "DE.Controllers.Toolbar.txtMatrix_Identity_3_NoZeros": "3x3 單位矩陣", + "DE.Controllers.Toolbar.txtMatrix_Identity_2": "2x2 除了對角線以外都是零的單位矩陣", + "DE.Controllers.Toolbar.txtMatrix_Identity_2_NoZeros": "2x2 除了對角線以外都是空白的單位矩陣", + "DE.Controllers.Toolbar.txtMatrix_Identity_3": "3x3 除了對角線以外都是零的單位矩陣", + "DE.Controllers.Toolbar.txtMatrix_Identity_3_NoZeros": "3x3 除了對角線以外都是空白的單位矩陣", "DE.Controllers.Toolbar.txtOperator_ArrowD_Bot": "下方的左右箭頭", "DE.Controllers.Toolbar.txtOperator_ArrowD_Top": "上方的左右箭頭", "DE.Controllers.Toolbar.txtOperator_ArrowL_Bot": "下方的向左箭頭", @@ -1447,7 +1452,7 @@ "DE.Controllers.Toolbar.txtRadicalRoot_n": "開n次根號", "DE.Controllers.Toolbar.txtRadicalSqrt": "平方根", "DE.Controllers.Toolbar.txtScriptCustom_1": "腳本", - "DE.Controllers.Toolbar.txtScriptCustom_2": "腳本", + "DE.Controllers.Toolbar.txtScriptCustom_2": "e 的負 i omega t 次方", "DE.Controllers.Toolbar.txtScriptCustom_3": "腳本", "DE.Controllers.Toolbar.txtScriptCustom_4": "腳本", "DE.Controllers.Toolbar.txtScriptSub": "下標", @@ -1459,10 +1464,10 @@ "DE.Controllers.Toolbar.txtSymbol_aleph": "Aleph", "DE.Controllers.Toolbar.txtSymbol_alpha": "Αlpha", "DE.Controllers.Toolbar.txtSymbol_approx": "Approx", - "DE.Controllers.Toolbar.txtSymbol_ast": "Ast", + "DE.Controllers.Toolbar.txtSymbol_ast": "星號運算子", "DE.Controllers.Toolbar.txtSymbol_beta": "Beta", "DE.Controllers.Toolbar.txtSymbol_beth": "Beth", - "DE.Controllers.Toolbar.txtSymbol_bullet": "Bullet", + "DE.Controllers.Toolbar.txtSymbol_bullet": "點運算子", "DE.Controllers.Toolbar.txtSymbol_cap": "Cap", "DE.Controllers.Toolbar.txtSymbol_cbrt": "Cbrt", "DE.Controllers.Toolbar.txtSymbol_cdots": "Cdot", @@ -1612,7 +1617,7 @@ "DE.Views.ChartSettings.textWrap": "包覆風格", "DE.Views.ChartSettings.textX": "X軸旋轉", "DE.Views.ChartSettings.textY": "Y軸旋轉", - "DE.Views.ChartSettings.txtBehind": "文字在後", + "DE.Views.ChartSettings.txtBehind": "文字置於後方", "DE.Views.ChartSettings.txtInFront": "文字在前", "DE.Views.ChartSettings.txtInline": "與文字排列", "DE.Views.ChartSettings.txtSquare": "正方形", @@ -1623,7 +1628,7 @@ "DE.Views.ControlSettingsDialog.strGeneral": "一般", "DE.Views.ControlSettingsDialog.textAdd": "新增", "DE.Views.ControlSettingsDialog.textAppearance": "外貌", - "DE.Views.ControlSettingsDialog.textApplyAll": "全部應用", + "DE.Views.ControlSettingsDialog.textApplyAll": "套用至所有", "DE.Views.ControlSettingsDialog.textBox": "文字方塊", "DE.Views.ControlSettingsDialog.textChange": "編輯", "DE.Views.ControlSettingsDialog.textCheckbox": "複選框", @@ -1644,7 +1649,7 @@ "DE.Views.ControlSettingsDialog.textShowAs": "顯示為", "DE.Views.ControlSettingsDialog.textSystemColor": "系統", "DE.Views.ControlSettingsDialog.textTag": "標籤", - "DE.Views.ControlSettingsDialog.textTitle": "內容控制設定", + "DE.Views.ControlSettingsDialog.textTitle": "內容控制項設定", "DE.Views.ControlSettingsDialog.textUnchecked": "未經檢查的符號", "DE.Views.ControlSettingsDialog.textUp": "上", "DE.Views.ControlSettingsDialog.textValue": "值", @@ -1715,7 +1720,7 @@ "DE.Views.DocumentHolder.addCommentText": "新增註解", "DE.Views.DocumentHolder.advancedDropCapText": "首字大寫設定", "DE.Views.DocumentHolder.advancedEquationText": "方程式設定", - "DE.Views.DocumentHolder.advancedFrameText": "框的進階設定", + "DE.Views.DocumentHolder.advancedFrameText": "框線進階設定", "DE.Views.DocumentHolder.advancedParagraphText": "段落進階設定", "DE.Views.DocumentHolder.advancedTableText": "表格進階設定", "DE.Views.DocumentHolder.advancedText": "進階設定", @@ -1772,7 +1777,7 @@ "DE.Views.DocumentHolder.removeHyperlinkText": "刪除超連結", "DE.Views.DocumentHolder.rightText": "右", "DE.Views.DocumentHolder.rowText": "行", - "DE.Views.DocumentHolder.saveStyleText": "新增風格", + "DE.Views.DocumentHolder.saveStyleText": "建立新樣式", "DE.Views.DocumentHolder.selectCellText": "選擇儲存格", "DE.Views.DocumentHolder.selectColumnText": "選擇欄", "DE.Views.DocumentHolder.selectRowText": "選擇列", @@ -1806,14 +1811,14 @@ "DE.Views.DocumentHolder.textCut": "剪下", "DE.Views.DocumentHolder.textDistributeCols": "分配列", "DE.Views.DocumentHolder.textDistributeRows": "分配行", - "DE.Views.DocumentHolder.textEditControls": "內容控制設定", + "DE.Views.DocumentHolder.textEditControls": "內容控制項設定", "DE.Views.DocumentHolder.textEditPoints": "編輯點", - "DE.Views.DocumentHolder.textEditWrapBoundary": "編輯包裝邊界", + "DE.Views.DocumentHolder.textEditWrapBoundary": "編輯換行邊界", "DE.Views.DocumentHolder.textFlipH": "水平翻轉", "DE.Views.DocumentHolder.textFlipV": "垂直翻轉", "DE.Views.DocumentHolder.textFollow": "跟隨移動", - "DE.Views.DocumentHolder.textFromFile": "從檔案", - "DE.Views.DocumentHolder.textFromStorage": "從存儲", + "DE.Views.DocumentHolder.textFromFile": "從檔案插入", + "DE.Views.DocumentHolder.textFromStorage": "從儲存位置插入", "DE.Views.DocumentHolder.textFromUrl": "從 URL", "DE.Views.DocumentHolder.textIndents": "調整清單縮排", "DE.Views.DocumentHolder.textJoinList": "加入上一個列表", @@ -1870,7 +1875,7 @@ "DE.Views.DocumentHolder.txtAddTop": "加入上邊框", "DE.Views.DocumentHolder.txtAddVer": "加入垂直線", "DE.Views.DocumentHolder.txtAlignToChar": "與角色對齊", - "DE.Views.DocumentHolder.txtBehind": "文字在後", + "DE.Views.DocumentHolder.txtBehind": "文字置於後方", "DE.Views.DocumentHolder.txtBorderProps": "邊框屬性", "DE.Views.DocumentHolder.txtBottom": "底部", "DE.Views.DocumentHolder.txtColumnAlign": "欄位對齊", @@ -1882,8 +1887,8 @@ "DE.Views.DocumentHolder.txtDeleteEq": "刪除方程式", "DE.Views.DocumentHolder.txtDeleteGroupChar": "刪除字元", "DE.Views.DocumentHolder.txtDeleteRadical": "刪除根號", - "DE.Views.DocumentHolder.txtDistribHor": "水平分佈", - "DE.Views.DocumentHolder.txtDistribVert": "垂直分佈", + "DE.Views.DocumentHolder.txtDistribHor": "水平分散對齊", + "DE.Views.DocumentHolder.txtDistribVert": "垂直分散對齊", "DE.Views.DocumentHolder.txtEmpty": "(空)", "DE.Views.DocumentHolder.txtFractionLinear": "變更為線性分數", "DE.Views.DocumentHolder.txtFractionSkewed": "變更為傾斜分數", @@ -1954,15 +1959,15 @@ "DE.Views.DocumentHolder.updateStyleText": "更新%1風格", "DE.Views.DocumentHolder.vertAlignText": "垂直對齊", "DE.Views.DropcapSettingsAdvanced.strBorders": "框線和新增", - "DE.Views.DropcapSettingsAdvanced.strDropcap": "首字大寫", + "DE.Views.DropcapSettingsAdvanced.strDropcap": "插入首字大寫", "DE.Views.DropcapSettingsAdvanced.strMargins": "邊界", "DE.Views.DropcapSettingsAdvanced.textAlign": "對齊", "DE.Views.DropcapSettingsAdvanced.textAtLeast": "至少", "DE.Views.DropcapSettingsAdvanced.textAuto": "自動", - "DE.Views.DropcapSettingsAdvanced.textBackColor": "背景顏色", - "DE.Views.DropcapSettingsAdvanced.textBorderColor": "框線顏色", + "DE.Views.DropcapSettingsAdvanced.textBackColor": "背景色彩", + "DE.Views.DropcapSettingsAdvanced.textBorderColor": "邊框色彩", "DE.Views.DropcapSettingsAdvanced.textBorderDesc": "點選圖表或使用按鈕選擇框線", - "DE.Views.DropcapSettingsAdvanced.textBorderWidth": "框線大小", + "DE.Views.DropcapSettingsAdvanced.textBorderWidth": "邊框大小", "DE.Views.DropcapSettingsAdvanced.textBottom": "底部", "DE.Views.DropcapSettingsAdvanced.textCenter": "中心", "DE.Views.DropcapSettingsAdvanced.textColumn": "欄", @@ -1987,8 +1992,8 @@ "DE.Views.DropcapSettingsAdvanced.textRelative": "關係到", "DE.Views.DropcapSettingsAdvanced.textRight": "右", "DE.Views.DropcapSettingsAdvanced.textRowHeight": "行高", - "DE.Views.DropcapSettingsAdvanced.textTitle": "首字大寫-進階設定", - "DE.Views.DropcapSettingsAdvanced.textTitleFrame": "框-進階設定", + "DE.Views.DropcapSettingsAdvanced.textTitle": "插入首字大寫-進階設定", + "DE.Views.DropcapSettingsAdvanced.textTitleFrame": "框線-進階設定", "DE.Views.DropcapSettingsAdvanced.textTop": "上方", "DE.Views.DropcapSettingsAdvanced.textVertical": "垂直", "DE.Views.DropcapSettingsAdvanced.textWidth": "寬度", @@ -2140,10 +2145,10 @@ "DE.Views.FormSettings.textAtLeast": "至少", "DE.Views.FormSettings.textAuto": "自動", "DE.Views.FormSettings.textAutofit": "自動調整", - "DE.Views.FormSettings.textBackgroundColor": "背景顏色", + "DE.Views.FormSettings.textBackgroundColor": "背景色彩", "DE.Views.FormSettings.textCheckbox": "複選框", "DE.Views.FormSettings.textCheckDefault": "核取方塊預設為已選取", - "DE.Views.FormSettings.textColor": "框線顏色", + "DE.Views.FormSettings.textColor": "邊框色彩", "DE.Views.FormSettings.textComb": "文字組合", "DE.Views.FormSettings.textCombobox": "組合框", "DE.Views.FormSettings.textComplex": "複雜字段", @@ -2162,8 +2167,8 @@ "DE.Views.FormSettings.textFixed": "固定欄位大小", "DE.Views.FormSettings.textFormat": "格式", "DE.Views.FormSettings.textFormatSymbols": "允許的符號", - "DE.Views.FormSettings.textFromFile": "從檔案", - "DE.Views.FormSettings.textFromStorage": "從存儲", + "DE.Views.FormSettings.textFromFile": "從檔案插入", + "DE.Views.FormSettings.textFromStorage": "從儲存位置插入", "DE.Views.FormSettings.textFromUrl": "從 URL", "DE.Views.FormSettings.textGroupKey": "群組金鑰", "DE.Views.FormSettings.textImage": "圖像", @@ -2299,7 +2304,7 @@ "DE.Views.ImageSettings.textFitMargins": "切合至邊框", "DE.Views.ImageSettings.textFlip": "翻轉", "DE.Views.ImageSettings.textFromFile": "從檔案", - "DE.Views.ImageSettings.textFromStorage": "從存儲", + "DE.Views.ImageSettings.textFromStorage": "從儲存位置插入", "DE.Views.ImageSettings.textFromUrl": "從 URL", "DE.Views.ImageSettings.textHeight": "高度", "DE.Views.ImageSettings.textHint270": "逆時針旋轉90°", @@ -2314,7 +2319,7 @@ "DE.Views.ImageSettings.textSize": "大小", "DE.Views.ImageSettings.textWidth": "寬度", "DE.Views.ImageSettings.textWrap": "文繞圖", - "DE.Views.ImageSettings.txtBehind": "文字在後", + "DE.Views.ImageSettings.txtBehind": "文字置於後方", "DE.Views.ImageSettings.txtInFront": "文字在前", "DE.Views.ImageSettings.txtInline": "與文字排列", "DE.Views.ImageSettings.txtSquare": "正方形", @@ -2332,20 +2337,20 @@ "DE.Views.ImageSettingsAdvanced.textArrows": "箭頭", "DE.Views.ImageSettingsAdvanced.textAspectRatio": "鎖定縮放比例", "DE.Views.ImageSettingsAdvanced.textAutofit": "自動調整", - "DE.Views.ImageSettingsAdvanced.textBeginSize": "開始大小", - "DE.Views.ImageSettingsAdvanced.textBeginStyle": "開始風格", + "DE.Views.ImageSettingsAdvanced.textBeginSize": "起始大小", + "DE.Views.ImageSettingsAdvanced.textBeginStyle": "起始樣式", "DE.Views.ImageSettingsAdvanced.textBelow": "之下", "DE.Views.ImageSettingsAdvanced.textBevel": "斜角", "DE.Views.ImageSettingsAdvanced.textBottom": "底部", - "DE.Views.ImageSettingsAdvanced.textBottomMargin": "底邊距", + "DE.Views.ImageSettingsAdvanced.textBottomMargin": "下方邊界", "DE.Views.ImageSettingsAdvanced.textBtnWrap": "文字包裝", - "DE.Views.ImageSettingsAdvanced.textCapType": "Cap 類型", + "DE.Views.ImageSettingsAdvanced.textCapType": "大寫字元樣式型", "DE.Views.ImageSettingsAdvanced.textCenter": "中心", "DE.Views.ImageSettingsAdvanced.textCharacter": "文字", "DE.Views.ImageSettingsAdvanced.textColumn": "欄", "DE.Views.ImageSettingsAdvanced.textDistance": "與文字的距離", - "DE.Views.ImageSettingsAdvanced.textEndSize": "端部尺寸", - "DE.Views.ImageSettingsAdvanced.textEndStyle": "結束風格", + "DE.Views.ImageSettingsAdvanced.textEndSize": "結束大小", + "DE.Views.ImageSettingsAdvanced.textEndStyle": "結束樣式", "DE.Views.ImageSettingsAdvanced.textFlat": "平面", "DE.Views.ImageSettingsAdvanced.textFlipped": "已翻轉", "DE.Views.ImageSettingsAdvanced.textHeight": "高度", @@ -2389,7 +2394,7 @@ "DE.Views.ImageSettingsAdvanced.textWeightArrows": "重量和箭頭", "DE.Views.ImageSettingsAdvanced.textWidth": "寬度", "DE.Views.ImageSettingsAdvanced.textWrap": "文繞圖", - "DE.Views.ImageSettingsAdvanced.textWrapBehindTooltip": "文字在後", + "DE.Views.ImageSettingsAdvanced.textWrapBehindTooltip": "文字置於後方", "DE.Views.ImageSettingsAdvanced.textWrapInFrontTooltip": "文字在前", "DE.Views.ImageSettingsAdvanced.textWrapInlineTooltip": "與文字排列", "DE.Views.ImageSettingsAdvanced.textWrapSquareTooltip": "正方形", @@ -2436,8 +2441,8 @@ "DE.Views.Links.capBtnTOF": "圖表", "DE.Views.Links.confirmDeleteFootnotes": "您要刪除所有註腳嗎?", "DE.Views.Links.confirmReplaceTOF": "您要替換選定的數字表格嗎?", - "DE.Views.Links.mniConvertNote": "轉換所有筆記", - "DE.Views.Links.mniDelFootnote": "刪除所有筆記", + "DE.Views.Links.mniConvertNote": "轉換所有註解", + "DE.Views.Links.mniDelFootnote": "刪除所有註解", "DE.Views.Links.mniInsEndnote": "插入尾註", "DE.Views.Links.mniInsFootnote": "插入註腳", "DE.Views.Links.mniNoteSettings": "筆記設定", @@ -2461,7 +2466,7 @@ "DE.Views.Links.tipTableFigures": "插入圖表", "DE.Views.Links.tipTableFiguresUpdate": "更新目錄圖", "DE.Views.Links.titleUpdateTOF": "更新目錄圖", - "DE.Views.Links.txtDontShowTof": "不要顯示在目錄", + "DE.Views.Links.txtDontShowTof": "不在目錄中顯示", "DE.Views.Links.txtLevel": "等級", "DE.Views.ListIndentsDialog.textSpace": "空間", "DE.Views.ListIndentsDialog.textTab": "定位元", @@ -2562,7 +2567,7 @@ "DE.Views.Navigation.txtEmptyViewer": "文件中沒有標題。", "DE.Views.Navigation.txtExpand": "展開全部", "DE.Views.Navigation.txtExpandToLevel": "擴展到水平", - "DE.Views.Navigation.txtFontSize": "字體大小", + "DE.Views.Navigation.txtFontSize": "字型大小", "DE.Views.Navigation.txtHeadingAfter": "之後的新標題", "DE.Views.Navigation.txtHeadingBefore": "之前的新標題", "DE.Views.Navigation.txtLarge": "大", @@ -2576,7 +2581,7 @@ "DE.Views.NoteSettingsDialog.textApply": "套用", "DE.Views.NoteSettingsDialog.textApplyTo": "套用更改", "DE.Views.NoteSettingsDialog.textContinue": "連續", - "DE.Views.NoteSettingsDialog.textCustom": "自定標記", + "DE.Views.NoteSettingsDialog.textCustom": "自訂標記", "DE.Views.NoteSettingsDialog.textDocEnd": "文件結尾", "DE.Views.NoteSettingsDialog.textDocument": "整個文檔", "DE.Views.NoteSettingsDialog.textEachPage": "重新開始每一頁", @@ -2594,9 +2599,9 @@ "DE.Views.NoteSettingsDialog.textStart": "開始", "DE.Views.NoteSettingsDialog.textTextBottom": "文字之下", "DE.Views.NoteSettingsDialog.textTitle": "筆記設定", - "DE.Views.NotesRemoveDialog.textEnd": "刪除所有尾註", + "DE.Views.NotesRemoveDialog.textEnd": "刪除所有章節附註", "DE.Views.NotesRemoveDialog.textFoot": "刪除所有註腳", - "DE.Views.NotesRemoveDialog.textTitle": "刪除筆記", + "DE.Views.NotesRemoveDialog.textTitle": "刪除註解", "DE.Views.PageMarginsDialog.notcriticalErrorTitle": "警告", "DE.Views.PageMarginsDialog.textBottom": "底部", "DE.Views.PageMarginsDialog.textGutter": "溝", @@ -2639,7 +2644,7 @@ "DE.Views.ParagraphSettings.textAt": "在", "DE.Views.ParagraphSettings.textAtLeast": "至少", "DE.Views.ParagraphSettings.textAuto": "多項", - "DE.Views.ParagraphSettings.textBackColor": "背景顏色", + "DE.Views.ParagraphSettings.textBackColor": "背景色彩", "DE.Views.ParagraphSettings.textExact": "準確", "DE.Views.ParagraphSettings.textFirstLine": "第一行", "DE.Views.ParagraphSettings.textHanging": "懸掛式", @@ -2678,19 +2683,19 @@ "DE.Views.ParagraphSettingsAdvanced.textAll": "全部", "DE.Views.ParagraphSettingsAdvanced.textAtLeast": "至少", "DE.Views.ParagraphSettingsAdvanced.textAuto": "多項", - "DE.Views.ParagraphSettingsAdvanced.textBackColor": "背景顏色", + "DE.Views.ParagraphSettingsAdvanced.textBackColor": "背景色彩", "DE.Views.ParagraphSettingsAdvanced.textBodyText": "基本文字", - "DE.Views.ParagraphSettingsAdvanced.textBorderColor": "邊框顏色", + "DE.Views.ParagraphSettingsAdvanced.textBorderColor": "邊框色彩", "DE.Views.ParagraphSettingsAdvanced.textBorderDesc": "點擊圖或使用按鈕選擇邊框並將選定的樣式應用於邊框", "DE.Views.ParagraphSettingsAdvanced.textBorderWidth": "邊框大小", "DE.Views.ParagraphSettingsAdvanced.textBottom": "底部", "DE.Views.ParagraphSettingsAdvanced.textCentered": "置中", - "DE.Views.ParagraphSettingsAdvanced.textCharacterSpacing": "文字間距", + "DE.Views.ParagraphSettingsAdvanced.textCharacterSpacing": "字元間距", "DE.Views.ParagraphSettingsAdvanced.textContext": "上下文的", - "DE.Views.ParagraphSettingsAdvanced.textContextDiscret": "上下文的與任用的", - "DE.Views.ParagraphSettingsAdvanced.textContextHistDiscret": "上下文、歷史與任用的", - "DE.Views.ParagraphSettingsAdvanced.textContextHistorical": "上下文與歷史的", - "DE.Views.ParagraphSettingsAdvanced.textDefault": "預設分頁", + "DE.Views.ParagraphSettingsAdvanced.textContextDiscret": "上下文與推薦", + "DE.Views.ParagraphSettingsAdvanced.textContextHistDiscret": "上下文、歷史與推薦", + "DE.Views.ParagraphSettingsAdvanced.textContextHistorical": "上下文與歷史", + "DE.Views.ParagraphSettingsAdvanced.textDefault": "預設定位點", "DE.Views.ParagraphSettingsAdvanced.textDiscret": "任用的", "DE.Views.ParagraphSettingsAdvanced.textEffects": "效果", "DE.Views.ParagraphSettingsAdvanced.textExact": "準確", @@ -2820,8 +2825,8 @@ "DE.Views.SaveFormDlg.textEmpty": "沒有與欄位有關聯的角色。", "DE.Views.SaveFormDlg.textFill": "填寫清單", "DE.Views.SaveFormDlg.txtTitle": "另存為表單", - "DE.Views.ShapeSettings.strBackground": "背景顏色", - "DE.Views.ShapeSettings.strChange": "變更自動形狀", + "DE.Views.ShapeSettings.strBackground": "背景色彩", + "DE.Views.ShapeSettings.strChange": "變更形狀", "DE.Views.ShapeSettings.strColor": "顏色", "DE.Views.ShapeSettings.strFill": "填入", "DE.Views.ShapeSettings.strForeground": "前景色", @@ -2840,8 +2845,8 @@ "DE.Views.ShapeSettings.textEditShape": "編輯外框", "DE.Views.ShapeSettings.textEmptyPattern": "無模式", "DE.Views.ShapeSettings.textFlip": "翻轉", - "DE.Views.ShapeSettings.textFromFile": "從檔案", - "DE.Views.ShapeSettings.textFromStorage": "從存儲", + "DE.Views.ShapeSettings.textFromFile": "從檔案插入", + "DE.Views.ShapeSettings.textFromStorage": "從儲存位置插入", "DE.Views.ShapeSettings.textFromUrl": "從 URL", "DE.Views.ShapeSettings.textGradient": "漸變點", "DE.Views.ShapeSettings.textGradientFill": "漸層填充", @@ -2867,7 +2872,7 @@ "DE.Views.ShapeSettings.textWrap": "包覆風格", "DE.Views.ShapeSettings.tipAddGradientPoint": "新增漸變點", "DE.Views.ShapeSettings.tipRemoveGradientPoint": "刪除漸變點", - "DE.Views.ShapeSettings.txtBehind": "文字在後", + "DE.Views.ShapeSettings.txtBehind": "文字置於後方", "DE.Views.ShapeSettings.txtBrownPaper": "牛皮紙", "DE.Views.ShapeSettings.txtCanvas": "畫布", "DE.Views.ShapeSettings.txtCarton": "紙箱", @@ -2919,7 +2924,7 @@ "DE.Views.Statusbar.txtSymbols": "符號", "DE.Views.Statusbar.txtWordCount": "字數統計", "DE.Views.Statusbar.txtWords": "字幕", - "DE.Views.StyleTitleDialog.textHeader": "新增風格", + "DE.Views.StyleTitleDialog.textHeader": "建立新樣式", "DE.Views.StyleTitleDialog.textNextStyle": "下一段風格", "DE.Views.StyleTitleDialog.textTitle": "標題", "DE.Views.StyleTitleDialog.txtEmpty": "這是必填欄", @@ -2929,10 +2934,10 @@ "DE.Views.TableFormulaDialog.textFormat": "數字格式", "DE.Views.TableFormulaDialog.textFormula": "函數", "DE.Views.TableFormulaDialog.textInsertFunction": "粘貼功能", - "DE.Views.TableFormulaDialog.textTitle": "函數設定", + "DE.Views.TableFormulaDialog.textTitle": "公式設定", "DE.Views.TableOfContentsSettings.strAlign": "右對齊頁碼", "DE.Views.TableOfContentsSettings.strFullCaption": "包括標籤和編號", - "DE.Views.TableOfContentsSettings.strLinks": "將目錄格式設置為連結", + "DE.Views.TableOfContentsSettings.strLinks": "將目錄格式化為連結", "DE.Views.TableOfContentsSettings.strLinksOF": "調數字目錄格式為鏈接", "DE.Views.TableOfContentsSettings.strShowPages": "顯示頁碼", "DE.Views.TableOfContentsSettings.textBuildTable": "從中建立目錄", @@ -2978,13 +2983,13 @@ "DE.Views.TableSettings.strRepeatRow": "在每一頁頂部重複作為標題行", "DE.Views.TableSettings.textAddFormula": "插入函數", "DE.Views.TableSettings.textAdvanced": "顯示進階設定", - "DE.Views.TableSettings.textBackColor": "背景顏色", + "DE.Views.TableSettings.textBackColor": "背景色彩", "DE.Views.TableSettings.textBanded": "帶狀", "DE.Views.TableSettings.textBorderColor": "顏色", "DE.Views.TableSettings.textBorders": "邊框風格", "DE.Views.TableSettings.textCellSize": "行和列大小", "DE.Views.TableSettings.textColumns": "欄", - "DE.Views.TableSettings.textConvert": "轉換表格至文字", + "DE.Views.TableSettings.textConvert": "將表格轉換為文字", "DE.Views.TableSettings.textDistributeCols": "分配列", "DE.Views.TableSettings.textDistributeRows": "分配行", "DE.Views.TableSettings.textEdit": "行和列", @@ -3036,7 +3041,7 @@ "DE.Views.TableSettingsAdvanced.textAutofit": "自動調整大小以適合內容", "DE.Views.TableSettingsAdvanced.textBackColor": "儲存格背景", "DE.Views.TableSettingsAdvanced.textBelow": "之下", - "DE.Views.TableSettingsAdvanced.textBorderColor": "邊框顏色", + "DE.Views.TableSettingsAdvanced.textBorderColor": "邊框色彩", "DE.Views.TableSettingsAdvanced.textBorderDesc": "點擊圖或使用按鈕選擇邊框並將選定的樣式應用於邊框", "DE.Views.TableSettingsAdvanced.textBordersBackgroung": "邊框和背景", "DE.Views.TableSettingsAdvanced.textBorderWidth": "邊框大小", @@ -3047,14 +3052,14 @@ "DE.Views.TableSettingsAdvanced.textCenter": "中心", "DE.Views.TableSettingsAdvanced.textCenterTooltip": "中心", "DE.Views.TableSettingsAdvanced.textCheckMargins": "使用預設邊距", - "DE.Views.TableSettingsAdvanced.textDefaultMargins": "預設儲存格邊距", + "DE.Views.TableSettingsAdvanced.textDefaultMargins": "預設儲存格邊界", "DE.Views.TableSettingsAdvanced.textDistance": "與文字的距離", "DE.Views.TableSettingsAdvanced.textHorizontal": "水平", "DE.Views.TableSettingsAdvanced.textIndLeft": "從左縮進", "DE.Views.TableSettingsAdvanced.textLeft": "左", "DE.Views.TableSettingsAdvanced.textLeftTooltip": "左", "DE.Views.TableSettingsAdvanced.textMargin": "邊框", - "DE.Views.TableSettingsAdvanced.textMargins": "儲存格邊距", + "DE.Views.TableSettingsAdvanced.textMargins": "儲存格邊界", "DE.Views.TableSettingsAdvanced.textMeasure": "測量", "DE.Views.TableSettingsAdvanced.textMove": "用文字移動對象", "DE.Views.TableSettingsAdvanced.textOnlyCells": "僅適用於選取的儲存格", @@ -3104,7 +3109,7 @@ "DE.Views.TableToTextDialog.textSemicolon": "分號", "DE.Views.TableToTextDialog.textSeparator": "文字分隔用", "DE.Views.TableToTextDialog.textTab": "標籤", - "DE.Views.TableToTextDialog.textTitle": "轉換表格至文字", + "DE.Views.TableToTextDialog.textTitle": "將表格轉換為文字", "DE.Views.TextArtSettings.strColor": "顏色", "DE.Views.TextArtSettings.strFill": "填入", "DE.Views.TextArtSettings.strSize": "大小", @@ -3128,7 +3133,7 @@ "DE.Views.TextArtSettings.tipAddGradientPoint": "新增漸變點", "DE.Views.TextArtSettings.tipRemoveGradientPoint": "刪除漸變點", "DE.Views.TextArtSettings.txtNoBorders": "無線條", - "DE.Views.TextToTableDialog.textAutofit": "自動調整欄寬", + "DE.Views.TextToTableDialog.textAutofit": "自動調整行為", "DE.Views.TextToTableDialog.textColumns": "欄", "DE.Views.TextToTableDialog.textContents": "自動調整欄寬至內容", "DE.Views.TextToTableDialog.textEmpty": "你必須輸入至少一個自訂的分隔字元", @@ -3140,7 +3145,7 @@ "DE.Views.TextToTableDialog.textSeparator": "文字分隔從", "DE.Views.TextToTableDialog.textTab": "標籤", "DE.Views.TextToTableDialog.textTableSize": "表格大小", - "DE.Views.TextToTableDialog.textTitle": "轉換文字至表格", + "DE.Views.TextToTableDialog.textTitle": "將文字轉換為表格", "DE.Views.TextToTableDialog.textWindow": "自動調整欄寬至視窗", "DE.Views.TextToTableDialog.txtAutoText": "自動", "DE.Views.Toolbar.capBtnAddComment": "新增註解", @@ -3150,7 +3155,7 @@ "DE.Views.Toolbar.capBtnDateTime": "日期和時間", "DE.Views.Toolbar.capBtnInsChart": "圖表", "DE.Views.Toolbar.capBtnInsControls": "內容控制", - "DE.Views.Toolbar.capBtnInsDropcap": "首字大寫", + "DE.Views.Toolbar.capBtnInsDropcap": "插入首字大寫", "DE.Views.Toolbar.capBtnInsEquation": "方程式", "DE.Views.Toolbar.capBtnInsHeader": "頁首/頁尾", "DE.Views.Toolbar.capBtnInsImage": "圖像", @@ -3173,14 +3178,14 @@ "DE.Views.Toolbar.capImgWrapping": "包覆", "DE.Views.Toolbar.mniCapitalizeWords": "每個單字字首大寫", "DE.Views.Toolbar.mniCustomTable": "插入自訂表格", - "DE.Views.Toolbar.mniDrawTable": "畫表", + "DE.Views.Toolbar.mniDrawTable": "繪製表格", "DE.Views.Toolbar.mniEditControls": "控制設定", "DE.Views.Toolbar.mniEditDropCap": "首字大寫設定", - "DE.Views.Toolbar.mniEditFooter": "編輯頁腳", - "DE.Views.Toolbar.mniEditHeader": "編輯標題", - "DE.Views.Toolbar.mniEraseTable": "擦除表", - "DE.Views.Toolbar.mniFromFile": "從檔案", - "DE.Views.Toolbar.mniFromStorage": "從存儲", + "DE.Views.Toolbar.mniEditFooter": "編輯頁尾", + "DE.Views.Toolbar.mniEditHeader": "編輯頁首", + "DE.Views.Toolbar.mniEraseTable": "刪除表格", + "DE.Views.Toolbar.mniFromFile": "從檔案插入", + "DE.Views.Toolbar.mniFromStorage": "從儲存位置插入", "DE.Views.Toolbar.mniFromUrl": "從 URL", "DE.Views.Toolbar.mniHiddenBorders": "隱藏表格邊框", "DE.Views.Toolbar.mniHiddenChars": "非印刷字符", @@ -3193,7 +3198,7 @@ "DE.Views.Toolbar.mniRemoveFooter": "移除頁腳", "DE.Views.Toolbar.mniRemoveHeader": "移除頁首", "DE.Views.Toolbar.mniSentenceCase": "大寫句子頭", - "DE.Views.Toolbar.mniTextToTable": "轉換文字至表格", + "DE.Views.Toolbar.mniTextToTable": "將文字轉換為表格", "DE.Views.Toolbar.mniToggleCase": "轉換大小寫", "DE.Views.Toolbar.mniUpperCase": "大寫", "DE.Views.Toolbar.strMenuNoFill": "無填充", @@ -3207,7 +3212,7 @@ "DE.Views.Toolbar.textBullet": "項目符號", "DE.Views.Toolbar.textChangeLevel": "變更清單層級", "DE.Views.Toolbar.textCheckboxControl": "複選框", - "DE.Views.Toolbar.textColumnsCustom": "自定欄", + "DE.Views.Toolbar.textColumnsCustom": "自訂欄位", "DE.Views.Toolbar.textColumnsLeft": "左", "DE.Views.Toolbar.textColumnsOne": "一", "DE.Views.Toolbar.textColumnsRight": "右", @@ -3216,7 +3221,7 @@ "DE.Views.Toolbar.textComboboxControl": "組合框", "DE.Views.Toolbar.textContinuous": "連續", "DE.Views.Toolbar.textContPage": "連續頁面", - "DE.Views.Toolbar.textCopyright": "版權標誌", + "DE.Views.Toolbar.textCopyright": "版權符號", "DE.Views.Toolbar.textCustomLineNumbers": "行號選項", "DE.Views.Toolbar.textDateControl": "日期", "DE.Views.Toolbar.textDegree": "溫度符號", @@ -3224,10 +3229,11 @@ "DE.Views.Toolbar.textDivision": "除號", "DE.Views.Toolbar.textDollar": "美元符號", "DE.Views.Toolbar.textDropdownControl": "下拉選單", - "DE.Views.Toolbar.textEditWatermark": "自定浮水印", + "DE.Views.Toolbar.textEditWatermark": "自訂浮水印", "DE.Views.Toolbar.textEuro": "歐元符號", - "DE.Views.Toolbar.textEvenPage": "雙數頁", + "DE.Views.Toolbar.textEvenPage": "偶數頁", "DE.Views.Toolbar.textGreaterEqual": "大於或等於", + "DE.Views.Toolbar.textInfinity": "無限", "DE.Views.Toolbar.textInMargin": "在邊框內", "DE.Views.Toolbar.textInsColumnBreak": "插入分欄符", "DE.Views.Toolbar.textInsertPageCount": "插入頁數", @@ -3250,18 +3256,22 @@ "DE.Views.Toolbar.textNextPage": "下一頁", "DE.Views.Toolbar.textNoHighlight": "沒有突出顯示", "DE.Views.Toolbar.textNone": "無", + "DE.Views.Toolbar.textNotEqualTo": "不等於", "DE.Views.Toolbar.textOddPage": "奇數頁", - "DE.Views.Toolbar.textPageMarginsCustom": "自定邊距", - "DE.Views.Toolbar.textPageSizeCustom": "自定頁面大小", + "DE.Views.Toolbar.textPageMarginsCustom": "自訂邊界", + "DE.Views.Toolbar.textPageSizeCustom": "自訂頁面大小", "DE.Views.Toolbar.textPictureControl": "圖片", "DE.Views.Toolbar.textPlainControl": "純文本", "DE.Views.Toolbar.textPortrait": "直向方向", + "DE.Views.Toolbar.textRegistered": "註冊標誌", "DE.Views.Toolbar.textRemoveControl": "刪除內容控制", "DE.Views.Toolbar.textRemWatermark": "刪除水印", "DE.Views.Toolbar.textRestartEachPage": "重新開始每一頁", "DE.Views.Toolbar.textRestartEachSection": "重新開始每個部分", "DE.Views.Toolbar.textRichControl": "富文本", "DE.Views.Toolbar.textRight": "右: ", + "DE.Views.Toolbar.textSection": "分區標誌", + "DE.Views.Toolbar.textSquareRoot": "平方根", "DE.Views.Toolbar.textStrikeout": "刪除線", "DE.Views.Toolbar.textStyleMenuDelete": "刪除風格", "DE.Views.Toolbar.textStyleMenuDeleteAll": "刪除所有自定風格", @@ -3282,6 +3292,7 @@ "DE.Views.Toolbar.textTabProtect": "保護", "DE.Views.Toolbar.textTabReview": "評論;回顧", "DE.Views.Toolbar.textTabView": "檢視", + "DE.Views.Toolbar.textTilde": "波浪號", "DE.Views.Toolbar.textTitleError": "錯誤", "DE.Views.Toolbar.textToCurrent": "到當前位置", "DE.Views.Toolbar.textTop": "頂部: ", @@ -3308,7 +3319,7 @@ "DE.Views.Toolbar.tipEditHeader": "編輯頁眉或頁腳", "DE.Views.Toolbar.tipFontColor": "字體顏色", "DE.Views.Toolbar.tipFontName": "字體", - "DE.Views.Toolbar.tipFontSize": "字體大小", + "DE.Views.Toolbar.tipFontSize": "字型大小", "DE.Views.Toolbar.tipHighlightColor": "熒光色選", "DE.Views.Toolbar.tipHyphenation": "自動斷詞", "DE.Views.Toolbar.tipImgAlign": "對齊物件", @@ -3368,8 +3379,8 @@ "DE.Views.Toolbar.tipSynchronize": "該文檔已被其他帳戶更改。請單擊以儲存您的更改並重新加載更新。", "DE.Views.Toolbar.tipUndo": "復原", "DE.Views.Toolbar.tipWatermark": "編輯水印", - "DE.Views.Toolbar.txtDistribHor": "水平分佈", - "DE.Views.Toolbar.txtDistribVert": "垂直分佈", + "DE.Views.Toolbar.txtDistribHor": "水平分散對齊", + "DE.Views.Toolbar.txtDistribVert": "垂直分散對齊", "DE.Views.Toolbar.txtGroupBulletDoc": "文件項目符號", "DE.Views.Toolbar.txtGroupBulletLib": "項目符號庫", "DE.Views.Toolbar.txtGroupMultiDoc": "目前文件中的清單", @@ -3377,9 +3388,9 @@ "DE.Views.Toolbar.txtGroupNumDoc": "文件編號格式化", "DE.Views.Toolbar.txtGroupNumLib": "編號資料庫", "DE.Views.Toolbar.txtGroupRecent": "最近使用", - "DE.Views.Toolbar.txtMarginAlign": "對齊頁邊距", + "DE.Views.Toolbar.txtMarginAlign": "對齊至邊界", "DE.Views.Toolbar.txtObjectsAlign": "對齊所選物件", - "DE.Views.Toolbar.txtPageAlign": "對齊頁面", + "DE.Views.Toolbar.txtPageAlign": "對齊至頁面", "DE.Views.Toolbar.txtScheme1": "辦公室", "DE.Views.Toolbar.txtScheme10": "中位數", "DE.Views.Toolbar.txtScheme11": " 地鐵", @@ -3402,8 +3413,8 @@ "DE.Views.Toolbar.txtScheme7": "產權", "DE.Views.Toolbar.txtScheme8": "流程", "DE.Views.Toolbar.txtScheme9": "鑄造廠", - "DE.Views.ViewTab.textAlwaysShowToolbar": "永遠顯示工具欄", - "DE.Views.ViewTab.textDarkDocument": "夜間模式文件", + "DE.Views.ViewTab.textAlwaysShowToolbar": "始終顯示工具列", + "DE.Views.ViewTab.textDarkDocument": "暗色文件", "DE.Views.ViewTab.textFitToPage": "調整至頁面", "DE.Views.ViewTab.textFitToWidth": "調整至寬度", "DE.Views.ViewTab.textInterfaceTheme": "介面主題", @@ -3414,7 +3425,7 @@ "DE.Views.ViewTab.textRulers": "尺規", "DE.Views.ViewTab.textStatusBar": "狀態欄", "DE.Views.ViewTab.textZoom": "放大", - "DE.Views.ViewTab.tipDarkDocument": "夜間模式文件", + "DE.Views.ViewTab.tipDarkDocument": "暗色文件", "DE.Views.ViewTab.tipFitToPage": "調整至頁面", "DE.Views.ViewTab.tipFitToWidth": "調整至寬度", "DE.Views.ViewTab.tipHeadings": "標題", @@ -3424,8 +3435,8 @@ "DE.Views.WatermarkSettingsDialog.textColor": "文字顏色", "DE.Views.WatermarkSettingsDialog.textDiagonal": "對角線", "DE.Views.WatermarkSettingsDialog.textFont": "字體", - "DE.Views.WatermarkSettingsDialog.textFromFile": "從檔案", - "DE.Views.WatermarkSettingsDialog.textFromStorage": "從存儲", + "DE.Views.WatermarkSettingsDialog.textFromFile": "從檔案插入", + "DE.Views.WatermarkSettingsDialog.textFromStorage": "從儲存位置插入", "DE.Views.WatermarkSettingsDialog.textFromUrl": "從 URL", "DE.Views.WatermarkSettingsDialog.textHor": "水平", "DE.Views.WatermarkSettingsDialog.textImageW": "圖像水印", @@ -3441,6 +3452,6 @@ "DE.Views.WatermarkSettingsDialog.textTitle": "浮水印設定", "DE.Views.WatermarkSettingsDialog.textTransparency": "半透明", "DE.Views.WatermarkSettingsDialog.textUnderline": "底線", - "DE.Views.WatermarkSettingsDialog.tipFontName": "字體名稱", - "DE.Views.WatermarkSettingsDialog.tipFontSize": "字體大小" + "DE.Views.WatermarkSettingsDialog.tipFontName": "字型名稱", + "DE.Views.WatermarkSettingsDialog.tipFontSize": "字型大小" } \ No newline at end of file diff --git a/apps/documenteditor/main/locale/zh.json b/apps/documenteditor/main/locale/zh.json index 6cf552ca29..a0f9c542f1 100644 --- a/apps/documenteditor/main/locale/zh.json +++ b/apps/documenteditor/main/locale/zh.json @@ -342,6 +342,7 @@ "Common.UI.HSBColorPicker.textNoColor": "没有颜色", "Common.UI.InputFieldBtnCalendar.textDate": "选择日期", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "隐藏密码", + "Common.UI.InputFieldBtnPassword.textHintHold": "按住显示密码", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "显示密码", "Common.UI.SearchBar.textFind": "查找", "Common.UI.SearchBar.tipCloseSearch": "关闭搜索", @@ -2137,6 +2138,7 @@ "DE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "文档将打印在最后选择的或默认的打印机上", "DE.Views.FileMenuPanels.Settings.txtRunMacros": "全部启用", "DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "启用全部宏,并且不发出通知", + "DE.Views.FileMenuPanels.Settings.txtScreenReader": "打开屏幕朗读器支持", "DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "显示追踪更改", "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "拼写检查", "DE.Views.FileMenuPanels.Settings.txtStopMacros": "全部停用", @@ -2248,13 +2250,18 @@ "DE.Views.FormsTab.tipCheckBox": "“插入”复选框", "DE.Views.FormsTab.tipComboBox": "插入组合框", "DE.Views.FormsTab.tipComplexField": "插入复杂字段", + "DE.Views.FormsTab.tipCreateField": "要创建字段,请在工具栏中选择并点击所需的字段类型。该字段将出现在文档中。", "DE.Views.FormsTab.tipCreditCard": "插入信用卡号", "DE.Views.FormsTab.tipDateTime": "插入日期和时间", "DE.Views.FormsTab.tipDownloadForm": "将文件下载为可填充的OFORM文档", "DE.Views.FormsTab.tipDropDown": "插入下拉列表", "DE.Views.FormsTab.tipEmailField": "插入电子邮件地址", + "DE.Views.FormsTab.tipFieldSettings": "您可以在右侧边栏设置选定的字段。单击此图标可打开字段设置。", "DE.Views.FormsTab.tipFieldsLink": "了解更多关于字段参数", "DE.Views.FormsTab.tipFixedText": "插入固定文本字段", + "DE.Views.FormsTab.tipFormGroupKey": "对单选按钮进行分组可以更快进行填充。相同名称的选项会进行同步。用户只能勾选该组中的一个单选按钮。", + "DE.Views.FormsTab.tipFormKey": "您可以给一个字段或一组字段设置密钥。 当用户填写数据时,所有具有相同密钥的字段都将复制该数据。", + "DE.Views.FormsTab.tipHelpRoles": "使用管理角色功能,按用途对字段进行分组并分配负责的团队成员。", "DE.Views.FormsTab.tipImageField": "插入图片", "DE.Views.FormsTab.tipInlineText": "插入内联文本字段", "DE.Views.FormsTab.tipManager": "管理角色", @@ -2263,6 +2270,7 @@ "DE.Views.FormsTab.tipPrevForm": "转到上一个字段", "DE.Views.FormsTab.tipRadioBox": "插入单选按钮", "DE.Views.FormsTab.tipRolesLink": "了解更多关于角色", + "DE.Views.FormsTab.tipSaveFile": "点击“另存为OFORM”将表单保存为可填写的格式。", "DE.Views.FormsTab.tipSaveForm": "将文件另存为可填充的OFORM文档", "DE.Views.FormsTab.tipSubmit": "提交表单", "DE.Views.FormsTab.tipTextField": "插入文本字段", diff --git a/apps/documenteditor/mobile/locale/ar.json b/apps/documenteditor/mobile/locale/ar.json index ccc874b43f..2847f530ec 100644 --- a/apps/documenteditor/mobile/locale/ar.json +++ b/apps/documenteditor/mobile/locale/ar.json @@ -303,6 +303,7 @@ "textHeader": "الرأس", "textHeaderRow": "الصف الرأس", "textHighlightColor": "لون تمييز النص", + "textHorizontalText": "النص الأفقي", "textHyperlink": "رابط تشعبي", "textImage": "صورة", "textImageURL": "رابط صورة", @@ -364,6 +365,8 @@ "textRequired": "مطلوب", "textResizeToFitContent": "تغيير الحجم لملائمة المحتوى", "textRightAlign": "محاذاة لليمين", + "textRotateTextDown": "تدوير النص للأسفل", + "textRotateTextUp": "تدوير النص للأعلى", "textSa": "السبت", "textSameCreatedNewStyle": "تماما كالنمط الجديد المنشأ", "textSave": "حفظ", @@ -392,6 +395,7 @@ "textTableOfCont": "جدول المحتويات", "textTableOptions": "خيارات الجدول", "textText": "نص", + "textTextOrientation": "اتجاه النص", "textTextWrapping": "التفاف النص", "textTh": "الخميس", "textThrough": "خلال", @@ -404,11 +408,7 @@ "textWe": "الأربعاء", "textWrap": "التفاف", "textWrappingStyle": "نمط الالتفاف", - "textYourOption": "خيارك", - "textHorizontalText": "Horizontal Text", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textYourOption": "خيارك" }, "Error": { "convertationTimeoutText": "استغرق التحويل وقتا طويلا تم تجاوز المهلة", diff --git a/apps/documenteditor/mobile/locale/el.json b/apps/documenteditor/mobile/locale/el.json index 418b534264..f2d680d4a6 100644 --- a/apps/documenteditor/mobile/locale/el.json +++ b/apps/documenteditor/mobile/locale/el.json @@ -175,6 +175,12 @@ "textStandartColors": "Τυπικά Χρώματα", "textThemeColors": "Χρώματα Θέματος" }, + "Themes": { + "dark": "Σκουρόχρωμο", + "light": "Ανοιχτόχρωμο", + "system": "Ίδιο με το σύστημα", + "textTheme": "Θέμα" + }, "VersionHistory": { "notcriticalErrorTitle": "Προειδοποίηση", "textAnonymous": "Ανώνυμος", @@ -188,12 +194,6 @@ "textWarningRestoreVersion": "Το τρέχον αρχείο θα αποθηκευτεί στο ιστορικό εκδόσεων.", "titleWarningRestoreVersion": "Επαναφορά αυτής της έκδοσης;", "txtErrorLoadHistory": "Η φόρτωση του ιστορικού απέτυχε" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -262,6 +262,8 @@ "textCentered": "Κεντραρισμένη", "textChangeShape": "Αλλαγή Σχήματος", "textChart": "Γράφημα", + "textChooseAnItem": "Επιλέξτε ένα αντικείμενο", + "textChooseAnOption": "Κάντε μια επιλογή", "textClassic": "Κλασσικό", "textClose": "Κλείσιμο", "textColor": "Χρώμα", @@ -286,6 +288,7 @@ "textEmpty": "Κενό", "textEmptyImgUrl": "Πρέπει να καθορίσετε τη διεύθυνση URL της εικόνας.", "textEnterTitleNewStyle": "Εισαγωγή ονόματος νέας τεχνοτροπίας", + "textEnterYourOption": "Εισάγετε την επιλογή σας", "textFebruary": "Φεβρουάριος", "textFill": "Γέμισμα", "textFirstColumn": "Πρώτη Στήλη", @@ -300,6 +303,7 @@ "textHeader": "Κεφαλίδα", "textHeaderRow": "Σειρά Κεφαλίδας", "textHighlightColor": "Χρώμα Επισήμανσης", + "textHorizontalText": "Οριζόντιο κείμενο", "textHyperlink": "Υπερσύνδεσμος", "textImage": "Εικόνα", "textImageURL": "URL εικόνας", @@ -345,6 +349,7 @@ "textParagraphStyle": "Τεχνοτροπία Παραγράφου", "textPictureFromLibrary": "Εικόνα από τη βιβλιοθήκη", "textPictureFromURL": "Εικόνα από Σύνδεσμο", + "textPlaceholder": "Δέσμευση θέσης", "textPt": "pt", "textRecommended": "Προτεινόμενα", "textRefresh": "Ανανέωση", @@ -360,8 +365,11 @@ "textRequired": "Απαιτείται", "textResizeToFitContent": "Αλλαγή μεγέθους για προσαρμογή περιεχομένου", "textRightAlign": "Δεξιά Στοίχιση", + "textRotateTextDown": "Περιστροφή κειμένου κάτω", + "textRotateTextUp": "Περιστροφή κειμένου επάνω", "textSa": "Σαβ", "textSameCreatedNewStyle": "Ίδια με τη νέα δημιουργημένη τεχνοτροπία", + "textSave": "Αποθήκευση", "textScreenTip": "Συμβουλή Οθόνης", "textSelectObjectToEdit": "Επιλογή αντικειμένου για επεξεργασία", "textSendToBackground": "Μεταφορά στο Παρασκήνιο", @@ -387,6 +395,7 @@ "textTableOfCont": "ΠΠ", "textTableOptions": "Επιλογές πίνακα", "textText": "Κείμενο", + "textTextOrientation": "Προσανατολισμός κειμένου", "textTextWrapping": "Αναδίπλωση κειμένου", "textTh": "Πεμ", "textThrough": "Διά μέσου", @@ -399,16 +408,7 @@ "textWe": "Τετ", "textWrap": "Αναδίπλωση", "textWrappingStyle": "Τεχνοτροπία αναδίπλωσης", - "textChooseAnItem": "Choose an item", - "textChooseAnOption": "Choose an option", - "textEnterYourOption": "Enter your option", - "textHorizontalText": "Horizontal Text", - "textPlaceholder": "Placeholder", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textSave": "Save", - "textTextOrientation": "Text Orientation", - "textYourOption": "Your option" + "textYourOption": "Η επιλογή σας" }, "Error": { "convertationTimeoutText": "Υπέρβαση χρονικού ορίου μετατροπής.", @@ -625,6 +625,7 @@ "closeButtonText": "Κλείσιμο Αρχείου", "notcriticalErrorTitle": "Προειδοποίηση", "textAbout": "Περί", + "textAddToFavorites": "Προσθήκη στα αγαπημένα", "textApplication": "Εφαρμογή", "textApplicationSettings": "Ρυθμίσεις εφαρμογής", "textAuthor": "Συγγραφέας", @@ -637,6 +638,7 @@ "textChangePassword": "Αλλαγή Συνθηματικού", "textChooseEncoding": "Επιλέξτε Κωδικοποίηση", "textChooseTxtOptions": "Διαλέξτε TXT Επιλογές", + "textClearAllFields": "Εκκαθάριση όλων των πεδίων", "textCollaboration": "Συνεργασία", "textColorSchemes": "Χρωματικοί Συνδυασμοί", "textComment": "Σχόλιο", @@ -644,6 +646,7 @@ "textCommentsDisplay": "Εμφάνιση Σχολίων", "textCreated": "Δημιουργήθηκε", "textCustomSize": "Προσαρμοσμένο Μέγεθος", + "textDark": "Σκουρόχρωμο", "textDarkTheme": "Σκούρο θέμα", "textDialogUnprotect": "Εισάγετε συνθηματικό για αναίρεση της προστασίας εγγράφου", "textDirection": "Κατεύθυνση", @@ -664,6 +667,8 @@ "textEnableAllMacrosWithoutNotification": "Ενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση", "textEncoding": "Κωδικοποίηση", "textEncryptFile": "Κρυπτογράφηση Αρχείου", + "textExport": "Εξαγωγή", + "textExportAs": "Εξαγωγή ως", "textFastWV": "Γρήγορη Προβολή Δικτύου", "textFeedback": "Ανατροφοδότηση & Υποστήριξη", "textFillingForms": "Συμπλήρωση φορμών", @@ -680,6 +685,7 @@ "textLastModifiedBy": "Τελευταία Τροποποίηση Από", "textLeft": "Αριστερά", "textLeftToRight": "Αριστερά Προς Δεξιά", + "textLight": "Ανοιχτόχρωμο", "textLoading": "Φόρτωση...", "textLocation": "Τοποθεσία", "textMacrosSettings": "Ρυθμίσεις μακροεντολών", @@ -712,6 +718,7 @@ "textProtection": "Προστασία", "textProtectTurnOff": "Η προστασία είναι απενεργοποιημένη", "textReaderMode": "Κατάσταση Αναγνώστη", + "textRemoveFromFavorites": "Αφαίρεση από τα Αγαπημένα", "textReplace": "Αντικατάσταση", "textReplaceAll": "Αντικατάσταση όλων", "textRequired": "Απαιτείται", @@ -720,7 +727,9 @@ "textRestartApplication": "Παρακαλούμε επανεκκινήστε την εφαρμογή για να εφαρμοστούν οι αλλαγές", "textRight": "Δεξιά", "textRightToLeft": "Δεξιά Προς Αριστερά", + "textSameAsSystem": "Ίδιο με το σύστημα", "textSave": "Αποθήκευση", + "textSaveAsPdf": "Αποθήκευση ως PDF", "textSearch": "Αναζήτηση", "textSetPassword": "Ορισμός κωδικού πρόσβασης", "textSettings": "Ρυθμίσεις", @@ -729,7 +738,9 @@ "textSpellcheck": "Έλεγχος ορθογραφίας", "textStatistic": "Στατιστικά", "textSubject": "Θέμα", + "textSubmit": "Υποβολή", "textSymbols": "Σύμβολα", + "textTheme": "Θέμα", "textTitle": "Τίτλος", "textTop": "Πάνω", "textTrackedChanges": "Εντοπισμένες αλλαγές", @@ -768,18 +779,7 @@ "txtScheme6": "Συνάθροιση", "txtScheme7": "Μετοχή", "txtScheme8": "Ροή", - "txtScheme9": "Χυτήριο", - "textAddToFavorites": "Add to Favorites", - "textClearAllFields": "Clear All Fields", - "textDark": "Dark", - "textExport": "Export", - "textExportAs": "Export As", - "textLight": "Light", - "textRemoveFromFavorites": "Remove from Favorites", - "textSameAsSystem": "Same as system", - "textSaveAsPdf": "Save as PDF", - "textSubmit": "Submit", - "textTheme": "Theme" + "txtScheme9": "Χυτήριο" }, "Toolbar": { "dlgLeaveMsgText": "Έχετε μη αποθηκευμένες αλλαγές. Πατήστε 'Παραμονή στη Σελίδα' για να περιμένετε την αυτόματη αποθήκευση. Πατήστε 'Έξοδος από τη Σελίδα' για να απορρίψετε όλες τις μη αποθηκευμένες αλλαγές.", diff --git a/apps/documenteditor/mobile/locale/pt.json b/apps/documenteditor/mobile/locale/pt.json index 6f655df6a6..de6ebe7486 100644 --- a/apps/documenteditor/mobile/locale/pt.json +++ b/apps/documenteditor/mobile/locale/pt.json @@ -303,6 +303,7 @@ "textHeader": "Cabeçalho", "textHeaderRow": "Linha de Cabeçalho", "textHighlightColor": "Cor de realce", + "textHorizontalText": "Texto horizontal", "textHyperlink": "Hiperlink", "textImage": "Imagem", "textImageURL": "Imagem URL", @@ -364,6 +365,8 @@ "textRequired": "Necessário", "textResizeToFitContent": "Redimensionar para ajustar o conteúdo", "textRightAlign": "Alinhar à direita", + "textRotateTextDown": "Girar texto para baixo", + "textRotateTextUp": "Girar texto para cima", "textSa": "Sáb", "textSameCreatedNewStyle": "Igual ao novo estilo criado", "textSave": "Salvar", @@ -392,6 +395,7 @@ "textTableOfCont": "Índice", "textTableOptions": "Opções de tabela", "textText": "Тexto", + "textTextOrientation": "Orientação do texto", "textTextWrapping": "Disposição do texto", "textTh": "Qui.", "textThrough": "Através", @@ -404,11 +408,7 @@ "textWe": "Qua", "textWrap": "Encapsulamento", "textWrappingStyle": "Estilo da quebra", - "textYourOption": "Sua opção", - "textHorizontalText": "Horizontal Text", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textYourOption": "Sua opção" }, "Error": { "convertationTimeoutText": "Tempo limite de conversão excedido.", @@ -495,7 +495,7 @@ "printTextText": "Imprimindo documento...", "printTitleText": "Imprimindo documento", "savePreparingText": "Preparando para salvar", - "savePreparingTitle": "Preparando para salvar. Aguarde...", + "savePreparingTitle": "Preparando para salvar. Por favor, aguarde...", "saveTextText": "Salvando documento...", "saveTitleText": "Salvando documento", "sendMergeText": "Enviando mesclar...", diff --git a/apps/documenteditor/mobile/locale/sr.json b/apps/documenteditor/mobile/locale/sr.json index 7a5ea33f18..b10a872e3b 100644 --- a/apps/documenteditor/mobile/locale/sr.json +++ b/apps/documenteditor/mobile/locale/sr.json @@ -303,6 +303,7 @@ "textHeader": "Zaglavlje", "textHeaderRow": "Zaglavlje Red", "textHighlightColor": "Istakni Boju", + "textHorizontalText": "Horizontalni Tekst", "textHyperlink": "Hiperlink", "textImage": "Slika", "textImageURL": "URL Slike", @@ -364,6 +365,8 @@ "textRequired": "Potrebno", "textResizeToFitContent": "Promeni veličinu da Uklopi Sadržaj", "textRightAlign": "Desno Poravnanje", + "textRotateTextDown": "Rotiraj Tekst Dole ", + "textRotateTextUp": "Rotiraj Tekst Gore", "textSa": "Sub", "textSameCreatedNewStyle": "Isto kao kreirani novi stil", "textSave": "Sačuvaj", @@ -392,6 +395,7 @@ "textTableOfCont": "Sadržaj", "textTableOptions": "Tabela Opcija", "textText": "Tekst", + "textTextOrientation": "Tekst Orijentacija ", "textTextWrapping": "Obmotavanje Teksta", "textTh": "Čet", "textThrough": "Kroz", @@ -404,11 +408,7 @@ "textWe": "Sre", "textWrap": "Obmotaj", "textWrappingStyle": "Stil Obmotavanja", - "textYourOption": "Tvoja opcija", - "textHorizontalText": "Horizontal Text", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textYourOption": "Tvoja opcija" }, "Error": { "convertationTimeoutText": "Vremensko ograničenje preobraćanja prekoračeno.", diff --git a/apps/documenteditor/mobile/locale/zh.json b/apps/documenteditor/mobile/locale/zh.json index 32053f7fb0..35ec615c01 100644 --- a/apps/documenteditor/mobile/locale/zh.json +++ b/apps/documenteditor/mobile/locale/zh.json @@ -175,6 +175,12 @@ "textStandartColors": "标准颜色", "textThemeColors": "主题颜色" }, + "Themes": { + "dark": "深色", + "light": "浅色", + "system": "与系统一致", + "textTheme": "主题" + }, "VersionHistory": { "notcriticalErrorTitle": "警告", "textAnonymous": "匿名用户", @@ -188,12 +194,6 @@ "textWarningRestoreVersion": "当前文件将保存在版本历史记录中。", "titleWarningRestoreVersion": "是否还原此版本?", "txtErrorLoadHistory": "载入记录失败" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -262,6 +262,8 @@ "textCentered": "居中", "textChangeShape": "更改形状", "textChart": "图表", + "textChooseAnItem": "选择一项", + "textChooseAnOption": "选择一个选项", "textClassic": "经典", "textClose": "关闭", "textColor": "颜色", @@ -286,6 +288,7 @@ "textEmpty": "空", "textEmptyImgUrl": "您需要指定图像URL。", "textEnterTitleNewStyle": "输入新样式的名称", + "textEnterYourOption": "输入您的选项", "textFebruary": "二月", "textFill": "填入", "textFirstColumn": "第一列", @@ -300,6 +303,7 @@ "textHeader": "页眉", "textHeaderRow": "标题行", "textHighlightColor": "突出显示颜色", + "textHorizontalText": "横向文本", "textHyperlink": "超链接", "textImage": "图片", "textImageURL": "图片地址", @@ -345,6 +349,7 @@ "textParagraphStyle": "段落样式", "textPictureFromLibrary": "来自图库的图片", "textPictureFromURL": "来自网络的图片", + "textPlaceholder": "占位符", "textPt": "点", "textRecommended": "建议", "textRefresh": "刷新", @@ -360,8 +365,11 @@ "textRequired": "必填", "textResizeToFitContent": "调整大小以适应内容", "textRightAlign": "右对齐", + "textRotateTextDown": "向下旋转文字", + "textRotateTextUp": "向上旋转文字", "textSa": "Sa", "textSameCreatedNewStyle": "与创建的新样式相同", + "textSave": "保存", "textScreenTip": "屏幕提示", "textSelectObjectToEdit": "选择要编辑的对象", "textSendToBackground": "置于底层", @@ -387,6 +395,7 @@ "textTableOfCont": "目录", "textTableOptions": "表格选项", "textText": "文字", + "textTextOrientation": "文本方向", "textTextWrapping": "文本换行", "textTh": "Thur", "textThrough": "通过", @@ -399,16 +408,7 @@ "textWe": "我们", "textWrap": "包裹", "textWrappingStyle": "文字环绕样式", - "textChooseAnItem": "Choose an item", - "textChooseAnOption": "Choose an option", - "textEnterYourOption": "Enter your option", - "textHorizontalText": "Horizontal Text", - "textPlaceholder": "Placeholder", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textSave": "Save", - "textTextOrientation": "Text Orientation", - "textYourOption": "Your option" + "textYourOption": "您的选择" }, "Error": { "convertationTimeoutText": "转换超时", @@ -625,6 +625,7 @@ "closeButtonText": "关闭文件", "notcriticalErrorTitle": "警告", "textAbout": "关于", + "textAddToFavorites": "添加到收藏夹", "textApplication": "应用程序", "textApplicationSettings": "应用程序设置", "textAuthor": "作者", @@ -637,6 +638,7 @@ "textChangePassword": "修改密码", "textChooseEncoding": "选择编码", "textChooseTxtOptions": "选择TXT选项", + "textClearAllFields": "清除所有字段", "textCollaboration": "共同编辑", "textColorSchemes": "配色方案", "textComment": "批注", @@ -644,6 +646,8 @@ "textCommentsDisplay": "批注显示", "textCreated": "已创建", "textCustomSize": "自定义大小", + "textDark": "深色", + "textDarkTheme": "深色主题", "textDialogUnprotect": "输入密码以取消文档保护", "textDirection": "方向", "textDisableAll": "停用全部", @@ -663,6 +667,8 @@ "textEnableAllMacrosWithoutNotification": "启用所有不带通知的宏", "textEncoding": "编码", "textEncryptFile": "加密文件", + "textExport": "导出", + "textExportAs": "导出为", "textFastWV": "快速Web视图", "textFeedback": "反馈和支持", "textFillingForms": "填写表单", @@ -679,6 +685,7 @@ "textLastModifiedBy": "上次修改人是", "textLeft": "左", "textLeftToRight": "从左到右", + "textLight": "浅色", "textLoading": "加载中…", "textLocation": "位置", "textMacrosSettings": "宏设置", @@ -711,6 +718,7 @@ "textProtection": "保护", "textProtectTurnOff": "保护已关闭", "textReaderMode": "阅读模式", + "textRemoveFromFavorites": "从收藏夹中删除", "textReplace": "取代", "textReplaceAll": "全部取代", "textRequired": "必填", @@ -719,7 +727,9 @@ "textRestartApplication": "请重新启动应用程序以使更改生效", "textRight": "右", "textRightToLeft": "从右到左", + "textSameAsSystem": "与系统一致", "textSave": "保存", + "textSaveAsPdf": "另存为PDF", "textSearch": "搜索", "textSetPassword": "设置密码", "textSettings": "设置", @@ -728,7 +738,9 @@ "textSpellcheck": "拼字檢查", "textStatistic": "统计", "textSubject": "主题", + "textSubmit": "提交", "textSymbols": "符号", + "textTheme": "主题", "textTitle": "标题", "textTop": "顶部", "textTrackedChanges": "跟踪的更改", @@ -767,19 +779,7 @@ "txtScheme6": "大厅", "txtScheme7": "产权", "txtScheme8": "流程", - "txtScheme9": "铸造厂", - "textAddToFavorites": "Add to Favorites", - "textClearAllFields": "Clear All Fields", - "textDark": "Dark", - "textDarkTheme": "Dark Theme", - "textExport": "Export", - "textExportAs": "Export As", - "textLight": "Light", - "textRemoveFromFavorites": "Remove from Favorites", - "textSameAsSystem": "Same as system", - "textSaveAsPdf": "Save as PDF", - "textSubmit": "Submit", - "textTheme": "Theme" + "txtScheme9": "铸造厂" }, "Toolbar": { "dlgLeaveMsgText": "您有未保存的更改。单击“停留在此页面”等待自动保存。单击“离开此页面”放弃所有未保存的更改。", diff --git a/apps/pdfeditor/main/locale/ar.json b/apps/pdfeditor/main/locale/ar.json index b0c9f15c43..3fbef4d46c 100644 --- a/apps/pdfeditor/main/locale/ar.json +++ b/apps/pdfeditor/main/locale/ar.json @@ -540,6 +540,7 @@ "PDFE.Views.FileMenuPanels.Settings.txtNone": "عرض لا شيء", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrint": "أظهر زر الطباعة السريعة في رأس المحرر", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "ستتم طباعة المستند على آخر طابعة محددة أو افتراضية", + "PDFE.Views.FileMenuPanels.Settings.txtScreenReader": "تشغيل دعم قارئ الشاشة", "PDFE.Views.FileMenuPanels.Settings.txtStrictTip": "استخدم الزر \"حفظ\" لمزامنة التغييرات التي تجريها أنت والآخرون", "PDFE.Views.FileMenuPanels.Settings.txtUseAltKey": "استخدم مفتاح Alt للتنقل في واجهة المستخدم باستخدام لوحة المفاتيح", "PDFE.Views.FileMenuPanels.Settings.txtUseOptionKey": "استخدم مفتاح الخيار للتنقل في واجهة المستخدم باستخدام لوحة المفاتيح", diff --git a/apps/pdfeditor/main/locale/el.json b/apps/pdfeditor/main/locale/el.json index aa7a49b5a8..6ab2c62be7 100644 --- a/apps/pdfeditor/main/locale/el.json +++ b/apps/pdfeditor/main/locale/el.json @@ -166,6 +166,9 @@ "Common.Views.Comments.textResolve": "Επίλυση", "Common.Views.Comments.textResolved": "Επιλύθηκε", "Common.Views.Comments.textSort": "Ταξινόμηση σχολίων", + "Common.Views.Comments.textSortFilter": "Ταξινόμηση και φιλτράρισμα σχολίων", + "Common.Views.Comments.textSortFilterMore": "Ταξινόμηση, φιλτράρισμα και άλλα", + "Common.Views.Comments.textSortMore": "Ταξινόμηση και άλλα", "Common.Views.Comments.textViewResolved": "Δεν έχετε άδεια να ανοίξετε ξανά το σχόλιο", "Common.Views.Comments.txtEmpty": "Δεν υπάρχουν σχόλια στο έγγραφο.", "Common.Views.CopyWarningDialog.textDontShow": "Να μην εμφανιστεί ξανά αυτό το μήνυμα", @@ -303,6 +306,7 @@ "PDFE.Controllers.Main.errorDirectUrl": "Παρακαλούμε επιβεβαιώστε τον σύνδεσμο προς το έγγραφο.
    Αυτός ο σύνδεσμος πρέπει να είναι άμεσος σύνδεσμος προς το αρχείο για λήψη.", "PDFE.Controllers.Main.errorEditingDownloadas": "Παρουσιάστηκε σφάλμα κατά την εργασία με το έγγραφο.
    Χρησιμοποιήστε την επιλογή «Λήψη ως» για να αποθηκεύσετε το αντίγραφο ασφαλείας στον σκληρό δίσκο του υπολογιστή σας.", "PDFE.Controllers.Main.errorEditingSaveas": "Παρουσιάστηκε σφάλμα κατά την εργασία με το έγγραφο.
    Χρησιμοποιήστε την επιλογή «Αποθήκευση ως...» για να αποθηκεύσετε το αντίγραφο ασφαλείας στον σκληρό δίσκο του υπολογιστή σας.", + "PDFE.Controllers.Main.errorEmailClient": "Δε βρέθηκε καμιά εφαρμογή email.", "PDFE.Controllers.Main.errorFilePassProtect": "Το αρχείο προστατεύεται με συνθηματικό και δεν μπορεί να ανοίξει.", "PDFE.Controllers.Main.errorFileSizeExceed": "Το μέγεθος του αρχείου υπερβαίνει το όριο που έχει οριστεί για τον διακομιστή σας.
    Παρακαλούμε επικοινωνήστε με τον διαχειριστή του Εξυπηρετητή Εγγράφων για λεπτομέρειες.", "PDFE.Controllers.Main.errorForceSave": "Παρουσιάστηκε σφάλμα κατά την αποθήκευση του αρχείου. Χρησιμοποιήστε την επιλογή «Λήψη ως» για να αποθηκεύσετε το αρχείο στον σκληρό δίσκο του υπολογιστή σας ή δοκιμάστε ξανά αργότερα.", @@ -432,12 +436,14 @@ "PDFE.Controllers.Search.warnReplaceString": "{0} δεν είναι ένας έγκυρος ειδικός χαρακτήρας για το πλαίσιο Αντικατάσταση με.", "PDFE.Controllers.Statusbar.textDisconnect": "Η σύνδεση χάθηκε
    Απόπειρα επανασύνδεσης. Παρακαλούμε ελέγξτε τις ρυθμίσεις σύνδεσης.", "PDFE.Controllers.Statusbar.zoomText": "Εστίαση {0}%", + "PDFE.Controllers.Toolbar.errorAccessDeny": "Προσπαθείτε να εκτελέσετε μια ενέργεια για την οποία δεν έχετε δικαιώματα.
    Παρακαλούμε να επικοινωνήστε με τον διαχειριστή του διακομιστή εγγράφων.", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "Προειδοποίηση", "PDFE.Controllers.Toolbar.textWarning": "Προειδοποίηση", "PDFE.Controllers.Toolbar.txtDownload": "Λήψη", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "Για να αποθηκεύσετε τις αλλαγές στο αρχείο, μεταβείτε στη λειτουργία Μετατροπής. Ή μπορείτε να κατεβάσετε ένα αντίγραφο του τροποποιημένου αρχείου.", "PDFE.Controllers.Toolbar.txtNeedDownload": "Προς το παρόν, το πρόγραμμα προβολής PDF μπορεί να αποθηκεύσει μόνο νέες αλλαγές σε ξεχωριστά αντίγραφα αρχείων. Δεν υποστηρίζει από κοινού επεξεργασία και άλλοι χρήστες δεν θα βλέπουν τις αλλαγές σας, εκτός εάν κάνετε κοινή χρήση μιας νέας έκδοσης αρχείου.", "PDFE.Controllers.Toolbar.txtSaveCopy": "Αποθήκευση αντιγράφου", + "PDFE.Controllers.Toolbar.txtUntitled": "Άτιτλο", "PDFE.Controllers.Viewport.textFitPage": "Προσαρμογή στη σελίδα", "PDFE.Controllers.Viewport.textFitWidth": "Προσαρμογή στο πλάτος", "PDFE.Controllers.Viewport.txtDarkMode": "Σκούρο θέμα", @@ -534,6 +540,7 @@ "PDFE.Views.FileMenuPanels.Settings.txtNone": "Προβολή κανενός", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrint": "Εμφάνιση του κουμπιού γρήγορης εκτύπωσης στην κεφαλίδα του προγράμματος επεξεργασίας", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Το έγγραφο θα εκτυπωθεί στον τελευταίο επιλεγμένο ή προεπιλεγμένο εκτυπωτή", + "PDFE.Views.FileMenuPanels.Settings.txtScreenReader": "Ενεργοποίηση υποστήριξης προγράμματος ανάγνωσης οθόνης", "PDFE.Views.FileMenuPanels.Settings.txtStrictTip": "Χρησιμοποιήστε το κουμπί \"Αποθήκευση\" για να συγχρονίσετε τις αλλαγές που κάνετε εσείς και άλλοι", "PDFE.Views.FileMenuPanels.Settings.txtUseAltKey": "Χρησιμοποιήστε το πλήκτρο Alt για πλοήγηση στη διεπαφή χρήστη χρησιμοποιώντας το πληκτρολόγιο", "PDFE.Views.FileMenuPanels.Settings.txtUseOptionKey": "Χρησιμοποιήστε το πλήκτρο επιλογής για πλοήγηση στη διεπαφή χρήστη χρησιμοποιώντας το πληκτρολόγιο", diff --git a/apps/pdfeditor/main/locale/en.json b/apps/pdfeditor/main/locale/en.json index cedc6f34f0..70c252d164 100644 --- a/apps/pdfeditor/main/locale/en.json +++ b/apps/pdfeditor/main/locale/en.json @@ -325,6 +325,7 @@ "PDFE.Controllers.Main.errorSessionIdle": "The document has not been edited for quite a long time. Please reload the page.", "PDFE.Controllers.Main.errorSessionToken": "The connection to the server has been interrupted. Please reload the page.", "PDFE.Controllers.Main.errorSetPassword": "Password could not be set.", + "PDFE.Controllers.Main.errorTextFormWrongFormat": "The value entered does not match the format of the field.", "PDFE.Controllers.Main.errorToken": "The document security token is not correctly formed.
    Please contact your Document Server administrator.", "PDFE.Controllers.Main.errorTokenExpire": "The document security token has expired.
    Please contact your Document Server administrator.", "PDFE.Controllers.Main.errorUpdateVersion": "The file version has been changed. The page will be reloaded.", @@ -388,6 +389,7 @@ "PDFE.Controllers.Main.titleLicenseNotActive": "License not active", "PDFE.Controllers.Main.titleServerVersion": "Editor updated", "PDFE.Controllers.Main.titleUpdateVersion": "Version changed", + "PDFE.Controllers.Main.txtArt": "Your text here", "PDFE.Controllers.Main.txtChoose": "Choose an item", "PDFE.Controllers.Main.txtClickToLoad": "Click to load image", "PDFE.Controllers.Main.txtEditingMode": "Set editing mode...", @@ -423,8 +425,6 @@ "PDFE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
    Contact %1 sales team for personal upgrade terms.", "PDFE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "PDFE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", - "PDFE.Controllers.Main.errorTextFormWrongFormat": "The value entered does not match the format of the field.", - "PDFE.Controllers.Main.txtArt": "Your text here", "PDFE.Controllers.Navigation.txtBeginning": "Beginning of document", "PDFE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document", "PDFE.Controllers.Print.textMarginsLast": "Last Custom", @@ -440,29 +440,29 @@ "PDFE.Controllers.Statusbar.zoomText": "Zoom {0}%", "PDFE.Controllers.Toolbar.errorAccessDeny": "You are trying to perform an action you do not have rights for.
    Please contact your Document Server administrator.", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "Warning", + "PDFE.Controllers.Toolbar.textGotIt": "Got it", + "PDFE.Controllers.Toolbar.textRequired": "Fill all required fields to send form.", + "PDFE.Controllers.Toolbar.textSubmited": "Form submitted successfully
    Click to close the tip.", "PDFE.Controllers.Toolbar.textWarning": "Warning", "PDFE.Controllers.Toolbar.txtDownload": "Download", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "To save changes to the file, switch to Сommenting mode. Or you can download a copy of the modified file.", "PDFE.Controllers.Toolbar.txtNeedDownload": "At the moment, PDF viewer can only save new changes in separate file copies. It doesn't support co-editing and other users won't see your changes unless you share a new file version.", "PDFE.Controllers.Toolbar.txtSaveCopy": "Save copy", "PDFE.Controllers.Toolbar.txtUntitled": "Untitled", - "PDFE.Controllers.Toolbar.textRequired": "Fill all required fields to send form.", - "PDFE.Controllers.Toolbar.textGotIt": "Got it", - "PDFE.Controllers.Toolbar.textSubmited": "Form submitted successfully
    Click to close the tip.", "PDFE.Controllers.Viewport.textFitPage": "Fit to Page", "PDFE.Controllers.Viewport.textFitWidth": "Fit to Width", "PDFE.Controllers.Viewport.txtDarkMode": "Dark mode", "PDFE.Views.DocumentHolder.addCommentText": "Add Comment", - "PDFE.Views.DocumentHolder.textCopy": "Copy", - "PDFE.Views.DocumentHolder.txtWarnUrl": "Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?", "PDFE.Views.DocumentHolder.mniImageFromFile": "Image from File", - "PDFE.Views.DocumentHolder.mniImageFromUrl": "Image from URL", "PDFE.Views.DocumentHolder.mniImageFromStorage": "Image from Storage", - "PDFE.Views.DocumentHolder.textUndo": "Undo", - "PDFE.Views.DocumentHolder.textRedo": "Redo", + "PDFE.Views.DocumentHolder.mniImageFromUrl": "Image from URL", + "PDFE.Views.DocumentHolder.textClearField": "Clear field", + "PDFE.Views.DocumentHolder.textCopy": "Copy", "PDFE.Views.DocumentHolder.textCut": "Cut", "PDFE.Views.DocumentHolder.textPaste": "Paste", - "PDFE.Views.DocumentHolder.textClearField": "Clear field", + "PDFE.Views.DocumentHolder.textRedo": "Redo", + "PDFE.Views.DocumentHolder.textUndo": "Undo", + "PDFE.Views.DocumentHolder.txtWarnUrl": "Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?", "PDFE.Views.FileMenu.btnBackCaption": "Open file location", "PDFE.Views.FileMenu.btnCloseMenuCaption": "Close Menu", "PDFE.Views.FileMenu.btnCreateNewCaption": "Create New", @@ -654,13 +654,22 @@ "PDFE.Views.Statusbar.tipZoomOut": "Zoom out", "PDFE.Views.Statusbar.txtPageNumInvalid": "Page number invalid", "PDFE.Views.Toolbar.capBtnComment": "Comment", + "PDFE.Views.Toolbar.capBtnDownloadForm": "Download as pdf", "PDFE.Views.Toolbar.capBtnHand": "Hand", + "PDFE.Views.Toolbar.capBtnNext": "Next Field", + "PDFE.Views.Toolbar.capBtnPrev": "Previous Field", "PDFE.Views.Toolbar.capBtnRotate": "Rotate", + "PDFE.Views.Toolbar.capBtnSaveForm": "Save as pdf", + "PDFE.Views.Toolbar.capBtnSaveFormDesktop": "Save as...", "PDFE.Views.Toolbar.capBtnSelect": "Select", "PDFE.Views.Toolbar.capBtnShowComments": "Show Comments", + "PDFE.Views.Toolbar.capBtnSubmit": "Submit", "PDFE.Views.Toolbar.strMenuNoFill": "No Fill", + "PDFE.Views.Toolbar.textClear": "Clear Fields", + "PDFE.Views.Toolbar.textClearFields": "Clear All Fields", "PDFE.Views.Toolbar.textHighlight": "Highlight", "PDFE.Views.Toolbar.textStrikeout": "Strikeout", + "PDFE.Views.Toolbar.textSubmited": "Form submitted successfully", "PDFE.Views.Toolbar.textTabComment": "Comment", "PDFE.Views.Toolbar.textTabFile": "File", "PDFE.Views.Toolbar.textTabHome": "Home", @@ -669,11 +678,14 @@ "PDFE.Views.Toolbar.tipAddComment": "Add comment", "PDFE.Views.Toolbar.tipCopy": "Copy", "PDFE.Views.Toolbar.tipCut": "Cut", + "PDFE.Views.Toolbar.tipDownloadForm": "Download a file as a fillable PDF", "PDFE.Views.Toolbar.tipFirstPage": "Go to the first page", "PDFE.Views.Toolbar.tipHandTool": "Hand tool", "PDFE.Views.Toolbar.tipLastPage": "Go to the last page", + "PDFE.Views.Toolbar.tipNextForm": "Go to the next field", "PDFE.Views.Toolbar.tipNextPage": "Go to the next page", "PDFE.Views.Toolbar.tipPaste": "Paste", + "PDFE.Views.Toolbar.tipPrevForm": "Go to the previous field", "PDFE.Views.Toolbar.tipPrevPage": "Go to the previous page", "PDFE.Views.Toolbar.tipPrint": "Print", "PDFE.Views.Toolbar.tipPrintQuick": "Quick print", @@ -681,24 +693,12 @@ "PDFE.Views.Toolbar.tipRotate": "Rotate pages", "PDFE.Views.Toolbar.tipSave": "Save", "PDFE.Views.Toolbar.tipSaveCoauth": "Save your changes for the other users to see them.", + "PDFE.Views.Toolbar.tipSaveForm": "Save a file as a fillable PDF", "PDFE.Views.Toolbar.tipSelectAll": "Select all", "PDFE.Views.Toolbar.tipSelectTool": "Select tool", + "PDFE.Views.Toolbar.tipSubmit": "Submit form", "PDFE.Views.Toolbar.tipSynchronize": "The document has been changed by another user. Please click to save your changes and reload the updates.", "PDFE.Views.Toolbar.tipUndo": "Undo", - "PDFE.Views.Toolbar.textClearFields": "Clear All Fields", - "PDFE.Views.Toolbar.textClear": "Clear Fields", - "PDFE.Views.Toolbar.capBtnPrev": "Previous Field", - "PDFE.Views.Toolbar.capBtnNext": "Next Field", - "PDFE.Views.Toolbar.capBtnSubmit": "Submit", - "PDFE.Views.Toolbar.tipPrevForm": "Go to the previous field", - "PDFE.Views.Toolbar.tipNextForm": "Go to the next field", - "PDFE.Views.Toolbar.tipSubmit": "Submit form", - "PDFE.Views.Toolbar.textSubmited": "Form submitted successfully", - "PDFE.Views.Toolbar.capBtnSaveForm": "Save as pdf", - "PDFE.Views.Toolbar.capBtnSaveFormDesktop": "Save as...", - "PDFE.Views.Toolbar.tipSaveForm": "Save a file as a fillable PDF", - "PDFE.Views.Toolbar.capBtnDownloadForm": "Download as pdf", - "PDFE.Views.Toolbar.tipDownloadForm": "Download a file as a fillable PDF", "PDFE.Views.ViewTab.textAlwaysShowToolbar": "Always Show Toolbar", "PDFE.Views.ViewTab.textDarkDocument": "Dark Document", "PDFE.Views.ViewTab.textFitToPage": "Fit To Page", diff --git a/apps/pdfeditor/main/locale/pl.json b/apps/pdfeditor/main/locale/pl.json index a601383500..96d729a22e 100644 --- a/apps/pdfeditor/main/locale/pl.json +++ b/apps/pdfeditor/main/locale/pl.json @@ -571,6 +571,7 @@ "PDFE.Views.PrintWithPreview.txtPageSize": "Rozmiar strony", "PDFE.Views.PrintWithPreview.txtPortrait": "Pionowa", "PDFE.Views.PrintWithPreview.txtPrint": "Drukuj", + "PDFE.Views.PrintWithPreview.txtPrintPdf": "Zapisz jako PDF", "PDFE.Views.PrintWithPreview.txtPrintRange": "Drukuj zakres", "PDFE.Views.PrintWithPreview.txtRight": "Prawy", "PDFE.Views.PrintWithPreview.txtSelection": "Zaznaczenie", diff --git a/apps/pdfeditor/main/locale/pt.json b/apps/pdfeditor/main/locale/pt.json index bf2e0e1e09..a074d87b43 100644 --- a/apps/pdfeditor/main/locale/pt.json +++ b/apps/pdfeditor/main/locale/pt.json @@ -540,6 +540,7 @@ "PDFE.Views.FileMenuPanels.Settings.txtNone": "Visualizar nenhum", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrint": "Mostrar o botão Impressão rápida no cabeçalho do editor", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "O documento será impresso na última impressora selecionada ou padrão", + "PDFE.Views.FileMenuPanels.Settings.txtScreenReader": "Habilitar o suporte ao leitor de tela", "PDFE.Views.FileMenuPanels.Settings.txtStrictTip": "Use o botão \"Salvar\" para sincronizar as alterações que você e outras pessoas fazem", "PDFE.Views.FileMenuPanels.Settings.txtUseAltKey": "Use a tecla Alt para navegar na interface do usuário usando o teclado", "PDFE.Views.FileMenuPanels.Settings.txtUseOptionKey": "Use a tecla Opção para navegar na interface do usuário usando o teclado", diff --git a/apps/pdfeditor/main/locale/ro.json b/apps/pdfeditor/main/locale/ro.json index f296fe939a..6efe61f701 100644 --- a/apps/pdfeditor/main/locale/ro.json +++ b/apps/pdfeditor/main/locale/ro.json @@ -325,6 +325,7 @@ "PDFE.Controllers.Main.errorSessionIdle": "Acțiunile de editare a documentului nu s-au efectuat de ceva timp. Încercați să reîmprospătați pagina.", "PDFE.Controllers.Main.errorSessionToken": "Conexeunea la server s-a întrerupt. Încercați să reîmprospătati pagina.", "PDFE.Controllers.Main.errorSetPassword": "Setarea parolei eșuată.", + "PDFE.Controllers.Main.errorTextFormWrongFormat": "Ați introdus o valoare care nu corespunde cu formatul câmpului.", "PDFE.Controllers.Main.errorToken": "Token de securitate din document este format în mod incorect.
    Contactați administratorul dvs. de Server Documente.", "PDFE.Controllers.Main.errorTokenExpire": "Token de securitate din document a expirat.
    Contactați administratorul dvs. de Server Documente.", "PDFE.Controllers.Main.errorUpdateVersion": "Versiunea fișierului s-a modificat. Pagina va fi reîmprospătată.", @@ -388,6 +389,7 @@ "PDFE.Controllers.Main.titleLicenseNotActive": "Licența nu este activă", "PDFE.Controllers.Main.titleServerVersion": "Editorul a fost actualizat", "PDFE.Controllers.Main.titleUpdateVersion": "Versiunea s-a modificat", + "PDFE.Controllers.Main.txtArt": "Textul dvs. aici", "PDFE.Controllers.Main.txtChoose": "Selectați un element", "PDFE.Controllers.Main.txtClickToLoad": "Faceți clic pentru a încărca imaginea", "PDFE.Controllers.Main.txtEditingMode": "Setare modul de editare...", @@ -438,6 +440,9 @@ "PDFE.Controllers.Statusbar.zoomText": "Zoom {0}%", "PDFE.Controllers.Toolbar.errorAccessDeny": "Nu aveți dreptul să efectuați acțiunea pe care doriți.
    Contactați administratorul dumneavoastră de Server Documente.", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "Avertisment", + "PDFE.Controllers.Toolbar.textGotIt": "Am înțeles", + "PDFE.Controllers.Toolbar.textRequired": "Toate câmpurile din formular trebuie completate înainte de a-l trimite.", + "PDFE.Controllers.Toolbar.textSubmited": "Formularul trimis cu succes
    Faceți clic pentru a închide sfatul.", "PDFE.Controllers.Toolbar.textWarning": "Avertisment", "PDFE.Controllers.Toolbar.txtDownload": "Descărcare", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "Pentru a salva fișierul, treceți în modul Comentarii. Sau puteți descărca o copie a fișierului modificat.", @@ -448,7 +453,15 @@ "PDFE.Controllers.Viewport.textFitWidth": "Potrivire lățime", "PDFE.Controllers.Viewport.txtDarkMode": "Modul Întunecat", "PDFE.Views.DocumentHolder.addCommentText": "Adăugare comentariu", + "PDFE.Views.DocumentHolder.mniImageFromFile": "Imaginea din fișier", + "PDFE.Views.DocumentHolder.mniImageFromStorage": "Imaginea din serviciul stocare", + "PDFE.Views.DocumentHolder.mniImageFromUrl": "Imaginea prin URL", + "PDFE.Views.DocumentHolder.textClearField": "Golire câmp", "PDFE.Views.DocumentHolder.textCopy": "Copiere", + "PDFE.Views.DocumentHolder.textCut": "Decupare", + "PDFE.Views.DocumentHolder.textPaste": "Lipire", + "PDFE.Views.DocumentHolder.textRedo": "Refacere", + "PDFE.Views.DocumentHolder.textUndo": "Anulare", "PDFE.Views.DocumentHolder.txtWarnUrl": "Un clic pe acest link ar putea căuza daune dispozitivului și datelor dvs.
    Sunteți sigur că doriți să continuați?", "PDFE.Views.FileMenu.btnBackCaption": "Deschidere locația fișierului", "PDFE.Views.FileMenu.btnCloseMenuCaption": "Închidere meniu", @@ -507,6 +520,19 @@ "PDFE.Views.FileMenuPanels.DocumentRights.txtAccessRights": "Permisiuni de acces", "PDFE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Modificare permisiuni", "PDFE.Views.FileMenuPanels.DocumentRights.txtRights": "Persoane care au dreptul de acces", + "PDFE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "Prin parolă", + "PDFE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protejare document", + "PDFE.Views.FileMenuPanels.ProtectDoc.strSignature": "Prin semnătură", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddedSignature": "Semnături valide au fost adăugate la documentul.
    Documentul este protejat împotriva editării.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddSignature": "Asigurați integritatea documentului prin adăugarea unei
    semnături digitale invizibile", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Editare document", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "În rezultatul editării toate semnăturile din document vor fi șterse.
    Sunteți sigur că doriți să continuați? ", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Documentul este ptotejat cu parolă", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtProtectDocument": "Criptare document cu o parolă", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtRequestedSignatures": "Acest document trebuie să fie semnat.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSigned": "Semnături valide au fost adăugate la documentul. Documentul este protejat împotriva editării.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "O parte din semnături electronice pe documentul nu sunt valide sau nu pot fi verificate. Documentul este protejat împotriva editării.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtView": "Vizualizare semnături", "PDFE.Views.FileMenuPanels.Settings.okButtonText": "Aplicare", "PDFE.Views.FileMenuPanels.Settings.strCoAuthMode": "Modul de editare colaborativă", "PDFE.Views.FileMenuPanels.Settings.strFast": "Rapid", @@ -628,13 +654,22 @@ "PDFE.Views.Statusbar.tipZoomOut": "Micșorare", "PDFE.Views.Statusbar.txtPageNumInvalid": "Număr de pagină nevalid", "PDFE.Views.Toolbar.capBtnComment": "Comentariu", + "PDFE.Views.Toolbar.capBtnDownloadForm": "Descărcare ca pdf", "PDFE.Views.Toolbar.capBtnHand": "Mână", + "PDFE.Views.Toolbar.capBtnNext": "Câmpul următor", + "PDFE.Views.Toolbar.capBtnPrev": "Câmpul anterior", "PDFE.Views.Toolbar.capBtnRotate": "Rotire", + "PDFE.Views.Toolbar.capBtnSaveForm": "Salvare ca PDF", + "PDFE.Views.Toolbar.capBtnSaveFormDesktop": "Salvare ca...", "PDFE.Views.Toolbar.capBtnSelect": "Selectare", "PDFE.Views.Toolbar.capBtnShowComments": "Afișare comentarii", + "PDFE.Views.Toolbar.capBtnSubmit": "Trimitere", "PDFE.Views.Toolbar.strMenuNoFill": "Fără umplere", + "PDFE.Views.Toolbar.textClear": "Golirea câmpurilor", + "PDFE.Views.Toolbar.textClearFields": "Goleşte toate câmpurile", "PDFE.Views.Toolbar.textHighlight": "Evidențiere", "PDFE.Views.Toolbar.textStrikeout": "Tăiere cu o linie", + "PDFE.Views.Toolbar.textSubmited": "Formularul a fost trimis cu succes", "PDFE.Views.Toolbar.textTabComment": "Comentariu", "PDFE.Views.Toolbar.textTabFile": "Fişier", "PDFE.Views.Toolbar.textTabHome": "Acasă", @@ -643,11 +678,14 @@ "PDFE.Views.Toolbar.tipAddComment": "Adăugare comentariu", "PDFE.Views.Toolbar.tipCopy": "Copiere", "PDFE.Views.Toolbar.tipCut": "Decupare", + "PDFE.Views.Toolbar.tipDownloadForm": "Descărcare fişier ca un PDF completabil", "PDFE.Views.Toolbar.tipFirstPage": "Prima pagină ", "PDFE.Views.Toolbar.tipHandTool": "Instrumentul Mână", "PDFE.Views.Toolbar.tipLastPage": "Ultima pagină", + "PDFE.Views.Toolbar.tipNextForm": "Salt la câmpul următor", "PDFE.Views.Toolbar.tipNextPage": "Pagina următoare", "PDFE.Views.Toolbar.tipPaste": "Lipire", + "PDFE.Views.Toolbar.tipPrevForm": "Salt la câmpul anterior", "PDFE.Views.Toolbar.tipPrevPage": "Pagina anterioară", "PDFE.Views.Toolbar.tipPrint": "Imprimare", "PDFE.Views.Toolbar.tipPrintQuick": "Imprimare rapidă", @@ -655,8 +693,10 @@ "PDFE.Views.Toolbar.tipRotate": "Rotire pagină", "PDFE.Views.Toolbar.tipSave": "Salvare", "PDFE.Views.Toolbar.tipSaveCoauth": "Salvați modificările dvs. ca alți utilizatorii să le vadă.", + "PDFE.Views.Toolbar.tipSaveForm": "Salvare fișier ca un PDF completabil", "PDFE.Views.Toolbar.tipSelectAll": "Selectare totală", "PDFE.Views.Toolbar.tipSelectTool": "Instrumentul Selectare", + "PDFE.Views.Toolbar.tipSubmit": "Trimitere formular", "PDFE.Views.Toolbar.tipSynchronize": "Documentul a fost modificat de către un alt utilizator. Salvați modificările făcute de dumneavoastră și reîmprospătați documentul.", "PDFE.Views.Toolbar.tipUndo": "Anulare", "PDFE.Views.ViewTab.textAlwaysShowToolbar": "Afișează bară de instrumente permanent", diff --git a/apps/pdfeditor/main/locale/ru.json b/apps/pdfeditor/main/locale/ru.json index 4cd110d6f7..949ab53aee 100644 --- a/apps/pdfeditor/main/locale/ru.json +++ b/apps/pdfeditor/main/locale/ru.json @@ -325,6 +325,7 @@ "PDFE.Controllers.Main.errorSessionIdle": "Документ долгое время не редактировался. Пожалуйста, обновите страницу.", "PDFE.Controllers.Main.errorSessionToken": "Подключение к серверу было прервано. Пожалуйста, обновите страницу.", "PDFE.Controllers.Main.errorSetPassword": "Не удалось задать пароль.", + "PDFE.Controllers.Main.errorTextFormWrongFormat": "Введенное значение не соответствует формату поля.", "PDFE.Controllers.Main.errorToken": "Токен безопасности документа имеет неправильный формат.
    Пожалуйста, обратитесь к администратору Сервера документов.", "PDFE.Controllers.Main.errorTokenExpire": "Истек срок действия токена безопасности документа.
    Пожалуйста, обратитесь к администратору Сервера документов.", "PDFE.Controllers.Main.errorUpdateVersion": "Версия файла была изменена. Страница будет перезагружена.", @@ -388,6 +389,7 @@ "PDFE.Controllers.Main.titleLicenseNotActive": "Лицензия неактивна", "PDFE.Controllers.Main.titleServerVersion": "Редактор обновлен", "PDFE.Controllers.Main.titleUpdateVersion": "Версия изменилась", + "PDFE.Controllers.Main.txtArt": "Введите ваш текст", "PDFE.Controllers.Main.txtChoose": "Выберите элемент", "PDFE.Controllers.Main.txtClickToLoad": "Нажмите для загрузки изображения", "PDFE.Controllers.Main.txtEditingMode": "Установка режима редактирования...", @@ -438,6 +440,9 @@ "PDFE.Controllers.Statusbar.zoomText": "Масштаб {0}%", "PDFE.Controllers.Toolbar.errorAccessDeny": "Вы пытаетесь выполнить действие, на которое у вас нет прав.
    Пожалуйста, обратитесь к администратору Сервера документов.", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "Внимание", + "PDFE.Controllers.Toolbar.textGotIt": "ОК", + "PDFE.Controllers.Toolbar.textRequired": "Заполните все обязательные поля для отправки формы.", + "PDFE.Controllers.Toolbar.textSubmited": "Форма успешно отправлена
    Нажмите, чтобы закрыть подсказку.", "PDFE.Controllers.Toolbar.textWarning": "Внимание", "PDFE.Controllers.Toolbar.txtDownload": "Скачать", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "Чтобы сохранить изменения в файле, перейдите в режим комментирования. Или вы можете скачать копию измененного файла.", @@ -448,7 +453,15 @@ "PDFE.Controllers.Viewport.textFitWidth": "По ширине", "PDFE.Controllers.Viewport.txtDarkMode": "Темный режим", "PDFE.Views.DocumentHolder.addCommentText": "Добавить комментарий", + "PDFE.Views.DocumentHolder.mniImageFromFile": "Изображение из файла", + "PDFE.Views.DocumentHolder.mniImageFromStorage": "Изображение из хранилища", + "PDFE.Views.DocumentHolder.mniImageFromUrl": "Изображение по URL", + "PDFE.Views.DocumentHolder.textClearField": "Очистить поле", "PDFE.Views.DocumentHolder.textCopy": "Копировать", + "PDFE.Views.DocumentHolder.textCut": "Вырезать", + "PDFE.Views.DocumentHolder.textPaste": "Вставить", + "PDFE.Views.DocumentHolder.textRedo": "Повторить", + "PDFE.Views.DocumentHolder.textUndo": "Отменить", "PDFE.Views.DocumentHolder.txtWarnUrl": "Переход по этой ссылке может нанести вред вашему устройству и данным.
    Вы действительно хотите продолжить?", "PDFE.Views.FileMenu.btnBackCaption": "Открыть расположение файла", "PDFE.Views.FileMenu.btnCloseMenuCaption": "Закрыть меню", @@ -507,6 +520,19 @@ "PDFE.Views.FileMenuPanels.DocumentRights.txtAccessRights": "Права доступа", "PDFE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Изменить права доступа", "PDFE.Views.FileMenuPanels.DocumentRights.txtRights": "Люди, имеющие права", + "PDFE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "C помощью пароля", + "PDFE.Views.FileMenuPanels.ProtectDoc.strProtect": "Защитить документ", + "PDFE.Views.FileMenuPanels.ProtectDoc.strSignature": "С помощью подписи", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddedSignature": "В документ добавлены действительные подписи.
    Документ защищен от редактирования.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtAddSignature": "Обеспечить целостность документа, добавив
    невидимую цифровую подпись", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Редактировать документ", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "При редактировании из документа будут удалены подписи.
    Продолжить?", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Этот документ защищен паролем", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtProtectDocument": "Зашифровать этот документ с помощью пароля", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtRequestedSignatures": "Этот документ требуется подписать.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSigned": "В документ добавлены действительные подписи. Документ защищен от редактирования.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "Некоторые из цифровых подписей в документе недействительны или их нельзя проверить. Документ защищен от редактирования.", + "PDFE.Views.FileMenuPanels.ProtectDoc.txtView": "Просмотр подписей", "PDFE.Views.FileMenuPanels.Settings.okButtonText": "Применить", "PDFE.Views.FileMenuPanels.Settings.strCoAuthMode": "Режим совместного редактирования", "PDFE.Views.FileMenuPanels.Settings.strFast": "Быстрый", @@ -628,13 +654,22 @@ "PDFE.Views.Statusbar.tipZoomOut": "Уменьшить", "PDFE.Views.Statusbar.txtPageNumInvalid": "Неправильный номер страницы", "PDFE.Views.Toolbar.capBtnComment": "Комментарий", + "PDFE.Views.Toolbar.capBtnDownloadForm": "Скачать как pdf", "PDFE.Views.Toolbar.capBtnHand": "Рука", + "PDFE.Views.Toolbar.capBtnNext": "Следующее поле", + "PDFE.Views.Toolbar.capBtnPrev": "Предыдущее поле", "PDFE.Views.Toolbar.capBtnRotate": "Поворот", + "PDFE.Views.Toolbar.capBtnSaveForm": "Сохранить как PDF", + "PDFE.Views.Toolbar.capBtnSaveFormDesktop": "Сохранить как...", "PDFE.Views.Toolbar.capBtnSelect": "Выделить", "PDFE.Views.Toolbar.capBtnShowComments": "Показать комментарии", + "PDFE.Views.Toolbar.capBtnSubmit": "Отправить", "PDFE.Views.Toolbar.strMenuNoFill": "Без заливки", + "PDFE.Views.Toolbar.textClear": "Очистить поля", + "PDFE.Views.Toolbar.textClearFields": "Очистить все поля", "PDFE.Views.Toolbar.textHighlight": "Выделить", "PDFE.Views.Toolbar.textStrikeout": "Зачёркнутый", + "PDFE.Views.Toolbar.textSubmited": "Форма успешно отправлена", "PDFE.Views.Toolbar.textTabComment": "Комментарий", "PDFE.Views.Toolbar.textTabFile": "Файл", "PDFE.Views.Toolbar.textTabHome": "Главная", @@ -643,11 +678,14 @@ "PDFE.Views.Toolbar.tipAddComment": "Добавить комментарий", "PDFE.Views.Toolbar.tipCopy": "Копировать", "PDFE.Views.Toolbar.tipCut": "Вырезать", + "PDFE.Views.Toolbar.tipDownloadForm": "Скачать как заполняемый PDF-файл", "PDFE.Views.Toolbar.tipFirstPage": "Перейти к первой странице", "PDFE.Views.Toolbar.tipHandTool": "Инструмент \"Рука\"", "PDFE.Views.Toolbar.tipLastPage": "Перейти к последней странице", + "PDFE.Views.Toolbar.tipNextForm": "Перейти к следующему полю", "PDFE.Views.Toolbar.tipNextPage": "Перейти к следующей странице", "PDFE.Views.Toolbar.tipPaste": "Вставить", + "PDFE.Views.Toolbar.tipPrevForm": "Перейти к предыдущему полю", "PDFE.Views.Toolbar.tipPrevPage": "Перейти к предыдущей странице", "PDFE.Views.Toolbar.tipPrint": "Печать", "PDFE.Views.Toolbar.tipPrintQuick": "Быстрая печать", @@ -655,8 +693,10 @@ "PDFE.Views.Toolbar.tipRotate": "Поворот страниц", "PDFE.Views.Toolbar.tipSave": "Сохранить", "PDFE.Views.Toolbar.tipSaveCoauth": "Сохраните свои изменения, чтобы другие пользователи их увидели.", + "PDFE.Views.Toolbar.tipSaveForm": "Сохранить как заполняемый PDF-файл", "PDFE.Views.Toolbar.tipSelectAll": "Выделить всё", "PDFE.Views.Toolbar.tipSelectTool": "Инструмент выделения", + "PDFE.Views.Toolbar.tipSubmit": "Отправить форму", "PDFE.Views.Toolbar.tipSynchronize": "Документ изменен другим пользователем. Нажмите, чтобы сохранить свои изменения и загрузить обновления.", "PDFE.Views.Toolbar.tipUndo": "Отменить", "PDFE.Views.ViewTab.textAlwaysShowToolbar": "Всегда показывать панель инструментов", diff --git a/apps/pdfeditor/main/locale/sr.json b/apps/pdfeditor/main/locale/sr.json index 86a1e3b48b..7651e763db 100644 --- a/apps/pdfeditor/main/locale/sr.json +++ b/apps/pdfeditor/main/locale/sr.json @@ -540,6 +540,7 @@ "PDFE.Views.FileMenuPanels.Settings.txtNone": "Pregledaj Ništa ", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrint": "Prikaži dugme za Brzo Štampanje u zaglavlju uređivača", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Dokument će biti štampan na poslednje odabranom ili podrazumevanom štampaču", + "PDFE.Views.FileMenuPanels.Settings.txtScreenReader": "Uključi podršku za čitač ekrana", "PDFE.Views.FileMenuPanels.Settings.txtStrictTip": "Koristi \"Sačuvaj\" dugme da sinhronizuješ promene koje ti i drugi pravite", "PDFE.Views.FileMenuPanels.Settings.txtUseAltKey": "Koristite Alt dugme da upravljate korisničkim interfejsom koristeći tastaturu", "PDFE.Views.FileMenuPanels.Settings.txtUseOptionKey": "Koristi Opcija dugme da upravljaš interfejsom korisnika koristeći tastaturu", diff --git a/apps/pdfeditor/main/locale/zh-tw.json b/apps/pdfeditor/main/locale/zh-tw.json index 5d6e98aeb4..3367de95ec 100644 --- a/apps/pdfeditor/main/locale/zh-tw.json +++ b/apps/pdfeditor/main/locale/zh-tw.json @@ -257,6 +257,7 @@ "Common.Views.SearchPanel.textNoSearchResults": "查無搜索结果", "Common.Views.SearchPanel.textPartOfItemsNotReplaced": "{0}/{1} 項已取代。剩餘 {2} 項被其他使用者鎖定。", "Common.Views.SearchPanel.textReplace": "取代", + "Common.Views.SearchPanel.textReplaceAll": "全部取代", "Common.Views.SearchPanel.textReplaceWith": "替換為", "Common.Views.SearchPanel.textSearchAgain": "{0}進行新的搜尋{1}以獲得準確的結果。", "Common.Views.SearchPanel.textSearchHasStopped": "搜索已停止", @@ -301,6 +302,7 @@ "PDFE.Controllers.Main.errorDirectUrl": "請確認文件的連結。
    該連結必須可直接下載檔案。", "PDFE.Controllers.Main.errorEditingDownloadas": "在處理文檔期間發生錯誤。
    使用\"下載為\"選項將文件備份副本保存到計算機硬碟驅動器中。", "PDFE.Controllers.Main.errorEditingSaveas": "使用文檔期間發生錯誤。
    使用\"另存為...\"選項將文件備份副本儲存到電腦硬碟驅動器中。", + "PDFE.Controllers.Main.errorEmailClient": "找不到電子郵件客戶端。", "PDFE.Controllers.Main.errorFilePassProtect": "該文件受密碼保護,無法打開。", "PDFE.Controllers.Main.errorFileSizeExceed": "此檔案超過這一主機限制的大小
    進一步資訊,請聯絡您的文件服務主機的管理者。", "PDFE.Controllers.Main.errorForceSave": "儲存文件時發生錯誤。請使用\"下載為\"選項將文件儲存到電腦機硬碟中,或稍後再試。", @@ -420,16 +422,20 @@ "PDFE.Controllers.Search.textNoTextFound": "找不到您一直在搜索的數據。請調整您的搜索選項。", "PDFE.Controllers.Search.textReplaceSkipped": "替換已完成。 {0}個事件被跳過。", "PDFE.Controllers.Search.textReplaceSuccess": "搜尋完成。 {0}個符合結果已被取代", + "PDFE.Controllers.Search.warnReplaceString": "{0}不是有效的字元", "PDFE.Controllers.Statusbar.textDisconnect": "連線失敗
    正在嘗試連線。請檢查網路連線設定。", "PDFE.Controllers.Statusbar.zoomText": "放大{0}%", + "PDFE.Controllers.Toolbar.errorAccessDeny": "您正在嘗試執行一個您無權限進行的操作。
    請聯絡您的文件伺服器管理員。", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "警告", "PDFE.Controllers.Toolbar.textWarning": "警告", "PDFE.Controllers.Toolbar.txtDownload": "下載", + "PDFE.Controllers.Toolbar.txtUntitled": "未命名", "PDFE.Controllers.Viewport.textFitPage": "調整至頁面", "PDFE.Controllers.Viewport.textFitWidth": "調整至寬度", "PDFE.Controllers.Viewport.txtDarkMode": "夜間模式", "PDFE.Views.DocumentHolder.addCommentText": "新增註解", "PDFE.Views.DocumentHolder.textCopy": "複製", + "PDFE.Views.DocumentHolder.txtWarnUrl": "點擊此連結可能對您的設備和資料造成危害。
    您確定要繼續嗎?", "PDFE.Views.FileMenu.btnBackCaption": "打開文件所在位置", "PDFE.Views.FileMenu.btnCloseMenuCaption": "關閉選單", "PDFE.Views.FileMenu.btnCreateNewCaption": "創建新的", diff --git a/apps/pdfeditor/main/locale/zh.json b/apps/pdfeditor/main/locale/zh.json index 49c6db974a..1a278118d6 100644 --- a/apps/pdfeditor/main/locale/zh.json +++ b/apps/pdfeditor/main/locale/zh.json @@ -436,17 +436,20 @@ "PDFE.Controllers.Search.warnReplaceString": "{0}不是\"替换为\"输入框要求的有效特殊字符。", "PDFE.Controllers.Statusbar.textDisconnect": "连接失败
    正在尝试连接。请检查连接设置。", "PDFE.Controllers.Statusbar.zoomText": "缩放%{0}", + "PDFE.Controllers.Toolbar.errorAccessDeny": "您正在尝试执行您没有权限的操作。
    请联系您的文档服务器管理员。", "PDFE.Controllers.Toolbar.notcriticalErrorTitle": "警告", "PDFE.Controllers.Toolbar.textWarning": "警告", "PDFE.Controllers.Toolbar.txtDownload": "下载", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "要保存对文件的更改,请切换到批注模式。或者,您可以下载修改后的文件的副本。", "PDFE.Controllers.Toolbar.txtNeedDownload": "目前,PDF查看器只能将新的更改保存在单独的文件副本中。它不支持共同编辑,除非您共享新的文件版本,否则其他用户不会看到您的更改。", "PDFE.Controllers.Toolbar.txtSaveCopy": "保存副本", + "PDFE.Controllers.Toolbar.txtUntitled": "无标题", "PDFE.Controllers.Viewport.textFitPage": "适合页面", "PDFE.Controllers.Viewport.textFitWidth": "适合宽度", "PDFE.Controllers.Viewport.txtDarkMode": "深色模式", "PDFE.Views.DocumentHolder.addCommentText": "添加批注", "PDFE.Views.DocumentHolder.textCopy": "复制", + "PDFE.Views.DocumentHolder.txtWarnUrl": "点击此链接可能对您的设备和数据有害
    您确定要继续吗?", "PDFE.Views.FileMenu.btnBackCaption": "打开文件所在位置", "PDFE.Views.FileMenu.btnCloseMenuCaption": "关闭菜单", "PDFE.Views.FileMenu.btnCreateNewCaption": "新建", @@ -537,6 +540,7 @@ "PDFE.Views.FileMenuPanels.Settings.txtNone": "无查看", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrint": "在编辑器标题中显示“快速打印”按钮", "PDFE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "文档将打印在最后选择的或默认的打印机上", + "PDFE.Views.FileMenuPanels.Settings.txtScreenReader": "打开屏幕朗读器支持", "PDFE.Views.FileMenuPanels.Settings.txtStrictTip": "使用“保存”按钮同步您和其他人所做的更改", "PDFE.Views.FileMenuPanels.Settings.txtUseAltKey": "用Alt键使用键盘导航用户界面", "PDFE.Views.FileMenuPanels.Settings.txtUseOptionKey": "用Option键使用键盘浏览用户界面", diff --git a/apps/presentationeditor/embed/locale/zh-tw.json b/apps/presentationeditor/embed/locale/zh-tw.json index cb3abeca42..8f03b793b3 100644 --- a/apps/presentationeditor/embed/locale/zh-tw.json +++ b/apps/presentationeditor/embed/locale/zh-tw.json @@ -8,38 +8,38 @@ "PE.ApplicationController.convertationErrorText": "轉換失敗。", "PE.ApplicationController.convertationTimeoutText": "轉換逾時。", "PE.ApplicationController.criticalErrorTitle": "錯誤", - "PE.ApplicationController.downloadErrorText": "下載失敗", - "PE.ApplicationController.downloadTextText": "下載簡報中...", - "PE.ApplicationController.errorAccessDeny": "您嘗試進行未被授權的動作。
    請聯繫您的文件伺服器管理者。", - "PE.ApplicationController.errorDefaultMessage": "錯誤編號:%1", - "PE.ApplicationController.errorFilePassProtect": "該文件受密碼保護,無法打開。", - "PE.ApplicationController.errorFileSizeExceed": "此檔案超過這一主機限制的大小
    進一步資訊,請聯絡您的文件伺服器管理者。", - "PE.ApplicationController.errorForceSave": "儲存檔案時發生錯誤。請使用\"下載為\"選項將檔案儲存到電腦硬碟中,或稍後再試。", - "PE.ApplicationController.errorInconsistentExt": "開啟檔案時發生錯誤。
    檔案內容與副檔名不一致。", - "PE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應到文字檔(例如 docx),但檔案副檔名不一致:%1。", - "PE.ApplicationController.errorInconsistentExtPdf": "開啟檔案時發生錯誤。
    檔案內容對應到下列格式之一:pdf/djvu/xps/oxps,但檔案副檔名不一致:%1。", - "PE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應到簡報檔(例如 pptx),但檔案副檔名不一致:%1。", - "PE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應到試算表檔案(例如 xlsx),但檔案副檔名不一致:%1。", - "PE.ApplicationController.errorLoadingFont": "字體未載入。
    請聯絡檔案伺服器管理員。", - "PE.ApplicationController.errorTokenExpire": "檔案安全憑證已過期。
    請聯絡您的檔案伺服器管理員。", + "PE.ApplicationController.downloadErrorText": "下載失敗。", + "PE.ApplicationController.downloadTextText": "正在下載簡報...", + "PE.ApplicationController.errorAccessDeny": "您正試圖執行您無權限的操作。
    請聯繫您的文件伺服器管理員。", + "PE.ApplicationController.errorDefaultMessage": "錯誤碼:%1", + "PE.ApplicationController.errorFilePassProtect": "該文件已被密碼保護,無法打開。", + "PE.ApplicationController.errorFileSizeExceed": "文件大小超出了伺服器設置的限制。
    詳細請聯繫管理員。", + "PE.ApplicationController.errorForceSave": "儲存檔案時發生錯誤。請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "PE.ApplicationController.errorInconsistentExt": "在打開檔案時發生錯誤。
    檔案內容與副檔名不符。", + "PE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應於文字文件(例如 docx),但檔案的副檔名不一致:%1。", + "PE.ApplicationController.errorInconsistentExtPdf": "在打開檔案時發生錯誤。
    檔案內容對應以下格式之一:pdf/djvu/xps/oxps,但檔案的副檔名矛盾:%1。", + "PE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應於簡報(例如 pptx),但檔案的副檔名不一致:%1。", + "PE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應於試算表(例如 xlsx),但檔案的副檔名不一致:%1。", + "PE.ApplicationController.errorLoadingFont": "字型未載入。
    請聯絡您的文件伺服器管理員。", + "PE.ApplicationController.errorTokenExpire": "文件安全令牌已過期。
    請聯繫相關管理員。", "PE.ApplicationController.errorUpdateVersionOnDisconnect": "Internet連接已恢復,文件版本已更改。
    在繼續工作之前,您需要下載文件或複制其內容以確保沒有丟失,然後重新加載此頁面。", - "PE.ApplicationController.errorUserDrop": "目前無法存取該文件。", + "PE.ApplicationController.errorUserDrop": "目前無法存取該檔案。", "PE.ApplicationController.notcriticalErrorTitle": "警告", - "PE.ApplicationController.openErrorText": "開啟檔案時發生錯誤", - "PE.ApplicationController.scriptLoadError": "連接速度太慢,某些組件無法加載。請重新加載頁面。", + "PE.ApplicationController.openErrorText": "打開檔案時發生錯誤。", + "PE.ApplicationController.scriptLoadError": "連線速度太慢,無法載入某些元件。請重新載入頁面。", "PE.ApplicationController.textAnonymous": "匿名", "PE.ApplicationController.textGuest": "訪客", - "PE.ApplicationController.textLoadingDocument": "正在載入簡報", + "PE.ApplicationController.textLoadingDocument": "正在載入投影片", "PE.ApplicationController.textOf": "於", "PE.ApplicationController.txtClose": "關閉", "PE.ApplicationController.unknownErrorText": "未知錯誤。", - "PE.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器", - "PE.ApplicationController.waitText": "請耐心等待...", + "PE.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器。", + "PE.ApplicationController.waitText": "請稍候...", "PE.ApplicationView.txtDownload": "下載", "PE.ApplicationView.txtEmbed": "嵌入", - "PE.ApplicationView.txtFileLocation": "打開文件所在位置", + "PE.ApplicationView.txtFileLocation": "打開檔案位置", "PE.ApplicationView.txtFullScreen": "全螢幕", "PE.ApplicationView.txtPrint": "列印", - "PE.ApplicationView.txtSearch": "搜索", + "PE.ApplicationView.txtSearch": "搜尋", "PE.ApplicationView.txtShare": "分享" } \ No newline at end of file diff --git a/apps/presentationeditor/main/locale/ar.json b/apps/presentationeditor/main/locale/ar.json index a21bd707d6..a7c991b6d2 100644 --- a/apps/presentationeditor/main/locale/ar.json +++ b/apps/presentationeditor/main/locale/ar.json @@ -11,20 +11,20 @@ "Common.Controllers.ExternalOleEditor.textClose": "إغلاق", "Common.Controllers.ExternalOleEditor.warningText": "تم تعطيل الكائن لأنه يتم تحريره من قبل مستخدم آخر.", "Common.Controllers.ExternalOleEditor.warningTitle": "تحذير", - "Common.define.chartData.textArea": "مساحة", + "Common.define.chartData.textArea": "مساحي", "Common.define.chartData.textAreaStacked": "منطقة متراصة", "Common.define.chartData.textAreaStackedPer": "مساحة مكدسة بنسبة ٪100", "Common.define.chartData.textBar": "شريط", "Common.define.chartData.textBarNormal": "عمود متجمع", "Common.define.chartData.textBarNormal3d": "عمود مجمع ثلاثي الابعاد", "Common.define.chartData.textBarNormal3dPerspective": "عمود ثلاثي الابعاد", - "Common.define.chartData.textBarStacked": "أعمدة متراصة", + "Common.define.chartData.textBarStacked": "أعمدة مكدسة", "Common.define.chartData.textBarStacked3d": "عمود مكدس ثلاثي الأبعاد", "Common.define.chartData.textBarStackedPer": "عمود مكدس بنسبة ٪100", "Common.define.chartData.textBarStackedPer3d": "عمود مكدس 100% ثلاثي الابعاد", "Common.define.chartData.textCharts": "الرسوم البيانية", "Common.define.chartData.textColumn": "عمود", - "Common.define.chartData.textCombo": "مزيج", + "Common.define.chartData.textCombo": "مختلط", "Common.define.chartData.textComboAreaBar": "منطقة متراصة - أعمدة مجتمعة", "Common.define.chartData.textComboBarLine": "عمود متجمع - خط", "Common.define.chartData.textComboBarLineSecondary": "عمود متجمع - خط على المحور الثانوي", @@ -36,19 +36,19 @@ "Common.define.chartData.textHBarStacked3d": "شريط مكدس ثلاثي الأبعاد", "Common.define.chartData.textHBarStackedPer": "شريط مكدس بنسبة ٪100", "Common.define.chartData.textHBarStackedPer3d": "شريط مكدس 100% ثلاثي الابعاد", - "Common.define.chartData.textLine": "خط", + "Common.define.chartData.textLine": "خطي", "Common.define.chartData.textLine3d": "خط ثلاثي الابعاد", "Common.define.chartData.textLineMarker": "سطر مع علامات", "Common.define.chartData.textLineStacked": "سطر متراص", "Common.define.chartData.textLineStackedMarker": "خط مرتص مع علامات", "Common.define.chartData.textLineStackedPer": "خط مكدس بنسبة ٪100", "Common.define.chartData.textLineStackedPerMarker": "خط مكدس بنسبة 100٪ مع علامات", - "Common.define.chartData.textPie": "مخطط دائري", + "Common.define.chartData.textPie": "دائرة جزئية", "Common.define.chartData.textPie3d": "مخطط دائري ثلاثي الأبعاد ", "Common.define.chartData.textPoint": "مبعثر", - "Common.define.chartData.textRadar": "قطري", - "Common.define.chartData.textRadarFilled": "نصف قطري ممتلئ", - "Common.define.chartData.textRadarMarker": "قطري مع علامات", + "Common.define.chartData.textRadar": "نسيجي", + "Common.define.chartData.textRadarFilled": "نسيجي ممتلأ", + "Common.define.chartData.textRadarMarker": "نسيجي مع علامات", "Common.define.chartData.textScatter": "متبعثر", "Common.define.chartData.textScatterLine": "متبعثر مع خطوط مستقيمة", "Common.define.chartData.textScatterLineMarker": "متبعثر مع خطوط مستقيمة و علامات", @@ -102,7 +102,7 @@ "Common.define.effectData.textDesaturate": "تقليل التشبع", "Common.define.effectData.textDiagonalDownRight": "قطري إلى اليمين و الأسفل", "Common.define.effectData.textDiagonalUpRight": "قطري إلى الأعلى و اليمين", - "Common.define.effectData.textDiamond": "الماس", + "Common.define.effectData.textDiamond": "معين", "Common.define.effectData.textDisappear": "اختفاء", "Common.define.effectData.textDissolveIn": "انحلال إلى الداخل", "Common.define.effectData.textDissolveOut": "انحلال إلى الخارج", @@ -141,7 +141,7 @@ "Common.define.effectData.textGrowWithColor": "نمو مع اللون", "Common.define.effectData.textHeart": "قلب", "Common.define.effectData.textHeartbeat": "نبضة", - "Common.define.effectData.textHexagon": "شكل بثمانية أضلاع", + "Common.define.effectData.textHexagon": "سداسي الأضلاع", "Common.define.effectData.textHorizontal": "أفقي", "Common.define.effectData.textHorizontalFigure": "صورة على شكل 8 أفقية", "Common.define.effectData.textHorizontalIn": "أفقي للداخل", @@ -173,7 +173,7 @@ "Common.define.effectData.textParallelogram": "متوازي الأضلاع", "Common.define.effectData.textPath": "مسارات الحركة", "Common.define.effectData.textPathCurve": "منحنى", - "Common.define.effectData.textPathLine": "خط", + "Common.define.effectData.textPathLine": "خطي", "Common.define.effectData.textPathScribble": "على عجل", "Common.define.effectData.textPeanut": "فول سوداني", "Common.define.effectData.textPeekIn": "انسدال باتجاه الأعلى", @@ -721,7 +721,7 @@ "Common.Views.ReviewChanges.tipAcceptCurrent": "الموافقة على التغيير الحالي", "Common.Views.ReviewChanges.tipCoAuthMode": "تفعيل وضع التحرير التشاركي", "Common.Views.ReviewChanges.tipCommentRem": "حذف التعليقات", - "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليقات الحالية", + "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.tipCommentResolve": "حل التعليقات", "Common.Views.ReviewChanges.tipCommentResolveCurrent": "حل التعليقات الحالية", "Common.Views.ReviewChanges.tipHistory": "عرض سجل الإصدارات", @@ -739,7 +739,7 @@ "Common.Views.ReviewChanges.txtClose": "إغلاق", "Common.Views.ReviewChanges.txtCoAuthMode": "وضع التحرير المشترك", "Common.Views.ReviewChanges.txtCommentRemAll": "حذف كافة التعليقات", - "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف التعليقات الحالية", + "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtCommentRemMy": "حذف تعليقاتي", "Common.Views.ReviewChanges.txtCommentRemMyCurrent": "حذف تعليقي الحالي", "Common.Views.ReviewChanges.txtCommentRemove": "حذف", @@ -757,7 +757,7 @@ "Common.Views.ReviewChanges.txtNext": "التالي", "Common.Views.ReviewChanges.txtOriginal": "تم رفض كل التغييرات (معاينة) ", "Common.Views.ReviewChanges.txtOriginalCap": "أصلي", - "Common.Views.ReviewChanges.txtPrev": "التغيير السابق", + "Common.Views.ReviewChanges.txtPrev": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtReject": "رفض", "Common.Views.ReviewChanges.txtRejectAll": "رفض كل التغييرات", "Common.Views.ReviewChanges.txtRejectChanges": "رفض التغييرات", @@ -833,7 +833,7 @@ "Common.Views.SymbolTableDialog.textCopyright": "علامة حقوق التأليف والنشر", "Common.Views.SymbolTableDialog.textDCQuote": "إغلاق الاقتباس المزدوج", "Common.Views.SymbolTableDialog.textDOQuote": "علامة اقتباس مزدوجة", - "Common.Views.SymbolTableDialog.textEllipsis": "قطع ناقص أفقي", + "Common.Views.SymbolTableDialog.textEllipsis": "نقاط", "Common.Views.SymbolTableDialog.textEmDash": "فاصلة طويلة", "Common.Views.SymbolTableDialog.textEmSpace": "مسافة طويلة", "Common.Views.SymbolTableDialog.textEnDash": "الفاصلة القصيرة", @@ -841,7 +841,7 @@ "Common.Views.SymbolTableDialog.textFont": "الخط", "Common.Views.SymbolTableDialog.textNBHyphen": "شرطة عدم تقطيع", "Common.Views.SymbolTableDialog.textNBSpace": "فراغ عدم تقطيع", - "Common.Views.SymbolTableDialog.textPilcrow": "رمز أنتيغراف", + "Common.Views.SymbolTableDialog.textPilcrow": "إشارة فقرة", "Common.Views.SymbolTableDialog.textQEmSpace": "مسافة بقدر 1/4 em", "Common.Views.SymbolTableDialog.textRange": "نطاق", "Common.Views.SymbolTableDialog.textRecent": "الرموز التي تم استخدامها مؤخراً", @@ -1007,12 +1007,12 @@ "PE.Controllers.Main.txtPicture": "صورة", "PE.Controllers.Main.txtRectangles": "مستطيلات", "PE.Controllers.Main.txtSeries": "سلسلة", - "PE.Controllers.Main.txtShape_accentBorderCallout1": "وسيلة شرح خطية 2 (حد و فاصل مميز)", - "PE.Controllers.Main.txtShape_accentBorderCallout2": "وسيلة شرح خطية 2 (حد و شريط مميز)", - "PE.Controllers.Main.txtShape_accentBorderCallout3": "وسيلة شرح 3 (حد و فاصل مميز)", - "PE.Controllers.Main.txtShape_accentCallout1": "وسيلة شرح خطية 1 (شريط مميز)", - "PE.Controllers.Main.txtShape_accentCallout2": "وسيلة شرح خطية 2 (شريط مميز)", - "PE.Controllers.Main.txtShape_accentCallout3": "وسيلة شرح 3 (شريط مميز)", + "PE.Controllers.Main.txtShape_accentBorderCallout1": "وسيلة شرح 1 (حد و فاصل تمييز)", + "PE.Controllers.Main.txtShape_accentBorderCallout2": "وسيلة شرح 2 (حد و فاصل تمييز)", + "PE.Controllers.Main.txtShape_accentBorderCallout3": "وسيلة شرح 3 (حد و فاصل تمييز)", + "PE.Controllers.Main.txtShape_accentCallout1": "وسيلة شرح 1 (فاصل تمييز)", + "PE.Controllers.Main.txtShape_accentCallout2": "وسيلة شرح 2 (فاصل تمييز)", + "PE.Controllers.Main.txtShape_accentCallout3": "وسيلة شرح 3 (فاصل تمييز)", "PE.Controllers.Main.txtShape_actionButtonBackPrevious": "زر الرجوع أو السابق", "PE.Controllers.Main.txtShape_actionButtonBeginning": "زر البداية", "PE.Controllers.Main.txtShape_actionButtonBlank": "زر فارغ", @@ -1031,7 +1031,7 @@ "PE.Controllers.Main.txtShape_bentConnector5WithArrow": "موصل سهم مع مفصل", "PE.Controllers.Main.txtShape_bentConnector5WithTwoArrows": "موصل سهم مزدوج مع مفصل", "PE.Controllers.Main.txtShape_bentUpArrow": "سهم منحني للأعلى", - "PE.Controllers.Main.txtShape_bevel": "ميل", + "PE.Controllers.Main.txtShape_bevel": "مستطيل مشطوف الحواف", "PE.Controllers.Main.txtShape_blockArc": "شكل قوس", "PE.Controllers.Main.txtShape_borderCallout1": "وسيلة شرح مع خط 1", "PE.Controllers.Main.txtShape_borderCallout2": "وسيلة شرح 2", @@ -1040,12 +1040,12 @@ "PE.Controllers.Main.txtShape_callout1": "وسيلة شرح مع خط 1 (بدون حدود)", "PE.Controllers.Main.txtShape_callout2": "وسيلة شرح 2 (بدون حدود)", "PE.Controllers.Main.txtShape_callout3": "وسيلة شرح مع خط 3 (بدون حدود)", - "PE.Controllers.Main.txtShape_can": "يستطيع", - "PE.Controllers.Main.txtShape_chevron": "شيفرون", + "PE.Controllers.Main.txtShape_can": "أسطوانة", + "PE.Controllers.Main.txtShape_chevron": "سهم بشكل رتبة عسكرية", "PE.Controllers.Main.txtShape_chord": "وتر", "PE.Controllers.Main.txtShape_circularArrow": "سهم دائرى", "PE.Controllers.Main.txtShape_cloud": "سحابة", - "PE.Controllers.Main.txtShape_cloudCallout": "وسيلة شرح السحابة", + "PE.Controllers.Main.txtShape_cloudCallout": "فقاعة التفكير - على شكل سحابة", "PE.Controllers.Main.txtShape_corner": "زاوية", "PE.Controllers.Main.txtShape_cube": "مكعب", "PE.Controllers.Main.txtShape_curvedConnector3": "رابط منحني", @@ -1057,12 +1057,12 @@ "PE.Controllers.Main.txtShape_curvedUpArrow": "سهم منحني لأعلي", "PE.Controllers.Main.txtShape_decagon": "عشاري الأضلاع", "PE.Controllers.Main.txtShape_diagStripe": "شريط قطري", - "PE.Controllers.Main.txtShape_diamond": "الماس", + "PE.Controllers.Main.txtShape_diamond": "معين", "PE.Controllers.Main.txtShape_dodecagon": "ذو اثني عشر ضلعا", - "PE.Controllers.Main.txtShape_donut": "دونات", + "PE.Controllers.Main.txtShape_donut": "دائرة مجوفة", "PE.Controllers.Main.txtShape_doubleWave": "مزدوج التموج", "PE.Controllers.Main.txtShape_downArrow": "سهم إلى الأسفل", - "PE.Controllers.Main.txtShape_downArrowCallout": "وسيلة شرح سهم إلى الأسفل", + "PE.Controllers.Main.txtShape_downArrowCallout": "وسيلة شرح مع سهم إلى الأسفل", "PE.Controllers.Main.txtShape_ellipse": "بيضوي", "PE.Controllers.Main.txtShape_ellipseRibbon": "شريط منحني لأسفل", "PE.Controllers.Main.txtShape_ellipseRibbon2": "شريط منحني لأعلى", @@ -1099,9 +1099,9 @@ "PE.Controllers.Main.txtShape_halfFrame": "نصف إطار", "PE.Controllers.Main.txtShape_heart": "قلب", "PE.Controllers.Main.txtShape_heptagon": "شكل بسبعة أضلاع", - "PE.Controllers.Main.txtShape_hexagon": "شكل بثمانية أضلاع", + "PE.Controllers.Main.txtShape_hexagon": "سداسي الأضلاع", "PE.Controllers.Main.txtShape_homePlate": "خماسي الأضلاع", - "PE.Controllers.Main.txtShape_horizontalScroll": "تمرير أفقي", + "PE.Controllers.Main.txtShape_horizontalScroll": "لفافة ورقية أفقية", "PE.Controllers.Main.txtShape_irregularSeal1": "انفجار 1", "PE.Controllers.Main.txtShape_irregularSeal2": "انفجار 2", "PE.Controllers.Main.txtShape_leftArrow": "سهم إلى اليسار", @@ -1113,7 +1113,7 @@ "PE.Controllers.Main.txtShape_leftRightUpArrow": "سهم إلى اليمين و اليسار و الأعلى", "PE.Controllers.Main.txtShape_leftUpArrow": "سهم إلى اليسار و الأعلى", "PE.Controllers.Main.txtShape_lightningBolt": "برق", - "PE.Controllers.Main.txtShape_line": "خط", + "PE.Controllers.Main.txtShape_line": "خطي", "PE.Controllers.Main.txtShape_lineWithArrow": "سهم", "PE.Controllers.Main.txtShape_lineWithTwoArrows": "سهم مزدوج", "PE.Controllers.Main.txtShape_mathDivide": "القسمة", @@ -1128,13 +1128,13 @@ "PE.Controllers.Main.txtShape_octagon": "مضلع ثماني", "PE.Controllers.Main.txtShape_parallelogram": "متوازي الأضلاع", "PE.Controllers.Main.txtShape_pentagon": "خماسي الأضلاع", - "PE.Controllers.Main.txtShape_pie": "مخطط دائري", + "PE.Controllers.Main.txtShape_pie": "دائرة جزئية", "PE.Controllers.Main.txtShape_plaque": "إشارة", "PE.Controllers.Main.txtShape_plus": "زائد", "PE.Controllers.Main.txtShape_polyline1": "على عجل", "PE.Controllers.Main.txtShape_polyline2": "استمارة حرة", "PE.Controllers.Main.txtShape_quadArrow": "سهم رباعي", - "PE.Controllers.Main.txtShape_quadArrowCallout": "وسيلة شرح سهم رباعي", + "PE.Controllers.Main.txtShape_quadArrowCallout": "وسيلة شرح مع أربعة أسهم", "PE.Controllers.Main.txtShape_rect": "مستطيل", "PE.Controllers.Main.txtShape_ribbon": "أسدل الشريط للأسفل", "PE.Controllers.Main.txtShape_ribbon2": "شريط إلى الأعلى", @@ -1170,14 +1170,14 @@ "PE.Controllers.Main.txtShape_trapezoid": "شبه منحرف", "PE.Controllers.Main.txtShape_triangle": "مثلث", "PE.Controllers.Main.txtShape_upArrow": "سهم إلى الأعلى", - "PE.Controllers.Main.txtShape_upArrowCallout": "شرح توضيحي مع سهم إلى الأعلى", + "PE.Controllers.Main.txtShape_upArrowCallout": "وسيلة شرح مع سهم إلى الأعلى", "PE.Controllers.Main.txtShape_upDownArrow": "سهم إلى الأعلى و الأسفل", "PE.Controllers.Main.txtShape_uturnArrow": "سهم على شكل U", - "PE.Controllers.Main.txtShape_verticalScroll": "تحريك رأسي", + "PE.Controllers.Main.txtShape_verticalScroll": "لفافة ورقية رأسية", "PE.Controllers.Main.txtShape_wave": "موجة", - "PE.Controllers.Main.txtShape_wedgeEllipseCallout": "وسيلة شرح بيضوية", - "PE.Controllers.Main.txtShape_wedgeRectCallout": "وسيلة شرح مستطيلة", - "PE.Controllers.Main.txtShape_wedgeRoundRectCallout": "وسيلة شرح على شكل مستطيل بزوايا مستطيلة", + "PE.Controllers.Main.txtShape_wedgeEllipseCallout": "فقاعة الكلام - بيضوية", + "PE.Controllers.Main.txtShape_wedgeRectCallout": "فقاعة الكلام - مستطيلة", + "PE.Controllers.Main.txtShape_wedgeRoundRectCallout": "فقاعة الكلام - مستطيل بزوايا مستديرة", "PE.Controllers.Main.txtSldLtTBlank": "فارغ", "PE.Controllers.Main.txtSldLtTChart": "رسم بياني", "PE.Controllers.Main.txtSldLtTChartAndTx": "الرسم البياني والنص", @@ -1270,7 +1270,7 @@ "PE.Controllers.Toolbar.textEmptyImgUrl": "يجب تحديد رابط الصورة", "PE.Controllers.Toolbar.textFontSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 1 و 300", "PE.Controllers.Toolbar.textFraction": "الكسور", - "PE.Controllers.Toolbar.textFunction": "الدوال", + "PE.Controllers.Toolbar.textFunction": "دوال", "PE.Controllers.Toolbar.textInsert": "إدراج", "PE.Controllers.Toolbar.textIntegral": "تكاملات", "PE.Controllers.Toolbar.textLargeOperator": "معاملات كبيرة", @@ -1386,19 +1386,19 @@ "PE.Controllers.Toolbar.txtFunction_Tan": "دالة الظل", "PE.Controllers.Toolbar.txtFunction_Tanh": "تابع الظل الزائد", "PE.Controllers.Toolbar.txtIntegral": "تكامل", - "PE.Controllers.Toolbar.txtIntegral_dtheta": "ثيتا التفاضلية", - "PE.Controllers.Toolbar.txtIntegral_dx": "س التفاضلية", - "PE.Controllers.Toolbar.txtIntegral_dy": "ص التفاضلية", + "PE.Controllers.Toolbar.txtIntegral_dtheta": "تفاضل ثيتا", + "PE.Controllers.Toolbar.txtIntegral_dx": "تفاضل x", + "PE.Controllers.Toolbar.txtIntegral_dy": "تفاضل y", "PE.Controllers.Toolbar.txtIntegralCenterSubSup": "تكامل مع حدود مكدسة", - "PE.Controllers.Toolbar.txtIntegralDouble": "رقم صحيح مزدوج", - "PE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "تكامل مزدوج مع حدود", + "PE.Controllers.Toolbar.txtIntegralDouble": "تكامل مزدوج", + "PE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "تكامل مزدوج مع حدود مكدسة", "PE.Controllers.Toolbar.txtIntegralDoubleSubSup": "تكامل مزدوج مع حدود", - "PE.Controllers.Toolbar.txtIntegralOriented": "محيط الشكل المتكامل", - "PE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "محيط الشكل المتكامل بحدود متراصة", + "PE.Controllers.Toolbar.txtIntegralOriented": "تكامل محيطي", + "PE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "تكامل محيطي مع حدود مكدسة", "PE.Controllers.Toolbar.txtIntegralOrientedDouble": "تكامل سطحي", "PE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "تكامل سطحي مع حدود متراصة", "PE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "تكامل سطحي مع حدود", - "PE.Controllers.Toolbar.txtIntegralOrientedSubSup": "محيط الشكل المتكامل بحدود تقيدية", + "PE.Controllers.Toolbar.txtIntegralOrientedSubSup": "تكامل محيطي مع حدود", "PE.Controllers.Toolbar.txtIntegralOrientedTriple": "تكامل حجمي", "PE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "تكامل حجمي مع حدود متراصة", "PE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "تكامل حجمي مع حدود", @@ -1635,7 +1635,7 @@ "PE.Views.ChartSettings.text3dDepth": "العمق (% من القاعدة)", "PE.Views.ChartSettings.text3dHeight": "الارتفاع (% من الأساس)", "PE.Views.ChartSettings.text3dRotation": "تدوير ثلاثي الابعاد", - "PE.Views.ChartSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.ChartSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.ChartSettings.textAutoscale": "تحجيم تلقائى", "PE.Views.ChartSettings.textChartType": "تغيير نوع الرسم البياني", "PE.Views.ChartSettings.textDefault": "الوضع الافتراضي للدوران", @@ -1678,7 +1678,7 @@ "PE.Views.DateTimeDialog.textFormat": "التنسيقات", "PE.Views.DateTimeDialog.textLang": "اللغة", "PE.Views.DateTimeDialog.textUpdate": "التحديث تلقائياً", - "PE.Views.DateTimeDialog.txtTitle": "التاريخ و الوقت", + "PE.Views.DateTimeDialog.txtTitle": "التاريخ والوقت", "PE.Views.DocumentHolder.aboveText": "فوق", "PE.Views.DocumentHolder.addCommentText": "إضافة تعليق", "PE.Views.DocumentHolder.addToLayoutText": "إضافة للمخطط", @@ -2006,6 +2006,7 @@ "PE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "المستند سيتم طباعته على الطابعة التى تم استخدامها آخر مرة أو بالطابعة الافتراضية", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "تفعيل الكل", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "تفعيل كل وحدات الماكرو بدون اشعارات", + "PE.Views.FileMenuPanels.Settings.txtScreenReader": "تشغيل دعم قارئ الشاشة", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "التدقيق الإملائي", "PE.Views.FileMenuPanels.Settings.txtStopMacros": "تعطيل الكل", "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "أوقف كل وحدات الماكرو بدون إشعار", @@ -2059,7 +2060,7 @@ "PE.Views.HyperlinkSettingsDialog.txtPrev": "الشريحة السابقة", "PE.Views.HyperlinkSettingsDialog.txtSizeLimit": "هذا الحقل محدود بـ 2083 حرف", "PE.Views.HyperlinkSettingsDialog.txtSlide": "شريحة", - "PE.Views.ImageSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.ImageSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.ImageSettings.textCrop": "اقتصاص", "PE.Views.ImageSettings.textCropFill": "تعبئة", "PE.Views.ImageSettings.textCropFit": "ملائمة", @@ -2089,7 +2090,7 @@ "PE.Views.ImageSettingsAdvanced.textAltTitle": "العنوان", "PE.Views.ImageSettingsAdvanced.textAngle": "زاوية", "PE.Views.ImageSettingsAdvanced.textCenter": "المنتصف", - "PE.Views.ImageSettingsAdvanced.textFlipped": "مقلوب", + "PE.Views.ImageSettingsAdvanced.textFlipped": "انعكاس", "PE.Views.ImageSettingsAdvanced.textFrom": "من", "PE.Views.ImageSettingsAdvanced.textGeneral": "عام", "PE.Views.ImageSettingsAdvanced.textHeight": "ارتفاع", @@ -2124,7 +2125,7 @@ "PE.Views.ParagraphSettings.strParagraphSpacing": "تباعد الفقرة", "PE.Views.ParagraphSettings.strSpacingAfter": "بعد", "PE.Views.ParagraphSettings.strSpacingBefore": "قبل", - "PE.Views.ParagraphSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.ParagraphSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.ParagraphSettings.textAt": "عند", "PE.Views.ParagraphSettings.textAtLeast": "على الأقل", "PE.Views.ParagraphSettings.textAuto": "متعدد", @@ -2203,10 +2204,10 @@ "PE.Views.ShapeSettings.strPattern": "نمط", "PE.Views.ShapeSettings.strShadow": "إظهار الظلال", "PE.Views.ShapeSettings.strSize": "الحجم", - "PE.Views.ShapeSettings.strStroke": "خط", + "PE.Views.ShapeSettings.strStroke": "خطي", "PE.Views.ShapeSettings.strTransparency": "معدل الشفافية", "PE.Views.ShapeSettings.strType": "النوع", - "PE.Views.ShapeSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.ShapeSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.ShapeSettings.textAngle": "زاوية", "PE.Views.ShapeSettings.textBorderSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 0 و 1584 نقطة.", "PE.Views.ShapeSettings.textColor": "تعبئة اللون", @@ -2264,7 +2265,7 @@ "PE.Views.ShapeSettingsAdvanced.textAutofit": "احتواء تلقائى", "PE.Views.ShapeSettingsAdvanced.textBeginSize": "حجم البداية", "PE.Views.ShapeSettingsAdvanced.textBeginStyle": "أسلوب البدأ", - "PE.Views.ShapeSettingsAdvanced.textBevel": "ميل", + "PE.Views.ShapeSettingsAdvanced.textBevel": "مستطيل مشطوف الحواف", "PE.Views.ShapeSettingsAdvanced.textBottom": "أسفل", "PE.Views.ShapeSettingsAdvanced.textCapType": "شكل الطرف", "PE.Views.ShapeSettingsAdvanced.textCenter": "المنتصف", @@ -2272,7 +2273,7 @@ "PE.Views.ShapeSettingsAdvanced.textEndSize": "الحجم النهائي", "PE.Views.ShapeSettingsAdvanced.textEndStyle": "نمط النهاية", "PE.Views.ShapeSettingsAdvanced.textFlat": "مسطح", - "PE.Views.ShapeSettingsAdvanced.textFlipped": "مقلوب", + "PE.Views.ShapeSettingsAdvanced.textFlipped": "انعكاس", "PE.Views.ShapeSettingsAdvanced.textFrom": "من", "PE.Views.ShapeSettingsAdvanced.textGeneral": "عام", "PE.Views.ShapeSettingsAdvanced.textHeight": "ارتفاع", @@ -2324,7 +2325,7 @@ "PE.Views.SlideSettings.strPattern": "نمط", "PE.Views.SlideSettings.strSlideNum": "عرض رقم الشريحة", "PE.Views.SlideSettings.strTransparency": "معدل الشفافية", - "PE.Views.SlideSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.SlideSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.SlideSettings.textAngle": "زاوية", "PE.Views.SlideSettings.textColor": "تعبئة اللون", "PE.Views.SlideSettings.textDirection": "الاتجاه", @@ -2410,7 +2411,7 @@ "PE.Views.TableSettings.selectTableText": "اختيار جدول", "PE.Views.TableSettings.splitCellsText": "تقسيم الخلية...", "PE.Views.TableSettings.splitCellTitleText": "تقسيم الخلية", - "PE.Views.TableSettings.textAdvanced": "إظهار الاعدادات المتقدمة", + "PE.Views.TableSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "PE.Views.TableSettings.textBackColor": "لون الخلفية", "PE.Views.TableSettings.textBanded": "مطوق بشريط", "PE.Views.TableSettings.textBorderColor": "اللون", @@ -2436,8 +2437,8 @@ "PE.Views.TableSettings.tipInnerHor": "وضع الخطوط الأفقية الداخلية فقط", "PE.Views.TableSettings.tipInnerVert": "ضبط الخطوط الداخلية الرأسية فقط", "PE.Views.TableSettings.tipLeft": "وضع الحد الخارجي الأيسر فقط", - "PE.Views.TableSettings.tipNone": "بدون حدود", - "PE.Views.TableSettings.tipOuter": "وضع الحد الخارجي فقط", + "PE.Views.TableSettings.tipNone": "بلا حدود", + "PE.Views.TableSettings.tipOuter": "الحدود الخارجية فقط", "PE.Views.TableSettings.tipRight": "وضع الحد الخارجي الأيمن فقط", "PE.Views.TableSettings.tipTop": "وضع الحد الخارجي العلوي فقط", "PE.Views.TableSettings.txtGroupTable_Custom": "مخصص", @@ -2486,7 +2487,7 @@ "PE.Views.TextArtSettings.strForeground": "اللون الأمامي", "PE.Views.TextArtSettings.strPattern": "نمط", "PE.Views.TextArtSettings.strSize": "الحجم", - "PE.Views.TextArtSettings.strStroke": "خط", + "PE.Views.TextArtSettings.strStroke": "خطي", "PE.Views.TextArtSettings.strTransparency": "معدل الشفافية", "PE.Views.TextArtSettings.strType": "النوع", "PE.Views.TextArtSettings.textAngle": "زاوية", @@ -2528,8 +2529,8 @@ "PE.Views.Toolbar.capAddSlide": "إضافة شريحة", "PE.Views.Toolbar.capBtnAddComment": "إضافة تعليق", "PE.Views.Toolbar.capBtnComment": "تعليق", - "PE.Views.Toolbar.capBtnDateTime": "التاريخ و الوقت", - "PE.Views.Toolbar.capBtnInsHeaderFooter": "الترويسة و التذييل", + "PE.Views.Toolbar.capBtnDateTime": "التاريخ والوقت", + "PE.Views.Toolbar.capBtnInsHeaderFooter": "الترويسة والتذييل", "PE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "PE.Views.Toolbar.capBtnInsSymbol": "رمز", "PE.Views.Toolbar.capBtnSlideNum": "رقم الشريحة", @@ -2541,7 +2542,7 @@ "PE.Views.Toolbar.capInsertShape": "شكل", "PE.Views.Toolbar.capInsertTable": "جدول", "PE.Views.Toolbar.capInsertText": "مربع نص", - "PE.Views.Toolbar.capInsertTextArt": "تصميم النص", + "PE.Views.Toolbar.capInsertTextArt": "Text Art", "PE.Views.Toolbar.capInsertVideo": "فيديو", "PE.Views.Toolbar.capTabFile": "ملف", "PE.Views.Toolbar.capTabHome": "الرئيسية", @@ -2634,7 +2635,7 @@ "PE.Views.Toolbar.tipChangeCase": "تغيير الحالة", "PE.Views.Toolbar.tipChangeChart": "تغيير نوع الرسم البياني", "PE.Views.Toolbar.tipChangeSlide": "تغيير مظهر الشريحة", - "PE.Views.Toolbar.tipClearStyle": "إزالة الشكل", + "PE.Views.Toolbar.tipClearStyle": "مسح التنسيق", "PE.Views.Toolbar.tipColorSchemas": "تغيير نظام الألوان", "PE.Views.Toolbar.tipColumns": "إدراج أعمدة", "PE.Views.Toolbar.tipCopy": "نسخ", @@ -2666,7 +2667,7 @@ "PE.Views.Toolbar.tipInsertVerticalText": "إدراج صندوق نصي رأسي", "PE.Views.Toolbar.tipInsertVideo": "إدراج فيديو", "PE.Views.Toolbar.tipLineSpace": "تباعد الأسطر", - "PE.Views.Toolbar.tipMarkers": "تعداد نقطي", + "PE.Views.Toolbar.tipMarkers": "تعدادات نقطية", "PE.Views.Toolbar.tipMarkersArrow": "نِقَاط سهمية", "PE.Views.Toolbar.tipMarkersCheckmark": "علامات اختيار نقطية", "PE.Views.Toolbar.tipMarkersDash": "نقاط شكل الفاصلة", diff --git a/apps/presentationeditor/main/locale/el.json b/apps/presentationeditor/main/locale/el.json index db1080e0d9..1a1ee41bf5 100644 --- a/apps/presentationeditor/main/locale/el.json +++ b/apps/presentationeditor/main/locale/el.json @@ -433,6 +433,7 @@ "Common.UI.ExtendedColorDialog.textRGBErr": "Η τιμή που βάλατε δεν είναι αποδεκτή.
    Παρακαλούμε βάλτε μια αριθμητική τιμή μεταξύ 0 και 255.", "Common.UI.HSBColorPicker.textNoColor": "Χωρίς Χρώμα", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "Απόκρυψη συνθηματικού", + "Common.UI.InputFieldBtnPassword.textHintHold": "Πατήστε παρατεταμένα για να εμφανιστεί ο κωδικός πρόσβασης", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "Εμφάνιση συνθηματικού", "Common.UI.SearchBar.textFind": "Εύρεση", "Common.UI.SearchBar.tipCloseSearch": "Κλείσιμο αναζήτησης", @@ -578,6 +579,9 @@ "Common.Views.Comments.textResolve": "Επίλυση", "Common.Views.Comments.textResolved": "Επιλύθηκε", "Common.Views.Comments.textSort": "Ταξινόμηση σχολίων", + "Common.Views.Comments.textSortFilter": "Ταξινόμηση και φιλτράρισμα σχολίων", + "Common.Views.Comments.textSortFilterMore": "Ταξινόμηση, φιλτράρισμα και άλλα", + "Common.Views.Comments.textSortMore": "Ταξινόμηση και άλλα", "Common.Views.Comments.textViewResolved": "Δεν έχετε άδεια να ανοίξετε ξανά το σχόλιο", "Common.Views.Comments.txtEmpty": "Δεν υπάρχουν σχόλια στο έγγραφο.", "Common.Views.CopyWarningDialog.textDontShow": "Να μην εμφανίζεται αυτό το μήνυμα ξανά", @@ -684,10 +688,16 @@ "Common.Views.PasswordDialog.txtTitle": "Ορισμός συνθηματικού", "Common.Views.PasswordDialog.txtWarning": "Προσοχή: Εάν χάσετε ή ξεχάσετε το συνθηματικό, δεν είναι δυνατή η ανάκτησή του. Παρακαλούμε διατηρήστε το σε ασφαλές μέρος.", "Common.Views.PluginDlg.textLoading": "Γίνεται φόρτωση", + "Common.Views.PluginPanel.textClosePanel": "Κλείσιμο πρόσθετου", + "Common.Views.PluginPanel.textLoading": "Φόρτωση", "Common.Views.Plugins.groupCaption": "Πρόσθετα", "Common.Views.Plugins.strPlugins": "Πρόσθετα", + "Common.Views.Plugins.textBackgroundPlugins": "Πρόσθετα φόντου", + "Common.Views.Plugins.textSettings": "Ρυθμίσεις", "Common.Views.Plugins.textStart": "Εκκίνηση", "Common.Views.Plugins.textStop": "Διακοπή", + "Common.Views.Plugins.textTheListOfBackgroundPlugins": "Η λίστα των προσθηκών φόντου", + "Common.Views.Plugins.tipMore": "Περισσότερα", "Common.Views.Protection.hintAddPwd": "Κρυπτογράφηση με συνθηματικό", "Common.Views.Protection.hintDelPwd": "Διαγραφή συνθηματικού", "Common.Views.Protection.hintPwd": "Αλλαγή ή διαγραφή συνθηματικού", @@ -953,6 +963,7 @@ "PE.Controllers.Main.textLoadingDocument": "Φόρτωση παρουσίασης", "PE.Controllers.Main.textLongName": "Εισάγετε ένα όνομα μικρότερο από 128 χαρακτήρες.", "PE.Controllers.Main.textNoLicenseTitle": "Το όριο άδειας συμπληρώθηκε.", + "PE.Controllers.Main.textObject": "Αντικείμενο", "PE.Controllers.Main.textPaidFeature": "Δυνατότητα επί πληρωμή", "PE.Controllers.Main.textReconnect": "Η σύνδεση αποκαταστάθηκε", "PE.Controllers.Main.textRemember": "Να θυμάσαι την επιλογή μου για όλα τα αρχεία", @@ -1995,6 +2006,7 @@ "PE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Το έγγραφο θα εκτυπωθεί στον τελευταίο επιλεγμένο ή προεπιλεγμένο εκτυπωτή", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "Ενεργοποίηση όλων", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Ενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση", + "PE.Views.FileMenuPanels.Settings.txtScreenReader": "Ενεργοποίηση υποστήριξης προγράμματος ανάγνωσης οθόνης", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Έλεγχος ορθογραφίας", "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Απενεργοποίηση όλων", "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση", diff --git a/apps/presentationeditor/main/locale/fr.json b/apps/presentationeditor/main/locale/fr.json index c5e8c2a29d..ba35c37917 100644 --- a/apps/presentationeditor/main/locale/fr.json +++ b/apps/presentationeditor/main/locale/fr.json @@ -2184,7 +2184,7 @@ "PE.Views.PrintWithPreview.txtPages": "Diapositives", "PE.Views.PrintWithPreview.txtPaperSize": "Format de papier", "PE.Views.PrintWithPreview.txtPrint": "Imprimer", - "PE.Views.PrintWithPreview.txtPrintPdf": "Imprimer au format PDF", + "PE.Views.PrintWithPreview.txtPrintPdf": "Imprimer au PDF", "PE.Views.PrintWithPreview.txtPrintRange": "Zone d'impression", "PE.Views.PrintWithPreview.txtPrintSides": "Impression sur les deux côtés", "PE.Views.RightMenu.txtChartSettings": "Paramètres du graphique", diff --git a/apps/presentationeditor/main/locale/pl.json b/apps/presentationeditor/main/locale/pl.json index 34a9173d29..64d8da59e6 100644 --- a/apps/presentationeditor/main/locale/pl.json +++ b/apps/presentationeditor/main/locale/pl.json @@ -1,6 +1,7 @@ { "Common.Controllers.Chat.notcriticalErrorTitle": "Ostrzeżenie", "Common.Controllers.Chat.textEnterMessage": "Wprowadź swoją wiadomość tutaj", + "Common.Controllers.Desktop.itemCreateFromTemplate": "Utwórz z szablonu", "Common.Controllers.ExternalDiagramEditor.textAnonymous": "Anonimowy użytkownik ", "Common.Controllers.ExternalDiagramEditor.textClose": "Zamknąć", "Common.Controllers.ExternalDiagramEditor.warningText": "Obiekt jest wyłączony, ponieważ jest edytowany przez innego użytkownika.", @@ -111,6 +112,7 @@ "Common.define.effectData.textWipe": "Wytrzyj", "Common.define.effectData.textZoom": "Powiększenie", "Common.Translation.textMoreButton": "Więcej", + "Common.Translation.tipFileLocked": "Dokument jest zablokowany do edycji. Zmiany można wprowadzić później i zapisać go jako kopię lokalną.", "Common.Translation.warnFileLocked": "Plik jest edytowany w innej aplikacji. Możesz kontynuować edycję i zapisać go jako kopię.", "Common.Translation.warnFileLockedBtnEdit": "Utwórz kopię", "Common.Translation.warnFileLockedBtnView": "Otwarte do oglądania", @@ -254,6 +256,7 @@ "Common.Views.Header.tipDownload": "Pobierz plik", "Common.Views.Header.tipGoEdit": "Edytuj bieżący plik", "Common.Views.Header.tipPrint": "Drukuj plik", + "Common.Views.Header.tipPrintQuick": "Szybkie drukowanie", "Common.Views.Header.tipRedo": "Wykonaj ponownie", "Common.Views.Header.tipSave": "Zapisz", "Common.Views.Header.tipSearch": "Szukaj", @@ -566,6 +569,7 @@ "PE.Controllers.Main.textShape": "Kształt", "PE.Controllers.Main.textStrict": "Tryb ścisły", "PE.Controllers.Main.textText": "Tekst", + "PE.Controllers.Main.textTryQuickPrint": "Wybrano opcję Szybkie drukowanie: cały dokument zostanie wydrukowany na ostatnio wybranej lub domyślnej drukarce.
    Czy chcesz kontynuować?", "PE.Controllers.Main.textTryUndoRedo": "Funkcje Cofnij/Ponów są wyłączone w trybie \"Szybki\" współtworzenia.
    Kliknij przycisk \"Tryb ścisły\", aby przejść do trybu ścisłego edytowania, aby edytować plik bez ingerencji innych użytkowników i wysyłać zmiany tylko po zapisaniu. Możesz przełączać się między trybami współtworzenia, używając edytora Ustawienia zaawansowane.", "PE.Controllers.Main.textTryUndoRedoWarn": "Funkcje Cofnij/Ponów są wyłączone w trybie Szybkim współtworzenia.", "PE.Controllers.Main.titleLicenseExp": "Upłynął okres ważności licencji", @@ -1477,6 +1481,7 @@ "PE.Views.FileMenuPanels.Settings.txtNative": "Natywny", "PE.Views.FileMenuPanels.Settings.txtProofing": "Sprawdzanie", "PE.Views.FileMenuPanels.Settings.txtPt": "Punkt", + "PE.Views.FileMenuPanels.Settings.txtQuickPrint": "Pokaż przycisk szybkiego drukowania w nagłówku edytora", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "Włącz wszystkie", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Włącz wszystkie makra bez powiadomienia", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Sprawdzanie pisowni", @@ -1487,6 +1492,7 @@ "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Wyłącz wszystkie makra z powiadomieniem", "PE.Views.FileMenuPanels.Settings.txtWin": "jako Windows", "PE.Views.FileMenuPanels.Settings.txtWorkspace": "Obszar roboczy", + "PE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "Zapisz kopię jako", "PE.Views.HeaderFooterDialog.applyAllText": "Zastosuj do wszystkich", "PE.Views.HeaderFooterDialog.applyText": "Zastosuj", "PE.Views.HeaderFooterDialog.notcriticalErrorTitle": "Ostrzeżenie", @@ -1620,6 +1626,8 @@ "PE.Views.ParagraphSettingsAdvanced.textTabRight": "Prawy", "PE.Views.ParagraphSettingsAdvanced.textTitle": "Akapit - Ustawienia zaawansowane", "PE.Views.ParagraphSettingsAdvanced.txtAutoText": "Automatyczny", + "PE.Views.PrintWithPreview.txtCopies": "Kopie", + "PE.Views.PrintWithPreview.txtPrintPdf": "Zapisz jako PDF", "PE.Views.RightMenu.txtChartSettings": "Ustawienia wykresu", "PE.Views.RightMenu.txtImageSettings": "Ustawienia obrazu", "PE.Views.RightMenu.txtParagraphSettings": "Ustawienia tekstu", @@ -1999,7 +2007,8 @@ "PE.Views.Toolbar.textTabHome": "Narzędzia główne", "PE.Views.Toolbar.textTabInsert": "Wstawianie", "PE.Views.Toolbar.textTabProtect": "Ochrona", - "PE.Views.Toolbar.textTabView": "Obejrzeć", + "PE.Views.Toolbar.textTabTransitions": "Przejścia", + "PE.Views.Toolbar.textTabView": "Widok", "PE.Views.Toolbar.textTitleError": "Błąd", "PE.Views.Toolbar.textUnderline": "Podkreśl", "PE.Views.Toolbar.tipAddSlide": "Dodaj slajd", @@ -2041,6 +2050,7 @@ "PE.Views.Toolbar.tipPaste": "Wklej", "PE.Views.Toolbar.tipPreview": "Rozpocznij pokaz slajdów", "PE.Views.Toolbar.tipPrint": "Wydrukować", + "PE.Views.Toolbar.tipPrintQuick": "Szybkie drukowanie", "PE.Views.Toolbar.tipRedo": "Ponów", "PE.Views.Toolbar.tipSave": "Zapisz", "PE.Views.Toolbar.tipSaveCoauth": "Zapisz swoje zmiany, aby inni użytkownicy mogli je zobaczyć.", diff --git a/apps/presentationeditor/main/locale/pt.json b/apps/presentationeditor/main/locale/pt.json index e262d8c7e7..e8292eea6e 100644 --- a/apps/presentationeditor/main/locale/pt.json +++ b/apps/presentationeditor/main/locale/pt.json @@ -2006,6 +2006,7 @@ "PE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "O documento será impresso na última impressora selecionada ou padrão", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "Habilitar todos", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Habilitar todas as macros sem uma notificação", + "PE.Views.FileMenuPanels.Settings.txtScreenReader": "Habilitar o suporte ao leitor de tela", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Verificação ortográfica", "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Desabilitar tudo", "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Desativar todas as macros sem uma notificação", diff --git a/apps/presentationeditor/main/locale/sr.json b/apps/presentationeditor/main/locale/sr.json index e06a88ea29..c29ac4e84c 100644 --- a/apps/presentationeditor/main/locale/sr.json +++ b/apps/presentationeditor/main/locale/sr.json @@ -2006,6 +2006,7 @@ "PE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "Dokument će biti štampan na poslednje odabranom ili podrazumevanom štampaču", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "Omogući Sve", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Omogući sve makroe bez notifikacije", + "PE.Views.FileMenuPanels.Settings.txtScreenReader": "Uključi podršku za čitač ekrana", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Provera pravopisa ", "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Onemogući Sve", "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Onemogući sve makroe bez obaveštenja", diff --git a/apps/presentationeditor/main/locale/zh.json b/apps/presentationeditor/main/locale/zh.json index e8bb274fd5..d126815092 100644 --- a/apps/presentationeditor/main/locale/zh.json +++ b/apps/presentationeditor/main/locale/zh.json @@ -433,6 +433,7 @@ "Common.UI.ExtendedColorDialog.textRGBErr": "输入的值不正确。
    请输入介于0和255之间的数值。", "Common.UI.HSBColorPicker.textNoColor": "无颜色", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "隐藏密码", + "Common.UI.InputFieldBtnPassword.textHintHold": "按住显示密码", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "显示密码", "Common.UI.SearchBar.textFind": "查找", "Common.UI.SearchBar.tipCloseSearch": "关闭搜索", @@ -2005,6 +2006,7 @@ "PE.Views.FileMenuPanels.Settings.txtQuickPrintTip": "文档将打印在最后选择的或默认的打印机上", "PE.Views.FileMenuPanels.Settings.txtRunMacros": "全部启用", "PE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "启用全部宏,并且不发出通知", + "PE.Views.FileMenuPanels.Settings.txtScreenReader": "打开屏幕朗读器支持", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "拼写检查", "PE.Views.FileMenuPanels.Settings.txtStopMacros": "全部停用", "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "禁用全部宏,并且不通知", diff --git a/apps/presentationeditor/mobile/locale/ar.json b/apps/presentationeditor/mobile/locale/ar.json index b0cc5ab1cc..881922062a 100644 --- a/apps/presentationeditor/mobile/locale/ar.json +++ b/apps/presentationeditor/mobile/locale/ar.json @@ -248,8 +248,8 @@ "leaveButtonText": "مغادرة هذه الصفحة", "stayButtonText": "البقاء في هذه الصفحة", "textCloseHistory": "إغلاق السجل", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "ادخل اسم جديد للملف", + "textRenameFile": "إعادة تسمية الملف" }, "View": { "Add": { @@ -373,10 +373,12 @@ "textHighlightColor": "لون تمييز النص", "textHorizontalIn": "أفقي للداخل", "textHorizontalOut": "أفقي للخارج", + "textHorizontalText": "النص الأفقي", "textHyperlink": "ارتباط تشعبي", "textImage": "صورة", "textImageURL": "رابط صورة", "textInsertImage": "إدراج صورة", + "textInvalidName": "لا يمكن لاسم الملف أن يحتوي على الرموز التالية:", "textLastColumn": "العمود الأخير", "textLastSlide": "الشريحة الأخيرة", "textLayout": "تخطيط الصفحة", @@ -416,6 +418,8 @@ "textReplaceImage": "استبدال الصورة", "textRequired": "مطلوب", "textRight": "يمين", + "textRotateTextDown": "تدوير النص للأسفل", + "textRotateTextUp": "تدوير النص للأعلى", "textScreenTip": "تلميح شاشة", "textSearch": "بحث", "textSec": "ثانية", @@ -437,6 +441,7 @@ "textSuperscript": "نص مرتفع", "textTable": "جدول", "textText": "نص", + "textTextOrientation": "اتجاه النص", "textTheme": "السمة", "textTop": "أعلى", "textTopLeft": "أعلى اليسار", @@ -452,12 +457,7 @@ "textZoom": "تكبير/تصغير", "textZoomIn": "تكبير", "textZoomOut": "تصغير", - "textZoomRotate": "التكبير و التدوير", - "textHorizontalText": "Horizontal Text", - "textInvalidName": "The file name cannot contain any of the following characters: ", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textZoomRotate": "التكبير و التدوير" }, "Settings": { "mniSlideStandard": "القياسي (4:3)", diff --git a/apps/presentationeditor/mobile/locale/el.json b/apps/presentationeditor/mobile/locale/el.json index 21d9f8d97e..07590d863d 100644 --- a/apps/presentationeditor/mobile/locale/el.json +++ b/apps/presentationeditor/mobile/locale/el.json @@ -43,6 +43,12 @@ "textStandartColors": "Τυπικά Χρώματα", "textThemeColors": "Χρώματα Θέματος" }, + "Themes": { + "dark": "Σκουρόχρωμο", + "light": "Ανοιχτόχρωμο", + "system": "Ίδιο με το σύστημα", + "textTheme": "Θέμα" + }, "VersionHistory": { "notcriticalErrorTitle": "Προειδοποίηση", "textAnonymous": "Ανώνυμος", @@ -56,12 +62,6 @@ "textWarningRestoreVersion": "Το τρέχον αρχείο θα αποθηκευτεί στο ιστορικό εκδόσεων.", "titleWarningRestoreVersion": "Επαναφορά αυτής της έκδοσης;", "txtErrorLoadHistory": "Η φόρτωση του ιστορικού απέτυχε" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -248,8 +248,8 @@ "leaveButtonText": "Έξοδος από τη σελίδα", "stayButtonText": "Παραμονή στη σελίδα", "textCloseHistory": "Κλείσιμο ιστορικού", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "Εισαγάγετε ένα νέο όνομα αρχείου", + "textRenameFile": "Μετονομασία αρχείου" }, "View": { "Add": { @@ -373,10 +373,12 @@ "textHighlightColor": "Χρώμα Επισήμανσης", "textHorizontalIn": "Οριζόντιο Εσωτερικό", "textHorizontalOut": "Οριζόντιο Εξωτερικό", + "textHorizontalText": "Οριζόντιο κείμενο", "textHyperlink": "Υπερσύνδεσμος", "textImage": "Εικόνα", "textImageURL": "URL εικόνας", "textInsertImage": "Εισαγωγή εικόνας", + "textInvalidName": "Το όνομα αρχείου δεν μπορεί να περιέχει κανέναν από τους ακόλουθους χαρακτήρες:", "textLastColumn": "Τελευταία Στήλη", "textLastSlide": "Τελευταία Διαφάνεια", "textLayout": "Διάταξη", @@ -416,6 +418,8 @@ "textReplaceImage": "Αντικατάσταση Εικόνας", "textRequired": "Απαιτείται", "textRight": "Δεξιά", + "textRotateTextDown": "Περιστροφή κειμένου κάτω", + "textRotateTextUp": "Περιστροφή κειμένου επάνω", "textScreenTip": "Συμβουλή Οθόνης", "textSearch": "Αναζήτηση", "textSec": "S", @@ -437,6 +441,7 @@ "textSuperscript": "Εκθέτης", "textTable": "Πίνακας", "textText": "Κείμενο", + "textTextOrientation": "Προσανατολισμός κειμένου", "textTheme": "Θέμα", "textTop": "Πάνω", "textTopLeft": "Πάνω-Αριστερά", @@ -452,12 +457,7 @@ "textZoom": "Εστίαση", "textZoomIn": "Μεγέθυνση", "textZoomOut": "Σμίκρυνση", - "textZoomRotate": "Εστίαση και Περιστροφή", - "textHorizontalText": "Horizontal Text", - "textInvalidName": "The file name cannot contain any of the following characters: ", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textZoomRotate": "Εστίαση και Περιστροφή" }, "Settings": { "mniSlideStandard": "Τυπικό (4:3)", @@ -475,6 +475,7 @@ "textColorSchemes": "Χρωματικοί Συνδυασμοί", "textComment": "Σχόλιο", "textCreated": "Δημιουργήθηκε", + "textDark": "Σκουρόχρωμο", "textDarkTheme": "Σκούρο Θέμα", "textDisableAll": "Απενεργοποίηση όλων", "textDisableAllMacrosWithNotification": "Απενεργοποίηση όλων των μακροεντολών με ειδοποίηση", @@ -494,6 +495,7 @@ "textInch": "Ίντσα", "textLastModified": "Τελευταίο Τροποποιημένο", "textLastModifiedBy": "Τελευταία Τροποποίηση Από", + "textLight": "Ανοιχτόχρωμο", "textLoading": "Φόρτωση...", "textLocation": "Τοποθεσία", "textMacrosSettings": "Ρυθμίσεις μακροεντολών", @@ -510,6 +512,7 @@ "textReplaceAll": "Αντικατάσταση όλων", "textRestartApplication": "Παρακαλούμε επανεκκινήστε την εφαρμογή για να εφαρμοστούν οι αλλαγές", "textRTL": "ΑΠΔ", + "textSameAsSystem": "Ίδιο με το σύστημα", "textSearch": "Αναζήτηση", "textSettings": "Ρυθμίσεις", "textShowNotification": "Εμφάνιση ειδοποίησης", @@ -517,6 +520,7 @@ "textSpellcheck": "Έλεγχος ορθογραφίας", "textSubject": "Θέμα", "textTel": "τηλ:", + "textTheme": "Θέμα", "textTitle": "Τίτλος", "textUnitOfMeasurement": "Μονάδα μέτρησης", "textUploaded": "Μεταφορτώθηκε", @@ -543,11 +547,7 @@ "txtScheme6": "Συνάθροιση", "txtScheme7": "Μετοχή", "txtScheme8": "Ροή", - "txtScheme9": "Χυτήριο", - "textDark": "Dark", - "textLight": "Light", - "textSameAsSystem": "Same As System", - "textTheme": "Theme" + "txtScheme9": "Χυτήριο" } } } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/locale/pt.json b/apps/presentationeditor/mobile/locale/pt.json index 6d3283ca61..257aec5051 100644 --- a/apps/presentationeditor/mobile/locale/pt.json +++ b/apps/presentationeditor/mobile/locale/pt.json @@ -248,8 +248,8 @@ "leaveButtonText": "Sair desta página", "stayButtonText": "Ficar nesta página", "textCloseHistory": "Fechar histórico", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "Digite um novo nome para o arquivo", + "textRenameFile": "Renomear arquivo" }, "View": { "Add": { @@ -373,10 +373,12 @@ "textHighlightColor": "Cor de realce", "textHorizontalIn": "Horizontal para dentro", "textHorizontalOut": "Horizontal para fora", + "textHorizontalText": "Texto horizontal", "textHyperlink": "Hiperlink", "textImage": "Imagem", "textImageURL": "URL da imagem", "textInsertImage": "Inserir imagem", + "textInvalidName": "Nome de arquivo não pode conter os seguintes caracteres:", "textLastColumn": "Última coluna", "textLastSlide": "Último slide", "textLayout": "Layout", @@ -405,7 +407,7 @@ "textPictureFromLibrary": "Imagem da biblioteca", "textPictureFromURL": "Imagem da URL", "textPreviousSlide": "Slide anterior", - "textPt": "Pt", + "textPt": "pt", "textPush": "Empurrar", "textRecommended": "Recomendado", "textRemoveChart": "Remover gráfico", @@ -416,9 +418,11 @@ "textReplaceImage": "Substituir imagem", "textRequired": "Necessário", "textRight": "Direita", + "textRotateTextDown": "Girar o texto para baixo", + "textRotateTextUp": "Girar o texto para cima", "textScreenTip": "Dica de tela", "textSearch": "Pesquisar", - "textSec": "S", + "textSec": "s", "textSelectObjectToEdit": "Selecione o objeto para editar", "textSendToBackground": "Enviar para plano de fundo", "textShape": "Forma", @@ -437,6 +441,7 @@ "textSuperscript": "Sobrescrito", "textTable": "Tabela", "textText": "Тexto", + "textTextOrientation": "Orientação do texto", "textTheme": "Tema", "textTop": "Parte superior", "textTopLeft": "Parte superior esquerda", @@ -452,12 +457,7 @@ "textZoom": "Zoom", "textZoomIn": "Ampliar", "textZoomOut": "Reduzir", - "textZoomRotate": "Zoom e Rotação", - "textHorizontalText": "Horizontal Text", - "textInvalidName": "The file name cannot contain any of the following characters: ", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textZoomRotate": "Zoom e Rotação" }, "Settings": { "mniSlideStandard": "Padrão (4:3)", diff --git a/apps/presentationeditor/mobile/locale/sr.json b/apps/presentationeditor/mobile/locale/sr.json index ac847d1bd3..be7bea08d5 100644 --- a/apps/presentationeditor/mobile/locale/sr.json +++ b/apps/presentationeditor/mobile/locale/sr.json @@ -373,6 +373,7 @@ "textHighlightColor": "Istakni Boju", "textHorizontalIn": "Horizontalno Unutra", "textHorizontalOut": "Horizontalno Spolja", + "textHorizontalText": "Horizontalni Tekst", "textHyperlink": "Hiperlink", "textImage": "Slika", "textImageURL": "URL Slike", @@ -417,6 +418,8 @@ "textReplaceImage": "Zameni Sliku", "textRequired": "Potrebno", "textRight": "Desno", + "textRotateTextDown": "Rotiraj Tekst Dole ", + "textRotateTextUp": "Rotiraj Tekst Gore", "textScreenTip": "Savet Za Ekran", "textSearch": "Pretraži", "textSec": "s", @@ -438,6 +441,7 @@ "textSuperscript": "Nadindeks", "textTable": "Tabela", "textText": "Tekst", + "textTextOrientation": "Tekst Orijentacija ", "textTheme": "Tema", "textTop": "Vrh", "textTopLeft": "Gore-Levo", @@ -453,11 +457,7 @@ "textZoom": "Zumiraj", "textZoomIn": "Zumiraj Unutra", "textZoomOut": "Zumiraj Spolja", - "textZoomRotate": "Zumiraj i Rotiraj", - "textHorizontalText": "Horizontal Text", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textZoomRotate": "Zumiraj i Rotiraj" }, "Settings": { "mniSlideStandard": "Standardno (4:3)", diff --git a/apps/presentationeditor/mobile/locale/zh-tw.json b/apps/presentationeditor/mobile/locale/zh-tw.json index fec4e7aa95..ed4ae45e18 100644 --- a/apps/presentationeditor/mobile/locale/zh-tw.json +++ b/apps/presentationeditor/mobile/locale/zh-tw.json @@ -1,11 +1,11 @@ { "About": { "textAbout": "關於", - "textAddress": "地址", + "textAddress": "位址", "textBack": "返回", "textEditor": "簡報編輯器", "textEmail": "電子郵件", - "textPoweredBy": "於支援", + "textPoweredBy": "由...提供", "textTel": "電話", "textVersion": "版本" }, @@ -13,26 +13,26 @@ "Collaboration": { "notcriticalErrorTitle": "警告", "textAddComment": "新增註解", - "textAddReply": "加入回應", + "textAddReply": "新增回覆", "textBack": "返回", "textCancel": "取消", - "textCollaboration": "協作", + "textCollaboration": "共同編輯", "textComments": "評論", - "textDeleteComment": "刪除評論", + "textDeleteComment": "刪除註解", "textDeleteReply": "刪除回覆", "textDone": "完成", "textEdit": "編輯", - "textEditComment": "編輯評論", + "textEditComment": "編輯註解", "textEditReply": "編輯回覆", - "textEditUser": "正在編輯文件的用戶:", - "textMessageDeleteComment": "確定要刪除評論嗎?", - "textMessageDeleteReply": "確定要刪除回覆嗎?", - "textNoComments": "此文件未包含回應訊息", - "textOk": "好", - "textReopen": "重開", + "textEditUser": "正在編輯文件的使用者:", + "textMessageDeleteComment": "您確定要刪除此註解嗎?", + "textMessageDeleteReply": "您確定要刪除此回覆嗎?", + "textNoComments": "無註解", + "textOk": "確定", + "textReopen": "重新開啟", "textResolve": "解決", - "textSharingSettings": "分享設定", - "textTryUndoRedo": "在快速共同編輯模式下,撤消/重做功能被禁用。", + "textSharingSettings": "共用設定", + "textTryUndoRedo": "在快速共同編輯模式下,復原/重做功能被禁用。", "textUsers": "使用者" }, "HighlightColorPalette": { @@ -41,23 +41,23 @@ "ThemeColorPalette": { "textCustomColors": "自訂顏色", "textStandartColors": "標準顏色", - "textThemeColors": "主題顏色" + "textThemeColors": "主題色彩" }, "Themes": { + "textTheme": "主題", "dark": "Dark", "light": "Light", - "system": "Same as system", - "textTheme": "Theme" + "system": "Same as system" }, "VersionHistory": { - "notcriticalErrorTitle": "Warning", - "textAnonymous": "Anonymous", - "textBack": "Back", - "textCancel": "Cancel", + "notcriticalErrorTitle": "警告", + "textAnonymous": "匿名", + "textBack": "返回", + "textCancel": "取消", + "textOk": "確定", + "textVersion": "版本", "textCurrent": "Current", - "textOk": "Ok", "textRestore": "Restore", - "textVersion": "Version", "textVersionHistory": "Version History", "textWarningRestoreVersion": "Current file will be saved in version history.", "titleWarningRestoreVersion": "Restore this version?", @@ -65,7 +65,7 @@ } }, "ContextMenu": { - "errorCopyCutPaste": "使用上下文選單進行的複製、剪下和粘貼操作將僅在當前文件內執行。", + "errorCopyCutPaste": "使用右鍵選單進行的複製、剪下和貼上動作只會在目前的檔案內執行。", "menuAddComment": "新增註解", "menuAddLink": "新增連結", "menuCancel": "取消", @@ -75,15 +75,15 @@ "menuEditLink": "編輯連結", "menuMerge": "合併", "menuMore": "更多", - "menuOpenLink": "打開連結", - "menuSplit": "分裂", - "menuViewComment": "查看評論", + "menuOpenLink": "開啟連結", + "menuSplit": "分割", + "menuViewComment": "查看註解", "textColumns": "欄", - "textCopyCutPasteActions": "複製, 剪下, 與貼上之動作", + "textCopyCutPasteActions": "複製、剪下和貼上動作", "textDoNotShowAgain": "不再顯示", - "textOk": "好", - "textRows": "行列", - "txtWarnUrl": "這連結可能對您的設備和資料造成損害。
    您確定要繼續嗎?" + "textOk": "確定", + "textRows": "列", + "txtWarnUrl": "點擊此連結可能對您的設備和資料造成危害。
    您確定要繼續嗎?" }, "Controller": { "Main": { @@ -91,160 +91,160 @@ "advDRMPassword": "密碼", "closeButtonText": "關閉檔案", "criticalErrorTitle": "錯誤", - "errorAccessDeny": "您正在嘗試執行您無權執行的動作。
    請聯繫您的管理員。", - "errorOpensource": "在使用免費社群版本時,您只能瀏覽開啟的文件。欲使用移動版本的編輯功能,您需要付費的憑證。", + "errorAccessDeny": "您正在嘗試執行一個無權限的操作。
    請聯絡系統管理員。", + "errorOpensource": "目前版本只能以檢視模式打開文件。若要使用行動網頁編輯器,需要額外授權。", "errorProcessSaveResult": "儲存失敗", - "errorServerVersion": "編輯器版本已更新。該頁面將被重新加載以應用更改。", - "errorUpdateVersion": "文件版本已更改。該頁面將重新加載。", - "leavePageText": "您在此文件中有未儲存的變更。點擊\"留在此頁面\"以等待自動儲存。點擊\"離開此頁面\"以放棄所有未儲存的變更。", + "errorServerVersion": "編輯器版本已更新。將重新載入頁面以更新改動。", + "errorUpdateVersion": "文件版本已更改。將重新載入頁面。", + "leavePageText": "您在此文件中有未儲存的變更。點擊\"留在此頁面\"等待自動儲存,或點擊\"離開此頁面\"放棄所有未儲存的變更。", "notcriticalErrorTitle": "警告", "SDK": { "Chart": "圖表", - "Click to add first slide": "點擊以新增第一張簡報", - "Click to add notes": "點擊添加筆記", + "Click to add first slide": "點擊以新增第一張投影片", + "Click to add notes": "點擊以新增備註", "ClipArt": "剪貼畫", "Date and time": "日期和時間", "Diagram": "圖表", "Diagram Title": "圖表標題", "Footer": "頁尾", "Header": "頁首", - "Image": "圖像", + "Image": "圖片", "Loading": "載入中", "Media": "媒體", "None": "無", "Picture": "圖片", "Series": "系列", - "Slide number": "投影片頁碼", + "Slide number": "投影片編號", "Slide subtitle": "投影片副標題", - "Slide text": "投影片字幕", + "Slide text": "投影片文字", "Slide title": "投影片標題", "Table": "表格", "X Axis": "X 軸 XAS", "Y Axis": "Y軸", - "Your text here": "在這輸入文字" + "Your text here": "在此輸入文字" }, "textAnonymous": "匿名", - "textBuyNow": "訪問網站", + "textBuyNow": "瀏覽網站", "textClose": "關閉", - "textContactUs": "聯絡銷售人員", - "textCustomLoader": "很抱歉,您無權變更載入程序。 請聯繫我們的業務部門取得報價。", + "textContactUs": "聯繫銷售部門", + "textCustomLoader": "很抱歉,您無權更改載入程式。", "textGuest": "訪客", "textHasMacros": "此檔案包含自動巨集程式。
    是否要執行這些巨集?", "textNo": "否", - "textNoLicenseTitle": "達到許可限制", - "textNoMatches": "無匹配", - "textOpenFile": "輸入檔案密碼", + "textNoLicenseTitle": "已達到授權人數限制", + "textNoMatches": "沒有符合的結果", + "textOpenFile": "請輸入用於開啟文件的密碼", "textPaidFeature": "付費功能", "textRemember": "記住我的選擇", - "textReplaceSkipped": "替換已完成。 {0}個事件被跳過。", - "textReplaceSuccess": "搜索已完成。發生的事件已替換:{0}", - "textRequestMacros": "有一個巨集指令要求連結至URL。是否允許該要求至%1?", + "textReplaceSkipped": "替換已完成。有 {0} 個項目被跳過。", + "textReplaceSuccess": "已完成搜尋。已替換的次數:{0}。", + "textRequestMacros": "巨集對URL發出請求。您是否要允許對 %1 的請求?", "textYes": "是", - "titleLicenseExp": "證件過期", - "titleLicenseNotActive": "授權未啟用", + "titleLicenseExp": "授權證書已過期", + "titleLicenseNotActive": "授權證書未啟用", "titleServerVersion": "編輯器已更新", "titleUpdateVersion": "版本已更改", "txtIncorrectPwd": "密碼錯誤", - "txtProtected": "輸入密碼並打開文件後,該文件的當前密碼將被重置", - "warnLicenseAnonymous": "匿名使用者無法存取。
    此文件將僅供檢視。", - "warnLicenseBefore": "授權未啟用。
    請聯絡您的管理員。", - "warnLicenseExceeded": "您已達到同時連接到 %1 編輯器的限制。此文件將只提供檢視。請聯繫您的管理員以了解更多資訊。", - "warnLicenseExp": "您的憑證已過期,請升級並刷新此頁面。", - "warnLicenseLimitedNoAccess": "授權過期。 您無法進入文件編輯功能。 請聯繫您的管理員。", - "warnLicenseLimitedRenewed": "憑證需要續約。您目前只有文件編輯的部份功能。
    欲使用完整功能,請聯絡您的帳號管理員。", - "warnLicenseUsersExceeded": "您已達到%1個編輯器的用戶限制。請與您的管理員聯繫以了解更多信息。", - "warnNoLicense": "您已達到同時連接到 %1 編輯器的限制。此文件將只提供檢視。有關個人升級條款,請聯繫 %1 業務團隊。", + "txtProtected": "一旦輸入密碼並開啟文件,目前的文件密碼將被重設", + "warnLicenseAnonymous": "拒絕匿名使用者存取。
    此文件只能以檢視模式開啟。", + "warnLicenseBefore": "授權證書未啟用。
    請聯繫您的管理員。", + "warnLicenseExceeded": "您已達到同時連線 %1 編輯者的限制。此文件將僅以檢視模式開啟。", + "warnLicenseExp": "您的授權已過期。請更新您的授權並重新整理頁面。", + "warnLicenseLimitedNoAccess": "授權過期。 因此無法編輯文件。 請聯繫您的管理員。", + "warnLicenseLimitedRenewed": "授權需更新。您只有限制的文件編輯功能。
    請聯絡您的管理員以取得完整存取權限。", + "warnLicenseUsersExceeded": "您已達到 %1 編輯器的使用者限制。請聯繫您的管理員以了解詳情。", + "warnNoLicense": "您已達到同時連線 %1 編輯者的限制。此文件將僅以檢視模式開啟。", "warnNoLicenseUsers": "您已達到%1個編輯器的用戶限制。與%1銷售團隊聯繫以了解個人升級條款。", - "warnProcessRightsChange": "您沒有編輯此文件的權限。" + "warnProcessRightsChange": "您無權編輯此檔案。" } }, "Error": { "convertationTimeoutText": "轉換逾時。", - "criticalErrorExtText": "點擊\"好\"回到文件列表。", + "criticalErrorExtText": "按下「確定」返回文件列表", "criticalErrorTitle": "錯誤", - "downloadErrorText": "下載失敗", - "errorAccessDeny": "您正在嘗試執行您無權執行的動作。
    請聯繫您的管理員。", - "errorBadImageUrl": "不正確的圖像 URL", - "errorConnectToServer": "您已達到同時連接到 %1 編輯器的限制。此文件將只提供檢視。請聯繫您的管理員以了解更多資訊。", - "errorDatabaseConnection": "外部錯誤
    資料庫連結錯誤, 請聯絡技術支援。", - "errorDataEncrypted": "已收到加密的更改,無法解密。", - "errorDataRange": "不正確的資料範圍", - "errorDefaultMessage": "錯誤編號:%1", - "errorDirectUrl": "請確認文件的連結。
    該連結必須可直接下載檔案。", + "downloadErrorText": "下載失敗。", + "errorAccessDeny": "您正在嘗試執行一個無權限的操作。
    請聯絡系統管理員。", + "errorBadImageUrl": "圖片網址不正確", + "errorConnectToServer": "無法儲存此文件。請檢查連線設定或聯絡系統管理員。
    當您按下確定按鈕時,將會提示您下載文件。", + "errorDatabaseConnection": "外部錯誤。
    資料庫連線錯誤。請聯絡支援部門。", + "errorDataEncrypted": "已接收到加密的更改,無法解密。", + "errorDataRange": "資料範圍不正確。", + "errorDefaultMessage": "錯誤碼:%1", + "errorDirectUrl": "請驗證文件的連結。
    此連結必須是直接下載文件的連結。", "errorEditingDownloadas": "處理文件檔時發生錯誤。
    請使用\"下載\"來儲存一份備份檔案到本機端。", - "errorFilePassProtect": "此文件使用密碼保護功能,無法開啟。", - "errorFileSizeExceed": "檔案大小已超過了您的伺服器限制。
    請聯繫您的管理員。", - "errorInconsistentExt": "開啟檔案時發生錯誤。
    檔案內容與副檔名不一致。", - "errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應到文字檔(例如 docx),但檔案副檔名不一致:%1。", - "errorInconsistentExtPdf": "開啟檔案時發生錯誤。
    檔案內容對應到下列格式之一:pdf/djvu/xps/oxps,但檔案副檔名不一致:%1。", - "errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應到簡報檔(例如 pptx),但檔案副檔名不一致:%1。", - "errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應到試算表檔案(例如 xlsx),但檔案副檔名不一致:%1。", - "errorKeyEncrypt": "未知密鑰描述符", + "errorFilePassProtect": "該檔案受到密碼保護,無法開啟。", + "errorFileSizeExceed": "檔案大小超過伺服器限制。
    ;請聯絡系統管理員。", + "errorForceSave": "儲存檔案時發生錯誤。請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "errorInconsistentExt": "在打開檔案時發生錯誤。檔案內容與副檔名不符。", + "errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應於文字文件(例如 docx),但檔案的副檔名不一致:%1。", + "errorInconsistentExtPdf": "在打開檔案時發生錯誤。
    檔案內容對應以下格式之一:pdf/djvu/xps/oxps,但檔案的副檔名矛盾:%1。", + "errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應於簡報(例如 pptx),但檔案的副檔名不一致:%1。", + "errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應於試算表(例如 xlsx),但檔案的副檔名不一致:%1。", + "errorKeyEncrypt": "未知的按鍵快捷功能", "errorKeyExpire": "密鑰描述符已過期", - "errorLoadingFont": "字體未載入。
    請聯絡檔案伺服器管理員。", - "errorSessionAbsolute": "該檔案編輯時效已逾期。請重新載入此頁面。", - "errorSessionIdle": "無 該文件已經有一段時間沒有進行編輯了。 請重新載入頁面。", - "errorSessionToken": "主機連線被中斷,請重新載入此頁面。", - "errorStockChart": "行序錯誤。要建立股票圖表,請將數據按照以下順序工作表:
    開盤價、最高價、最低價、收盤價。", - "errorToken": "檔案安全憑證格式不正確。
    請聯絡您的檔案伺服器管理員。", - "errorTokenExpire": "檔案安全憑證已過期。
    請聯絡您的檔案伺服器管理員。", - "errorUpdateVersionOnDisconnect": "網路連線已恢復,且文件版本已變更。
    在您繼續工作之前,請下載文件或複製其內容以確保沒有任何內容遺失,之後重新載入本頁面。", - "errorUserDrop": "目前無法存取該文件。", - "errorUsersExceed": "超出了定價計劃所允許的用戶數量", - "errorViewerDisconnect": "網路連線失敗。您可以繼續瀏覽這份文件,
    在連線恢復前以及頁面重新加載之前,您無法下載或列印此文件。", + "errorLoadingFont": "字型未載入。
    請聯絡您的文件伺服器管理員。", + "errorSessionAbsolute": "文件編輯工作階段已過期。請重新載入頁面。", + "errorSessionIdle": "該文件已很長時間未進行編輯。請重新載入頁面。", + "errorSessionToken": "與伺服器的連線中斷。請重新載入頁面。", + "errorStockChart": "行順序不正確。要建立股票圖表,請按以下順序在工作表上放置資料:
    開盤價、最高價、最低價、收盤價。", + "errorToken": "文件安全令牌格式不正確。
    請聯繫您的相關管理員。", + "errorTokenExpire": "文件安全令牌已過期。
    請聯繫相關管理員。", + "errorUpdateVersionOnDisconnect": "連線已恢復,檔案版本已更改。
    在繼續工作之前,請下載檔案或複製其內容以確保不會遺失任何資料,然後重新載入此頁面。", + "errorUserDrop": "目前無法存取該檔案。", + "errorUsersExceed": "已超出價格方案允許的使用者數量。", + "errorViewerDisconnect": "連線已中斷。您仍然可以檢視文件,
    但在連線恢復並重新載入頁面之前,無法下載或列印文件。", "notcriticalErrorTitle": "警告", - "openErrorText": "開啟文件時發生錯誤", + "openErrorText": "打開檔案時發生錯誤", "saveErrorText": "存檔時發生錯誤", - "scriptLoadError": "連線速度過慢,某些組件無法加載。 請重新載入頁面。", - "splitDividerErrorText": "行數必須是%1的除數", - "splitMaxColsErrorText": "欄數必須少於%1", - "splitMaxRowsErrorText": "列數必須少於%1", + "scriptLoadError": "連線速度太慢,部分元件無法載入。請重新載入頁面。", + "splitDividerErrorText": "列數必須是 %1 的除數", + "splitMaxColsErrorText": "欄位數量必須少於 %1", + "splitMaxRowsErrorText": "列數必須少於 %1", "unknownErrorText": "未知錯誤。", - "uploadImageExtMessage": "圖片格式未知。", + "uploadImageExtMessage": "未知圖片格式。", "uploadImageFileCountMessage": "沒有上傳圖片。", - "uploadImageSizeMessage": "圖像超出最大大小限制。最大大小為25MB。", + "uploadImageSizeMessage": "圖片超出最大大小限制。最大大小為25MB。", "errorComboSeries": "To create a combination chart, select at least two series of data.", "errorEmailClient": "No email client could be found", - "errorForceSave": "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later.", "errorSetPassword": "Password could not be set." }, "LongActions": { - "applyChangesTextText": "加載數據中...", - "applyChangesTitleText": "加載數據中", - "confirmMaxChangesSize": "您執行的動作超出伺服器設定的大小限制。
    點選\"復原\"以取消動作,或點選\"繼續\"保留該動作(您需要下載檔案或複製其內容以確保沒有資料遺失)。", - "downloadTextText": "文件下載中...", - "downloadTitleText": "文件下載中", - "loadFontsTextText": "加載數據中...", - "loadFontsTitleText": "加載數據中", - "loadFontTextText": "加載數據中...", - "loadFontTitleText": "加載數據中", - "loadImagesTextText": "正在載入圖片...", - "loadImagesTitleText": "正在載入圖片", - "loadImageTextText": "正在載入圖片...", - "loadImageTitleText": "正在載入圖片", - "loadingDocumentTextText": "正在載入文件...", - "loadingDocumentTitleText": "載入文件", - "loadThemeTextText": "載入主題中...", - "loadThemeTitleText": "載入主題中", - "openTextText": "開啟文件中...", - "openTitleText": "開啟文件中", - "printTextText": "列印文件中...", - "printTitleText": "列印文件", + "applyChangesTextText": "載入資料中...", + "applyChangesTitleText": "載入資料", + "confirmMaxChangesSize": "操作的大小超過了您的服務器設置的限制。
    按一下「復原」取消上一個動作,或按「繼續」在本地保留動作(您需要下載文件或複製其內容以確保內容不會遺失)。", + "downloadTextText": "正在下載文件...", + "downloadTitleText": "正在下載文件", + "loadFontsTextText": "載入資料中...", + "loadFontsTitleText": "載入資料", + "loadFontTextText": "載入資料中...", + "loadFontTitleText": "載入資料", + "loadImagesTextText": "載入圖片中...", + "loadImagesTitleText": "載入圖片中", + "loadImageTextText": "載入圖片中...", + "loadImageTitleText": "載入圖片中", + "loadingDocumentTextText": "載入文件中...", + "loadingDocumentTitleText": "載入文件中", + "loadThemeTextText": "正在載入主題...", + "loadThemeTitleText": "正在載入主題", + "openTextText": "正在打開文件...", + "openTitleText": "正在打開文件", + "printTextText": "正在列印文件...", + "printTitleText": "正在列印文件", "savePreparingText": "準備儲存", - "savePreparingTitle": "正在準備儲存。請耐心等候...", - "saveTextText": "儲存文件...", - "saveTitleText": "儲存文件", + "savePreparingTitle": "準備儲存中,請稍候...", + "saveTextText": "正在儲存文件...", + "saveTitleText": "正在儲存文件", "textContinue": "繼續", - "textLoadingDocument": "載入文件", + "textLoadingDocument": "載入文件中", "textUndo": "復原", "txtEditingMode": "設定編輯模式...", "uploadImageTextText": "正在上傳圖片...", - "uploadImageTitleText": "上載圖片", + "uploadImageTitleText": "正在上傳圖片", "waitText": "請耐心等待..." }, "Toolbar": { - "dlgLeaveMsgText": "您在此文件中有未儲存的變更。點擊\"留在此頁面\"以等待自動儲存。點擊\"離開此頁面\"以放棄所有未儲存的變更。", - "dlgLeaveTitleText": "您離開應用程式", + "dlgLeaveMsgText": "您在此文件中有未儲存的變更。點擊\"留在此頁面\"等待自動儲存,或點擊\"離開此頁面\"放棄所有未儲存的變更。", + "dlgLeaveTitleText": "您已離開應用程式", "leaveButtonText": "離開此頁面", "stayButtonText": "留在此頁面", "textCloseHistory": "Close History", @@ -255,98 +255,98 @@ "Add": { "notcriticalErrorTitle": "警告", "textAddLink": "新增連結", - "textAddress": "地址", + "textAddress": "位址", "textBack": "返回", "textCancel": "取消", "textColumns": "欄", "textComment": "評論", - "textDefault": "所選文字", + "textDefault": "選取的文字", "textDisplay": "顯示", "textDone": "完成", - "textEmptyImgUrl": "您需要指定影像的 URL。", + "textEmptyImgUrl": "您需要指定圖片的URL。", "textExternalLink": "外部連結", "textFirstSlide": "第一張投影片", - "textImage": "圖像", - "textImageURL": "圖像 URL", + "textImage": "圖片", + "textImageURL": "圖片網址", "textInsert": "插入", - "textInsertImage": "插入影像", + "textInsertImage": "插入圖片", "textLastSlide": "最後一張投影片", "textLink": "連結", "textLinkSettings": "連結設定", - "textLinkTo": "連結至", - "textLinkType": "鏈接類型", + "textLinkTo": "連結到", + "textLinkType": "連結類型", "textNextSlide": "下一張投影片", - "textOk": "好", + "textOk": "確定", "textOther": "其它", "textPasteImageUrl": "貼上圖片網址", - "textPictureFromLibrary": "圖片來自圖庫", - "textPictureFromURL": "網址圖片", + "textPictureFromLibrary": "從圖庫中選擇圖片", + "textPictureFromURL": "從網址插入圖片", "textPreviousSlide": "上一張投影片", - "textRecommended": "建議", + "textRecommended": "推薦", "textRequired": "必填", - "textRows": "行列", + "textRows": "列", "textScreenTip": "螢幕提示", "textShape": "形狀", "textSlide": "投影片", - "textSlideInThisPresentation": "這個簡報中的投影片", - "textSlideNumber": "投影片頁碼", + "textSlideInThisPresentation": "此簡報中的投影片", + "textSlideNumber": "投影片編號", "textTable": "表格", "textTableSize": "表格大小", - "txtNotUrl": "此字段應為格式為“ http://www.example.com”的URL。" + "txtNotUrl": "此欄位應該是符合「http://www.example.com」格式的網址。" }, "Edit": { "notcriticalErrorTitle": "警告", "textActualSize": "實際大小", - "textAddCustomColor": "新增客製化顏色", + "textAddCustomColor": "新增自訂顏色", "textAdditional": "額外", - "textAdditionalFormatting": "額外格式化方式", - "textAddress": "地址", + "textAdditionalFormatting": "額外格式設定", + "textAddress": "位址", "textAfter": "之後", "textAlign": "對齊", - "textAlignBottom": "底部對齊", - "textAlignCenter": "居中對齊", - "textAlignLeft": "對齊左側", - "textAlignMiddle": "中央對齊", - "textAlignRight": "對齊右側", - "textAlignTop": "上方對齊", + "textAlignBottom": "對齊底部", + "textAlignCenter": "置中對齊", + "textAlignLeft": "靠左對齊", + "textAlignMiddle": "置於中央對齊", + "textAlignRight": "靠右對齊", + "textAlignTop": "靠上對齊", "textAllCaps": "全部大寫", - "textApplyAll": "應用於所有投影片", + "textApplyAll": "套用至所有投影片", "textArrange": "排列", "textAuto": "自動", "textAutomatic": "自動", "textBack": "返回", - "textBandedColumn": "分帶欄", - "textBandedRow": "分帶列", - "textBefore": "文字在前", - "textBlack": "通過黑", + "textBandedColumn": "交錯色欄", + "textBandedRow": "交錯色列", + "textBefore": "之前", + "textBlack": "穿越黑幕", "textBorder": "邊框", "textBottom": "底部", "textBottomLeft": "左下方", "textBottomRight": "右下方", - "textBringToForeground": "移到最前面執行", + "textBringToForeground": "置於前景", "textBullets": "項目符號", - "textBulletsAndNumbers": "符號項目與編號", + "textBulletsAndNumbers": "項目符號和編號", "textCancel": "取消", "textCaseSensitive": "區分大小寫", - "textCellMargins": "儲存格邊距", - "textChangeShape": "更改形狀", + "textCellMargins": "儲存格邊界", + "textChangeShape": "變更形狀", "textChart": "圖表", "textClock": "時鐘", "textClockwise": "順時針", "textColor": "顏色", "textCounterclockwise": "逆時針", - "textCover": "覆蓋", + "textCover": "封面", "textCustomColor": "自訂顏色", - "textDefault": "所選文字", + "textDefault": "選取的文字", "textDelay": "延遲", - "textDeleteImage": "刪除影像", + "textDeleteImage": "刪除圖片", "textDeleteLink": "刪除連結", - "textDeleteSlide": "刪除幻燈片", + "textDeleteSlide": "刪除投影片", "textDesign": "設計", "textDisplay": "顯示", "textDistanceFromText": "與文字的距離", - "textDistributeHorizontally": "水平分佈", - "textDistributeVertically": "垂直分佈", + "textDistributeHorizontally": "水平分散對齊", + "textDistributeVertically": "垂直分散對齊", "textDone": "完成", "textDoubleStrikethrough": "雙刪除線", "textDuplicateSlide": "複製投影片", @@ -354,62 +354,62 @@ "textEditLink": "編輯連結", "textEffect": "效果", "textEffects": "效果", - "textEmptyImgUrl": "您需要指定影像的 URL。", + "textEmptyImgUrl": "您需要指定圖片的URL。", "textExternalLink": "外部連結", - "textFade": "褪色", + "textFade": "淡出", "textFill": "填入", - "textFinalMessage": "幻燈片預覽的結尾。單擊退出。", + "textFinalMessage": "投影片預覽結束。按一下以退出。", "textFind": "尋找", - "textFindAndReplace": "尋找與取代", + "textFindAndReplace": "尋找和取代", "textFirstColumn": "第一欄", "textFirstSlide": "第一張投影片", - "textFontColor": "字體顏色", - "textFontColors": "字體顏色", + "textFontColor": "字型顏色", + "textFontColors": "字型顏色", "textFonts": "字型", - "textFromLibrary": "圖片來自圖庫", - "textFromURL": "網址圖片", + "textFromLibrary": "從圖庫中選擇圖片", + "textFromURL": "從網址插入圖片", "textHeaderRow": "頁首列", - "textHighlight": "強調結果", - "textHighlightColor": "強調顏色", - "textHorizontalIn": "水平輸入", - "textHorizontalOut": "水平輸出", + "textHighlight": "突顯結果", + "textHighlightColor": "文字醒目提示色彩", + "textHorizontalIn": "水平進入", + "textHorizontalOut": "水平退出", "textHyperlink": "超連結", - "textImage": "圖像", - "textImageURL": "圖像 URL", - "textInsertImage": "插入影像", + "textImage": "圖片", + "textImageURL": "圖片網址", + "textInsertImage": "插入圖片", "textLastColumn": "最後一欄", "textLastSlide": "最後一張投影片", - "textLayout": "佈局", + "textLayout": "版面配置", "textLeft": "左", - "textLetterSpacing": "字元間距", + "textLetterSpacing": "字母間距", "textLineSpacing": "行距", "textLink": "連結", "textLinkSettings": "連結設定", - "textLinkTo": "連結至", - "textLinkType": "鏈接類型", + "textLinkTo": "連結到", + "textLinkType": "連結類型", "textMoveBackward": "向後移動", "textMoveForward": "向前移動", "textNextSlide": "下一張投影片", - "textNoMatches": "無匹配", + "textNoMatches": "沒有符合的結果", "textNone": "無", - "textNoStyles": "此類型的圖表沒有樣式。", - "textNotUrl": "此字段應為格式為\"http://www.example.com\"的URL。", - "textNumbers": "號碼", - "textOk": "好", + "textNoStyles": "此類圖表無樣式可用。", + "textNotUrl": "此欄位應該是符合「http://www.example.com」格式的網址。", + "textNumbers": "數字", + "textOk": "確定", "textOpacity": "透明度", "textOptions": "選項", - "textPictureFromLibrary": "圖片來自圖庫", - "textPictureFromURL": "網址圖片", + "textPictureFromLibrary": "從圖庫中選擇圖片", + "textPictureFromURL": "從網址插入圖片", "textPreviousSlide": "上一張投影片", - "textPt": "pt", - "textPush": "推", - "textRecommended": "建議", - "textRemoveChart": "刪除圖表", - "textRemoveShape": "去除形狀", - "textRemoveTable": "刪除表", + "textPt": "點(排版單位)", + "textPush": "推入", + "textRecommended": "推薦", + "textRemoveChart": "移除圖表", + "textRemoveShape": "移除形狀", + "textRemoveTable": "移除表格", "textReplace": "取代", - "textReplaceAll": "全部替換", - "textReplaceImage": "替換圖片", + "textReplaceAll": "全部取代", + "textReplaceImage": "取代圖片", "textRequired": "必填", "textRight": "右", "textScreenTip": "螢幕提示", @@ -420,12 +420,12 @@ "textShape": "形狀", "textSize": "大小", "textSlide": "投影片", - "textSlideInThisPresentation": "這個簡報中的投影片", + "textSlideInThisPresentation": "此簡報中的投影片", "textSlideNumber": "投影片頁碼", - "textSmallCaps": "小大寫", - "textSmoothly": "順手", - "textSplit": "分裂", - "textStartOnClick": "點選後開始", + "textSmallCaps": "小型大寫", + "textSmoothly": "平滑地", + "textSplit": "分割", + "textStartOnClick": "按一下後開始", "textStrikethrough": "刪除線", "textStyle": "樣式", "textStyleOptions": "樣式選項", @@ -434,21 +434,21 @@ "textTable": "表格", "textText": "文字", "textTheme": "主題", - "textTop": "上方", - "textTopLeft": "左上方", - "textTopRight": "右上方", - "textTotalRow": "總行數", - "textTransitions": "過渡", + "textTop": "頂部", + "textTopLeft": "左上", + "textTopRight": "右上", + "textTotalRow": "總列數", + "textTransitions": "轉場效果", "textType": "類型", - "textUnCover": "揭露", - "textVerticalIn": "垂直輸入", - "textVerticalOut": "垂直輸出", + "textUnCover": "揭示", + "textVerticalIn": "垂直進入", + "textVerticalOut": "垂直退出", "textWedge": "楔形", "textWipe": "擦拭", - "textZoom": "放大", + "textZoom": "縮放", "textZoomIn": "放大", "textZoomOut": "縮小", - "textZoomRotate": "放大和旋轉", + "textZoomRotate": "縮放和旋轉", "textHorizontalText": "Horizontal Text", "textInvalidName": "The file name cannot contain any of the following characters: ", "textMorph": "Morph", @@ -460,54 +460,54 @@ "textTextOrientation": "Text Orientation" }, "Settings": { - "mniSlideStandard": "標準(4:3)", - "mniSlideWide": "寬螢幕(16:9)", + "mniSlideStandard": "標準 (4:3)", + "mniSlideWide": "寬螢幕(16:9)", "notcriticalErrorTitle": "警告", "textAbout": "關於", - "textAddress": "地址:", + "textAddress": "地址:", "textApplication": "應用程式", "textApplicationSettings": "應用程式設定", "textAuthor": "作者", "textBack": "返回", "textCaseSensitive": "區分大小寫", "textCentimeter": "公分", - "textCollaboration": "協作", - "textColorSchemes": "色盤", + "textCollaboration": "共同編輯", + "textColorSchemes": "色彩配置", "textComment": "評論", - "textCreated": "已建立", - "textDarkTheme": "暗色主題", - "textDisableAll": "全部停用", + "textCreated": "已創建", + "textDarkTheme": "深色主題", + "textDisableAll": "停用全部", "textDisableAllMacrosWithNotification": "停用所有帶通知的巨集", "textDisableAllMacrosWithoutNotification": "停用所有不帶通知的巨集", "textDone": "完成", "textDownload": "下載", - "textDownloadAs": "下載為...", + "textDownloadAs": "另存為...", "textEmail": "電子郵件:", "textEnableAll": "全部啟用", "textEnableAllMacrosWithoutNotification": "啟用所有不帶通知的巨集", - "textFeedback": "反饋與支持", + "textFeedback": "意見回饋與支援", "textFind": "尋找", - "textFindAndReplace": "尋找與取代", - "textFindAndReplaceAll": "尋找與全部取代", - "textHelp": "輔助說明", - "textHighlight": "強調結果", - "textInch": "吋", - "textLastModified": "上一次更改", - "textLastModifiedBy": "最後修改者", + "textFindAndReplace": "尋找和取代", + "textFindAndReplaceAll": "尋找並取代全部", + "textHelp": "說明", + "textHighlight": "突顯結果", + "textInch": "英寸", + "textLastModified": "上次修改時間", + "textLastModifiedBy": "上次修改者", "textLoading": "載入中...", "textLocation": "位置", "textMacrosSettings": "巨集設定", - "textNoMatches": "無匹配", - "textOk": "好", + "textNoMatches": "沒有符合的結果", + "textOk": "確定", "textOwner": "擁有者", "textPoint": "點", - "textPoweredBy": "於支援", + "textPoweredBy": "由...提供", "textPresentationInfo": "簡報資訊", "textPresentationSettings": "簡報設定", "textPresentationTitle": "簡報標題", - "textPrint": "打印", + "textPrint": "列印", "textReplace": "取代", - "textReplaceAll": "全部替換", + "textReplaceAll": "全部取代", "textRestartApplication": "請重新啟動應用程式以讓變更生效", "textRTL": "從右至左", "textSearch": "搜尋", @@ -516,37 +516,37 @@ "textSlideSize": "投影片大小", "textSpellcheck": "拼字檢查", "textSubject": "主旨", - "textTel": "電話", + "textTel": "電話:", + "textTheme": "主題", "textTitle": "標題", "textUnitOfMeasurement": "測量單位", - "textUploaded": "\n已上傳", + "textUploaded": "已上傳", "textVersion": "版本", - "txtScheme1": "辦公室", + "txtScheme1": "Office", "txtScheme10": "中位數", - "txtScheme11": " 地鐵", + "txtScheme11": "Metro", "txtScheme12": "模組", - "txtScheme13": "豐富的", - "txtScheme14": "凸窗", - "txtScheme15": "起源", - "txtScheme16": "紙", + "txtScheme13": "奢華的", + "txtScheme14": "Oriel", + "txtScheme15": "起點", + "txtScheme16": "紙張", "txtScheme17": "冬至", "txtScheme18": "技術", "txtScheme19": "跋涉", "txtScheme2": "灰階", - "txtScheme20": "市區", - "txtScheme21": "感染力", - "txtScheme22": "新的Office", + "txtScheme20": "城市", + "txtScheme21": "活力", + "txtScheme22": "新的 Office", "txtScheme3": "頂尖", - "txtScheme4": "方面", - "txtScheme5": "市區", - "txtScheme6": "大堂", - "txtScheme7": "產權", + "txtScheme4": "外觀", + "txtScheme5": "市政的", + "txtScheme6": "展示區", + "txtScheme7": "股權", "txtScheme8": "流程", "txtScheme9": "鑄造廠", "textDark": "Dark", "textLight": "Light", "textSameAsSystem": "Same As System", - "textTheme": "Theme", "textVersionHistory": "Version History" } } diff --git a/apps/presentationeditor/mobile/locale/zh.json b/apps/presentationeditor/mobile/locale/zh.json index 41df0884f8..d8217d2394 100644 --- a/apps/presentationeditor/mobile/locale/zh.json +++ b/apps/presentationeditor/mobile/locale/zh.json @@ -43,6 +43,12 @@ "textStandartColors": "标准颜色", "textThemeColors": "主题颜色" }, + "Themes": { + "dark": "深色", + "light": "浅色", + "system": "与系统一致", + "textTheme": "主题" + }, "VersionHistory": { "notcriticalErrorTitle": "警告", "textAnonymous": "匿名", @@ -56,12 +62,6 @@ "textWarningRestoreVersion": "当前文件将保存在版本历史记录中。", "titleWarningRestoreVersion": "是否还原此版本?", "txtErrorLoadHistory": "载入记录失败" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -248,8 +248,8 @@ "leaveButtonText": "离开这个页面", "stayButtonText": "留在此页面", "textCloseHistory": "关闭历史记录", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "输入新的文件名称", + "textRenameFile": "重命名文件" }, "View": { "Add": { @@ -373,10 +373,12 @@ "textHighlightColor": "突出显示颜色", "textHorizontalIn": "水平进入", "textHorizontalOut": "水平退出", + "textHorizontalText": "横向文本", "textHyperlink": "超链接", "textImage": "图片", "textImageURL": "图片URL地址", "textInsertImage": "插入图片", + "textInvalidName": "文件名不能包含以下任何字符:", "textLastColumn": "最后一列", "textLastSlide": "最后一张幻灯片", "textLayout": "布局", @@ -416,6 +418,8 @@ "textReplaceImage": "替换图片", "textRequired": "必填", "textRight": "右", + "textRotateTextDown": "向下旋转文字", + "textRotateTextUp": "向上旋转文字", "textScreenTip": "屏幕提示", "textSearch": "搜索", "textSec": "秒", @@ -437,6 +441,7 @@ "textSuperscript": "上标", "textTable": "表格", "textText": "文本", + "textTextOrientation": "文本方向", "textTheme": "主题", "textTop": "顶部", "textTopLeft": "左上方", @@ -452,12 +457,7 @@ "textZoom": "放大", "textZoomIn": "放大", "textZoomOut": "缩小", - "textZoomRotate": "缩放并旋转", - "textHorizontalText": "Horizontal Text", - "textInvalidName": "The file name cannot contain any of the following characters: ", - "textRotateTextDown": "Rotate Text Down", - "textRotateTextUp": "Rotate Text Up", - "textTextOrientation": "Text Orientation" + "textZoomRotate": "缩放并旋转" }, "Settings": { "mniSlideStandard": "标准(4:3)", @@ -475,6 +475,7 @@ "textColorSchemes": "配色方案", "textComment": "批注", "textCreated": "已创建", + "textDark": "深色", "textDarkTheme": "深色主题", "textDisableAll": "全部停用", "textDisableAllMacrosWithNotification": "停用所有带通知的宏", @@ -494,6 +495,7 @@ "textInch": "英寸", "textLastModified": "上一次更改", "textLastModifiedBy": "最后修改者", + "textLight": "浅色", "textLoading": "加载中…", "textLocation": "位置", "textMacrosSettings": "宏设置", @@ -510,6 +512,7 @@ "textReplaceAll": "全部替换", "textRestartApplication": "请重新启动应用程序以使更改生效", "textRTL": "从右至左", + "textSameAsSystem": "与系统一致", "textSearch": "搜索", "textSettings": "设置", "textShowNotification": "显示通知", @@ -517,6 +520,7 @@ "textSpellcheck": "拼写检查", "textSubject": "主题", "textTel": "电话:", + "textTheme": "主题", "textTitle": "标题", "textUnitOfMeasurement": "测量单位", "textUploaded": "已上传", @@ -543,11 +547,7 @@ "txtScheme6": "大厅", "txtScheme7": "产权", "txtScheme8": "流程", - "txtScheme9": "铸造厂", - "textDark": "Dark", - "textLight": "Light", - "textSameAsSystem": "Same As System", - "textTheme": "Theme" + "txtScheme9": "铸造厂" } } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/embed/locale/zh-tw.json b/apps/spreadsheeteditor/embed/locale/zh-tw.json index f287a62295..d22f3b8e88 100644 --- a/apps/spreadsheeteditor/embed/locale/zh-tw.json +++ b/apps/spreadsheeteditor/embed/locale/zh-tw.json @@ -8,38 +8,38 @@ "SSE.ApplicationController.convertationErrorText": "轉換失敗。", "SSE.ApplicationController.convertationTimeoutText": "轉換逾時。", "SSE.ApplicationController.criticalErrorTitle": "錯誤", - "SSE.ApplicationController.downloadErrorText": "下載失敗", + "SSE.ApplicationController.downloadErrorText": "下載失敗。", "SSE.ApplicationController.downloadTextText": "下載電子表格中...", - "SSE.ApplicationController.errorAccessDeny": "您嘗試進行未被授權的動作。
    請聯繫您的文件伺服器主機的管理者。", - "SSE.ApplicationController.errorDefaultMessage": "錯誤編號:%1", - "SSE.ApplicationController.errorFilePassProtect": "該文件受密碼保護,無法打開。", - "SSE.ApplicationController.errorFileSizeExceed": "此檔案超過這一主機限制的大小
    進一步資訊,請聯絡您的文件服務主機的管理者。", - "SSE.ApplicationController.errorForceSave": "保存文件時發生錯誤。請使用“下載為”選項將文件保存到電腦機硬碟中,或稍後再試。", - "SSE.ApplicationController.errorInconsistentExt": "開啟檔案時發生錯誤。
    檔案內容與副檔名不一致。", - "SSE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應到文字檔(例如 docx),但檔案副檔名不一致:%1。", - "SSE.ApplicationController.errorInconsistentExtPdf": "開啟檔案時發生錯誤。
    檔案內容對應到下列格式之一:pdf/djvu/xps/oxps,但檔案副檔名不一致:%1。", - "SSE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應到簡報檔(例如 pptx),但檔案副檔名不一致:%1。", - "SSE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應到試算表檔案(例如 xlsx),但檔案副檔名不一致:%1。", - "SSE.ApplicationController.errorLoadingFont": "字體未載入。
    請聯絡檔案伺服器管理員。", - "SSE.ApplicationController.errorTokenExpire": "檔案安全憑證已過期。
    請聯絡您的檔案伺服器管理員。", - "SSE.ApplicationController.errorUpdateVersionOnDisconnect": "網路連接已恢復,文件版本已更改。
    在繼續工作之前,您需要下載文件或複制其內容以確保沒有丟失,然後重新加載此頁面。", - "SSE.ApplicationController.errorUserDrop": "目前無法存取該文件。", + "SSE.ApplicationController.errorAccessDeny": "您正試圖執行您無權限的操作。
    請聯繫您的文件伺服器管理員。", + "SSE.ApplicationController.errorDefaultMessage": "錯誤碼:%1", + "SSE.ApplicationController.errorFilePassProtect": "該文件已被密碼保護,無法打開。", + "SSE.ApplicationController.errorFileSizeExceed": "文件大小超出了伺服器設置的限制。
    詳細請聯繫管理員。", + "SSE.ApplicationController.errorForceSave": "儲存檔案時發生錯誤。請使用「另存為」選項將檔案備份保存到您的電腦硬碟,或稍後再試。", + "SSE.ApplicationController.errorInconsistentExt": "在打開檔案時發生錯誤。
    檔案內容與副檔名不符。", + "SSE.ApplicationController.errorInconsistentExtDocx": "開啟檔案時發生錯誤。
    檔案內容對應於文字文件(例如 docx),但檔案的副檔名不一致:%1。", + "SSE.ApplicationController.errorInconsistentExtPdf": "在打開檔案時發生錯誤。
    檔案內容對應以下格式之一:pdf/djvu/xps/oxps,但檔案的副檔名矛盾:%1。", + "SSE.ApplicationController.errorInconsistentExtPptx": "開啟檔案時發生錯誤。
    檔案內容對應於簡報(例如 pptx),但檔案的副檔名不一致:%1。", + "SSE.ApplicationController.errorInconsistentExtXlsx": "開啟檔案時發生錯誤。
    檔案內容對應於試算表(例如 xlsx),但檔案的副檔名不一致:%1。", + "SSE.ApplicationController.errorLoadingFont": "字型未載入。
    請聯絡您的文件伺服器管理員。", + "SSE.ApplicationController.errorTokenExpire": "文件安全令牌已過期。
    請聯繫相關管理員。", + "SSE.ApplicationController.errorUpdateVersionOnDisconnect": "連線已恢復,且檔案版本已更改。
    在您繼續工作之前,您需要下載該檔案或複製其內容以確保不會遺失任何內容,然後重新載入此頁面。", + "SSE.ApplicationController.errorUserDrop": "目前無法存取該檔案。", "SSE.ApplicationController.notcriticalErrorTitle": "警告", - "SSE.ApplicationController.openErrorText": "開啟檔案時發生錯誤", - "SSE.ApplicationController.scriptLoadError": "連接速度太慢,某些組件無法加載。請重新加載頁面。", + "SSE.ApplicationController.openErrorText": "打開檔案時發生錯誤。", + "SSE.ApplicationController.scriptLoadError": "連線速度太慢,無法載入某些元件。請重新載入頁面。", "SSE.ApplicationController.textAnonymous": "匿名", "SSE.ApplicationController.textGuest": "訪客", - "SSE.ApplicationController.textLoadingDocument": "加載電子表格", + "SSE.ApplicationController.textLoadingDocument": "正在載入試算表", "SSE.ApplicationController.textOf": "於", "SSE.ApplicationController.txtClose": "關閉", "SSE.ApplicationController.unknownErrorText": "未知錯誤。", - "SSE.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器", + "SSE.ApplicationController.unsupportedBrowserErrorText": "不支援您的瀏覽器。", "SSE.ApplicationController.waitText": "請耐心等待...", "SSE.ApplicationView.txtDownload": "下載", "SSE.ApplicationView.txtEmbed": "嵌入", - "SSE.ApplicationView.txtFileLocation": "打開文件所在位置", + "SSE.ApplicationView.txtFileLocation": "打開檔案位置", "SSE.ApplicationView.txtFullScreen": "全螢幕", "SSE.ApplicationView.txtPrint": "列印", - "SSE.ApplicationView.txtSearch": "搜索", + "SSE.ApplicationView.txtSearch": "搜尋", "SSE.ApplicationView.txtShare": "分享" } \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/ar.json b/apps/spreadsheeteditor/main/locale/ar.json index 597ed14723..992152b4fb 100644 --- a/apps/spreadsheeteditor/main/locale/ar.json +++ b/apps/spreadsheeteditor/main/locale/ar.json @@ -5,22 +5,22 @@ "Common.Controllers.Desktop.hintBtnHome": "عرض النافذة الرئيسية", "Common.Controllers.Desktop.itemCreateFromTemplate": "إنشاء باستخدام قالب", "Common.Controllers.History.notcriticalErrorTitle": "تحذير", - "Common.define.chartData.textArea": "مساحة", + "Common.define.chartData.textArea": "مساحي", "Common.define.chartData.textAreaStacked": "منطقة متراصة", "Common.define.chartData.textAreaStackedPer": "مساحة مكدسة بنسبة ٪100", "Common.define.chartData.textBar": "شريط", "Common.define.chartData.textBarNormal": "عمود متجمع", "Common.define.chartData.textBarNormal3d": "عمود مجمع ثلاثي الابعاد", "Common.define.chartData.textBarNormal3dPerspective": "عمود ثلاثي الابعاد", - "Common.define.chartData.textBarStacked": "أعمدة متراصة", + "Common.define.chartData.textBarStacked": "أعمدة مكدسة", "Common.define.chartData.textBarStacked3d": "عمود مكدس ثلاثي الابعاد", "Common.define.chartData.textBarStackedPer": "عمود مكدس بنسبة ٪100", "Common.define.chartData.textBarStackedPer3d": "عمود مكدس 100% ثلاثي الابعاد", "Common.define.chartData.textCharts": "الرسوم البيانية", "Common.define.chartData.textColumn": "عمود", "Common.define.chartData.textColumnSpark": "عمود", - "Common.define.chartData.textCombo": "مزيج", - "Common.define.chartData.textComboAreaBar": "منطقة متراصة - أعمدة مجتمعة", + "Common.define.chartData.textCombo": "مختلط", + "Common.define.chartData.textComboAreaBar": "مساحي مكدس - أعمدة مجتمعة", "Common.define.chartData.textComboBarLine": "عمود متجمع - خط", "Common.define.chartData.textComboBarLineSecondary": "عمود متجمع - خط على المحور الثانوي", "Common.define.chartData.textComboCustom": "تركيبة مخصصة", @@ -31,20 +31,20 @@ "Common.define.chartData.textHBarStacked3d": "شريط مكدس ثلاثي الأبعاد", "Common.define.chartData.textHBarStackedPer": "شريط مكدس بنسبة ٪100", "Common.define.chartData.textHBarStackedPer3d": "شريط مكدس 100% ثلاثي الابعاد", - "Common.define.chartData.textLine": "خط", + "Common.define.chartData.textLine": "خطي", "Common.define.chartData.textLine3d": "خط ثلاثي الابعاد", "Common.define.chartData.textLineMarker": "سطر مع علامات", - "Common.define.chartData.textLineSpark": "خط", + "Common.define.chartData.textLineSpark": "خطي", "Common.define.chartData.textLineStacked": "سطر متراص", "Common.define.chartData.textLineStackedMarker": "خط مرتص مع علامات", "Common.define.chartData.textLineStackedPer": "خط مكدس بنسبة ٪100", "Common.define.chartData.textLineStackedPerMarker": "خط مكدس بنسبة 100٪ مع علامات", - "Common.define.chartData.textPie": "مخطط دائري", + "Common.define.chartData.textPie": "دائرة جزئية", "Common.define.chartData.textPie3d": "مخطط دائري ثلاثي الأبعاد ", - "Common.define.chartData.textPoint": "XY مبعثر", - "Common.define.chartData.textRadar": "قطري", - "Common.define.chartData.textRadarFilled": "نصف قطري ممتلئ", - "Common.define.chartData.textRadarMarker": "قطري مع علامات", + "Common.define.chartData.textPoint": "س ص (متبعثر)", + "Common.define.chartData.textRadar": "نسيجي", + "Common.define.chartData.textRadarFilled": "نسيجي ممتلأ", + "Common.define.chartData.textRadarMarker": "نسيجي مع علامات", "Common.define.chartData.textScatter": "متبعثر", "Common.define.chartData.textScatterLine": "متبعثر مع خطوط مستقيمة", "Common.define.chartData.textScatterLineMarker": "متبعثر مع خطوط مستقيمة و علامات", @@ -563,7 +563,7 @@ "Common.Views.ReviewChanges.tipAcceptCurrent": "الموافقة على التغيير الحالي", "Common.Views.ReviewChanges.tipCoAuthMode": "تفعيل وضع التحرير التشاركي", "Common.Views.ReviewChanges.tipCommentRem": "حذف التعليقات", - "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليقات الحالية", + "Common.Views.ReviewChanges.tipCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.tipCommentResolve": "حل التعليقات", "Common.Views.ReviewChanges.tipCommentResolveCurrent": "حل التعليقات الحالية", "Common.Views.ReviewChanges.tipHistory": "عرض سجل الإصدارات", @@ -581,7 +581,7 @@ "Common.Views.ReviewChanges.txtClose": "إغلاق", "Common.Views.ReviewChanges.txtCoAuthMode": "وضع التحرير المشترك", "Common.Views.ReviewChanges.txtCommentRemAll": "حذف كافة التعليقات", - "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف التعليقات الحالية", + "Common.Views.ReviewChanges.txtCommentRemCurrent": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtCommentRemMy": "حذف تعليقاتي", "Common.Views.ReviewChanges.txtCommentRemMyCurrent": "حذف تعليقي الحالي", "Common.Views.ReviewChanges.txtCommentRemove": "حذف", @@ -599,7 +599,7 @@ "Common.Views.ReviewChanges.txtNext": "التالي", "Common.Views.ReviewChanges.txtOriginal": "تم رفض كل التغييرات (معاينة) ", "Common.Views.ReviewChanges.txtOriginalCap": "أصلي", - "Common.Views.ReviewChanges.txtPrev": "التغيير السابق", + "Common.Views.ReviewChanges.txtPrev": "حذف التعليق الحالي", "Common.Views.ReviewChanges.txtReject": "رفض", "Common.Views.ReviewChanges.txtRejectAll": "رفض كل التغييرات", "Common.Views.ReviewChanges.txtRejectChanges": "رفض التغييرات", @@ -692,7 +692,7 @@ "Common.Views.SymbolTableDialog.textCopyright": "علامة حقوق التأليف والنشر", "Common.Views.SymbolTableDialog.textDCQuote": "إغلاق الاقتباس المزدوج", "Common.Views.SymbolTableDialog.textDOQuote": "علامة اقتباس مزدوجة", - "Common.Views.SymbolTableDialog.textEllipsis": "قطع ناقص أفقي", + "Common.Views.SymbolTableDialog.textEllipsis": "نقاط", "Common.Views.SymbolTableDialog.textEmDash": "فاصلة طويلة", "Common.Views.SymbolTableDialog.textEmSpace": "مسافة طويلة", "Common.Views.SymbolTableDialog.textEnDash": "شرطة قصيرة", @@ -700,7 +700,7 @@ "Common.Views.SymbolTableDialog.textFont": "الخط", "Common.Views.SymbolTableDialog.textNBHyphen": "شرطة عدم تقطيع", "Common.Views.SymbolTableDialog.textNBSpace": "فراغ عدم تقطيع", - "Common.Views.SymbolTableDialog.textPilcrow": "رمز أنتيغراف", + "Common.Views.SymbolTableDialog.textPilcrow": "إشارة فقرة", "Common.Views.SymbolTableDialog.textQEmSpace": "مسافة بقدر 1/4 em", "Common.Views.SymbolTableDialog.textRange": "نطاق", "Common.Views.SymbolTableDialog.textRecent": "الرموز التي تم استخدامها مؤخراً", @@ -1160,12 +1160,12 @@ "SSE.Controllers.Main.txtRowLbls": "تسميات الصفوف", "SSE.Controllers.Main.txtSeconds": "ثواني", "SSE.Controllers.Main.txtSeries": "سلسلة", - "SSE.Controllers.Main.txtShape_accentBorderCallout1": "وسيلة شرح خطية 2 (حد و فاصل مميز)", - "SSE.Controllers.Main.txtShape_accentBorderCallout2": "وسيلة شرح خطية 2 (حد و شريط مميز)", - "SSE.Controllers.Main.txtShape_accentBorderCallout3": "وسيلة شرح 3 (حد و فاصل مميز)", - "SSE.Controllers.Main.txtShape_accentCallout1": "وسيلة شرح خطية 1 (شريط مميز)", - "SSE.Controllers.Main.txtShape_accentCallout2": "وسيلة شرح خطية 2 (شريط مميز)", - "SSE.Controllers.Main.txtShape_accentCallout3": "وسيلة شرح 3 (شريط مميز)", + "SSE.Controllers.Main.txtShape_accentBorderCallout1": "وسيلة شرح 1 (حد و فاصل تمييز)", + "SSE.Controllers.Main.txtShape_accentBorderCallout2": "وسيلة شرح 2 (حد و فاصل تمييز)", + "SSE.Controllers.Main.txtShape_accentBorderCallout3": "وسيلة شرح 3 (حد و فاصل تمييز)", + "SSE.Controllers.Main.txtShape_accentCallout1": "وسيلة شرح 1 (فاصل تمييز)", + "SSE.Controllers.Main.txtShape_accentCallout2": "وسيلة شرح 2 (فاصل تمييز)", + "SSE.Controllers.Main.txtShape_accentCallout3": "وسيلة شرح 3 (فاصل تمييز)", "SSE.Controllers.Main.txtShape_actionButtonBackPrevious": "زر الرجوع أو السابق", "SSE.Controllers.Main.txtShape_actionButtonBeginning": "زر البداية", "SSE.Controllers.Main.txtShape_actionButtonBlank": "زر فارغ", @@ -1184,7 +1184,7 @@ "SSE.Controllers.Main.txtShape_bentConnector5WithArrow": "موصل سهم مع مفصل", "SSE.Controllers.Main.txtShape_bentConnector5WithTwoArrows": "موصل سهم مزدوج مع مفصل", "SSE.Controllers.Main.txtShape_bentUpArrow": "سهم منحني للأعلى", - "SSE.Controllers.Main.txtShape_bevel": "ميل", + "SSE.Controllers.Main.txtShape_bevel": "مستطيل مشطوف الحواف", "SSE.Controllers.Main.txtShape_blockArc": "شكل قوس", "SSE.Controllers.Main.txtShape_borderCallout1": "وسيلة شرح مع خط 1", "SSE.Controllers.Main.txtShape_borderCallout2": "وسيلة شرح خطية 2", @@ -1193,12 +1193,12 @@ "SSE.Controllers.Main.txtShape_callout1": "وسيلة شرح مع خط 1 (بدون حدود)", "SSE.Controllers.Main.txtShape_callout2": "وسيلة شرح 2 (بدون حدود)", "SSE.Controllers.Main.txtShape_callout3": "وسيلة شرح مع خط 3 (بدون حدود)", - "SSE.Controllers.Main.txtShape_can": "علبة", - "SSE.Controllers.Main.txtShape_chevron": "شيفرون", + "SSE.Controllers.Main.txtShape_can": "أسطوانة", + "SSE.Controllers.Main.txtShape_chevron": "سهم بشكل رتبة عسكرية", "SSE.Controllers.Main.txtShape_chord": "وتر", "SSE.Controllers.Main.txtShape_circularArrow": "سهم دائرى", "SSE.Controllers.Main.txtShape_cloud": "سحابة", - "SSE.Controllers.Main.txtShape_cloudCallout": "وسيلة شرح السحابة", + "SSE.Controllers.Main.txtShape_cloudCallout": "فقاعة التفكير - على شكل سحابة", "SSE.Controllers.Main.txtShape_corner": "زاوية", "SSE.Controllers.Main.txtShape_cube": "مكعب", "SSE.Controllers.Main.txtShape_curvedConnector3": "رابط منحني", @@ -1210,12 +1210,12 @@ "SSE.Controllers.Main.txtShape_curvedUpArrow": "سهم منحني لأعلي", "SSE.Controllers.Main.txtShape_decagon": "عشاري الأضلاع", "SSE.Controllers.Main.txtShape_diagStripe": "شريط قطري", - "SSE.Controllers.Main.txtShape_diamond": "الماس", + "SSE.Controllers.Main.txtShape_diamond": "معين", "SSE.Controllers.Main.txtShape_dodecagon": "ذو اثني عشر ضلعا", - "SSE.Controllers.Main.txtShape_donut": "دونات", + "SSE.Controllers.Main.txtShape_donut": "دائرة مجوفة", "SSE.Controllers.Main.txtShape_doubleWave": "مزدوج التموج", "SSE.Controllers.Main.txtShape_downArrow": "سهم إلى الأسفل", - "SSE.Controllers.Main.txtShape_downArrowCallout": "وسيلة شرح سهم إلى الأسفل", + "SSE.Controllers.Main.txtShape_downArrowCallout": "وسيلة شرح مع سهم إلى الأسفل", "SSE.Controllers.Main.txtShape_ellipse": "بيضوي", "SSE.Controllers.Main.txtShape_ellipseRibbon": "شريط منحني لأسفل", "SSE.Controllers.Main.txtShape_ellipseRibbon2": "شريط منحني لأعلى", @@ -1252,9 +1252,9 @@ "SSE.Controllers.Main.txtShape_halfFrame": "نصف إطار", "SSE.Controllers.Main.txtShape_heart": "قلب", "SSE.Controllers.Main.txtShape_heptagon": "شكل بسبعة أضلاع", - "SSE.Controllers.Main.txtShape_hexagon": "شكل بثمانية أضلاع", + "SSE.Controllers.Main.txtShape_hexagon": "سداسي الأضلاع", "SSE.Controllers.Main.txtShape_homePlate": "خماسي الأضلاع", - "SSE.Controllers.Main.txtShape_horizontalScroll": "تمرير أفقي", + "SSE.Controllers.Main.txtShape_horizontalScroll": "لفافة ورقية أفقية", "SSE.Controllers.Main.txtShape_irregularSeal1": "انفجار 1", "SSE.Controllers.Main.txtShape_irregularSeal2": "انفجار 2", "SSE.Controllers.Main.txtShape_leftArrow": "سهم أيسر", @@ -1266,7 +1266,7 @@ "SSE.Controllers.Main.txtShape_leftRightUpArrow": "سهم إلى اليمين و اليسار و الأعلى", "SSE.Controllers.Main.txtShape_leftUpArrow": "سهم إلى اليسار و الأعلى", "SSE.Controllers.Main.txtShape_lightningBolt": "برق", - "SSE.Controllers.Main.txtShape_line": "خط", + "SSE.Controllers.Main.txtShape_line": "خطي", "SSE.Controllers.Main.txtShape_lineWithArrow": "سهم", "SSE.Controllers.Main.txtShape_lineWithTwoArrows": "سهم مزدوج", "SSE.Controllers.Main.txtShape_mathDivide": "القسمة", @@ -1281,13 +1281,13 @@ "SSE.Controllers.Main.txtShape_octagon": "مضلع ثماني", "SSE.Controllers.Main.txtShape_parallelogram": "متوازي الأضلاع", "SSE.Controllers.Main.txtShape_pentagon": "خماسي الأضلاع", - "SSE.Controllers.Main.txtShape_pie": "مخطط دائري", + "SSE.Controllers.Main.txtShape_pie": "دائرة جزئية", "SSE.Controllers.Main.txtShape_plaque": "توقيع", "SSE.Controllers.Main.txtShape_plus": "زائد", "SSE.Controllers.Main.txtShape_polyline1": "على عجل", "SSE.Controllers.Main.txtShape_polyline2": "استمارة حرة", "SSE.Controllers.Main.txtShape_quadArrow": "سهم رباعي", - "SSE.Controllers.Main.txtShape_quadArrowCallout": "وسيلة شرح سهم رباعي", + "SSE.Controllers.Main.txtShape_quadArrowCallout": "وسيلة شرح مع أربعة أسهم", "SSE.Controllers.Main.txtShape_rect": "مستطيل", "SSE.Controllers.Main.txtShape_ribbon": "أسدل الشريط للأسفل", "SSE.Controllers.Main.txtShape_ribbon2": "شريط إلى الأعلى", @@ -1323,14 +1323,14 @@ "SSE.Controllers.Main.txtShape_trapezoid": "شبه منحرف", "SSE.Controllers.Main.txtShape_triangle": "مثلث", "SSE.Controllers.Main.txtShape_upArrow": "سهم إلى الأعلى", - "SSE.Controllers.Main.txtShape_upArrowCallout": "شرح توضيحي مع سهم إلى الأعلى", + "SSE.Controllers.Main.txtShape_upArrowCallout": "وسيلة شرح مع سهم إلى الأعلى", "SSE.Controllers.Main.txtShape_upDownArrow": "سهم إلى الأعلى و الأسفل", "SSE.Controllers.Main.txtShape_uturnArrow": "سهم على شكل U", - "SSE.Controllers.Main.txtShape_verticalScroll": "تحريك رأسي", + "SSE.Controllers.Main.txtShape_verticalScroll": "لفافة ورقية رأسية", "SSE.Controllers.Main.txtShape_wave": "موجة", - "SSE.Controllers.Main.txtShape_wedgeEllipseCallout": "وسيلة شرح بيضوية", - "SSE.Controllers.Main.txtShape_wedgeRectCallout": "وسيلة شرح مستطيلة", - "SSE.Controllers.Main.txtShape_wedgeRoundRectCallout": "وسيلة شرح على شكل مستطيل بزوايا مستطيلة", + "SSE.Controllers.Main.txtShape_wedgeEllipseCallout": "فقاعة الكلام - بيضوية", + "SSE.Controllers.Main.txtShape_wedgeRectCallout": "فقاعة الكلام - مستطيلة", + "SSE.Controllers.Main.txtShape_wedgeRoundRectCallout": "فقاعة الكلام - مستطيل بزوايا مستديرة", "SSE.Controllers.Main.txtSheet": "ورقة", "SSE.Controllers.Main.txtSlicer": "أداة تقسيم البيانات", "SSE.Controllers.Main.txtStarsRibbons": "النجوم و الأشرطة", @@ -1422,7 +1422,7 @@ "SSE.Controllers.Toolbar.textDirectional": "اتجاهي", "SSE.Controllers.Toolbar.textFontSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة رقمية بين 1 و 409", "SSE.Controllers.Toolbar.textFraction": "الكسور", - "SSE.Controllers.Toolbar.textFunction": "الدوال", + "SSE.Controllers.Toolbar.textFunction": "دوال", "SSE.Controllers.Toolbar.textIndicator": "مؤشرات", "SSE.Controllers.Toolbar.textInsert": "إدراج", "SSE.Controllers.Toolbar.textIntegral": "تكاملات", @@ -1551,7 +1551,7 @@ "SSE.Controllers.Toolbar.txtGroupCell_GoodBadAndNeutral": "جيد، سيء، محايد", "SSE.Controllers.Toolbar.txtGroupCell_NoName": "بدون اسم", "SSE.Controllers.Toolbar.txtGroupCell_NumberFormat": "تنسيق الأرقام", - "SSE.Controllers.Toolbar.txtGroupCell_ThemedCallStyles": "أنماط الخلايا البيئوية", + "SSE.Controllers.Toolbar.txtGroupCell_ThemedCallStyles": "أنماط خلايا ذات نسق", "SSE.Controllers.Toolbar.txtGroupCell_TitlesAndHeadings": "العناوين", "SSE.Controllers.Toolbar.txtGroupTable_Custom": "مخصص", "SSE.Controllers.Toolbar.txtGroupTable_Dark": "داكن", @@ -1559,19 +1559,19 @@ "SSE.Controllers.Toolbar.txtGroupTable_Medium": "المتوسط", "SSE.Controllers.Toolbar.txtInsertCells": "إدراج خلايا", "SSE.Controllers.Toolbar.txtIntegral": "تكامل", - "SSE.Controllers.Toolbar.txtIntegral_dtheta": "ثيتا التفاضلية", + "SSE.Controllers.Toolbar.txtIntegral_dtheta": "تفاضل ثيتا", "SSE.Controllers.Toolbar.txtIntegral_dx": "تفاضل x", "SSE.Controllers.Toolbar.txtIntegral_dy": "تفاضل y", "SSE.Controllers.Toolbar.txtIntegralCenterSubSup": "تكامل مع حدود مكدسة", "SSE.Controllers.Toolbar.txtIntegralDouble": "تكامل مزدوج", - "SSE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "تكامل مزدوج مع حدود", + "SSE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "تكامل مزدوج مع حدود مكدسة", "SSE.Controllers.Toolbar.txtIntegralDoubleSubSup": "تكامل مزدوج مع حدود", - "SSE.Controllers.Toolbar.txtIntegralOriented": "تكامل على المحيط", - "SSE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "تكامل على المحيط مع حدود مكدسة", + "SSE.Controllers.Toolbar.txtIntegralOriented": "تكامل محيطي", + "SSE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "تكامل محيطي مع حدود مكدسة", "SSE.Controllers.Toolbar.txtIntegralOrientedDouble": "تكامل سطحي", "SSE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "تكامل سطحي مع حدود متراصة", "SSE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "تكامل سطحي مع حدود", - "SSE.Controllers.Toolbar.txtIntegralOrientedSubSup": "تكامل على المحيط مع حدود", + "SSE.Controllers.Toolbar.txtIntegralOrientedSubSup": "تكامل محيطي مع حدود", "SSE.Controllers.Toolbar.txtIntegralOrientedTriple": "تكامل حجمي", "SSE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "تكامل حجمي مع حدود متراصة", "SSE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "تكامل حجمي مع حدود", @@ -1779,6 +1779,7 @@ "SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "نمط متوسط للجدول", "SSE.Controllers.Toolbar.warnLongOperation": "قد تستغرق العملية وقتاً أطول من المتوقع.
    هل أنت متأكد أنك تود المتابعة؟", "SSE.Controllers.Toolbar.warnMergeLostData": "ستبقى فقط البيانات من الخلية العلوية اليسرى في الخلية المدمجة.
    هل أنت متأكد أنك تريد المتابعة؟", + "SSE.Controllers.Toolbar.warnNoRecommended": "لإنشاء مخطط، حدد الخلايا التي تحتوي على البيانات التي ترغب في استخدامها.
    إذا كان لديك أسماء للصفوف والأعمدة وترغب في استخدامها كتسميات، فقم بتضمينها في التحديد الخاص بك.", "SSE.Controllers.Viewport.textFreezePanes": "تجميد الأشرطة", "SSE.Controllers.Viewport.textFreezePanesShadow": "عرض ظلال اللوائح المجمدة", "SSE.Controllers.Viewport.textHideFBar": "إخفاء شريط الصيغة", @@ -1911,14 +1912,14 @@ "SSE.Views.CellSettings.tipAddGradientPoint": "اضافة نقطة تدرج", "SSE.Views.CellSettings.tipAll": "وضع الحد الخارجي و كافة الخطوط الداخلية", "SSE.Views.CellSettings.tipBottom": "وضع الحد الخارجي السفلي فقط", - "SSE.Views.CellSettings.tipDiagD": "تفعيل الحد الأسفل القطري", - "SSE.Views.CellSettings.tipDiagU": "تفعيل الحد العلوي القطري", + "SSE.Views.CellSettings.tipDiagD": "حد قطري إلى اليمين", + "SSE.Views.CellSettings.tipDiagU": "حد قطري إلى اليمين", "SSE.Views.CellSettings.tipInner": "وضع الخطوط الداخلية فقط", "SSE.Views.CellSettings.tipInnerHor": "وضع الخطوط الأفقية الداخلية فقط", "SSE.Views.CellSettings.tipInnerVert": "ضبط الخطوط الداخلية الرأسية فقط", "SSE.Views.CellSettings.tipLeft": "وضع الحد الخارجي الأيسر فقط", - "SSE.Views.CellSettings.tipNone": "بدون حدود", - "SSE.Views.CellSettings.tipOuter": "وضع الحد الخارجي فقط", + "SSE.Views.CellSettings.tipNone": "بلا حدود", + "SSE.Views.CellSettings.tipOuter": "الحدود الخارجية فقط", "SSE.Views.CellSettings.tipRemoveGradientPoint": "إزالة نقطة التدرج", "SSE.Views.CellSettings.tipRight": "وضع الحد الخارجي الأيمن فقط", "SSE.Views.CellSettings.tipTop": "وضع الحد الخارجي العلوي فقط", @@ -1965,10 +1966,10 @@ "SSE.Views.ChartSettings.text3dDepth": "العمق (% من القاعدة)", "SSE.Views.ChartSettings.text3dHeight": "الارتفاع (% من الأساس)", "SSE.Views.ChartSettings.text3dRotation": "تدوير ثلاثي الابعاد", - "SSE.Views.ChartSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.ChartSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.ChartSettings.textAutoscale": "تحجيم تلقائى", "SSE.Views.ChartSettings.textBorderSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 0 و 1584 نقطة.", - "SSE.Views.ChartSettings.textChangeType": "تغيير النمط", + "SSE.Views.ChartSettings.textChangeType": "تغيير نوع المخطط", "SSE.Views.ChartSettings.textChartType": "تغيير نوع الرسم البياني", "SSE.Views.ChartSettings.textDefault": "الوضع الافتراضي للدوران", "SSE.Views.ChartSettings.textDown": "إلى الأسفل", @@ -2052,7 +2053,7 @@ "SSE.Views.ChartSettingsDlg.textLabelInterval": "الفاصل بين التسميات", "SSE.Views.ChartSettingsDlg.textLabelOptions": "خيارات التسمية", "SSE.Views.ChartSettingsDlg.textLabelPos": "موضع التسمية", - "SSE.Views.ChartSettingsDlg.textLayout": "مخطط الصفحة", + "SSE.Views.ChartSettingsDlg.textLayout": "التخطيط", "SSE.Views.ChartSettingsDlg.textLeft": "يسار", "SSE.Views.ChartSettingsDlg.textLeftOverlay": "تراكب على اليسار", "SSE.Views.ChartSettingsDlg.textLegendBottom": "أسفل", @@ -2130,6 +2131,18 @@ "SSE.Views.ChartTypeDialog.textStyle": "النمط", "SSE.Views.ChartTypeDialog.textTitle": "نوع الرسم البياني", "SSE.Views.ChartTypeDialog.textType": "النوع", + "SSE.Views.ChartWizardDialog.errorComboSeries": "لإنشاء مخطط مختلط، حدد سلسلتين من البيانات على الأقل.", + "SSE.Views.ChartWizardDialog.errorMaxPoints": "الحد الأقصى لعدد النقاط في السلسلة لكل مخطط هو 4096.", + "SSE.Views.ChartWizardDialog.errorMaxRows": "الرقم الأعظمي لسلاسل البيانات في الرسم البياني هو 255.", + "SSE.Views.ChartWizardDialog.errorSecondaryAxis": "نمط الرسم البياني المحدد يتطلب محوراً ثانوياً يقوم أحد الرسوم البيانية المتواجدة باستخدامه. استخدم نمطاً مختلفاً.", + "SSE.Views.ChartWizardDialog.errorStockChart": "ترتيب الصف غير صحيح. لإنشاء مخطط للأسهم، ضع البيانات على الورقة بالترتيب التالي: سعر الافتتاح، السعر الأعلى، السعر الأدنى، سعر الإغلاق.", + "SSE.Views.ChartWizardDialog.textRecommended": "يوصى به", + "SSE.Views.ChartWizardDialog.textSecondary": "المحور الثانوي", + "SSE.Views.ChartWizardDialog.textSeries": "سلسلة", + "SSE.Views.ChartWizardDialog.textTitle": "إدراج رسم بياني", + "SSE.Views.ChartWizardDialog.textTitleChange": "تغيير نوع الرسم البياني", + "SSE.Views.ChartWizardDialog.textType": "النوع", + "SSE.Views.ChartWizardDialog.txtSeriesDesc": "اختر نوع المخطط والمحور لسلسلة البيانات الخاصة بك", "SSE.Views.CreatePivotDialog.textDataRange": "نطاق بيانات المصدر", "SSE.Views.CreatePivotDialog.textDestination": "اختيار أين سيتم وضع الجدول", "SSE.Views.CreatePivotDialog.textExist": "مصنف موجود", @@ -2305,19 +2318,30 @@ "SSE.Views.DocumentHolder.textArrangeForward": "قدم للأمام", "SSE.Views.DocumentHolder.textArrangeFront": "قدم للمقدمة", "SSE.Views.DocumentHolder.textAverage": "المتوسط", - "SSE.Views.DocumentHolder.textBullets": "نقط", + "SSE.Views.DocumentHolder.textBullets": "تعدادات نقطية", + "SSE.Views.DocumentHolder.textCopyCells": "نسخ الخلايا", "SSE.Views.DocumentHolder.textCount": "تعداد", "SSE.Views.DocumentHolder.textCrop": "اقتصاص", "SSE.Views.DocumentHolder.textCropFill": "تعبئة", "SSE.Views.DocumentHolder.textCropFit": "ملائمة", "SSE.Views.DocumentHolder.textEditPoints": "تعديل النقاط", "SSE.Views.DocumentHolder.textEntriesList": "الاختيار من القائمة المنسدلة", + "SSE.Views.DocumentHolder.textFillDays": "ملء الأيام", + "SSE.Views.DocumentHolder.textFillFormatOnly": "تعبئة التنسيق فقط", + "SSE.Views.DocumentHolder.textFillMonths": "ملء الأشهر", + "SSE.Views.DocumentHolder.textFillSeries": "ملء سلسلة", + "SSE.Views.DocumentHolder.textFillWeekdays": "ملء أيام الأسبوع", + "SSE.Views.DocumentHolder.textFillWithoutFormat": "تعبئة بدون تنسيق", + "SSE.Views.DocumentHolder.textFillYears": "ملء السنوات", + "SSE.Views.DocumentHolder.textFlashFill": "تعبئة فلاشية", "SSE.Views.DocumentHolder.textFlipH": "قلب أفقي", "SSE.Views.DocumentHolder.textFlipV": "قلب رأسي", "SSE.Views.DocumentHolder.textFreezePanes": "تجميد الأشرطة", "SSE.Views.DocumentHolder.textFromFile": "من ملف", "SSE.Views.DocumentHolder.textFromStorage": "من وحدة التخزين", "SSE.Views.DocumentHolder.textFromUrl": "من رابط", + "SSE.Views.DocumentHolder.textGrowthTrend": "اتجاه النمو", + "SSE.Views.DocumentHolder.textLinearTrend": "الاتجاه الخطي", "SSE.Views.DocumentHolder.textListSettings": "إعدادات القائمة", "SSE.Views.DocumentHolder.textMacro": "تعيين ماكرو", "SSE.Views.DocumentHolder.textMax": "Max", @@ -2325,12 +2349,13 @@ "SSE.Views.DocumentHolder.textMore": "مزيد من الدوال", "SSE.Views.DocumentHolder.textMoreFormats": "مزيد من التنسيقات", "SSE.Views.DocumentHolder.textNone": "لا شيء", - "SSE.Views.DocumentHolder.textNumbering": "الترقيم", + "SSE.Views.DocumentHolder.textNumbering": "تعداد رقمي", "SSE.Views.DocumentHolder.textReplace": "استبدال الصورة", "SSE.Views.DocumentHolder.textRotate": "تدوير", "SSE.Views.DocumentHolder.textRotate270": "تدوير ٩٠° عكس اتجاه عقارب الساعة", "SSE.Views.DocumentHolder.textRotate90": "تدوير ٩٠° باتجاه عقارب الساعة", "SSE.Views.DocumentHolder.textSaveAsPicture": "حفظ كصورة", + "SSE.Views.DocumentHolder.textSeries": "سلسلة", "SSE.Views.DocumentHolder.textShapeAlignBottom": "المحاذاة للاسفل", "SSE.Views.DocumentHolder.textShapeAlignCenter": "توسيط", "SSE.Views.DocumentHolder.textShapeAlignLeft": "محاذاة إلى اليسار", @@ -2477,7 +2502,7 @@ "SSE.Views.ExternalLinksDlg.textUpdateAll": "تحديث الكل", "SSE.Views.ExternalLinksDlg.textUpdating": "جاري التحديث...", "SSE.Views.ExternalLinksDlg.txtTitle": "روابط خارجية", - "SSE.Views.FieldSettingsDialog.strLayout": "تخطيط الصفحة", + "SSE.Views.FieldSettingsDialog.strLayout": "التخطيط", "SSE.Views.FieldSettingsDialog.strSubtotals": "الاجماليات الفرعية", "SSE.Views.FieldSettingsDialog.textNumFormat": "تنسيق الأرقام", "SSE.Views.FieldSettingsDialog.textReport": "استمارة تقرير", @@ -2629,6 +2654,7 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "الروسية", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacros": "تفعيل الكل", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "تفعيل كل وحدات الماكرو بدون اشعارات", + "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtScreenReader": "تشغيل دعم قارئ الشاشة", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSk": "السلوفاكية", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSl": "السلوفينية", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "تعطيل الكل", @@ -2661,6 +2687,24 @@ "SSE.Views.FileMenuPanels.ProtectDoc.txtView": "عرض التواقيع", "SSE.Views.FileMenuPanels.ViewSaveAs.textDownloadAs": "التنزيل كـ", "SSE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "حفظ نسخة باسم", + "SSE.Views.FillSeriesDialog.textAuto": "ملء تلقائي", + "SSE.Views.FillSeriesDialog.textCols": "الأعمدة", + "SSE.Views.FillSeriesDialog.textDate": "التاريخ", + "SSE.Views.FillSeriesDialog.textDateUnit": "وحدة التاريخ", + "SSE.Views.FillSeriesDialog.textDay": "يوم", + "SSE.Views.FillSeriesDialog.textGrowth": "نمو", + "SSE.Views.FillSeriesDialog.textLinear": "خطي", + "SSE.Views.FillSeriesDialog.textMonth": "شهر", + "SSE.Views.FillSeriesDialog.textRows": "صفوف", + "SSE.Views.FillSeriesDialog.textSeries": "سلسلة في", + "SSE.Views.FillSeriesDialog.textStep": "قيمة الخطوة", + "SSE.Views.FillSeriesDialog.textStop": "إيقاف القيمة", + "SSE.Views.FillSeriesDialog.textTitle": "سلسلة", + "SSE.Views.FillSeriesDialog.textTrend": "اتجاه", + "SSE.Views.FillSeriesDialog.textType": "النوع", + "SSE.Views.FillSeriesDialog.textWeek": "أيام الأسبوع", + "SSE.Views.FillSeriesDialog.textYear": "سنة", + "SSE.Views.FillSeriesDialog.txtErrorNumber": "لا يمكن استخدام الإدخال الخاص بك. قد تكون هناك حاجة إلى عدد صحيح أو رقم عشري.", "SSE.Views.FormatRulesEditDlg.fillColor": "لون التعبئة", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "تحذير", "SSE.Views.FormatRulesEditDlg.text2Scales": "تدرج الألوان - لونين", @@ -2745,7 +2789,7 @@ "SSE.Views.FormatRulesEditDlg.textSubscript": "نص منخفض", "SSE.Views.FormatRulesEditDlg.textSuperscript": "نص مرتفع", "SSE.Views.FormatRulesEditDlg.textTopBorders": "الحدود العليا", - "SSE.Views.FormatRulesEditDlg.textUnderline": "خط سفلي", + "SSE.Views.FormatRulesEditDlg.textUnderline": "تحته خط", "SSE.Views.FormatRulesEditDlg.tipBorders": "الحدود", "SSE.Views.FormatRulesEditDlg.tipNumFormat": "تنسيق الأرقام", "SSE.Views.FormatRulesEditDlg.txtAccounting": "محاسبة", @@ -2932,7 +2976,7 @@ "SSE.Views.HeaderFooterDialog.textSuperscript": "نص مرتفع", "SSE.Views.HeaderFooterDialog.textTime": "الوقت", "SSE.Views.HeaderFooterDialog.textTitle": "إعدادات الترويسة\\التذييل", - "SSE.Views.HeaderFooterDialog.textUnderline": "خط سفلي", + "SSE.Views.HeaderFooterDialog.textUnderline": "تحته خط", "SSE.Views.HeaderFooterDialog.tipFontName": "الخط", "SSE.Views.HeaderFooterDialog.tipFontSize": "حجم الخط", "SSE.Views.HyperlinkSettingsDialog.strDisplay": "عرض", @@ -2956,7 +3000,7 @@ "SSE.Views.HyperlinkSettingsDialog.txtEmpty": "هذا الحقل مطلوب", "SSE.Views.HyperlinkSettingsDialog.txtNotUrl": "هذا الحقل يجب ان يحتوي علي رابط بنفس تنسيق\"http://www.example.com\" ", "SSE.Views.HyperlinkSettingsDialog.txtSizeLimit": "هذا الحقل محدود بـ 2083 حرف", - "SSE.Views.ImageSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.ImageSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.ImageSettings.textCrop": "اقتصاص", "SSE.Views.ImageSettings.textCropFill": "تعبئة", "SSE.Views.ImageSettings.textCropFit": "ملائمة", @@ -2986,7 +3030,7 @@ "SSE.Views.ImageSettingsAdvanced.textAltTip": "التمثيل النصي لمعلومات الكائن المرئي، الذي يساعد الأشخاص الذين يعانون من ضعف النظر على فهم المعلومات المتضمنة في الصورة، الشكل، المخطط أو الجدول.", "SSE.Views.ImageSettingsAdvanced.textAltTitle": "العنوان", "SSE.Views.ImageSettingsAdvanced.textAngle": "زاوية", - "SSE.Views.ImageSettingsAdvanced.textFlipped": "مقلوب", + "SSE.Views.ImageSettingsAdvanced.textFlipped": "انعكاس", "SSE.Views.ImageSettingsAdvanced.textHorizontally": "أفقياً", "SSE.Views.ImageSettingsAdvanced.textOneCell": "نقل بدون تغيير الحجم مع الخلايا", "SSE.Views.ImageSettingsAdvanced.textRotation": "تدوير", @@ -3094,7 +3138,7 @@ "SSE.Views.ParagraphSettings.strParagraphSpacing": "تباعد الفقرة", "SSE.Views.ParagraphSettings.strSpacingAfter": "بعد", "SSE.Views.ParagraphSettings.strSpacingBefore": "قبل", - "SSE.Views.ParagraphSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.ParagraphSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.ParagraphSettings.textAt": "عند", "SSE.Views.ParagraphSettings.textAtLeast": "على الأقل", "SSE.Views.ParagraphSettings.textAuto": "متعدد", @@ -3118,11 +3162,11 @@ "SSE.Views.ParagraphSettingsAdvanced.strStrike": "يتوسطه خط", "SSE.Views.ParagraphSettingsAdvanced.strSubscript": "نص منخفض", "SSE.Views.ParagraphSettingsAdvanced.strSuperscript": "نص مرتفع", - "SSE.Views.ParagraphSettingsAdvanced.strTabs": "التبويبات", + "SSE.Views.ParagraphSettingsAdvanced.strTabs": "مسافة زر الجدولة", "SSE.Views.ParagraphSettingsAdvanced.textAlign": "المحاذاة", "SSE.Views.ParagraphSettingsAdvanced.textAuto": "متعدد", "SSE.Views.ParagraphSettingsAdvanced.textCharacterSpacing": "المسافات بين الاحرف", - "SSE.Views.ParagraphSettingsAdvanced.textDefault": "التبويب الافتراضي", + "SSE.Views.ParagraphSettingsAdvanced.textDefault": "المسافة الافتراضية", "SSE.Views.ParagraphSettingsAdvanced.textEffects": "التأثيرات", "SSE.Views.ParagraphSettingsAdvanced.textExact": "بالضبط", "SSE.Views.ParagraphSettingsAdvanced.textFirstLine": "السطر الأول", @@ -3134,7 +3178,7 @@ "SSE.Views.ParagraphSettingsAdvanced.textSet": "تحديد", "SSE.Views.ParagraphSettingsAdvanced.textTabCenter": "المنتصف", "SSE.Views.ParagraphSettingsAdvanced.textTabLeft": "يسار", - "SSE.Views.ParagraphSettingsAdvanced.textTabPosition": "موقع التبويب", + "SSE.Views.ParagraphSettingsAdvanced.textTabPosition": "موقع نهاية الجدولة", "SSE.Views.ParagraphSettingsAdvanced.textTabRight": "اليمين", "SSE.Views.ParagraphSettingsAdvanced.textTitle": "الفقرة - الإعدادات المتقدمة", "SSE.Views.ParagraphSettingsAdvanced.txtAutoText": "تلقائي", @@ -3174,7 +3218,7 @@ "SSE.Views.PivotGroupDialog.textStart": "البدء عند", "SSE.Views.PivotGroupDialog.textYear": "سنوات", "SSE.Views.PivotGroupDialog.txtTitle": "تجميع", - "SSE.Views.PivotSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.PivotSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.PivotSettings.textColumns": "أعمدة", "SSE.Views.PivotSettings.textFields": "تحديد الحقول", "SSE.Views.PivotSettings.textFilters": "فلاتر", @@ -3283,7 +3327,7 @@ "SSE.Views.PrintSettings.textFitRows": "وضع كافة الصفوف في صفحة واحدة", "SSE.Views.PrintSettings.textHideDetails": "إخفاء التفاصيل", "SSE.Views.PrintSettings.textIgnore": "تجاهل منطقة الطباعة", - "SSE.Views.PrintSettings.textLayout": "مخطط الصفحة", + "SSE.Views.PrintSettings.textLayout": "التخطيط", "SSE.Views.PrintSettings.textMarginsNarrow": "ضيق", "SSE.Views.PrintSettings.textMarginsNormal": "عادي", "SSE.Views.PrintSettings.textMarginsWide": "عريض", @@ -3497,10 +3541,10 @@ "SSE.Views.ShapeSettings.strPattern": "نمط", "SSE.Views.ShapeSettings.strShadow": "إظهار الظلال", "SSE.Views.ShapeSettings.strSize": "الحجم", - "SSE.Views.ShapeSettings.strStroke": "خط", + "SSE.Views.ShapeSettings.strStroke": "خطي", "SSE.Views.ShapeSettings.strTransparency": "معدل الشفافية", "SSE.Views.ShapeSettings.strType": "النوع", - "SSE.Views.ShapeSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.ShapeSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.ShapeSettings.textAngle": "زاوية", "SSE.Views.ShapeSettings.textBorderSizeErr": "القيمة المدخلة غير صحيحة.
    الرجاء إدخال قيمة بين 0 و 1584 نقطة.", "SSE.Views.ShapeSettings.textColor": "تعبئة بلون", @@ -3558,22 +3602,22 @@ "SSE.Views.ShapeSettingsAdvanced.textAngle": "زاوية", "SSE.Views.ShapeSettingsAdvanced.textArrows": "الأسهم", "SSE.Views.ShapeSettingsAdvanced.textAutofit": "احتواء تلقائى", - "SSE.Views.ShapeSettingsAdvanced.textBeginSize": "حجم البداية", - "SSE.Views.ShapeSettingsAdvanced.textBeginStyle": "أسلوب البدأ", - "SSE.Views.ShapeSettingsAdvanced.textBevel": "ميل", + "SSE.Views.ShapeSettingsAdvanced.textBeginSize": "حجم سهم البدء", + "SSE.Views.ShapeSettingsAdvanced.textBeginStyle": "نوع سهم البدء", + "SSE.Views.ShapeSettingsAdvanced.textBevel": "مستطيل مشطوف الحواف", "SSE.Views.ShapeSettingsAdvanced.textBottom": "أسفل", "SSE.Views.ShapeSettingsAdvanced.textCapType": "شكل الطرف", "SSE.Views.ShapeSettingsAdvanced.textColNumber": "عدد الاعمدة", - "SSE.Views.ShapeSettingsAdvanced.textEndSize": "الحجم النهائي", - "SSE.Views.ShapeSettingsAdvanced.textEndStyle": "نمط النهاية", + "SSE.Views.ShapeSettingsAdvanced.textEndSize": "حجم سهم النهاية", + "SSE.Views.ShapeSettingsAdvanced.textEndStyle": "نوع سهم النهاية", "SSE.Views.ShapeSettingsAdvanced.textFlat": "مسطح", - "SSE.Views.ShapeSettingsAdvanced.textFlipped": "مقلوب", + "SSE.Views.ShapeSettingsAdvanced.textFlipped": "انعكاس", "SSE.Views.ShapeSettingsAdvanced.textHeight": "ارتفاع", "SSE.Views.ShapeSettingsAdvanced.textHorizontally": "أفقياً", "SSE.Views.ShapeSettingsAdvanced.textJoinType": "نوع الوصلة", "SSE.Views.ShapeSettingsAdvanced.textKeepRatio": "نسب ثابتة", "SSE.Views.ShapeSettingsAdvanced.textLeft": "يسار", - "SSE.Views.ShapeSettingsAdvanced.textLineStyle": "نمط السطر", + "SSE.Views.ShapeSettingsAdvanced.textLineStyle": "نمط الخط", "SSE.Views.ShapeSettingsAdvanced.textMiter": "زاوية", "SSE.Views.ShapeSettingsAdvanced.textOneCell": "نقل بدون تغيير الحجم مع الخلايا", "SSE.Views.ShapeSettingsAdvanced.textOverflow": "السماح للنص بتجاوز حدود الشكل", @@ -3615,7 +3659,7 @@ "SSE.Views.SlicerSettings.strShowDel": "عرض العناصر المحذوفة من مصدر البيانات", "SSE.Views.SlicerSettings.strShowNoData": "عرض العناصر بدون بيانات في نهايتها", "SSE.Views.SlicerSettings.strSorting": "الفرز و التصفية", - "SSE.Views.SlicerSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.SlicerSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.SlicerSettings.textAsc": "تصاعدي", "SSE.Views.SlicerSettings.textAZ": "من الألف إلى الياء", "SSE.Views.SlicerSettings.textButtons": "الأزرار", @@ -3820,7 +3864,7 @@ "SSE.Views.TableSettings.selectRowText": "تحديد صف", "SSE.Views.TableSettings.selectTableText": "تحديد جدول", "SSE.Views.TableSettings.textActions": "أفعال الجدول", - "SSE.Views.TableSettings.textAdvanced": "عرض الإعدادات المتقدمة", + "SSE.Views.TableSettings.textAdvanced": "إظهار الإعدادات المتقدمة", "SSE.Views.TableSettings.textBanded": "مطوق بشريط", "SSE.Views.TableSettings.textColumns": "أعمدة", "SSE.Views.TableSettings.textConvertRange": "التحويل إلى نطاق", @@ -3863,7 +3907,7 @@ "SSE.Views.TextArtSettings.strForeground": "اللون الأمامي", "SSE.Views.TextArtSettings.strPattern": "نمط", "SSE.Views.TextArtSettings.strSize": "الحجم", - "SSE.Views.TextArtSettings.strStroke": "خط", + "SSE.Views.TextArtSettings.strStroke": "خطي", "SSE.Views.TextArtSettings.strTransparency": "معدل الشفافية", "SSE.Views.TextArtSettings.strType": "النوع", "SSE.Views.TextArtSettings.textAngle": "زاوية", @@ -3905,7 +3949,7 @@ "SSE.Views.Toolbar.capBtnAddComment": "اضافة تعليق", "SSE.Views.Toolbar.capBtnColorSchemas": "تشكيلة الألوان", "SSE.Views.Toolbar.capBtnComment": "تعليق", - "SSE.Views.Toolbar.capBtnInsHeader": "الترويسة و التذييل", + "SSE.Views.Toolbar.capBtnInsHeader": "الترويسة والتذييل", "SSE.Views.Toolbar.capBtnInsSlicer": "أداة تقسيم البيانات", "SSE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "SSE.Views.Toolbar.capBtnInsSymbol": "رمز", @@ -3921,6 +3965,7 @@ "SSE.Views.Toolbar.capImgForward": "قدم للأمام", "SSE.Views.Toolbar.capImgGroup": "مجموعة", "SSE.Views.Toolbar.capInsertChart": "رسم بياني", + "SSE.Views.Toolbar.capInsertChartRecommend": "الرسم البياني الموصى به", "SSE.Views.Toolbar.capInsertEquation": "معادلة", "SSE.Views.Toolbar.capInsertHyperlink": "ارتباط تشعبي", "SSE.Views.Toolbar.capInsertImage": "صورة", @@ -3976,11 +4021,14 @@ "SSE.Views.Toolbar.textDivision": "علامة القسمة", "SSE.Views.Toolbar.textDollar": "علامة الدولار", "SSE.Views.Toolbar.textDone": "تم", + "SSE.Views.Toolbar.textDown": "لاسفل", "SSE.Views.Toolbar.textEditVA": "تعديل المنطقة المرئية", "SSE.Views.Toolbar.textEntireCol": "كامل العمود", "SSE.Views.Toolbar.textEntireRow": "كامل الصف", "SSE.Views.Toolbar.textEuro": "رمز اليورو", "SSE.Views.Toolbar.textFewPages": "الصفحات", + "SSE.Views.Toolbar.textFillLeft": "يسار", + "SSE.Views.Toolbar.textFillRight": "يمين", "SSE.Views.Toolbar.textGreaterEqual": "أكبر من أو يساوي", "SSE.Views.Toolbar.textHeight": "ارتفاع", "SSE.Views.Toolbar.textHideVA": "إخفاء المنطقة المرئية", @@ -4032,6 +4080,7 @@ "SSE.Views.Toolbar.textScaleCustom": "مخصص", "SSE.Views.Toolbar.textSection": "إشارة قسم", "SSE.Views.Toolbar.textSelection": "من التحديد الحالي", + "SSE.Views.Toolbar.textSeries": "سلسلة", "SSE.Views.Toolbar.textSetPrintArea": "تعيين منطقة الطباعة", "SSE.Views.Toolbar.textShowVA": "إظهار المنطقة المخفية", "SSE.Views.Toolbar.textSmile": "وجه ضاحك أبيض", @@ -4047,7 +4096,7 @@ "SSE.Views.Toolbar.textTabFormula": "صيغة", "SSE.Views.Toolbar.textTabHome": "الرئيسية", "SSE.Views.Toolbar.textTabInsert": "إدراج", - "SSE.Views.Toolbar.textTabLayout": "مخطط الصفحة", + "SSE.Views.Toolbar.textTabLayout": "التخطيط", "SSE.Views.Toolbar.textTabProtect": "حماية", "SSE.Views.Toolbar.textTabView": "عرض", "SSE.Views.Toolbar.textThisPivot": "من هذا الجدول الديناميكي", @@ -4057,7 +4106,8 @@ "SSE.Views.Toolbar.textTop": "الأعلى:", "SSE.Views.Toolbar.textTopBorders": "الحدود العليا", "SSE.Views.Toolbar.textTradeMark": "علامة تجارية", - "SSE.Views.Toolbar.textUnderline": "خط سفلي", + "SSE.Views.Toolbar.textUnderline": "تحته خط", + "SSE.Views.Toolbar.textUp": "لأعلى", "SSE.Views.Toolbar.textVertical": "نص رأسي", "SSE.Views.Toolbar.textWidth": "عرض", "SSE.Views.Toolbar.textYen": "ين", @@ -4100,6 +4150,7 @@ "SSE.Views.Toolbar.tipIncDecimal": "زياد الأرقام العشرية", "SSE.Views.Toolbar.tipIncFont": "تكبير حجم الخط", "SSE.Views.Toolbar.tipInsertChart": "إدراج رسم بياني", + "SSE.Views.Toolbar.tipInsertChartRecommend": "أدخل الرسم البياني الموصى به", "SSE.Views.Toolbar.tipInsertChartSpark": "إدراج رسم بياني", "SSE.Views.Toolbar.tipInsertEquation": "إدراج معادلة", "SSE.Views.Toolbar.tipInsertHorizontalText": "إدراج صندوق نص أفقي", @@ -4159,11 +4210,12 @@ "SSE.Views.Toolbar.txtDate": "التاريخ", "SSE.Views.Toolbar.txtDateLong": "تاريخ طويل", "SSE.Views.Toolbar.txtDateShort": "تاريخ قصير", - "SSE.Views.Toolbar.txtDateTime": "التاريخ و الوقت", + "SSE.Views.Toolbar.txtDateTime": "التاريخ والوقت", "SSE.Views.Toolbar.txtDescending": "تنازلي", "SSE.Views.Toolbar.txtDollar": "$ دولار", "SSE.Views.Toolbar.txtEuro": "€ يورو", "SSE.Views.Toolbar.txtExp": "أسي", + "SSE.Views.Toolbar.txtFillNum": "تعبئة", "SSE.Views.Toolbar.txtFilter": "تصفية", "SSE.Views.Toolbar.txtFormula": "إدراج دالة", "SSE.Views.Toolbar.txtFraction": "كسر", @@ -4208,12 +4260,12 @@ "SSE.Views.Toolbar.txtSearch": "بحث", "SSE.Views.Toolbar.txtSort": "ترتيب", "SSE.Views.Toolbar.txtSortAZ": "فرز تصاعدي", - "SSE.Views.Toolbar.txtSortZA": "ترتيب تنازلي", + "SSE.Views.Toolbar.txtSortZA": "فرز تنازلي", "SSE.Views.Toolbar.txtSpecial": "خاص", "SSE.Views.Toolbar.txtTableTemplate": "التنسيق كقالب جدول", "SSE.Views.Toolbar.txtText": "نص", "SSE.Views.Toolbar.txtTime": "الوقت", - "SSE.Views.Toolbar.txtUnmerge": "عدم دمج الخلايا", + "SSE.Views.Toolbar.txtUnmerge": "إلغاء دمج الخلايا", "SSE.Views.Toolbar.txtYen": "¥ ين", "SSE.Views.Top10FilterDialog.textType": "إظهار", "SSE.Views.Top10FilterDialog.txtBottom": "أسفل", diff --git a/apps/spreadsheeteditor/main/locale/el.json b/apps/spreadsheeteditor/main/locale/el.json index e2f59c9979..63a0d622a5 100644 --- a/apps/spreadsheeteditor/main/locale/el.json +++ b/apps/spreadsheeteditor/main/locale/el.json @@ -283,6 +283,7 @@ "Common.UI.ExtendedColorDialog.textRGBErr": "Η τιμή που βάλατε δεν είναι αποδεκτή.
    Παρακαλούμε βάλτε μια αριθμητική τιμή μεταξύ 0 και 255.", "Common.UI.HSBColorPicker.textNoColor": "Χωρίς Χρώμα", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "Απόκρυψη συνθηματικού", + "Common.UI.InputFieldBtnPassword.textHintHold": "Πατήστε παρατεταμένα για να εμφανιστεί ο κωδικός πρόσβασης", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "Εμφάνιση συνθηματικού", "Common.UI.SearchBar.textFind": "Εύρεση", "Common.UI.SearchBar.tipCloseSearch": "Κλείσιμο αναζήτησης", @@ -418,6 +419,9 @@ "Common.Views.Comments.textResolve": "Επίλυση", "Common.Views.Comments.textResolved": "Επιλύθηκε", "Common.Views.Comments.textSort": "Ταξινόμηση σχολίων", + "Common.Views.Comments.textSortFilter": "Ταξινόμηση και φιλτράρισμα σχολίων", + "Common.Views.Comments.textSortFilterMore": "Ταξινόμηση, φιλτράρισμα και άλλα", + "Common.Views.Comments.textSortMore": "Ταξινόμηση και άλλα", "Common.Views.Comments.textViewResolved": "Δεν έχετε άδεια να ανοίξετε ξανά το σχόλιο", "Common.Views.Comments.txtEmpty": "Δεν υπάρχουν σχόλια στο φύλλο.", "Common.Views.CopyWarningDialog.textDontShow": "Να μην εμφανίζεται αυτό το μήνυμα ξανά", @@ -526,10 +530,16 @@ "Common.Views.PasswordDialog.txtTitle": "Ορισμός συνθηματικού", "Common.Views.PasswordDialog.txtWarning": "Προσοχή: Εάν χάσετε ή ξεχάσετε το συνθηματικό, δεν είναι δυνατή η ανάκτησή του. Παρακαλούμε διατηρήστε το σε ασφαλές μέρος.", "Common.Views.PluginDlg.textLoading": "Γίνεται φόρτωση", + "Common.Views.PluginPanel.textClosePanel": "Κλείσιμο πρόσθετου", + "Common.Views.PluginPanel.textLoading": "Φόρτωση", "Common.Views.Plugins.groupCaption": "Πρόσθετα", "Common.Views.Plugins.strPlugins": "Πρόσθετα", + "Common.Views.Plugins.textBackgroundPlugins": "Πρόσθετα φόντου", + "Common.Views.Plugins.textSettings": "Ρυθμίσεις", "Common.Views.Plugins.textStart": "Εκκίνηση", "Common.Views.Plugins.textStop": "Διακοπή", + "Common.Views.Plugins.textTheListOfBackgroundPlugins": "Η λίστα των προσθηκών φόντου", + "Common.Views.Plugins.tipMore": "Περισσότερα", "Common.Views.Protection.hintAddPwd": "Κρυπτογράφηση με συνθηματικό", "Common.Views.Protection.hintDelPwd": "Διαγραφή συνθηματικού", "Common.Views.Protection.hintPwd": "Αλλαγή ή διαγραφή συνθηματικού", @@ -994,6 +1004,7 @@ "SSE.Controllers.Main.errorLoadingFont": "Οι γραμματοσειρές δεν έχουν φορτωθεί.
    Παρακαλούμε επικοινωνήστε με τον διαχειριστή του Εξυπηρετητή Εγγράφων σας.", "SSE.Controllers.Main.errorLocationOrDataRangeError": "Η αναφορά προορισμού ή εύρους δεδομένων δεν είναι έγκυρη.", "SSE.Controllers.Main.errorLockedAll": "Η λειτουργία δεν μπόρεσε να γίνει καθώς το φύλλο έχει κλειδωθεί από άλλο χρήστη.", + "SSE.Controllers.Main.errorLockedCellGoalSeek": "Ένα από τα κελιά που εμπλέκονται στη διαδικασία αναζήτησης στόχου έχει τροποποιηθεί από άλλο χρήστη.", "SSE.Controllers.Main.errorLockedCellPivot": "Δεν είναι δυνατή η τροποποίηση δεδομένων εντός ενός συγκεντρωτικού πίνακα", "SSE.Controllers.Main.errorLockedWorksheetRename": "Το φύλλο δεν μπορεί να μετονομαστεί προς το παρόν καθώς μετονομάζεται από άλλο χρήστη", "SSE.Controllers.Main.errorMaxPoints": "Ο μέγιστος αριθμός σημείων σε σειρά ανά γράφημα είναι 4096.", @@ -1768,6 +1779,7 @@ "SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "Ενδιάμεση τεχνοτροπία πίνακα", "SSE.Controllers.Toolbar.warnLongOperation": "Η λειτουργία που πρόκειται να εκτελέσετε ίσως χρειαστεί πολύ χρόνο για να ολοκληρωθεί.
    Θέλετε σίγουρα να συνεχίσετε;", "SSE.Controllers.Toolbar.warnMergeLostData": "Μόνο τα δεδομένα από το επάνω αριστερό κελί θα παραμείνουν στο συγχωνευμένο κελί.
    Είστε σίγουροι ότι θέλετε να συνεχίσετε;", + "SSE.Controllers.Toolbar.warnNoRecommended": "Για να δημιουργήσετε ένα γράφημα, επιλέξτε τα κελιά που περιέχουν τα δεδομένα που θέλετε να χρησιμοποιήσετε.
    Εάν έχετε ονόματα για τις σειρές και τις στήλες και θέλετε να τα χρησιμοποιήσετε ως ετικέτες, συμπεριλάβετέ τα στην επιλογή σας.", "SSE.Controllers.Viewport.textFreezePanes": "Πάγωμα παραθύρων", "SSE.Controllers.Viewport.textFreezePanesShadow": "Εμφάνιση σκιάς παγωμένων παραθύρων", "SSE.Controllers.Viewport.textHideFBar": "Απόκρυψη Μπάρας Τύπων", @@ -2119,6 +2131,18 @@ "SSE.Views.ChartTypeDialog.textStyle": "Τεχνοτροπία", "SSE.Views.ChartTypeDialog.textTitle": "Τύπος γραφήματος", "SSE.Views.ChartTypeDialog.textType": "Τύπος", + "SSE.Views.ChartWizardDialog.errorComboSeries": "Για να δημιουργήσετε συνδυαστικό γράφημα, επιλέξτε τουλάχιστον δύο σειρές δεδομένων.", + "SSE.Views.ChartWizardDialog.errorMaxPoints": "Ο μέγιστος αριθμός σημείων σε σειρά ανά γράφημα είναι 4096.", + "SSE.Views.ChartWizardDialog.errorMaxRows": "Ο μέγιστος αριθμός σειρών δεδομένων ανά γράφημα είναι 255.", + "SSE.Views.ChartWizardDialog.errorSecondaryAxis": "Ο επιλεγμένος τύπος γραφήματος απαιτεί τον δευτερεύοντα άξονα που χρησιμοποιείται ήδη από υφιστάμενο γράφημα. Επιλέξτε άλλο τύπο γραφήματος.", + "SSE.Views.ChartWizardDialog.errorStockChart": "Εσφαλμένη σειρά γραμμών. Για να δημιουργήσετε ένα γράφημα μετοχών, τοποθετήστε τα δεδομένα στο φύλλο με την ακόλουθη σειρά: τιμή ανοίγματος, μέγιστη τιμή, ελάχιστη τιμή, τιμή κλεισίματος.", + "SSE.Views.ChartWizardDialog.textRecommended": "Προτεινόμενα", + "SSE.Views.ChartWizardDialog.textSecondary": "Δευτερεύων άξονας", + "SSE.Views.ChartWizardDialog.textSeries": "Σειρά", + "SSE.Views.ChartWizardDialog.textTitle": "Εισαγωγή γραφήματος", + "SSE.Views.ChartWizardDialog.textTitleChange": "Αλλαγή τύπου γραφήματος", + "SSE.Views.ChartWizardDialog.textType": "Τύπος", + "SSE.Views.ChartWizardDialog.txtSeriesDesc": "Επιλέξτε τον τύπο γραφήματος και τον άξονα για τη σειρά δεδομένων σας", "SSE.Views.CreatePivotDialog.textDataRange": "Εύρος δεδομένων πηγής", "SSE.Views.CreatePivotDialog.textDestination": "Επιλέξτε θέση πίνακα", "SSE.Views.CreatePivotDialog.textExist": "Υφιστάμενο φύλλο εργασίας", @@ -2293,12 +2317,20 @@ "SSE.Views.DocumentHolder.textArrangeFront": "Μεταφορά στο Προσκήνιο", "SSE.Views.DocumentHolder.textAverage": "Μέσος Όρος", "SSE.Views.DocumentHolder.textBullets": "Κουκκίδες", + "SSE.Views.DocumentHolder.textCopyCells": "Αντιγραφή κελιών", "SSE.Views.DocumentHolder.textCount": "Μέτρηση", "SSE.Views.DocumentHolder.textCrop": "Περικοπή", "SSE.Views.DocumentHolder.textCropFill": "Γέμισμα", "SSE.Views.DocumentHolder.textCropFit": "Προσαρμογή", "SSE.Views.DocumentHolder.textEditPoints": "Επεξεργασία Σημείων", "SSE.Views.DocumentHolder.textEntriesList": "Επιλογή από αναδυόμενη λίστα", + "SSE.Views.DocumentHolder.textFillDays": "Γεμίστε ημέρες", + "SSE.Views.DocumentHolder.textFillMonths": "Συμπληρώστε μήνες", + "SSE.Views.DocumentHolder.textFillSeries": "Γεμίστε τη σειρά", + "SSE.Views.DocumentHolder.textFillWeekdays": "Γεμίστε τις καθημερινές", + "SSE.Views.DocumentHolder.textFillWithoutFormat": "Γέμισμα χωρίς μορφοποίηση", + "SSE.Views.DocumentHolder.textFillYears": "Γεμίστε χρόνια", + "SSE.Views.DocumentHolder.textFlashFill": "Γρήγορο γέμισμα", "SSE.Views.DocumentHolder.textFlipH": "Οριζόντια Περιστροφή", "SSE.Views.DocumentHolder.textFlipV": "Κατακόρυφη Περιστροφή", "SSE.Views.DocumentHolder.textFreezePanes": "Πάγωμα παραθύρων", @@ -2318,6 +2350,7 @@ "SSE.Views.DocumentHolder.textRotate270": "Περιστροφή 90° Αριστερόστροφα", "SSE.Views.DocumentHolder.textRotate90": "Περιστροφή 90° Δεξιόστροφα", "SSE.Views.DocumentHolder.textSaveAsPicture": "Αποθήκευση ως εικόνα", + "SSE.Views.DocumentHolder.textSeries": "Σειρά", "SSE.Views.DocumentHolder.textShapeAlignBottom": "Στοίχιση Κάτω", "SSE.Views.DocumentHolder.textShapeAlignCenter": "Στοίχιση στο Κέντρο", "SSE.Views.DocumentHolder.textShapeAlignLeft": "Στοίχιση Αριστερά", @@ -2355,6 +2388,8 @@ "SSE.Views.DocumentHolder.txtClearSparklineGroups": "Εκκαθάριση επιλεγμένων ομάδων μικρογραφημάτων (sparklines)", "SSE.Views.DocumentHolder.txtClearSparklines": "Εκκαθάριση επιλεγμένων μικρογραφημάτων (sparklines)", "SSE.Views.DocumentHolder.txtClearText": "Κείμενο", + "SSE.Views.DocumentHolder.txtCollapse": "Κλείσιμο", + "SSE.Views.DocumentHolder.txtCollapseEntire": "Σύμπτυξη ολόκληρου του πεδίου", "SSE.Views.DocumentHolder.txtColumn": "Ολόκληρη στήλη", "SSE.Views.DocumentHolder.txtColumnWidth": "Ορισμός πλάτους στήλης", "SSE.Views.DocumentHolder.txtCondFormat": "Μορφοποίηση υπό όρους", @@ -2374,6 +2409,9 @@ "SSE.Views.DocumentHolder.txtDistribHor": "Διανομή οριζόντια", "SSE.Views.DocumentHolder.txtDistribVert": "Διανομή κάθετα", "SSE.Views.DocumentHolder.txtEditComment": "Επεξεργασία σχολίου", + "SSE.Views.DocumentHolder.txtExpand": "Επέκταση", + "SSE.Views.DocumentHolder.txtExpandCollapse": "Ανάπτυξη/Σύμπτυξη", + "SSE.Views.DocumentHolder.txtExpandEntire": "Ανάπτυξη ολόκληρου του πεδίου", "SSE.Views.DocumentHolder.txtFieldSettings": "Ρυθμίσεις πεδίων", "SSE.Views.DocumentHolder.txtFilter": "Φίλτρο", "SSE.Views.DocumentHolder.txtFilterCellColor": "Φιλτράρισμα με χρώμα κελιού", @@ -2643,6 +2681,20 @@ "SSE.Views.FileMenuPanels.ProtectDoc.txtView": "Προβολή υπογραφών", "SSE.Views.FileMenuPanels.ViewSaveAs.textDownloadAs": "Λήψη ως", "SSE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "Αποθήκευση αντιγράφου ως", + "SSE.Views.FillSeriesDialog.textAuto": "Αυτόματη συμπλήρωση", + "SSE.Views.FillSeriesDialog.textCols": "Στήλες", + "SSE.Views.FillSeriesDialog.textDate": "Ημερομηνία", + "SSE.Views.FillSeriesDialog.textDateUnit": "Μονάδα ημερομηνίας", + "SSE.Views.FillSeriesDialog.textDay": "Ημέρα", + "SSE.Views.FillSeriesDialog.textLinear": "Γραμμική", + "SSE.Views.FillSeriesDialog.textMonth": "Μήνας", + "SSE.Views.FillSeriesDialog.textRows": "Γραμμές", + "SSE.Views.FillSeriesDialog.textSeries": "Σειρά σε", + "SSE.Views.FillSeriesDialog.textTitle": "Σειρά", + "SSE.Views.FillSeriesDialog.textType": "Τύπος", + "SSE.Views.FillSeriesDialog.textWeek": "Καθημερινή", + "SSE.Views.FillSeriesDialog.textYear": "Έτος", + "SSE.Views.FillSeriesDialog.txtErrorNumber": "Η συμμετοχή σας δεν μπορεί να χρησιμοποιηθεί. Ενδέχεται να απαιτείται ακέραιος ή δεκαδικός αριθμός.", "SSE.Views.FormatRulesEditDlg.fillColor": "Χρώμα γεμίσματος", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "Προειδοποίηση", "SSE.Views.FormatRulesEditDlg.text2Scales": "Δίχρωμη κλίμακα", @@ -2863,6 +2915,15 @@ "SSE.Views.FormulaWizard.textText": "κείμενο", "SSE.Views.FormulaWizard.textTitle": "Ορίσματα συνάρτησης", "SSE.Views.FormulaWizard.textValue": "Αποτέλεσμα μαθηματικού τύπου", + "SSE.Views.GoalSeekDlg.textChangingCell": "Αλλάζοντας κελί", + "SSE.Views.GoalSeekDlg.textMustContainFormula": "Το κελί πρέπει να περιέχει έναν τύπο", + "SSE.Views.GoalSeekDlg.textMustContainValue": "Το κελί πρέπει να περιέχει μια τιμή", + "SSE.Views.GoalSeekDlg.textMustSingleCell": "Η αναφορά πρέπει να γίνεται σε ένα μόνο κελί", + "SSE.Views.GoalSeekDlg.textSelectData": "Επιλογή δεδομένων", + "SSE.Views.GoalSeekDlg.txtEmpty": "Αυτό το πεδίο είναι υποχρεωτικό", + "SSE.Views.GoalSeekStatusDlg.textContinue": "Συνεχίστε", + "SSE.Views.GoalSeekStatusDlg.textCurrentValue": "Τρέχουσα τιμή:", + "SSE.Views.GoalSeekStatusDlg.textPause": "Παύση", "SSE.Views.HeaderFooterDialog.textAlign": "Στοίχιση με τα περιθώρια σελίδας", "SSE.Views.HeaderFooterDialog.textAll": "Όλες οι σελίδες", "SSE.Views.HeaderFooterDialog.textBold": "Έντονα", @@ -3043,10 +3104,13 @@ "SSE.Views.NameManagerDlg.txtTitle": "Διαχειριστής ονομάτων", "SSE.Views.NameManagerDlg.warnDelete": "Θέλετε σίγουρα να διαγράψετε το όνομα {0};", "SSE.Views.PageMarginsDialog.textBottom": "Κάτω", + "SSE.Views.PageMarginsDialog.textCenter": "Κεντράρισμα στη σελίδα", + "SSE.Views.PageMarginsDialog.textHor": "Οριζόντια", "SSE.Views.PageMarginsDialog.textLeft": "Αριστερά", "SSE.Views.PageMarginsDialog.textRight": "Δεξιά", "SSE.Views.PageMarginsDialog.textTitle": "Περιθώρια", "SSE.Views.PageMarginsDialog.textTop": "Επάνω", + "SSE.Views.PageMarginsDialog.textVert": "Κατακόρυφα", "SSE.Views.PageMarginsDialog.textWarning": "Προειδοποίηση", "SSE.Views.PageMarginsDialog.warnCheckMargings": "Τα περιθώρια είναι εσφαλμένα", "SSE.Views.ParagraphSettings.strLineHeight": "Διάστιχο", @@ -3204,7 +3268,9 @@ "SSE.Views.PivotTable.tipRefreshCurrent": "Ενημέρωση των πληροφοριών από την προέλευση δεδομένων για τον τρέχοντα πίνακα", "SSE.Views.PivotTable.tipSelect": "Επιλογή ολόκληρου συγκεντρωτικού πίνακα", "SSE.Views.PivotTable.tipSubtotals": "Εμφάνιση ή απόκρυψη μερικών συνόλων", + "SSE.Views.PivotTable.txtCollapseEntire": "Σύμπτυξη ολόκληρου του πεδίου", "SSE.Views.PivotTable.txtCreate": "Εισαγωγή πίνακα", + "SSE.Views.PivotTable.txtExpandEntire": "Ανάπτυξη ολόκληρου του πεδίου", "SSE.Views.PivotTable.txtGroupPivot_Custom": "Προσαρμογή", "SSE.Views.PivotTable.txtGroupPivot_Dark": "Σκουρόχρωμο", "SSE.Views.PivotTable.txtGroupPivot_Light": "Ανοιχτόχρωμο", @@ -3878,6 +3944,7 @@ "SSE.Views.Toolbar.capImgForward": "Μεταφορά εμπρός", "SSE.Views.Toolbar.capImgGroup": "Ομάδα", "SSE.Views.Toolbar.capInsertChart": "Γράφημα", + "SSE.Views.Toolbar.capInsertChartRecommend": "Προτεινόμενο γράφημα", "SSE.Views.Toolbar.capInsertEquation": "Εξίσωση", "SSE.Views.Toolbar.capInsertHyperlink": "Υπερσύνδεσμος", "SSE.Views.Toolbar.capInsertImage": "Εικόνα", @@ -3932,11 +3999,14 @@ "SSE.Views.Toolbar.textDivision": "Σύμβολο διαίρεσης", "SSE.Views.Toolbar.textDollar": "Σύμβολο δολαρίου", "SSE.Views.Toolbar.textDone": "Ολοκληρώθηκε", + "SSE.Views.Toolbar.textDown": "Κάτω", "SSE.Views.Toolbar.textEditVA": "Επεξεργασία Ορατής Περιοχής", "SSE.Views.Toolbar.textEntireCol": "Ολόκληρη στήλη", "SSE.Views.Toolbar.textEntireRow": "Ολόκληρη γραμμή", "SSE.Views.Toolbar.textEuro": "Σύμβολο του ευρώ", "SSE.Views.Toolbar.textFewPages": "σελίδες", + "SSE.Views.Toolbar.textFillLeft": "Αριστερά", + "SSE.Views.Toolbar.textFillRight": "Δεξιά", "SSE.Views.Toolbar.textGreaterEqual": "Μεγαλύτερο από ή ίσο με", "SSE.Views.Toolbar.textHeight": "Ύψος", "SSE.Views.Toolbar.textHideVA": "Απόκρυψη Ορατής Περιοχής", @@ -3986,6 +4056,7 @@ "SSE.Views.Toolbar.textScaleCustom": "Προσαρμογή", "SSE.Views.Toolbar.textSection": "Σύμβολο τμήματος", "SSE.Views.Toolbar.textSelection": "Από την τρέχουσα επιλογή", + "SSE.Views.Toolbar.textSeries": "Σειρά", "SSE.Views.Toolbar.textSetPrintArea": "Ορισμός εκτυπώσιμης περιοχής", "SSE.Views.Toolbar.textShowVA": "Εμφάνιση ορατής περιοχής", "SSE.Views.Toolbar.textSmile": "Λευκό χαμογελαστό πρόσωπο", @@ -4012,6 +4083,7 @@ "SSE.Views.Toolbar.textTopBorders": "Επάνω περιγράμματα", "SSE.Views.Toolbar.textTradeMark": "Σήμα κατατεθέν", "SSE.Views.Toolbar.textUnderline": "Υπογράμμιση", + "SSE.Views.Toolbar.textUp": "Επάνω", "SSE.Views.Toolbar.textVertical": "Κατακόρυφο κείμενο", "SSE.Views.Toolbar.textWidth": "Πλάτος", "SSE.Views.Toolbar.textYen": "Σύμβολο Γιεν", @@ -4054,6 +4126,7 @@ "SSE.Views.Toolbar.tipIncDecimal": "Αύξηση δεκαδικού", "SSE.Views.Toolbar.tipIncFont": "Αύξηση μεγέθους γραμματοσειράς", "SSE.Views.Toolbar.tipInsertChart": "Εισαγωγή γραφήματος", + "SSE.Views.Toolbar.tipInsertChartRecommend": "Εισαγωγή προτεινόμενου γραφήματος", "SSE.Views.Toolbar.tipInsertChartSpark": "Εισαγωγή γραφήματος", "SSE.Views.Toolbar.tipInsertEquation": "Εισαγωγή εξίσωσης", "SSE.Views.Toolbar.tipInsertHorizontalText": "Εισαγωγή οριζόντιου πλαισίου κειμένου", @@ -4118,6 +4191,7 @@ "SSE.Views.Toolbar.txtDollar": "$ Δολάριο", "SSE.Views.Toolbar.txtEuro": "€ Ευρώ", "SSE.Views.Toolbar.txtExp": "Εκθετικό", + "SSE.Views.Toolbar.txtFillNum": "Γέμισμα", "SSE.Views.Toolbar.txtFilter": "Φίλτρο", "SSE.Views.Toolbar.txtFormula": "Εισαγωγή συνάρτησης", "SSE.Views.Toolbar.txtFraction": "Κλάσμα", diff --git a/apps/spreadsheeteditor/main/locale/fr.json b/apps/spreadsheeteditor/main/locale/fr.json index 14cd2fc040..fef51951fc 100644 --- a/apps/spreadsheeteditor/main/locale/fr.json +++ b/apps/spreadsheeteditor/main/locale/fr.json @@ -3360,7 +3360,7 @@ "SSE.Views.PrintWithPreview.txtPrintRange": "Zone d'impression", "SSE.Views.PrintWithPreview.txtPrintSides": "Impression sur les deux côtés", "SSE.Views.PrintWithPreview.txtPrintTitles": "Titres à imprimer", - "SSE.Views.PrintWithPreview.txtPrintToPDF": "Imprimer au format PDF", + "SSE.Views.PrintWithPreview.txtPrintToPDF": "Imprimer au PDF", "SSE.Views.PrintWithPreview.txtRepeat": "Répéter...", "SSE.Views.PrintWithPreview.txtRepeatColumnsAtLeft": "Répéter les colonnes à gauche", "SSE.Views.PrintWithPreview.txtRepeatRowsAtTop": "Répéter les lignes en haut", diff --git a/apps/spreadsheeteditor/main/locale/pl.json b/apps/spreadsheeteditor/main/locale/pl.json index dbef8dca10..066ff501a9 100644 --- a/apps/spreadsheeteditor/main/locale/pl.json +++ b/apps/spreadsheeteditor/main/locale/pl.json @@ -2,6 +2,7 @@ "cancelButtonText": "Anuluj", "Common.Controllers.Chat.notcriticalErrorTitle": "Ostrzeżenie", "Common.Controllers.Chat.textEnterMessage": "Wprowadź swoją wiadomość tutaj", + "Common.Controllers.Desktop.itemCreateFromTemplate": "Utwórz z szablonu", "Common.Controllers.History.notcriticalErrorTitle": "Ostrzeżenie", "Common.define.chartData.textArea": "Obszar", "Common.define.chartData.textAreaStacked": "Skumulowany warstwowy", @@ -100,6 +101,7 @@ "Common.define.conditionalData.textUnique": "Unikalne", "Common.define.conditionalData.textValue": "Wartość to", "Common.define.conditionalData.textYesterday": "Wczoraj", + "Common.Translation.tipFileLocked": "Dokument jest zablokowany do edycji. Zmiany można wprowadzić później i zapisać go jako kopię lokalną.", "Common.Translation.warnFileLocked": "Plik jest edytowany w innej aplikacji. Możesz kontynuować edycję i zapisać go jako kopię.", "Common.Translation.warnFileLockedBtnEdit": "Utwórz kopię", "Common.Translation.warnFileLockedBtnView": "Otwórz do oglądania", @@ -237,6 +239,7 @@ "Common.Views.Header.tipDownload": "Pobierz plik", "Common.Views.Header.tipGoEdit": "Edytuj bieżący plik", "Common.Views.Header.tipPrint": "Drukuj plik", + "Common.Views.Header.tipPrintQuick": "Szybkie drukowanie", "Common.Views.Header.tipRedo": "Wykonaj ponownie", "Common.Views.Header.tipSave": "Zapisz", "Common.Views.Header.tipSearch": "Szukaj", @@ -466,6 +469,7 @@ "Common.Views.UserNameDialog.textDontShow": "Nie pytaj mnie ponownie", "Common.Views.UserNameDialog.textLabel": "Etykieta:", "Common.Views.UserNameDialog.textLabelError": "Etykieta nie może być pusta.", + "SSE.Controllers.DataTab.strSheet": "Arkusz", "SSE.Controllers.DataTab.textColumns": "Kolumny", "SSE.Controllers.DataTab.textEmptyUrl": "Musisz podać adres URL.", "SSE.Controllers.DataTab.textRows": "Wiersze", @@ -717,6 +721,7 @@ "SSE.Controllers.Main.errorFrmlWrongReferences": "Funkcja odnosi się do arkusza, który nie istnieje.
    Proszę sprawdzić dane i spróbować ponownie.", "SSE.Controllers.Main.errorFTChangeTableRangeError": "Operacja nie może zostać zakończona dla wybranego zakresu komórek.
    Wybierz zakres, tak aby pierwszy wiersz tabeli znajdował się w tym samym wierszu, a tabela wynikowa pokrywała się z bieżącym.", "SSE.Controllers.Main.errorFTRangeIncludedOtherTables": "Nie można zakończyć operacji dla wybranego zakresu komórek.
    Wybierz zakres, który nie zawiera innych tabel.", + "SSE.Controllers.Main.errorInconsistentExtXlsx": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku odpowiada arkuszowi kalkulacyjnemu (np. xlsx), ale plik ma nieprawidłowe rozszerzenie: %1.", "SSE.Controllers.Main.errorInvalidRef": "Wprowadź prawidłową nazwę dla wyboru lub prawidłowe odniesienie, aby przejść do tego.", "SSE.Controllers.Main.errorKeyEncrypt": "Nieznany deskryptor klucza", "SSE.Controllers.Main.errorKeyExpire": "Okres ważności deskryptora klucza wygasł", @@ -817,6 +822,7 @@ "SSE.Controllers.Main.textShape": "Kształt", "SSE.Controllers.Main.textStrict": "Tryb ścisły", "SSE.Controllers.Main.textText": "Tekst", + "SSE.Controllers.Main.textTryQuickPrint": "Wybrano opcję Szybkie drukowanie: cały dokument zostanie wydrukowany na ostatnio wybranej lub domyślnej drukarce.
    Czy chcesz kontynuować?", "SSE.Controllers.Main.textTryUndoRedo": "Funkcje Cofnij/Ponów są wyłączone w trybie \"Szybki\" współtworzenia.
    Kliknij przycisk \"Tryb ścisły\", aby przejść do trybu ścisłego edytowania, aby edytować plik bez ingerencji innych użytkowników i wysyłać zmiany tylko po zapisaniu. Możesz przełączać się między trybami współtworzenia, używając edytora Ustawienia zaawansowane.", "SSE.Controllers.Main.textTryUndoRedoWarn": "Funkcje Cofnij/Ponów są wyłączone w trybie Szybkim współtworzenia.", "SSE.Controllers.Main.textYes": "Tak", @@ -1034,6 +1040,7 @@ "SSE.Controllers.Main.txtShape_wedgeEllipseCallout": "Dymek mowy: owalny", "SSE.Controllers.Main.txtShape_wedgeRectCallout": "Dymek mowy: prostokąt", "SSE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Dymek mowy: prostokąt z zaokrąglonymi rogami", + "SSE.Controllers.Main.txtSheet": "Arkusz", "SSE.Controllers.Main.txtStarsRibbons": "Gwiazdy i wstążki", "SSE.Controllers.Main.txtStyle_Bad": "Zły", "SSE.Controllers.Main.txtStyle_Calculation": "Obliczenie", @@ -1088,6 +1095,7 @@ "SSE.Controllers.Main.warnNoLicense": "Osiągnięto limit jednoczesnych połączeń z %1 edytorami. Ten dokument zostanie otwarty tylko do odczytu.
    Skontaktuj się z %1 zespołem sprzedaży w celu omówienia indywidualnych warunków licencji.", "SSE.Controllers.Main.warnNoLicenseUsers": "Osiągnąłeś limit dla użytkownika. Skontaktuj się z zespołem sprzedaży %1 w celu uzyskania osobistych warunków aktualizacji.", "SSE.Controllers.Main.warnProcessRightsChange": "Nie masz prawa edytować tego pliku.", + "SSE.Controllers.PivotTable.strSheet": "Arkusz", "SSE.Controllers.Print.strAllSheets": "Wszystkie arkusze", "SSE.Controllers.Print.textFirstCol": "Pierwsza kolumna", "SSE.Controllers.Print.textFirstRow": "Pierwszy rząd", @@ -1918,6 +1926,7 @@ "SSE.Views.DocumentHolder.textArrangeFront": "Przejdź na pierwszy plan", "SSE.Views.DocumentHolder.textAverage": "Średnia", "SSE.Views.DocumentHolder.textBullets": "Lista punktowa", + "SSE.Views.DocumentHolder.textCopyCells": "Kopiuj komórki", "SSE.Views.DocumentHolder.textCount": "Zliczanie", "SSE.Views.DocumentHolder.textCrop": "Przytnij", "SSE.Views.DocumentHolder.textCropFill": "Wypełnij", @@ -2080,7 +2089,9 @@ "SSE.Views.FileMenuPanels.DocumentInfo.txtOwner": "Właściciel", "SSE.Views.FileMenuPanels.DocumentInfo.txtPlacement": "Lokalizacja", "SSE.Views.FileMenuPanels.DocumentInfo.txtRights": "Osoby, które mają prawa", + "SSE.Views.FileMenuPanels.DocumentInfo.txtSpreadsheetInfo": "Informacje o arkuszu kalkulacyjnym", "SSE.Views.FileMenuPanels.DocumentInfo.txtSubject": "Temat", + "SSE.Views.FileMenuPanels.DocumentInfo.txtTags": "Tagi", "SSE.Views.FileMenuPanels.DocumentInfo.txtTitle": "Tytuł arkusza kalkulacyjnego", "SSE.Views.FileMenuPanels.DocumentInfo.txtUploaded": "Przesłano", "SSE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Zmień prawa dostępu", @@ -2147,6 +2158,7 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPt": "Punkt", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPtbr": "Portugalski (Brazylia)", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPtlang": "Portugalski (Portugalia)", + "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtQuickPrint": "Pokaż przycisk szybkiego drukowania w nagłówku edytora", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRegion": "Region", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRo": "Rumuński", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "Rosyjski", @@ -2177,6 +2189,7 @@ "SSE.Views.FileMenuPanels.ProtectDoc.txtSigned": "Prawidłowe podpisy zostały dodane do arkusza kalkulacyjnego. Arkusz kalkulacyjny jest chroniony przed edycją.", "SSE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "Niektóre podpisy cyfrowe w arkuszu kalkulacyjnym są nieprawidłowe lub nie można ich zweryfikować. Arkusz kalkulacyjny jest chroniony przed edycją", "SSE.Views.FileMenuPanels.ProtectDoc.txtView": "Zobacz sygnatury", + "SSE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "Zapisz kopię jako", "SSE.Views.FormatRulesEditDlg.fillColor": "Kolor wypełnienia", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "Ostrzeżenie", "SSE.Views.FormatRulesEditDlg.text2Scales": "2 skala kolorów", @@ -2475,6 +2488,8 @@ "SSE.Views.ImageSettingsAdvanced.textTitle": "Obraz - zaawansowane ustawienia", "SSE.Views.ImageSettingsAdvanced.textTwoCell": "Przenieś i zmień rozmiar komórek", "SSE.Views.ImageSettingsAdvanced.textVertically": "Pionowo ", + "SSE.Views.ImportFromXmlDialog.textExist": "Istniejący arkusz", + "SSE.Views.ImportFromXmlDialog.textNew": "Nowy arkusz", "SSE.Views.LeftMenu.tipAbout": "O programie", "SSE.Views.LeftMenu.tipChat": "Czat", "SSE.Views.LeftMenu.tipComments": "Komentarze", @@ -2771,6 +2786,7 @@ "SSE.Views.PrintWithPreview.txtAllSheets": "Wszystkie arkusze", "SSE.Views.PrintWithPreview.txtApplyToAllSheets": "Zastosuj do wszystkich arkuszy", "SSE.Views.PrintWithPreview.txtBottom": "Dół", + "SSE.Views.PrintWithPreview.txtCopies": "Kopie", "SSE.Views.PrintWithPreview.txtCurrentSheet": "Obecny arkusz", "SSE.Views.PrintWithPreview.txtCustom": "Własne", "SSE.Views.PrintWithPreview.txtCustomOptions": "Opcje niestandardowe", @@ -2793,6 +2809,7 @@ "SSE.Views.PrintWithPreview.txtPrintHeadings": "Drukuj wiersze i kolumny", "SSE.Views.PrintWithPreview.txtPrintRange": "Zakres wydruku", "SSE.Views.PrintWithPreview.txtPrintTitles": "Wydrukuj tytuły", + "SSE.Views.PrintWithPreview.txtPrintToPDF": "Zapisz jako PDF", "SSE.Views.PrintWithPreview.txtRepeat": "Powtarzać...", "SSE.Views.PrintWithPreview.txtRepeatColumnsAtLeft": "Powtórz kolumny po lewej", "SSE.Views.PrintWithPreview.txtRepeatRowsAtTop": "Powtórz wiersze z góry", @@ -2836,6 +2853,10 @@ "SSE.Views.ProtectDialog.txtWarning": "Uwaga: Jeśli zapomnisz lub zgubisz hasło, nie będzie możliwości odzyskania go. Zapisz go i nikomu nie udostępniaj.", "SSE.Views.ProtectDialog.txtWBDescription": "Aby uniemożliwić innym użytkownikom wyświetlanie ukrytych arkuszy, dodawanie, przenoszenie, usuwanie lub ukrywanie arkuszy oraz zmianę nazwy arkuszy, możesz zabezpieczyć hasłem strukturę skoroszytu.", "SSE.Views.ProtectDialog.txtWBTitle": "Chroń strukturę skoroszytu", + "SSE.Views.ProtectedRangesEditDlg.txtRangeName": "Tytuł", + "SSE.Views.ProtectedRangesManagerDlg.textProtect": "Chroń arkusz", + "SSE.Views.ProtectedRangesManagerDlg.textTitle": "Tytuł", + "SSE.Views.ProtectedRangesManagerDlg.txtView": "Widok", "SSE.Views.ProtectRangesDlg.guestText": "Gość", "SSE.Views.ProtectRangesDlg.lockText": "Zablokowany", "SSE.Views.ProtectRangesDlg.textDelete": "Usuń", @@ -3076,6 +3097,7 @@ "SSE.Views.SortDialog.textAuto": "Automatycznie", "SSE.Views.SortDialog.textAZ": "A do Z", "SSE.Views.SortDialog.textBelow": "Poniżej", + "SSE.Views.SortDialog.textBtnCopy": "Kopiuj", "SSE.Views.SortDialog.textCellColor": "Kolor komórki", "SSE.Views.SortDialog.textColumn": "Kolumna", "SSE.Views.SortDialog.textDesc": "Malejąco", @@ -3382,6 +3404,7 @@ "SSE.Views.Toolbar.textSuperscript": "Indeks górny", "SSE.Views.Toolbar.textTabCollaboration": "Współpraca", "SSE.Views.Toolbar.textTabData": "Dane", + "SSE.Views.Toolbar.textTabDraw": "Rysowanie", "SSE.Views.Toolbar.textTabFile": "Plik", "SSE.Views.Toolbar.textTabFormula": "Formuła", "SSE.Views.Toolbar.textTabHome": "Narzędzia główne", @@ -3456,6 +3479,7 @@ "SSE.Views.Toolbar.tipPrColor": "Kolor wypełnienia", "SSE.Views.Toolbar.tipPrint": "Drukuj", "SSE.Views.Toolbar.tipPrintArea": "Obszar wydruku", + "SSE.Views.Toolbar.tipPrintQuick": "Szybkie drukowanie", "SSE.Views.Toolbar.tipPrintTitles": "Wydrukuj tytuły", "SSE.Views.Toolbar.tipRedo": "Ponów", "SSE.Views.Toolbar.tipSave": "Zapisz", @@ -3612,6 +3636,7 @@ "SSE.Views.ViewTab.tipCreate": "Utwórz widok arkusza", "SSE.Views.ViewTab.tipFreeze": "Zablokuj panele", "SSE.Views.ViewTab.tipSheetView": "Prezentacja arkusza", + "SSE.Views.WatchDialog.textSheet": "Arkusz", "SSE.Views.WBProtection.hintAllowRanges": "Zezwól na edycję zakresów", "SSE.Views.WBProtection.hintProtectSheet": "Chroń arkusz", "SSE.Views.WBProtection.hintProtectWB": "Chroń skoroszyt", diff --git a/apps/spreadsheeteditor/main/locale/pt.json b/apps/spreadsheeteditor/main/locale/pt.json index a764650c5e..79918f1252 100644 --- a/apps/spreadsheeteditor/main/locale/pt.json +++ b/apps/spreadsheeteditor/main/locale/pt.json @@ -1779,6 +1779,7 @@ "SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "Estilo de Tabela Médio", "SSE.Controllers.Toolbar.warnLongOperation": "A operação que você está prestes a realizar pode levar muito tempo para concluir.
    Você tem certeza de que deseja continuar?", "SSE.Controllers.Toolbar.warnMergeLostData": "Apenas os dados da célula superior esquerda permanecerá na célula mesclada.
    Você tem certeza de que deseja continuar? ", + "SSE.Controllers.Toolbar.warnNoRecommended": "Para criar um gráfico, selecione as células que contém os dados que você gostaria de usar. Se você tiver nomes nas colunas e linhas e se você gostaria de usá-los como rótulos, inclua eles na sua seleção.", "SSE.Controllers.Viewport.textFreezePanes": "Congelar painéis", "SSE.Controllers.Viewport.textFreezePanesShadow": "Mostrar sombra dos painéis congelados", "SSE.Controllers.Viewport.textHideFBar": "Ocultar barra de fórmulas", @@ -2130,6 +2131,18 @@ "SSE.Views.ChartTypeDialog.textStyle": "Estilo", "SSE.Views.ChartTypeDialog.textTitle": "Tipo de Gráfico", "SSE.Views.ChartTypeDialog.textType": "Tipo", + "SSE.Views.ChartWizardDialog.errorComboSeries": "Para criar um gráfico combinado, selecione pelo menos duas séries de dados.", + "SSE.Views.ChartWizardDialog.errorMaxPoints": "O número máximo de pontos em série por gráfico é 4096.", + "SSE.Views.ChartWizardDialog.errorMaxRows": "O número máximo de séries de dados por gráfico é 255.", + "SSE.Views.ChartWizardDialog.errorSecondaryAxis": "O tipo de gráfico selecionado requer o eixo secundário que um gráfico existente está usando. Selecione outro tipo de gráfico.", + "SSE.Views.ChartWizardDialog.errorStockChart": "Ordem de linhas incorreta. Para construir um gráfico temporal coloque os dados na planilha na seguinte ordem: preço de abertura, preço máximo, preço mínimo, preço de fechamento.", + "SSE.Views.ChartWizardDialog.textRecommended": "Recomendado", + "SSE.Views.ChartWizardDialog.textSecondary": "Eixo Secundário", + "SSE.Views.ChartWizardDialog.textSeries": "Série", + "SSE.Views.ChartWizardDialog.textTitle": "Inserir gráfico", + "SSE.Views.ChartWizardDialog.textTitleChange": "Alterar tipo de gráfico", + "SSE.Views.ChartWizardDialog.textType": "Tipo", + "SSE.Views.ChartWizardDialog.txtSeriesDesc": "Escolha o tipo de gráfico e os eixos para sua série de dados", "SSE.Views.CreatePivotDialog.textDataRange": "Intervalo de dados de origem", "SSE.Views.CreatePivotDialog.textDestination": "Escolha onde colocar a tabela", "SSE.Views.CreatePivotDialog.textExist": "Planilha existente", @@ -2306,18 +2319,29 @@ "SSE.Views.DocumentHolder.textArrangeFront": "Trazer para primeiro plano", "SSE.Views.DocumentHolder.textAverage": "Média", "SSE.Views.DocumentHolder.textBullets": "Marcadores", + "SSE.Views.DocumentHolder.textCopyCells": "Copiar células", "SSE.Views.DocumentHolder.textCount": "Contagem", "SSE.Views.DocumentHolder.textCrop": "Cortar", "SSE.Views.DocumentHolder.textCropFill": "Preencher", "SSE.Views.DocumentHolder.textCropFit": "Ajustar", "SSE.Views.DocumentHolder.textEditPoints": "Editar Pontos", "SSE.Views.DocumentHolder.textEntriesList": "Selecionar da lista suspensa", + "SSE.Views.DocumentHolder.textFillDays": "Preencher dias", + "SSE.Views.DocumentHolder.textFillFormatOnly": "Preencher apenas formatação", + "SSE.Views.DocumentHolder.textFillMonths": "Preencher meses", + "SSE.Views.DocumentHolder.textFillSeries": "Preencher série", + "SSE.Views.DocumentHolder.textFillWeekdays": "Preencher dias da semana", + "SSE.Views.DocumentHolder.textFillWithoutFormat": "Preencher sem formatação", + "SSE.Views.DocumentHolder.textFillYears": "Preencher anos", + "SSE.Views.DocumentHolder.textFlashFill": "Preenchimento rápido", "SSE.Views.DocumentHolder.textFlipH": "Virar horizontalmente", "SSE.Views.DocumentHolder.textFlipV": "Virar verticalmente", "SSE.Views.DocumentHolder.textFreezePanes": "Congelar painéis", "SSE.Views.DocumentHolder.textFromFile": "De arquivo", "SSE.Views.DocumentHolder.textFromStorage": "De armazenamento", "SSE.Views.DocumentHolder.textFromUrl": "De URL", + "SSE.Views.DocumentHolder.textGrowthTrend": "Tendência de crescimento", + "SSE.Views.DocumentHolder.textLinearTrend": "Tendência linear", "SSE.Views.DocumentHolder.textListSettings": "Configurações da lista", "SSE.Views.DocumentHolder.textMacro": "Atribuir Macro", "SSE.Views.DocumentHolder.textMax": "Máx", @@ -2331,6 +2355,7 @@ "SSE.Views.DocumentHolder.textRotate270": "Girar 90° no sentido anti-horário", "SSE.Views.DocumentHolder.textRotate90": "Girar 90° no sentido horário", "SSE.Views.DocumentHolder.textSaveAsPicture": "Salvar como imagem", + "SSE.Views.DocumentHolder.textSeries": "Série", "SSE.Views.DocumentHolder.textShapeAlignBottom": "Alinhar à parte inferior", "SSE.Views.DocumentHolder.textShapeAlignCenter": "Alinhar no meio", "SSE.Views.DocumentHolder.textShapeAlignLeft": "Alinhar à esquerda", @@ -2629,6 +2654,7 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "Russian", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacros": "Habilitar todos", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Habilitar todas as macros sem uma notificação", + "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtScreenReader": "Habilitar o suporte ao leitor de tela", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSk": "Eslovaco", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSl": "Esloveno", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Desabilitar tudo", @@ -2661,6 +2687,24 @@ "SSE.Views.FileMenuPanels.ProtectDoc.txtView": "Exibir assinaturas", "SSE.Views.FileMenuPanels.ViewSaveAs.textDownloadAs": "Baixar como", "SSE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "Salvar Cópia como", + "SSE.Views.FillSeriesDialog.textAuto": "Preenchimento automático", + "SSE.Views.FillSeriesDialog.textCols": "Colunas", + "SSE.Views.FillSeriesDialog.textDate": "Data", + "SSE.Views.FillSeriesDialog.textDateUnit": "Unidade de data", + "SSE.Views.FillSeriesDialog.textDay": "Dia", + "SSE.Views.FillSeriesDialog.textGrowth": "Crescimento", + "SSE.Views.FillSeriesDialog.textLinear": "Linear", + "SSE.Views.FillSeriesDialog.textMonth": "Mês", + "SSE.Views.FillSeriesDialog.textRows": "Linhas", + "SSE.Views.FillSeriesDialog.textSeries": "Série em", + "SSE.Views.FillSeriesDialog.textStep": "Valor do passo", + "SSE.Views.FillSeriesDialog.textStop": "Valor final", + "SSE.Views.FillSeriesDialog.textTitle": "Série", + "SSE.Views.FillSeriesDialog.textTrend": "Tendência", + "SSE.Views.FillSeriesDialog.textType": "Tipo", + "SSE.Views.FillSeriesDialog.textWeek": "Dia da semana", + "SSE.Views.FillSeriesDialog.textYear": "Ano", + "SSE.Views.FillSeriesDialog.txtErrorNumber": "Seus dados de entrada não podem ser usados. Um número inteiro ou decimal pode ser necessário.", "SSE.Views.FormatRulesEditDlg.fillColor": "Cor de preenchimento", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "Aviso", "SSE.Views.FormatRulesEditDlg.text2Scales": "Escala Bicolor", @@ -3921,6 +3965,7 @@ "SSE.Views.Toolbar.capImgForward": "Trazer para frente", "SSE.Views.Toolbar.capImgGroup": "Grupo", "SSE.Views.Toolbar.capInsertChart": "Gráfico", + "SSE.Views.Toolbar.capInsertChartRecommend": "Gráfico recomendado", "SSE.Views.Toolbar.capInsertEquation": "Equação", "SSE.Views.Toolbar.capInsertHyperlink": "Hiperlink", "SSE.Views.Toolbar.capInsertImage": "Imagem", @@ -3976,11 +4021,14 @@ "SSE.Views.Toolbar.textDivision": "Sinal de divisão", "SSE.Views.Toolbar.textDollar": "Cifrão", "SSE.Views.Toolbar.textDone": "Concluído", + "SSE.Views.Toolbar.textDown": "Abaixo", "SSE.Views.Toolbar.textEditVA": "Editar área visível", "SSE.Views.Toolbar.textEntireCol": "Coluna inteira", "SSE.Views.Toolbar.textEntireRow": "Linha inteira", "SSE.Views.Toolbar.textEuro": "Sinal de Euro", "SSE.Views.Toolbar.textFewPages": "páginas", + "SSE.Views.Toolbar.textFillLeft": "Esquerda", + "SSE.Views.Toolbar.textFillRight": "Direita", "SSE.Views.Toolbar.textGreaterEqual": "Superior a ou igual a", "SSE.Views.Toolbar.textHeight": "Altura", "SSE.Views.Toolbar.textHideVA": "Ocultar área visível", @@ -4032,6 +4080,7 @@ "SSE.Views.Toolbar.textScaleCustom": "Personalizado", "SSE.Views.Toolbar.textSection": "Sinal de seção", "SSE.Views.Toolbar.textSelection": "Da seleção atual", + "SSE.Views.Toolbar.textSeries": "Série", "SSE.Views.Toolbar.textSetPrintArea": "Definir área de impressão", "SSE.Views.Toolbar.textShowVA": "Mostrar área visível", "SSE.Views.Toolbar.textSmile": "Rosto sorridente branco", @@ -4058,6 +4107,7 @@ "SSE.Views.Toolbar.textTopBorders": "Bordas superiores", "SSE.Views.Toolbar.textTradeMark": "Sinal de marca registrada", "SSE.Views.Toolbar.textUnderline": "Sublinhado", + "SSE.Views.Toolbar.textUp": "Para cima", "SSE.Views.Toolbar.textVertical": "Texto vertical", "SSE.Views.Toolbar.textWidth": "Largura", "SSE.Views.Toolbar.textYen": "Sinal de iene", @@ -4100,6 +4150,7 @@ "SSE.Views.Toolbar.tipIncDecimal": "Aumentar números decimais", "SSE.Views.Toolbar.tipIncFont": "Aumentar tamanho da fonte", "SSE.Views.Toolbar.tipInsertChart": "Inserir gráfico", + "SSE.Views.Toolbar.tipInsertChartRecommend": "Inserir gráfico recomendado", "SSE.Views.Toolbar.tipInsertChartSpark": "Inserir gráfico", "SSE.Views.Toolbar.tipInsertEquation": "Inserir equação", "SSE.Views.Toolbar.tipInsertHorizontalText": "Inserir caixa de texto horizontal", @@ -4164,6 +4215,7 @@ "SSE.Views.Toolbar.txtDollar": "$ Dólar", "SSE.Views.Toolbar.txtEuro": "€ Euro", "SSE.Views.Toolbar.txtExp": "Exponencial", + "SSE.Views.Toolbar.txtFillNum": "Preencher", "SSE.Views.Toolbar.txtFilter": "Filtro", "SSE.Views.Toolbar.txtFormula": "Inserir função", "SSE.Views.Toolbar.txtFraction": "Fração", diff --git a/apps/spreadsheeteditor/main/locale/sr.json b/apps/spreadsheeteditor/main/locale/sr.json index 709bdb8d16..589c93550b 100644 --- a/apps/spreadsheeteditor/main/locale/sr.json +++ b/apps/spreadsheeteditor/main/locale/sr.json @@ -1779,6 +1779,7 @@ "SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "Tabela stil Srednje", "SSE.Controllers.Toolbar.warnLongOperation": "Operacija koju pokušavate da izvedete može potrajati dugo vremena da se završi.
    Da li ste sigurni da želite da nastavite?", "SSE.Controllers.Toolbar.warnMergeLostData": "Samo podatak iz gornje-leve ćelije će da ostane u spojenoj ćeliji.
    Da li ste sigurni da želite da nastavite?", + "SSE.Controllers.Toolbar.warnNoRecommended": "Da biste kreirali grafikon, odaberite ćelije koje sadrže podatke koje biste želeli da koristite.
    Ako imate imena za redove i kolone i želeli biste da ih koristite kao etikete, uključite ih u svoju selekciju.", "SSE.Controllers.Viewport.textFreezePanes": "Zamrzni Odeljke", "SSE.Controllers.Viewport.textFreezePanesShadow": "Prikaži Senku Zamrznutih Prozora", "SSE.Controllers.Viewport.textHideFBar": "Sakrij Formula Traku", @@ -2134,12 +2135,14 @@ "SSE.Views.ChartWizardDialog.errorMaxPoints": "Maksimalan broj tačaka u serijama po grafikonu je 4096.", "SSE.Views.ChartWizardDialog.errorMaxRows": "Maksimalan broj serija podataka po grafikonu je 255.", "SSE.Views.ChartWizardDialog.errorSecondaryAxis": "Odabrani tip grafikona zahteva sekundarnu osu koju postojeći grafikon koristi. Odaberite drugi tip grafikona.", + "SSE.Views.ChartWizardDialog.errorStockChart": "Netačan red redova. Da biste napravili grafikon zaliha postavite podatke na list u sledećem redosledu: otvarajuća cena, maksimalna cena, minimalna cena, zatvarajuća cena.", "SSE.Views.ChartWizardDialog.textRecommended": "Preporučeno", "SSE.Views.ChartWizardDialog.textSecondary": "Sekundarna osa", "SSE.Views.ChartWizardDialog.textSeries": "Serije", "SSE.Views.ChartWizardDialog.textTitle": "Ubaci grafikon", "SSE.Views.ChartWizardDialog.textTitleChange": "Promeni tip grafika", "SSE.Views.ChartWizardDialog.textType": "Kucaj", + "SSE.Views.ChartWizardDialog.txtSeriesDesc": "Odaberi tip grafikona i osu za tvoje serije podataka", "SSE.Views.CreatePivotDialog.textDataRange": "Opseg izvora podataka", "SSE.Views.CreatePivotDialog.textDestination": "Odaberi gde da staviš tabelu", "SSE.Views.CreatePivotDialog.textExist": "Postojeći radni list", @@ -2316,18 +2319,29 @@ "SSE.Views.DocumentHolder.textArrangeFront": "Dovedi u Prednji Plan", "SSE.Views.DocumentHolder.textAverage": "Prosečno", "SSE.Views.DocumentHolder.textBullets": "Tačkice", + "SSE.Views.DocumentHolder.textCopyCells": "Kopiraj ćelije", "SSE.Views.DocumentHolder.textCount": "Izbroj", "SSE.Views.DocumentHolder.textCrop": "Iseci", "SSE.Views.DocumentHolder.textCropFill": "Popuni", "SSE.Views.DocumentHolder.textCropFit": "Prilagodi", "SSE.Views.DocumentHolder.textEditPoints": "Uredi Tačke ", "SSE.Views.DocumentHolder.textEntriesList": "Odaberi iz padajuće liste", + "SSE.Views.DocumentHolder.textFillDays": "Ispuni dane", + "SSE.Views.DocumentHolder.textFillFormatOnly": "Ispuni samo formatiranje", + "SSE.Views.DocumentHolder.textFillMonths": "Ispuni mesece", + "SSE.Views.DocumentHolder.textFillSeries": "Ispuni serije", + "SSE.Views.DocumentHolder.textFillWeekdays": "Ispuni radne dane", + "SSE.Views.DocumentHolder.textFillWithoutFormat": "Ispuni bez formatiranja", + "SSE.Views.DocumentHolder.textFillYears": "Ispuni godine", + "SSE.Views.DocumentHolder.textFlashFill": "Brzo popunjavanje", "SSE.Views.DocumentHolder.textFlipH": "Obrni Horizontalno", "SSE.Views.DocumentHolder.textFlipV": "Obrni Vertikalno", "SSE.Views.DocumentHolder.textFreezePanes": "Zamrzni odeljke", "SSE.Views.DocumentHolder.textFromFile": "Iz Fajla", "SSE.Views.DocumentHolder.textFromStorage": "Iz Skladišta", "SSE.Views.DocumentHolder.textFromUrl": "Iz URL", + "SSE.Views.DocumentHolder.textGrowthTrend": "Trend rasta", + "SSE.Views.DocumentHolder.textLinearTrend": "Linearni trend", "SSE.Views.DocumentHolder.textListSettings": "Podešavanja Liste", "SSE.Views.DocumentHolder.textMacro": "Dodeli Makro", "SSE.Views.DocumentHolder.textMax": "Maks", @@ -2640,6 +2654,7 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "Ruski", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacros": "Omogući Sve", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Omogući sve makroe bez notifikacije", + "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtScreenReader": "Uključi podršku za čitač ekrana", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSk": "Slovački", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSl": "Slovenski", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Onemogući Sve", @@ -2675,11 +2690,21 @@ "SSE.Views.FillSeriesDialog.textAuto": "Autofil", "SSE.Views.FillSeriesDialog.textCols": "Kolone", "SSE.Views.FillSeriesDialog.textDate": "Datum", + "SSE.Views.FillSeriesDialog.textDateUnit": "Jedinica datuma", + "SSE.Views.FillSeriesDialog.textDay": "Dan", + "SSE.Views.FillSeriesDialog.textGrowth": "Rast", "SSE.Views.FillSeriesDialog.textLinear": "Linearno", "SSE.Views.FillSeriesDialog.textMonth": "Mesec", "SSE.Views.FillSeriesDialog.textRows": "Redovi", + "SSE.Views.FillSeriesDialog.textSeries": "Serije u", + "SSE.Views.FillSeriesDialog.textStep": "Vrednost koraka", + "SSE.Views.FillSeriesDialog.textStop": "Stop vrednost", "SSE.Views.FillSeriesDialog.textTitle": "Serije", + "SSE.Views.FillSeriesDialog.textTrend": "Trend", "SSE.Views.FillSeriesDialog.textType": "Kucaj", + "SSE.Views.FillSeriesDialog.textWeek": "Radni dan", + "SSE.Views.FillSeriesDialog.textYear": "Godina", + "SSE.Views.FillSeriesDialog.txtErrorNumber": "Vaš unos ne može biti korišćen. Možda je potreban ceo broj ili decimalni broj.", "SSE.Views.FormatRulesEditDlg.fillColor": "Popuni boju", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "Upozorenje ", "SSE.Views.FormatRulesEditDlg.text2Scales": "dvobojna skala", @@ -3940,6 +3965,7 @@ "SSE.Views.Toolbar.capImgForward": "Prinesi", "SSE.Views.Toolbar.capImgGroup": "Grupa", "SSE.Views.Toolbar.capInsertChart": "Grafikon", + "SSE.Views.Toolbar.capInsertChartRecommend": "Preporučeni Grafikon", "SSE.Views.Toolbar.capInsertEquation": "Jednačina", "SSE.Views.Toolbar.capInsertHyperlink": "Hiperlink", "SSE.Views.Toolbar.capInsertImage": "Slika", @@ -4124,6 +4150,7 @@ "SSE.Views.Toolbar.tipIncDecimal": "Povećaj decimalu", "SSE.Views.Toolbar.tipIncFont": "Povećaj veličinu fonta", "SSE.Views.Toolbar.tipInsertChart": "Ubaci grafikon", + "SSE.Views.Toolbar.tipInsertChartRecommend": "Ubaci preporučeni grafikon", "SSE.Views.Toolbar.tipInsertChartSpark": "Ubaci grafikon", "SSE.Views.Toolbar.tipInsertEquation": "Ubaci jednačinu", "SSE.Views.Toolbar.tipInsertHorizontalText": "Ubaci horizontalno polje za tekst", diff --git a/apps/spreadsheeteditor/main/locale/zh.json b/apps/spreadsheeteditor/main/locale/zh.json index 21c6a55921..ecac3b0e40 100644 --- a/apps/spreadsheeteditor/main/locale/zh.json +++ b/apps/spreadsheeteditor/main/locale/zh.json @@ -283,6 +283,7 @@ "Common.UI.ExtendedColorDialog.textRGBErr": "输入的值不正确。
    请输入介于0和255之间的数值。", "Common.UI.HSBColorPicker.textNoColor": "没有颜色", "Common.UI.InputFieldBtnPassword.textHintHidePwd": "隐藏密码", + "Common.UI.InputFieldBtnPassword.textHintHold": "按住显示密码", "Common.UI.InputFieldBtnPassword.textHintShowPwd": "显示密码", "Common.UI.SearchBar.textFind": "查找", "Common.UI.SearchBar.tipCloseSearch": "关闭搜索", @@ -529,6 +530,7 @@ "Common.Views.PasswordDialog.txtTitle": "设置密码", "Common.Views.PasswordDialog.txtWarning": "警告:如果您丢失或忘记了密码,则无法恢复。请把它放在安全的地方。", "Common.Views.PluginDlg.textLoading": "载入中", + "Common.Views.PluginPanel.textClosePanel": "关闭插件", "Common.Views.PluginPanel.textLoading": "载入中", "Common.Views.Plugins.groupCaption": "插件", "Common.Views.Plugins.strPlugins": "插件", @@ -1002,6 +1004,7 @@ "SSE.Controllers.Main.errorLoadingFont": "字体未加载
    请与您的文档服务器管理员联系。", "SSE.Controllers.Main.errorLocationOrDataRangeError": "位置或数据范围的引用无效。", "SSE.Controllers.Main.errorLockedAll": "由于工作表被其他用户锁定,因此无法进行操作。", + "SSE.Controllers.Main.errorLockedCellGoalSeek": "单变量求解中涉及的一个单元格已被另一个用户修改。", "SSE.Controllers.Main.errorLockedCellPivot": "您不能更改数据透视表中的数据。", "SSE.Controllers.Main.errorLockedWorksheetRename": "此时由于其他用户重命名该表单,因此无法重命名该表", "SSE.Controllers.Main.errorMaxPoints": "每个图表的最大串联点数为4096。", @@ -1776,6 +1779,7 @@ "SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "中等深浅表格样式", "SSE.Controllers.Toolbar.warnLongOperation": "您即将执行的操作可能需要相当长的时间才能完成。
    您确定要继续吗?", "SSE.Controllers.Toolbar.warnMergeLostData": "只有来自左上方单元格的数据将保留在合并的单元格中。
    您确定要继续吗?", + "SSE.Controllers.Toolbar.warnNoRecommended": "若要创建图表,请选择包含要使用的数据的单元格
    如果您有行和列的名称,并且希望将它们用作标签,请将它们包括在您的选择中。", "SSE.Controllers.Viewport.textFreezePanes": "冻结窗格", "SSE.Controllers.Viewport.textFreezePanesShadow": "显示冻结窗格的阴影", "SSE.Controllers.Viewport.textHideFBar": "隐藏公式栏", @@ -2127,6 +2131,18 @@ "SSE.Views.ChartTypeDialog.textStyle": "样式", "SSE.Views.ChartTypeDialog.textTitle": "图表类型", "SSE.Views.ChartTypeDialog.textType": "类型", + "SSE.Views.ChartWizardDialog.errorComboSeries": "若要创建组合图表,请至少选择两个系列的数据。", + "SSE.Views.ChartWizardDialog.errorMaxPoints": "每个图表的最大串联点数为4096。", + "SSE.Views.ChartWizardDialog.errorMaxRows": "每个图表的最大数据序列数为255。", + "SSE.Views.ChartWizardDialog.errorSecondaryAxis": "所选图表类型需要现有图表正在使用的辅助轴。选择其他图表类型。", + "SSE.Views.ChartWizardDialog.errorStockChart": "行顺序不正确。要创建股票图表,请按以下顺序将数据放在工作表上:开盘价、最高价格、最低价格、收盘价。", + "SSE.Views.ChartWizardDialog.textRecommended": "推荐的", + "SSE.Views.ChartWizardDialog.textSecondary": "副轴", + "SSE.Views.ChartWizardDialog.textSeries": "系列", + "SSE.Views.ChartWizardDialog.textTitle": "插入图表", + "SSE.Views.ChartWizardDialog.textTitleChange": "更改图表类型", + "SSE.Views.ChartWizardDialog.textType": "类型", + "SSE.Views.ChartWizardDialog.txtSeriesDesc": "选择数据系列的图表类型和轴", "SSE.Views.CreatePivotDialog.textDataRange": "源数据范围", "SSE.Views.CreatePivotDialog.textDestination": "选择要放置表格的位置", "SSE.Views.CreatePivotDialog.textExist": "现有工作表", @@ -2149,6 +2165,7 @@ "SSE.Views.DataTab.capBtnUngroup": "取消组合", "SSE.Views.DataTab.capDataExternalLinks": "外部链接", "SSE.Views.DataTab.capDataFromText": "获取数据", + "SSE.Views.DataTab.capGoalSeek": "单变量求解", "SSE.Views.DataTab.mniFromFile": "来自本地TXT/CSV", "SSE.Views.DataTab.mniFromUrl": "从TXT/CSV网址", "SSE.Views.DataTab.mniFromXMLFile": "来自本地XML", @@ -2163,6 +2180,7 @@ "SSE.Views.DataTab.tipDataFromText": "从文件中获取数据", "SSE.Views.DataTab.tipDataValidation": "数据验证", "SSE.Views.DataTab.tipExternalLinks": "查看此电子表格链接到的其他文件", + "SSE.Views.DataTab.tipGoalSeek": "找到所需值的正确输入", "SSE.Views.DataTab.tipGroup": "单元格的组范围", "SSE.Views.DataTab.tipRemDuplicates": "从工作表中删除重复的行", "SSE.Views.DataTab.tipToColumns": "将单元格文本分隔成列", @@ -2301,18 +2319,29 @@ "SSE.Views.DocumentHolder.textArrangeFront": "移到前景", "SSE.Views.DocumentHolder.textAverage": "平均值", "SSE.Views.DocumentHolder.textBullets": "项目符号", + "SSE.Views.DocumentHolder.textCopyCells": "复制单元格", "SSE.Views.DocumentHolder.textCount": "计数", "SSE.Views.DocumentHolder.textCrop": "裁剪", "SSE.Views.DocumentHolder.textCropFill": "填充", "SSE.Views.DocumentHolder.textCropFit": "适应", "SSE.Views.DocumentHolder.textEditPoints": "编辑点", "SSE.Views.DocumentHolder.textEntriesList": "从下拉列表中选择", + "SSE.Views.DocumentHolder.textFillDays": "填充日期", + "SSE.Views.DocumentHolder.textFillFormatOnly": "仅填充格式", + "SSE.Views.DocumentHolder.textFillMonths": "填充月份", + "SSE.Views.DocumentHolder.textFillSeries": "填充系列", + "SSE.Views.DocumentHolder.textFillWeekdays": "填写星期", + "SSE.Views.DocumentHolder.textFillWithoutFormat": "不带格式填充", + "SSE.Views.DocumentHolder.textFillYears": "填充年份", + "SSE.Views.DocumentHolder.textFlashFill": "快速填充", "SSE.Views.DocumentHolder.textFlipH": "水平翻转", "SSE.Views.DocumentHolder.textFlipV": "垂直翻转", "SSE.Views.DocumentHolder.textFreezePanes": "冻结窗格", "SSE.Views.DocumentHolder.textFromFile": "从文件", "SSE.Views.DocumentHolder.textFromStorage": "来自存储设备", "SSE.Views.DocumentHolder.textFromUrl": "来自URL", + "SSE.Views.DocumentHolder.textGrowthTrend": "增长趋势", + "SSE.Views.DocumentHolder.textLinearTrend": "线性趋势", "SSE.Views.DocumentHolder.textListSettings": "列表设置", "SSE.Views.DocumentHolder.textMacro": "指定宏", "SSE.Views.DocumentHolder.textMax": "最大值", @@ -2326,6 +2355,7 @@ "SSE.Views.DocumentHolder.textRotate270": "逆时针旋转90°", "SSE.Views.DocumentHolder.textRotate90": "顺时针旋转90°", "SSE.Views.DocumentHolder.textSaveAsPicture": "另存为图片", + "SSE.Views.DocumentHolder.textSeries": "系列", "SSE.Views.DocumentHolder.textShapeAlignBottom": "底部对齐", "SSE.Views.DocumentHolder.textShapeAlignCenter": "居中对齐", "SSE.Views.DocumentHolder.textShapeAlignLeft": "左对齐", @@ -2363,6 +2393,8 @@ "SSE.Views.DocumentHolder.txtClearSparklineGroups": "清除所选的走势图组", "SSE.Views.DocumentHolder.txtClearSparklines": "清除所选的走势图", "SSE.Views.DocumentHolder.txtClearText": "文字", + "SSE.Views.DocumentHolder.txtCollapse": "折叠", + "SSE.Views.DocumentHolder.txtCollapseEntire": "折叠整个字段", "SSE.Views.DocumentHolder.txtColumn": "整列", "SSE.Views.DocumentHolder.txtColumnWidth": "设置列宽", "SSE.Views.DocumentHolder.txtCondFormat": "条件格式", @@ -2382,6 +2414,9 @@ "SSE.Views.DocumentHolder.txtDistribHor": "水平分布", "SSE.Views.DocumentHolder.txtDistribVert": "垂直分布", "SSE.Views.DocumentHolder.txtEditComment": "编辑批注", + "SSE.Views.DocumentHolder.txtExpand": "展开", + "SSE.Views.DocumentHolder.txtExpandCollapse": "展开/折叠", + "SSE.Views.DocumentHolder.txtExpandEntire": "展开整个字段", "SSE.Views.DocumentHolder.txtFieldSettings": "字段设置", "SSE.Views.DocumentHolder.txtFilter": "筛选", "SSE.Views.DocumentHolder.txtFilterCellColor": "按单元格的颜色筛选", @@ -2619,6 +2654,7 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "俄语", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacros": "全部启用", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "启用全部宏,并且不发出通知", + "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtScreenReader": "打开屏幕朗读器支持", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSk": "斯洛伐克語", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSl": "斯洛文尼亚语", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "全部停用", @@ -2651,6 +2687,24 @@ "SSE.Views.FileMenuPanels.ProtectDoc.txtView": "查看签名", "SSE.Views.FileMenuPanels.ViewSaveAs.textDownloadAs": "下载为", "SSE.Views.FileMenuPanels.ViewSaveCopy.textSaveCopyAs": "另存副本为", + "SSE.Views.FillSeriesDialog.textAuto": "自动填充", + "SSE.Views.FillSeriesDialog.textCols": "列", + "SSE.Views.FillSeriesDialog.textDate": "日期", + "SSE.Views.FillSeriesDialog.textDateUnit": "日期单位", + "SSE.Views.FillSeriesDialog.textDay": "日", + "SSE.Views.FillSeriesDialog.textGrowth": "增长", + "SSE.Views.FillSeriesDialog.textLinear": "线性", + "SSE.Views.FillSeriesDialog.textMonth": "月", + "SSE.Views.FillSeriesDialog.textRows": "行", + "SSE.Views.FillSeriesDialog.textSeries": "系列产生在", + "SSE.Views.FillSeriesDialog.textStep": "步进值", + "SSE.Views.FillSeriesDialog.textStop": "步进值", + "SSE.Views.FillSeriesDialog.textTitle": "系列", + "SSE.Views.FillSeriesDialog.textTrend": "趋势", + "SSE.Views.FillSeriesDialog.textType": "类型", + "SSE.Views.FillSeriesDialog.textWeek": "星期", + "SSE.Views.FillSeriesDialog.textYear": "年", + "SSE.Views.FillSeriesDialog.txtErrorNumber": "您的启动项无法使用。可能需要整数或十进制数。", "SSE.Views.FormatRulesEditDlg.fillColor": "填充顏色", "SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "警告", "SSE.Views.FormatRulesEditDlg.text2Scales": "2色标", @@ -2871,6 +2925,26 @@ "SSE.Views.FormulaWizard.textText": "文本", "SSE.Views.FormulaWizard.textTitle": "函数参数", "SSE.Views.FormulaWizard.textValue": "公式结果", + "SSE.Views.GoalSeekDlg.textChangingCell": "通过更改单元格", + "SSE.Views.GoalSeekDlg.textDataRangeError": "该公式缺少范围", + "SSE.Views.GoalSeekDlg.textMustContainFormula": "单元格必须包含公式", + "SSE.Views.GoalSeekDlg.textMustContainValue": "单元格必须包含一个值", + "SSE.Views.GoalSeekDlg.textMustFormulaResultNumber": "单元格中的公式结果必须为一个数字", + "SSE.Views.GoalSeekDlg.textMustSingleCell": "引用必须指向单个单元格", + "SSE.Views.GoalSeekDlg.textSelectData": "选择数据", + "SSE.Views.GoalSeekDlg.textSetCell": "设置单元格", + "SSE.Views.GoalSeekDlg.textTitle": "单变量求解", + "SSE.Views.GoalSeekDlg.textToValue": "改为值", + "SSE.Views.GoalSeekDlg.txtEmpty": "这是必填栏", + "SSE.Views.GoalSeekStatusDlg.textContinue": "继续", + "SSE.Views.GoalSeekStatusDlg.textCurrentValue": "当前值:", + "SSE.Views.GoalSeekStatusDlg.textFoundSolution": "使用单元格{0}进行单变量求解已找到解。", + "SSE.Views.GoalSeekStatusDlg.textNotFoundSolution": "使用单元格{0}进行单变量求解可能找不到解。", + "SSE.Views.GoalSeekStatusDlg.textPause": "暂停", + "SSE.Views.GoalSeekStatusDlg.textSearchIteration": "在迭代#{1}中使用单元格{0}进行单变量求解。", + "SSE.Views.GoalSeekStatusDlg.textStep": "Step", + "SSE.Views.GoalSeekStatusDlg.textTargetValue": "目标值:", + "SSE.Views.GoalSeekStatusDlg.textTitle": "单变量求解状态", "SSE.Views.HeaderFooterDialog.textAlign": "与页面边界对齐", "SSE.Views.HeaderFooterDialog.textAll": "所有页面", "SSE.Views.HeaderFooterDialog.textBold": "粗体", @@ -3051,10 +3125,13 @@ "SSE.Views.NameManagerDlg.txtTitle": "名称管理", "SSE.Views.NameManagerDlg.warnDelete": "是否确实要删除名称{0}?", "SSE.Views.PageMarginsDialog.textBottom": "底部", + "SSE.Views.PageMarginsDialog.textCenter": "页面居中", + "SSE.Views.PageMarginsDialog.textHor": "水平地", "SSE.Views.PageMarginsDialog.textLeft": "左侧", "SSE.Views.PageMarginsDialog.textRight": "右", "SSE.Views.PageMarginsDialog.textTitle": "边距", "SSE.Views.PageMarginsDialog.textTop": "顶部", + "SSE.Views.PageMarginsDialog.textVert": "垂直地", "SSE.Views.PageMarginsDialog.textWarning": "警告", "SSE.Views.PageMarginsDialog.warnCheckMargings": "边距不正确", "SSE.Views.ParagraphSettings.strLineHeight": "行距", @@ -3212,7 +3289,9 @@ "SSE.Views.PivotTable.tipRefreshCurrent": "更新当前表的数据源信息", "SSE.Views.PivotTable.tipSelect": "选择整个数据透视表", "SSE.Views.PivotTable.tipSubtotals": "显示或隐藏小计", + "SSE.Views.PivotTable.txtCollapseEntire": "折叠整个字段", "SSE.Views.PivotTable.txtCreate": "插入表格", + "SSE.Views.PivotTable.txtExpandEntire": "展开整个字段", "SSE.Views.PivotTable.txtGroupPivot_Custom": "自定义", "SSE.Views.PivotTable.txtGroupPivot_Dark": "深色", "SSE.Views.PivotTable.txtGroupPivot_Light": "亮色主题", @@ -3886,6 +3965,7 @@ "SSE.Views.Toolbar.capImgForward": "向前移动", "SSE.Views.Toolbar.capImgGroup": "组", "SSE.Views.Toolbar.capInsertChart": "图表", + "SSE.Views.Toolbar.capInsertChartRecommend": "推荐的图表", "SSE.Views.Toolbar.capInsertEquation": "公式", "SSE.Views.Toolbar.capInsertHyperlink": "超链接", "SSE.Views.Toolbar.capInsertImage": "图片", @@ -3941,11 +4021,14 @@ "SSE.Views.Toolbar.textDivision": "除号", "SSE.Views.Toolbar.textDollar": "美元符号", "SSE.Views.Toolbar.textDone": "完成", + "SSE.Views.Toolbar.textDown": "下", "SSE.Views.Toolbar.textEditVA": "编辑可见区域", "SSE.Views.Toolbar.textEntireCol": "整列", "SSE.Views.Toolbar.textEntireRow": "整行", "SSE.Views.Toolbar.textEuro": "欧元符号", "SSE.Views.Toolbar.textFewPages": "页数", + "SSE.Views.Toolbar.textFillLeft": "左侧", + "SSE.Views.Toolbar.textFillRight": "右", "SSE.Views.Toolbar.textGreaterEqual": "大于等于", "SSE.Views.Toolbar.textHeight": "高度", "SSE.Views.Toolbar.textHideVA": "隐藏可见区域", @@ -3997,6 +4080,7 @@ "SSE.Views.Toolbar.textScaleCustom": "自定义", "SSE.Views.Toolbar.textSection": "章节标志", "SSE.Views.Toolbar.textSelection": "从当前选择", + "SSE.Views.Toolbar.textSeries": "系列", "SSE.Views.Toolbar.textSetPrintArea": "设置打印区域", "SSE.Views.Toolbar.textShowVA": "显示可见区域", "SSE.Views.Toolbar.textSmile": "白色笑脸", @@ -4023,6 +4107,7 @@ "SSE.Views.Toolbar.textTopBorders": "顶部边框", "SSE.Views.Toolbar.textTradeMark": "商标标志", "SSE.Views.Toolbar.textUnderline": "下划线", + "SSE.Views.Toolbar.textUp": "上", "SSE.Views.Toolbar.textVertical": "垂直文本", "SSE.Views.Toolbar.textWidth": "宽度", "SSE.Views.Toolbar.textYen": "日元符号", @@ -4065,6 +4150,7 @@ "SSE.Views.Toolbar.tipIncDecimal": "增加小数", "SSE.Views.Toolbar.tipIncFont": "增加字体大小", "SSE.Views.Toolbar.tipInsertChart": "插入图表", + "SSE.Views.Toolbar.tipInsertChartRecommend": "插入推荐图表", "SSE.Views.Toolbar.tipInsertChartSpark": "插入图表", "SSE.Views.Toolbar.tipInsertEquation": "插入方程", "SSE.Views.Toolbar.tipInsertHorizontalText": "插入水平文本框", @@ -4129,6 +4215,7 @@ "SSE.Views.Toolbar.txtDollar": "$美元", "SSE.Views.Toolbar.txtEuro": "欧元", "SSE.Views.Toolbar.txtExp": "指数", + "SSE.Views.Toolbar.txtFillNum": "填充", "SSE.Views.Toolbar.txtFilter": "筛选", "SSE.Views.Toolbar.txtFormula": "插入函数", "SSE.Views.Toolbar.txtFraction": "分数", diff --git a/apps/spreadsheeteditor/mobile/locale/ar.json b/apps/spreadsheeteditor/mobile/locale/ar.json index 94a2e69e0d..733901a95a 100644 --- a/apps/spreadsheeteditor/mobile/locale/ar.json +++ b/apps/spreadsheeteditor/mobile/locale/ar.json @@ -66,6 +66,7 @@ "errorInvalidLink": "مرجع الرابط غير موجود. يرجى تصحيح الرابط أو حذفه.", "menuAddComment": "اضافة تعليق", "menuAddLink": "إضافة رابط", + "menuAutofill": "ملء تلقائي", "menuCancel": "الغاء", "menuCell": "خلية", "menuDelete": "حذف", @@ -87,8 +88,7 @@ "textDoNotShowAgain": "لا تظهر مجددا", "textOk": "موافق", "txtWarnUrl": "الضغط على هذا الرابط قد يؤذي جهازك و بياناتك.
    هل تريد الإكمال؟", - "warnMergeLostData": "ستبقى فقط البيانات من الخلية العلوية اليسرى في الخلية المدمجة.
    هل أنت متأكد أنك تريد المتابعة؟", - "menuAutofill": "Autofill" + "warnMergeLostData": "ستبقى فقط البيانات من الخلية العلوية اليسرى في الخلية المدمجة.
    هل أنت متأكد أنك تريد المتابعة؟" }, "Controller": { "Main": { @@ -393,8 +393,8 @@ "leaveButtonText": "اترك هذه الصفحة", "stayButtonText": "ابقى في هذه الصفحة", "textCloseHistory": "إغلاق السجل", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "ادخل اسم جديد للملف", + "textRenameFile": "إعادة تسمية الملف" }, "View": { "Add": { @@ -558,6 +558,7 @@ "textInsideVerticalBorder": "بداخل الحد العمودي", "textInteger": "عدد صحيح", "textInternalDataRange": "نطاق البيانات الداخلية", + "textInvalidName": "لا يمكن لاسم الملف أن يحتوي على الرموز التالية:", "textInvalidRange": "نطاق خلايا غير صالح", "textJustified": "مضبوط", "textLabelOptions": "تسميات الخيارات", @@ -649,8 +650,7 @@ "textYen": "ين", "txtNotUrl": "هذا الحقل يجب ان يحتوي علي رابط بنفس تنسيق\"http://www.example.com\" ", "txtSortHigh2Low": "الترتيب من الأعلى إلى الأقل", - "txtSortLow2High": "الترتيب من الأقل إلى الأعلى", - "textInvalidName": "The file name cannot contain any of the following characters: " + "txtSortLow2High": "الترتيب من الأقل إلى الأعلى" }, "Settings": { "advCSVOptions": "اختر خيارات CSV", diff --git a/apps/spreadsheeteditor/mobile/locale/el.json b/apps/spreadsheeteditor/mobile/locale/el.json index 971545974c..c28a199dbd 100644 --- a/apps/spreadsheeteditor/mobile/locale/el.json +++ b/apps/spreadsheeteditor/mobile/locale/el.json @@ -40,6 +40,12 @@ "textStandartColors": "Τυπικά Χρώματα", "textThemeColors": "Χρώματα Θέματος" }, + "Themes": { + "dark": "Σκουρόχρωμο", + "light": "Ανοιχτόχρωμο", + "system": "Ίδιο με το σύστημα", + "textTheme": "Θέμα" + }, "VersionHistory": { "notcriticalErrorTitle": "Προειδοποίηση", "textAnonymous": "Ανώνυμος", @@ -53,12 +59,6 @@ "textWarningRestoreVersion": "Το τρέχον αρχείο θα αποθηκευτεί στο ιστορικό εκδόσεων.", "titleWarningRestoreVersion": "Επαναφορά αυτής της έκδοσης;", "txtErrorLoadHistory": "Η φόρτωση του ιστορικού απέτυχε" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -66,6 +66,7 @@ "errorInvalidLink": "Η παραπομπή του συνδέσμου δεν υπάρχει. Παρακαλούμε διορθώστε τον σύνδεσμο ή διαγράψτε τον.", "menuAddComment": "Προσθήκη σχολίου", "menuAddLink": "Προσθήκη Συνδέσμου", + "menuAutofill": "Αυτόματη συμπλήρωση", "menuCancel": "Ακύρωση", "menuCell": "Κελί", "menuDelete": "Διαγραφή", @@ -87,8 +88,7 @@ "textDoNotShowAgain": "Να μην εμφανιστεί ξανά", "textOk": "Εντάξει", "txtWarnUrl": "Η συσκευή και τα δεδομένα σας μπορεί να κινδυνεύσουν αν κάνετε κλικ σε αυτόν τον σύνδεσμο.
    Θέλετε σίγουρα να συνεχίσετε;", - "warnMergeLostData": "Μόνο τα δεδομένα από το επάνω αριστερό κελί θα παραμείνουν στο συγχωνευμένο κελί.
    Είστε σίγουροι ότι θέλετε να συνεχίσετε;", - "menuAutofill": "Autofill" + "warnMergeLostData": "Μόνο τα δεδομένα από το επάνω αριστερό κελί θα παραμείνουν στο συγχωνευμένο κελί.
    Είστε σίγουροι ότι θέλετε να συνεχίσετε;" }, "Controller": { "Main": { @@ -393,8 +393,8 @@ "leaveButtonText": "Έξοδος από τη σελίδα", "stayButtonText": "Παραμονή στη σελίδα", "textCloseHistory": "Κλείσιμο ιστορικού", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "Εισαγάγετε ένα νέο όνομα αρχείου", + "textRenameFile": "Μετονομασία αρχείου" }, "View": { "Add": { @@ -558,6 +558,7 @@ "textInsideVerticalBorder": "Εσωτερικό κατακόρυφο περίγραμμα", "textInteger": "Ακέραιος αριθμός", "textInternalDataRange": "Εσωτερικό εύρος δεδομένων", + "textInvalidName": "Το όνομα αρχείου δεν μπορεί να περιέχει κανέναν από τους ακόλουθους χαρακτήρες:", "textInvalidRange": "Μη έγκυρο εύρος κελιών", "textJustified": "Πλήρης στοίχιση", "textLabelOptions": "Επιλογές Ετικέτας", @@ -649,8 +650,7 @@ "textYen": "Γιέν", "txtNotUrl": "Αυτό το πεδίο πρέπει να είναι μια διεύθυνση URL με τη μορφή «http://www.example.com»", "txtSortHigh2Low": "Ταξινόμηση από το Υψηλότερο στο Χαμηλότερο", - "txtSortLow2High": "Ταξινόμηση από το Χαμηλότερο στο Υψηλότερο", - "textInvalidName": "The file name cannot contain any of the following characters: " + "txtSortLow2High": "Ταξινόμηση από το Χαμηλότερο στο Υψηλότερο" }, "Settings": { "advCSVOptions": "Επιλέξτε CSV επιλογές", @@ -682,6 +682,7 @@ "textComments": "Σχόλια", "textCreated": "Δημιουργήθηκε", "textCustomSize": "Προσαρμοσμένο Μέγεθος", + "textDark": "Σκουρόχρωμο", "textDarkTheme": "Σκούρο θέμα", "textDelimeter": "Διαχωριστικό", "textDirection": "Κατεύθυνση", @@ -713,6 +714,7 @@ "textLastModifiedBy": "Τελευταία Τροποποίηση Από", "textLeft": "Αριστερά", "textLeftToRight": "Αριστερά Προς Δεξιά", + "textLight": "Ανοιχτόχρωμο", "textLocation": "Τοποθεσία", "textLookIn": "Αναζήτηση Σε", "textMacrosSettings": "Ρυθμίσεις μακροεντολών", @@ -736,6 +738,7 @@ "textRestartApplication": "Παρακαλούμε επανεκκινήστε την εφαρμογή για να εφαρμοστούν οι αλλαγές", "textRight": "Δεξιά", "textRightToLeft": "Δεξιά Προς Αριστερά", + "textSameAsSystem": "Ίδιο με το σύστημα", "textSearch": "Αναζήτηση", "textSearchBy": "Αναζήτηση", "textSearchIn": "Αναζήτηση Σε", @@ -748,6 +751,7 @@ "textSpreadsheetTitle": "Τίτλος υπολογιστικού Φύλλου", "textSubject": "Θέμα", "textTel": "Τηλ", + "textTheme": "Θέμα", "textTitle": "Τίτλος", "textTop": "Πάνω", "textUnitOfMeasurement": "Μονάδα μέτρησης", @@ -821,11 +825,7 @@ "txtUk": "Ουκρανικά", "txtVi": "Βιετναμέζικα", "txtZh": "Κινέζικα", - "warnDownloadAs": "Αν προχωρήσετε με την αποθήκευση σε αυτή τη μορφή, όλα τα χαρακτηριστικά πλην του κειμένου θα χαθούν.
    Θέλετε σίγουρα να συνεχίσετε;", - "textDark": "Dark", - "textLight": "Light", - "textSameAsSystem": "Same As System", - "textTheme": "Theme" + "warnDownloadAs": "Αν προχωρήσετε με την αποθήκευση σε αυτή τη μορφή, όλα τα χαρακτηριστικά πλην του κειμένου θα χαθούν.
    Θέλετε σίγουρα να συνεχίσετε;" } } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/locale/pl.json b/apps/spreadsheeteditor/mobile/locale/pl.json index 08f64e0820..04cbd255f4 100644 --- a/apps/spreadsheeteditor/mobile/locale/pl.json +++ b/apps/spreadsheeteditor/mobile/locale/pl.json @@ -1,18 +1,372 @@ { "About": { "textAbout": "O programie", + "textBack": "Wstecz", "textAddress": "Address", - "textBack": "Back", "textEditor": "Spreadsheet Editor", "textEmail": "Email", "textPoweredBy": "Powered By", "textTel": "Tel", "textVersion": "Version" }, + "Common": { + "Collaboration": { + "textAddComment": "Dodaj komentarz", + "textAddReply": "Dodaj odpowiedź", + "textBack": "Wstecz", + "textCancel": "Anuluj", + "notcriticalErrorTitle": "Warning", + "textCollaboration": "Collaboration", + "textComments": "Comments", + "textDeleteComment": "Delete Comment", + "textDeleteReply": "Delete Reply", + "textDone": "Done", + "textEdit": "Edit", + "textEditComment": "Edit Comment", + "textEditReply": "Edit Reply", + "textEditUser": "Users who are editing the file:", + "textMessageDeleteComment": "Do you really want to delete this comment?", + "textMessageDeleteReply": "Do you really want to delete this reply?", + "textNoComments": "No Comments", + "textOk": "Ok", + "textReopen": "Reopen", + "textResolve": "Resolve", + "textSharingSettings": "Sharing Settings", + "textTryUndoRedo": "The Undo/Redo functions are disabled for the Fast co-editing mode.", + "textUsers": "Users" + }, + "VersionHistory": { + "textAnonymous": "Gość", + "textBack": "Wstecz", + "textCancel": "Anuluj", + "notcriticalErrorTitle": "Warning", + "textCurrent": "Current", + "textOk": "Ok", + "textRestore": "Restore", + "textVersion": "Version", + "textVersionHistory": "Version History", + "textWarningRestoreVersion": "Current file will be saved in version history.", + "titleWarningRestoreVersion": "Restore this version?", + "txtErrorLoadHistory": "Loading history failed" + }, + "ThemeColorPalette": { + "textCustomColors": "Custom Colors", + "textStandartColors": "Standard Colors", + "textThemeColors": "Theme Colors" + }, + "Themes": { + "dark": "Dark", + "light": "Light", + "system": "Same as system", + "textTheme": "Theme" + } + }, + "ContextMenu": { + "menuAddComment": "Dodaj komentarz", + "menuAddLink": "Dodaj link", + "menuCancel": "Anuluj", + "errorCopyCutPaste": "Copy, cut, and paste actions using the context menu will be performed within the current file only.", + "errorInvalidLink": "The link reference does not exist. Please correct the link or delete it.", + "menuAutofill": "Autofill", + "menuCell": "Cell", + "menuDelete": "Delete", + "menuEdit": "Edit", + "menuEditLink": "Edit Link", + "menuFreezePanes": "Freeze Panes", + "menuHide": "Hide", + "menuMerge": "Merge", + "menuMore": "More", + "menuOpenLink": "Open Link", + "menuShow": "Show", + "menuUnfreezePanes": "Unfreeze Panes", + "menuUnmerge": "Unmerge", + "menuUnwrap": "Unwrap", + "menuViewComment": "View Comment", + "menuWrap": "Wrap", + "notcriticalErrorTitle": "Warning", + "textCopyCutPasteActions": "Copy, Cut and Paste Actions", + "textDoNotShowAgain": "Don't show again", + "textOk": "Ok", + "txtWarnUrl": "Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?", + "warnMergeLostData": "Only the data from the upper-left cell will remain in the merged cell.
    Are you sure you want to continue?" + }, + "Controller": { + "Main": { + "SDK": { + "txtAll": "(wszystko)", + "txtBlank": "(puste)", + "txtByField": "%1 z %2", + "txtOr": "%1 lub %2", + "txtStyle_Bad": "Zły", + "txtAccent": "Accent", + "txtArt": "Your text here", + "txtClearFilter": "Clear Filter (Alt+C)", + "txtColLbls": "Column Labels", + "txtColumn": "Column", + "txtConfidential": "Confidential", + "txtDate": "Date", + "txtDays": "Days", + "txtDiagramTitle": "Chart Title", + "txtFile": "File", + "txtGrandTotal": "Grand Total", + "txtGroup": "Group", + "txtHours": "Hours", + "txtMinutes": "Minutes", + "txtMonths": "Months", + "txtMultiSelect": "Multi-Select (Alt+S)", + "txtPage": "Page", + "txtPageOf": "Page %1 of %2", + "txtPages": "Pages", + "txtPreparedBy": "Prepared by", + "txtPrintArea": "Print_Area", + "txtQuarter": "Qtr", + "txtQuarters": "Quarters", + "txtRow": "Row", + "txtRowLbls": "Row Labels", + "txtSeconds": "Seconds", + "txtSeries": "Series", + "txtStyle_Calculation": "Calculation", + "txtStyle_Check_Cell": "Check Cell", + "txtStyle_Comma": "Comma", + "txtStyle_Currency": "Currency", + "txtStyle_Explanatory_Text": "Explanatory Text", + "txtStyle_Good": "Good", + "txtStyle_Heading_1": "Heading 1", + "txtStyle_Heading_2": "Heading 2", + "txtStyle_Heading_3": "Heading 3", + "txtStyle_Heading_4": "Heading 4", + "txtStyle_Input": "Input", + "txtStyle_Linked_Cell": "Linked Cell", + "txtStyle_Neutral": "Neutral", + "txtStyle_Normal": "Normal", + "txtStyle_Note": "Note", + "txtStyle_Output": "Output", + "txtStyle_Percent": "Percent", + "txtStyle_Title": "Title", + "txtStyle_Total": "Total", + "txtStyle_Warning_Text": "Warning Text", + "txtTab": "Tab", + "txtTable": "Table", + "txtTime": "Time", + "txtValues": "Values", + "txtXAxis": "X Axis", + "txtYAxis": "Y Axis", + "txtYears": "Years" + }, + "textAnonymous": "Gość", + "criticalErrorTitle": "Error", + "errorAccessDeny": "You are trying to perform an action you do not have rights for.
    Please, contact your admin.", + "errorOpensource": "Using the free Community version, you can open documents for viewing only. To access mobile web editors, a commercial license is required.", + "errorProcessSaveResult": "Saving is failed.", + "errorServerVersion": "The editor version has been updated. The page will be reloaded to apply the changes.", + "errorUpdateVersion": "The file version has been changed. The page will be reloaded.", + "leavePageText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", + "notcriticalErrorTitle": "Warning", + "textBuyNow": "Visit website", + "textClose": "Close", + "textContactUs": "Contact sales", + "textCustomLoader": "Sorry, you are not entitled to change the loader. Please, contact our sales department to get a quote.", + "textDontUpdate": "Don't Update", + "textGuest": "Guest", + "textHasMacros": "The file contains automatic macros.
    Do you want to run macros?", + "textNo": "No", + "textNoChoices": "There are no choices for filling the cell.
    Only text values from the column can be selected for replacement.", + "textNoLicenseTitle": "License limit reached", + "textNoMatches": "No Matches", + "textOk": "Ok", + "textPaidFeature": "Paid feature", + "textRemember": "Remember my choice", + "textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.", + "textReplaceSuccess": "The search has been done. Occurrences replaced: {0}", + "textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?", + "textUpdate": "Update", + "textWarnUpdateExternalData": "This workbook contains links to one or more external sources that could be unsafe. If you trust the links, update them to get the latest data.", + "textYes": "Yes", + "titleLicenseExp": "License expired", + "titleLicenseNotActive": "License not active", + "titleServerVersion": "Editor updated", + "titleUpdateVersion": "Version changed", + "warnLicenseAnonymous": "Access denied for anonymous users.
    This document will be opened for viewing only.", + "warnLicenseBefore": "License not active.
    Please contact your administrator.", + "warnLicenseExceeded": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact your administrator to learn more.", + "warnLicenseExp": "Your license has expired. Please, update your license and refresh the page.", + "warnLicenseLimitedNoAccess": "License expired. You have no access to document editing functionality. Please, contact your admin.", + "warnLicenseLimitedRenewed": "License needs to be renewed. You have limited access to document editing functionality.
    Please contact your administrator to get full access", + "warnLicenseUsersExceeded": "You've reached the user limit for %1 editors. Contact your administrator to learn more.", + "warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact %1 sales team for personal upgrade terms.", + "warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", + "warnProcessRightsChange": "You don't have permission to edit the file." + } + }, + "Error": { + "errorInconsistentExt": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku nie pasuje do jego rozszerzenia.", + "errorInconsistentExtDocx": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku odpowiada dokumentom tekstowym (np. docx), ale plik ma nieprawidłowe rozszerzenie: %1.", + "errorInconsistentExtPdf": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku odpowiada jednemu z następujących formatów: pdf/djvu/xps/oxps, ale plik ma nieprawidłowe rozszerzenie: %1.", + "errorInconsistentExtPptx": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku odpowiada prezentacji (np. pptx), ale plik ma nieprawidłowe rozszerzenie: %1.", + "errorInconsistentExtXlsx": "Wystąpił błąd podczas otwierania pliku.
    Zawartość pliku odpowiada arkuszowi kalkulacyjnemu (np. xlsx), ale plik ma nieprawidłowe rozszerzenie: %1.", + "errorWrongOperator": "Wprowadzona formuła jest błędna. Został użyty błędny operator.
    Proszę poprawić błąd.", + "openErrorText": "Wystąpił błąd podczas otwierania pliku", + "saveErrorText": "Wystąpił błąd podczas zapisywania pliku", + "textCancel": "Anuluj", + "convertationTimeoutText": "Conversion timeout exceeded.", + "criticalErrorExtText": "Press 'OK' to go back to the document list.", + "criticalErrorTitle": "Error", + "downloadErrorText": "Download failed.", + "errNoDuplicates": "No duplicate values found.", + "errorAccessDeny": "You are trying to perform an action you do not have rights for.
    Please, contact your admin.", + "errorArgsRange": "An error in the formula.
    Incorrect arguments range.", + "errorAutoFilterChange": "The operation is not allowed as it is attempting to shift cells in a table on your worksheet.", + "errorAutoFilterChangeFormatTable": "The operation could not be done for the selected cells as you cannot move a part of a table.
    Select another data range so that the whole table is shifted and try again.", + "errorAutoFilterDataRange": "The operation could not be done for the selected range of cells.
    Select a uniform data range inside or outside the table and try again.", + "errorAutoFilterHiddenRange": "The operation cannot be performed because the area contains filtered cells.
    Please, unhide the filtered elements and try again.", + "errorBadImageUrl": "Image URL is incorrect", + "errorCannotUngroup": "Cannot ungroup. To start an outline, select the detail rows or columns and group them.", + "errorCannotUseCommandProtectedSheet": "You cannot use this command on a protected sheet. To use this command, unprotect the sheet.
    You might be requested to enter a password.", + "errorChangeArray": "You cannot change part of an array.", + "errorChangeFilteredRange": "This will change a filtered range on your worksheet.
    To complete this task, please remove AutoFilters.", + "errorChangeOnProtectedSheet": "The cell or chart you are trying to change is on a protected sheet. To make a change, unprotect the sheet. You might be requested to enter a password.", + "errorComboSeries": "To create a combination chart, select at least two series of data.", + "errorConnectToServer": "Can't save this doc. Check your connection settings or contact your admin.
    When you click the 'OK' button, you will be prompted to download the document.", + "errorCopyMultiselectArea": "This command cannot be used with multiple selections.
    Select a single range and try again.", + "errorCountArg": "An error in the formula.
    Invalid number of arguments.", + "errorCountArgExceed": "An error in the formula.
    Maximum number of arguments exceeded.", + "errorCreateDefName": "The existing named ranges cannot be edited and the new ones cannot be created
    at the moment as some of them are being edited.", + "errorDatabaseConnection": "External error.
    Database connection error. Please, contact support.", + "errorDataEncrypted": "Encrypted changes have been received, they cannot be deciphered.", + "errorDataRange": "Incorrect data range.", + "errorDataValidate": "The value you entered is not valid.
    A user has restricted values that can be entered into this cell.", + "errorDefaultMessage": "Error code: %1", + "errorDeleteColumnContainsLockedCell": "You are trying to delete a column that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.
    To delete a locked cell, unprotect the sheet. You might be requested to enter a password.", + "errorDeleteRowContainsLockedCell": "You are trying to delete a row that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.
    To delete a locked cell, unprotect the sheet. You might be requested to enter a password.", + "errorDependentsNoFormulas": "The Trace Dependents command found no formulas that refer to the active cell.", + "errorDirectUrl": "Please verify the link to the document.
    This link must be a direct link to the file for downloading.", + "errorEditingDownloadas": "An error occurred during the work with the document.
    Use the 'Download' option to save the file backup copy locally.", + "errorEditView": "The existing sheet view cannot be edited and the new ones cannot be created at the moment as some of them are being edited.", + "errorEmailClient": "No email client could be found", + "errorFilePassProtect": "The file is password protected and could not be opened.", + "errorFileRequest": "External error.
    File Request. Please, contact support.", + "errorFileSizeExceed": "The file size exceeds your server limitation.
    Please, contact your admin for details.", + "errorFileVKey": "External error.
    Incorrect security key. Please, contact support.", + "errorFillRange": "Could not fill the selected range of cells.
    All the merged cells need to be the same size.", + "errorForceSave": "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later.", + "errorFormulaName": "An error in the formula.
    Incorrect formula name.", + "errorFormulaParsing": "Internal error while the formula parsing.", + "errorFrmlMaxLength": "You cannot add this formula as its length exceeds the allowed number of characters.
    Please, edit it and try again.", + "errorFrmlMaxReference": "You cannot enter this formula because it has too many values,
    cell references, and/or names.", + "errorFrmlMaxTextLength": "Text values in formulas are limited to 255 characters.
    Use the CONCATENATE function or concatenation operator (&)", + "errorFrmlWrongReferences": "The function refers to a sheet that does not exist.
    Please, check the data and try again.", + "errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.
    Select a range so that the first table row was on the same row
    and the resulting table overlapped the current one.", + "errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.
    Select a range which does not include other tables.", + "errorInvalidRef": "Enter a correct name for the selection or a valid reference to go to.", + "errorKeyEncrypt": "Unknown key descriptor", + "errorKeyExpire": "Key descriptor expired", + "errorLabledColumnsPivot": "To create a pivot table report, you must use data that is organized as a list with labeled columns.", + "errorLoadingFont": "Fonts are not loaded.
    Please contact your Document Server administrator.", + "errorLocationOrDataRangeError": "The reference for the location or data range is not valid.", + "errorLockedAll": "The operation could not be done as the sheet has been locked by another user.", + "errorLockedCellPivot": "You cannot change data inside a pivot table.", + "errorLockedWorksheetRename": "The sheet cannot be renamed at the moment as it is being renamed by another user", + "errorMaxPoints": "The maximum number of points in series per chart is 4096.", + "errorMaxRows": "ERROR! The maximum number of data series per chart is 255.", + "errorMoveRange": "Cannot change a part of a merged cell", + "errorMoveSlicerError": "Table slicers cannot be copied from one workbook to another.
    Try again by selecting the entire table and the slicers.", + "errorMultiCellFormula": "Multi-cell array formulas are not allowed in tables.", + "errorNoDataToParse": "No data was selected to parse.", + "errorOpenWarning": "The length of one of the formulas in the file exceeded
    the allowed number of characters and it was removed.", + "errorOperandExpected": "The entered function syntax is not correct. Please, check if you missed one of the parentheses - '(' or ')'.", + "errorPasteMaxRange": "The copy and paste area does not match. Please, select an area of the same size or click the first cell in a row to paste the copied cells.", + "errorPasteMultiSelect": "This action cannot be done on a multiple range selection.
    Select a single range and try again.", + "errorPasteSlicerError": "Table slicers cannot be copied from one workbook to another.", + "errorPivotGroup": "Cannot group that selection.", + "errorPivotOverlap": "A pivot table report cannot overlap a table.", + "errorPivotWithoutUnderlying": "The Pivot Table report was saved without the underlying data.
    Use the 'Refresh' button to update the report.", + "errorPrecedentsNoValidRef": "The Trace Precedents command requires that the active cell contain a formula which includes a valid references.", + "errorPrintMaxPagesCount": "Unfortunately, it’s not possible to print more than 1500 pages at once in the current version of the program.
    This restriction will be eliminated in upcoming releases.", + "errorProtectedRange": "This range is not allowed for editing.", + "errorSessionAbsolute": "The document editing session has expired. Please, reload the page.", + "errorSessionIdle": "The document has not been edited for quite a long time. Please, reload the page.", + "errorSessionToken": "The connection to the server has been interrupted. Please, reload the page.", + "errorSetPassword": "Password could not be set.", + "errorSingleColumnOrRowError": "Location reference is not valid because the cells are not all in the same column or row.
    Select cells that are all in a single column or row.", + "errorStockChart": "Incorrect row order. To build a stock chart, place the data on the sheet in the following order:
    opening price, max price, min price, closing price.", + "errorToken": "The document security token is not correctly formed.
    Please contact your Document Server administrator.", + "errorTokenExpire": "The document security token has expired.
    Please contact your Document Server administrator.", + "errorUnexpectedGuid": "External error.
    Unexpected Guid. Please, contact support.", + "errorUpdateVersionOnDisconnect": "Connection has been restored, and the file version has been changed.
    Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.", + "errorUserDrop": "The file cannot be accessed right now.", + "errorUsersExceed": "The number of users allowed by the pricing plan was exceeded", + "errorViewerDisconnect": "Connection is lost. You can still view the document,
    but you won't be able to download or print it until the connection is restored and the page is reloaded.", + "errorWrongBracketsCount": "An error in the formula.
    Wrong number of brackets.", + "errRemDuplicates": "Duplicate values found and deleted: {0}, unique values left: {1}.", + "notcriticalErrorTitle": "Warning", + "pastInMergeAreaError": "Cannot change a part of a merged cell", + "scriptLoadError": "The connection is too slow, some of the components could not be loaded. Please, reload the page.", + "textClose": "Close", + "textErrorPasswordIsNotCorrect": "The password you supplied is not correct.
    Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.", + "textFillOtherRows": "Fill other rows", + "textFormulaFilledAllRows": "Formula filled {0} rows have data. Filling other empty rows may take a few minutes.", + "textFormulaFilledAllRowsWithEmpty": "Formula filled first {0} rows. Filling other empty rows may take a few minutes.", + "textFormulaFilledFirstRowsOtherHaveData": "Formula filled only first {0} rows have data by memory save reason. There are other {1} rows have data in this sheet. You can fill them manually.", + "textFormulaFilledFirstRowsOtherIsEmpty": "Formula filled only first {0} rows by memory save reason. Other rows in this sheet don't have data.", + "textInformation": "Information", + "textOk": "Ok", + "unknownErrorText": "Unknown error.", + "uploadDocExtMessage": "Unknown document format.", + "uploadDocFileCountMessage": "No documents uploaded.", + "uploadDocSizeMessage": "Maximum document size limit exceeded.", + "uploadImageExtMessage": "Unknown image format.", + "uploadImageFileCountMessage": "No images uploaded.", + "uploadImageSizeMessage": "The image is too big. The maximum size is 25 MB." + }, + "LongActions": { + "textCancel": "Anuluj", + "advDRMPassword": "Password", + "applyChangesTextText": "Loading data...", + "applyChangesTitleText": "Loading Data", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
    Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "confirmMoveCellRange": "The destination cells range can contain data. Continue the operation?", + "confirmPutMergeRange": "The source data contains merged cells.
    They will be unmerged before they are pasted into the table.", + "confirmReplaceFormulaInTable": "Formulas in the header row will be removed and converted to static text.
    Do you want to continue?", + "downloadTextText": "Downloading document...", + "downloadTitleText": "Downloading Document", + "loadFontsTextText": "Loading data...", + "loadFontsTitleText": "Loading Data", + "loadFontTextText": "Loading data...", + "loadFontTitleText": "Loading Data", + "loadImagesTextText": "Loading images...", + "loadImagesTitleText": "Loading Images", + "loadImageTextText": "Loading image...", + "loadImageTitleText": "Loading Image", + "loadingDocumentTextText": "Loading document...", + "loadingDocumentTitleText": "Loading document", + "notcriticalErrorTitle": "Warning", + "openTextText": "Opening document...", + "openTitleText": "Opening Document", + "printTextText": "Printing document...", + "printTitleText": "Printing Document", + "savePreparingText": "Preparing to save", + "savePreparingTitle": "Preparing to save. Please wait...", + "saveTextText": "Saving document...", + "saveTitleText": "Saving Document", + "textContinue": "Continue", + "textErrorWrongPassword": "The password you supplied is not correct.", + "textLoadingDocument": "Loading document", + "textNo": "No", + "textOk": "Ok", + "textUndo": "Undo", + "textUnlockRange": "Unlock Range", + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "textYes": "Yes", + "txtEditingMode": "Set editing mode...", + "uploadImageTextText": "Uploading image...", + "uploadImageTitleText": "Uploading Image", + "waitText": "Please, wait..." + }, "Statusbar": { + "textCancel": "Anuluj", + "textMoveToEnd": "(Przenieś do końca)", "textSheet": "Arkusz", "notcriticalErrorTitle": "Warning", - "textCancel": "Cancel", "textDelete": "Delete", "textDuplicate": "Duplicate", "textErrNameExists": "Worksheet with this name already exists.", @@ -25,7 +379,6 @@ "textMore": "More", "textMove": "Move", "textMoveBefore": "Move before sheet", - "textMoveToEnd": "(Move to end)", "textOk": "Ok", "textRename": "Rename", "textRenameSheet": "Rename Sheet", @@ -36,6 +389,9 @@ }, "View": { "Add": { + "textAddLink": "Dodaj link", + "textBack": "Wstecz", + "textCancel": "Anuluj", "textSheet": "Arkusz", "errorMaxRows": "ERROR! The maximum number of data series per chart is 255.", "errorStockChart": "Incorrect row order. To build a stock chart, place the data on the sheet in the following order:
    opening price, max price, min price, closing price.", @@ -49,11 +405,8 @@ "sCatMathematic": "Math and trigonometry", "sCatStatistical": "Statistical", "sCatTextAndData": "Text and data", - "textAddLink": "Add Link", "textAddress": "Address", "textAllTableHint": "Returns the entire contents of the table or specified table columns including column headers, data and total rows", - "textBack": "Back", - "textCancel": "Cancel", "textChart": "Chart", "textComment": "Comment", "textDataTableHint": "Returns the data cells of the table or specified table columns", @@ -98,20 +451,32 @@ "txtYes": "Yes" }, "Edit": { + "textAddCustomColor": "Dodaj niestandardowy kolor", + "textAlign": "Wyrównaj", + "textAlignBottom": "Wyrównaj do dołu", + "textAlignCenter": "Wyśrodkuj", + "textAlignLeft": "Wyrównaj do lewej", + "textAlignRight": "Wyrównaj do prawej", + "textAlignTop": "Wyrównaj do góry", + "textAllBorders": "Wszystkie krawędzie", + "textBack": "Wstecz", + "textBillions": "Miliardy", + "textBorder": "Obramowanie", + "textBorderStyle": "Styl obramowania", + "textBottom": "Dół", + "textBottomBorder": "Dolna krawędź", + "textCancel": "Anuluj", + "textEmptyItem": "{Puste}", + "textHundredMil": "100 000 000", + "textHundredThousands": "100 000", "textSheet": "Arkusz", + "textTenMillions": "10 000 000", + "textTenThousands": "10 000", "notcriticalErrorTitle": "Warning", "textAccounting": "Accounting", "textActualSize": "Actual Size", - "textAddCustomColor": "Add Custom Color", "textAddress": "Address", - "textAlign": "Align", - "textAlignBottom": "Align Bottom", - "textAlignCenter": "Align Center", - "textAlignLeft": "Align Left", "textAlignMiddle": "Align Middle", - "textAlignRight": "Align Right", - "textAlignTop": "Align Top", - "textAllBorders": "All Borders", "textAngleClockwise": "Angle Clockwise", "textAngleCounterclockwise": "Angle Counterclockwise", "textArrange": "Arrange", @@ -121,15 +486,8 @@ "textAxisOptions": "Axis Options", "textAxisPosition": "Axis Position", "textAxisTitle": "Axis Title", - "textBack": "Back", "textBetweenTickMarks": "Between Tick Marks", - "textBillions": "Billions", - "textBorder": "Border", - "textBorderStyle": "Border Style", - "textBottom": "Bottom", - "textBottomBorder": "Bottom Border", "textBringToForeground": "Bring to Foreground", - "textCancel": "Cancel", "textCell": "Cell", "textCellStyle": "Cell Style", "textCenter": "Center", @@ -162,7 +520,6 @@ "textEditLink": "Edit Link", "textEffects": "Effects", "textEmptyImgUrl": "You need to specify the image URL.", - "textEmptyItem": "{Blanks}", "textEnterFormat": "Enter Format", "textErrorMsg": "You must choose at least one value", "textErrorTitle": "Warning", @@ -183,9 +540,7 @@ "textHorizontal": "Horizontal", "textHorizontalAxis": "Horizontal Axis", "textHorizontalText": "Horizontal Text", - "textHundredMil": "100 000 000", "textHundreds": "Hundreds", - "textHundredThousands": "100 000", "textHyperlink": "Hyperlink", "textImage": "Image", "textImageURL": "Image URL", @@ -264,8 +619,6 @@ "textShape": "Shape", "textSize": "Size", "textStyle": "Style", - "textTenMillions": "10 000 000", - "textTenThousands": "10 000", "textText": "Text", "textTextColor": "Text Color", "textTextFormat": "Text Format", @@ -292,8 +645,16 @@ }, "Settings": { "textAbout": "O programie", + "textApplication": "Aplikacja", + "textApplicationSettings": "Ustawienia aplikacji", + "textAuthor": "Autor", + "textBack": "Wstecz", + "textBottom": "Dół", + "textCancel": "Anuluj", "textRegionalSettings": "Ustawienia regionalne", "textSheet": "Arkusz", + "txtBe": "Białoruski", + "txtBg": "Bułgarski", "advCSVOptions": "Choose CSV options", "advDRMEnterPassword": "Your password, please:", "advDRMOptions": "Protected File", @@ -303,14 +664,8 @@ "strFuncLocale": "Formula Language", "strFuncLocaleEx": "Example: SUM; MIN; MAX; COUNT", "textAddress": "Address", - "textApplication": "Application", - "textApplicationSettings": "Application Settings", - "textAuthor": "Author", - "textBack": "Back", - "textBottom": "Bottom", "textByColumns": "By columns", "textByRows": "By rows", - "textCancel": "Cancel", "textCentimeter": "Centimeter", "textChooseCsvOptions": "Choose CSV Options", "textChooseDelimeter": "Choose Delimeter", @@ -398,8 +753,6 @@ "textVersion": "Version", "textVersionHistory": "Version History", "textWorkbook": "Workbook", - "txtBe": "Belarusian", - "txtBg": "Bulgarian", "txtCa": "Catalan", "txtColon": "Colon", "txtComma": "Comma", @@ -466,359 +819,6 @@ "warnDownloadAs": "If you continue saving in this format all features except the text will be lost.
    Are you sure you want to continue?" } }, - "Common": { - "Collaboration": { - "notcriticalErrorTitle": "Warning", - "textAddComment": "Add Comment", - "textAddReply": "Add Reply", - "textBack": "Back", - "textCancel": "Cancel", - "textCollaboration": "Collaboration", - "textComments": "Comments", - "textDeleteComment": "Delete Comment", - "textDeleteReply": "Delete Reply", - "textDone": "Done", - "textEdit": "Edit", - "textEditComment": "Edit Comment", - "textEditReply": "Edit Reply", - "textEditUser": "Users who are editing the file:", - "textMessageDeleteComment": "Do you really want to delete this comment?", - "textMessageDeleteReply": "Do you really want to delete this reply?", - "textNoComments": "No Comments", - "textOk": "Ok", - "textReopen": "Reopen", - "textResolve": "Resolve", - "textSharingSettings": "Sharing Settings", - "textTryUndoRedo": "The Undo/Redo functions are disabled for the Fast co-editing mode.", - "textUsers": "Users" - }, - "ThemeColorPalette": { - "textCustomColors": "Custom Colors", - "textStandartColors": "Standard Colors", - "textThemeColors": "Theme Colors" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" - }, - "VersionHistory": { - "notcriticalErrorTitle": "Warning", - "textAnonymous": "Anonymous", - "textBack": "Back", - "textCancel": "Cancel", - "textCurrent": "Current", - "textOk": "Ok", - "textRestore": "Restore", - "textVersion": "Version", - "textVersionHistory": "Version History", - "textWarningRestoreVersion": "Current file will be saved in version history.", - "titleWarningRestoreVersion": "Restore this version?", - "txtErrorLoadHistory": "Loading history failed" - } - }, - "ContextMenu": { - "errorCopyCutPaste": "Copy, cut, and paste actions using the context menu will be performed within the current file only.", - "errorInvalidLink": "The link reference does not exist. Please correct the link or delete it.", - "menuAddComment": "Add Comment", - "menuAddLink": "Add Link", - "menuAutofill": "Autofill", - "menuCancel": "Cancel", - "menuCell": "Cell", - "menuDelete": "Delete", - "menuEdit": "Edit", - "menuEditLink": "Edit Link", - "menuFreezePanes": "Freeze Panes", - "menuHide": "Hide", - "menuMerge": "Merge", - "menuMore": "More", - "menuOpenLink": "Open Link", - "menuShow": "Show", - "menuUnfreezePanes": "Unfreeze Panes", - "menuUnmerge": "Unmerge", - "menuUnwrap": "Unwrap", - "menuViewComment": "View Comment", - "menuWrap": "Wrap", - "notcriticalErrorTitle": "Warning", - "textCopyCutPasteActions": "Copy, Cut and Paste Actions", - "textDoNotShowAgain": "Don't show again", - "textOk": "Ok", - "txtWarnUrl": "Clicking this link can be harmful to your device and data.
    Are you sure you want to continue?", - "warnMergeLostData": "Only the data from the upper-left cell will remain in the merged cell.
    Are you sure you want to continue?" - }, - "Controller": { - "Main": { - "criticalErrorTitle": "Error", - "errorAccessDeny": "You are trying to perform an action you do not have rights for.
    Please, contact your admin.", - "errorOpensource": "Using the free Community version, you can open documents for viewing only. To access mobile web editors, a commercial license is required.", - "errorProcessSaveResult": "Saving is failed.", - "errorServerVersion": "The editor version has been updated. The page will be reloaded to apply the changes.", - "errorUpdateVersion": "The file version has been changed. The page will be reloaded.", - "leavePageText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", - "notcriticalErrorTitle": "Warning", - "SDK": { - "txtAccent": "Accent", - "txtAll": "(All)", - "txtArt": "Your text here", - "txtBlank": "(blank)", - "txtByField": "%1 of %2", - "txtClearFilter": "Clear Filter (Alt+C)", - "txtColLbls": "Column Labels", - "txtColumn": "Column", - "txtConfidential": "Confidential", - "txtDate": "Date", - "txtDays": "Days", - "txtDiagramTitle": "Chart Title", - "txtFile": "File", - "txtGrandTotal": "Grand Total", - "txtGroup": "Group", - "txtHours": "Hours", - "txtMinutes": "Minutes", - "txtMonths": "Months", - "txtMultiSelect": "Multi-Select (Alt+S)", - "txtOr": "%1 or %2", - "txtPage": "Page", - "txtPageOf": "Page %1 of %2", - "txtPages": "Pages", - "txtPreparedBy": "Prepared by", - "txtPrintArea": "Print_Area", - "txtQuarter": "Qtr", - "txtQuarters": "Quarters", - "txtRow": "Row", - "txtRowLbls": "Row Labels", - "txtSeconds": "Seconds", - "txtSeries": "Series", - "txtStyle_Bad": "Bad", - "txtStyle_Calculation": "Calculation", - "txtStyle_Check_Cell": "Check Cell", - "txtStyle_Comma": "Comma", - "txtStyle_Currency": "Currency", - "txtStyle_Explanatory_Text": "Explanatory Text", - "txtStyle_Good": "Good", - "txtStyle_Heading_1": "Heading 1", - "txtStyle_Heading_2": "Heading 2", - "txtStyle_Heading_3": "Heading 3", - "txtStyle_Heading_4": "Heading 4", - "txtStyle_Input": "Input", - "txtStyle_Linked_Cell": "Linked Cell", - "txtStyle_Neutral": "Neutral", - "txtStyle_Normal": "Normal", - "txtStyle_Note": "Note", - "txtStyle_Output": "Output", - "txtStyle_Percent": "Percent", - "txtStyle_Title": "Title", - "txtStyle_Total": "Total", - "txtStyle_Warning_Text": "Warning Text", - "txtTab": "Tab", - "txtTable": "Table", - "txtTime": "Time", - "txtValues": "Values", - "txtXAxis": "X Axis", - "txtYAxis": "Y Axis", - "txtYears": "Years" - }, - "textAnonymous": "Anonymous", - "textBuyNow": "Visit website", - "textClose": "Close", - "textContactUs": "Contact sales", - "textCustomLoader": "Sorry, you are not entitled to change the loader. Please, contact our sales department to get a quote.", - "textDontUpdate": "Don't Update", - "textGuest": "Guest", - "textHasMacros": "The file contains automatic macros.
    Do you want to run macros?", - "textNo": "No", - "textNoChoices": "There are no choices for filling the cell.
    Only text values from the column can be selected for replacement.", - "textNoLicenseTitle": "License limit reached", - "textNoMatches": "No Matches", - "textOk": "Ok", - "textPaidFeature": "Paid feature", - "textRemember": "Remember my choice", - "textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.", - "textReplaceSuccess": "The search has been done. Occurrences replaced: {0}", - "textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?", - "textUpdate": "Update", - "textWarnUpdateExternalData": "This workbook contains links to one or more external sources that could be unsafe. If you trust the links, update them to get the latest data.", - "textYes": "Yes", - "titleLicenseExp": "License expired", - "titleLicenseNotActive": "License not active", - "titleServerVersion": "Editor updated", - "titleUpdateVersion": "Version changed", - "warnLicenseAnonymous": "Access denied for anonymous users.
    This document will be opened for viewing only.", - "warnLicenseBefore": "License not active.
    Please contact your administrator.", - "warnLicenseExceeded": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact your administrator to learn more.", - "warnLicenseExp": "Your license has expired. Please, update your license and refresh the page.", - "warnLicenseLimitedNoAccess": "License expired. You have no access to document editing functionality. Please, contact your admin.", - "warnLicenseLimitedRenewed": "License needs to be renewed. You have limited access to document editing functionality.
    Please contact your administrator to get full access", - "warnLicenseUsersExceeded": "You've reached the user limit for %1 editors. Contact your administrator to learn more.", - "warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact %1 sales team for personal upgrade terms.", - "warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", - "warnProcessRightsChange": "You don't have permission to edit the file." - } - }, - "Error": { - "convertationTimeoutText": "Conversion timeout exceeded.", - "criticalErrorExtText": "Press 'OK' to go back to the document list.", - "criticalErrorTitle": "Error", - "downloadErrorText": "Download failed.", - "errNoDuplicates": "No duplicate values found.", - "errorAccessDeny": "You are trying to perform an action you do not have rights for.
    Please, contact your admin.", - "errorArgsRange": "An error in the formula.
    Incorrect arguments range.", - "errorAutoFilterChange": "The operation is not allowed as it is attempting to shift cells in a table on your worksheet.", - "errorAutoFilterChangeFormatTable": "The operation could not be done for the selected cells as you cannot move a part of a table.
    Select another data range so that the whole table is shifted and try again.", - "errorAutoFilterDataRange": "The operation could not be done for the selected range of cells.
    Select a uniform data range inside or outside the table and try again.", - "errorAutoFilterHiddenRange": "The operation cannot be performed because the area contains filtered cells.
    Please, unhide the filtered elements and try again.", - "errorBadImageUrl": "Image URL is incorrect", - "errorCannotUngroup": "Cannot ungroup. To start an outline, select the detail rows or columns and group them.", - "errorCannotUseCommandProtectedSheet": "You cannot use this command on a protected sheet. To use this command, unprotect the sheet.
    You might be requested to enter a password.", - "errorChangeArray": "You cannot change part of an array.", - "errorChangeFilteredRange": "This will change a filtered range on your worksheet.
    To complete this task, please remove AutoFilters.", - "errorChangeOnProtectedSheet": "The cell or chart you are trying to change is on a protected sheet. To make a change, unprotect the sheet. You might be requested to enter a password.", - "errorComboSeries": "To create a combination chart, select at least two series of data.", - "errorConnectToServer": "Can't save this doc. Check your connection settings or contact your admin.
    When you click the 'OK' button, you will be prompted to download the document.", - "errorCopyMultiselectArea": "This command cannot be used with multiple selections.
    Select a single range and try again.", - "errorCountArg": "An error in the formula.
    Invalid number of arguments.", - "errorCountArgExceed": "An error in the formula.
    Maximum number of arguments exceeded.", - "errorCreateDefName": "The existing named ranges cannot be edited and the new ones cannot be created
    at the moment as some of them are being edited.", - "errorDatabaseConnection": "External error.
    Database connection error. Please, contact support.", - "errorDataEncrypted": "Encrypted changes have been received, they cannot be deciphered.", - "errorDataRange": "Incorrect data range.", - "errorDataValidate": "The value you entered is not valid.
    A user has restricted values that can be entered into this cell.", - "errorDefaultMessage": "Error code: %1", - "errorDeleteColumnContainsLockedCell": "You are trying to delete a column that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.
    To delete a locked cell, unprotect the sheet. You might be requested to enter a password.", - "errorDeleteRowContainsLockedCell": "You are trying to delete a row that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.
    To delete a locked cell, unprotect the sheet. You might be requested to enter a password.", - "errorDependentsNoFormulas": "The Trace Dependents command found no formulas that refer to the active cell.", - "errorDirectUrl": "Please verify the link to the document.
    This link must be a direct link to the file for downloading.", - "errorEditingDownloadas": "An error occurred during the work with the document.
    Use the 'Download' option to save the file backup copy locally.", - "errorEditView": "The existing sheet view cannot be edited and the new ones cannot be created at the moment as some of them are being edited.", - "errorEmailClient": "No email client could be found", - "errorFilePassProtect": "The file is password protected and could not be opened.", - "errorFileRequest": "External error.
    File Request. Please, contact support.", - "errorFileSizeExceed": "The file size exceeds your server limitation.
    Please, contact your admin for details.", - "errorFileVKey": "External error.
    Incorrect security key. Please, contact support.", - "errorFillRange": "Could not fill the selected range of cells.
    All the merged cells need to be the same size.", - "errorForceSave": "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later.", - "errorFormulaName": "An error in the formula.
    Incorrect formula name.", - "errorFormulaParsing": "Internal error while the formula parsing.", - "errorFrmlMaxLength": "You cannot add this formula as its length exceeds the allowed number of characters.
    Please, edit it and try again.", - "errorFrmlMaxReference": "You cannot enter this formula because it has too many values,
    cell references, and/or names.", - "errorFrmlMaxTextLength": "Text values in formulas are limited to 255 characters.
    Use the CONCATENATE function or concatenation operator (&)", - "errorFrmlWrongReferences": "The function refers to a sheet that does not exist.
    Please, check the data and try again.", - "errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.
    Select a range so that the first table row was on the same row
    and the resulting table overlapped the current one.", - "errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.
    Select a range which does not include other tables.", - "errorInconsistentExt": "An error has occurred while opening the file.
    The file content does not match the file extension.", - "errorInconsistentExtDocx": "An error has occurred while opening the file.
    The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.", - "errorInconsistentExtPdf": "An error has occurred while opening the file.
    The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.", - "errorInconsistentExtPptx": "An error has occurred while opening the file.
    The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.", - "errorInconsistentExtXlsx": "An error has occurred while opening the file.
    The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.", - "errorInvalidRef": "Enter a correct name for the selection or a valid reference to go to.", - "errorKeyEncrypt": "Unknown key descriptor", - "errorKeyExpire": "Key descriptor expired", - "errorLabledColumnsPivot": "To create a pivot table report, you must use data that is organized as a list with labeled columns.", - "errorLoadingFont": "Fonts are not loaded.
    Please contact your Document Server administrator.", - "errorLocationOrDataRangeError": "The reference for the location or data range is not valid.", - "errorLockedAll": "The operation could not be done as the sheet has been locked by another user.", - "errorLockedCellPivot": "You cannot change data inside a pivot table.", - "errorLockedWorksheetRename": "The sheet cannot be renamed at the moment as it is being renamed by another user", - "errorMaxPoints": "The maximum number of points in series per chart is 4096.", - "errorMaxRows": "ERROR! The maximum number of data series per chart is 255.", - "errorMoveRange": "Cannot change a part of a merged cell", - "errorMoveSlicerError": "Table slicers cannot be copied from one workbook to another.
    Try again by selecting the entire table and the slicers.", - "errorMultiCellFormula": "Multi-cell array formulas are not allowed in tables.", - "errorNoDataToParse": "No data was selected to parse.", - "errorOpenWarning": "The length of one of the formulas in the file exceeded
    the allowed number of characters and it was removed.", - "errorOperandExpected": "The entered function syntax is not correct. Please, check if you missed one of the parentheses - '(' or ')'.", - "errorPasteMaxRange": "The copy and paste area does not match. Please, select an area of the same size or click the first cell in a row to paste the copied cells.", - "errorPasteMultiSelect": "This action cannot be done on a multiple range selection.
    Select a single range and try again.", - "errorPasteSlicerError": "Table slicers cannot be copied from one workbook to another.", - "errorPivotGroup": "Cannot group that selection.", - "errorPivotOverlap": "A pivot table report cannot overlap a table.", - "errorPivotWithoutUnderlying": "The Pivot Table report was saved without the underlying data.
    Use the 'Refresh' button to update the report.", - "errorPrecedentsNoValidRef": "The Trace Precedents command requires that the active cell contain a formula which includes a valid references.", - "errorPrintMaxPagesCount": "Unfortunately, it’s not possible to print more than 1500 pages at once in the current version of the program.
    This restriction will be eliminated in upcoming releases.", - "errorProtectedRange": "This range is not allowed for editing.", - "errorSessionAbsolute": "The document editing session has expired. Please, reload the page.", - "errorSessionIdle": "The document has not been edited for quite a long time. Please, reload the page.", - "errorSessionToken": "The connection to the server has been interrupted. Please, reload the page.", - "errorSetPassword": "Password could not be set.", - "errorSingleColumnOrRowError": "Location reference is not valid because the cells are not all in the same column or row.
    Select cells that are all in a single column or row.", - "errorStockChart": "Incorrect row order. To build a stock chart, place the data on the sheet in the following order:
    opening price, max price, min price, closing price.", - "errorToken": "The document security token is not correctly formed.
    Please contact your Document Server administrator.", - "errorTokenExpire": "The document security token has expired.
    Please contact your Document Server administrator.", - "errorUnexpectedGuid": "External error.
    Unexpected Guid. Please, contact support.", - "errorUpdateVersionOnDisconnect": "Connection has been restored, and the file version has been changed.
    Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.", - "errorUserDrop": "The file cannot be accessed right now.", - "errorUsersExceed": "The number of users allowed by the pricing plan was exceeded", - "errorViewerDisconnect": "Connection is lost. You can still view the document,
    but you won't be able to download or print it until the connection is restored and the page is reloaded.", - "errorWrongBracketsCount": "An error in the formula.
    Wrong number of brackets.", - "errorWrongOperator": "An error in the entered formula. Wrong operator is used.
    Please correct the error.", - "errRemDuplicates": "Duplicate values found and deleted: {0}, unique values left: {1}.", - "notcriticalErrorTitle": "Warning", - "openErrorText": "An error has occurred while opening the file", - "pastInMergeAreaError": "Cannot change a part of a merged cell", - "saveErrorText": "An error has occurred while saving the file", - "scriptLoadError": "The connection is too slow, some of the components could not be loaded. Please, reload the page.", - "textCancel": "Cancel", - "textClose": "Close", - "textErrorPasswordIsNotCorrect": "The password you supplied is not correct.
    Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.", - "textFillOtherRows": "Fill other rows", - "textFormulaFilledAllRows": "Formula filled {0} rows have data. Filling other empty rows may take a few minutes.", - "textFormulaFilledAllRowsWithEmpty": "Formula filled first {0} rows. Filling other empty rows may take a few minutes.", - "textFormulaFilledFirstRowsOtherHaveData": "Formula filled only first {0} rows have data by memory save reason. There are other {1} rows have data in this sheet. You can fill them manually.", - "textFormulaFilledFirstRowsOtherIsEmpty": "Formula filled only first {0} rows by memory save reason. Other rows in this sheet don't have data.", - "textInformation": "Information", - "textOk": "Ok", - "unknownErrorText": "Unknown error.", - "uploadDocExtMessage": "Unknown document format.", - "uploadDocFileCountMessage": "No documents uploaded.", - "uploadDocSizeMessage": "Maximum document size limit exceeded.", - "uploadImageExtMessage": "Unknown image format.", - "uploadImageFileCountMessage": "No images uploaded.", - "uploadImageSizeMessage": "The image is too big. The maximum size is 25 MB." - }, - "LongActions": { - "advDRMPassword": "Password", - "applyChangesTextText": "Loading data...", - "applyChangesTitleText": "Loading Data", - "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
    Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", - "confirmMoveCellRange": "The destination cells range can contain data. Continue the operation?", - "confirmPutMergeRange": "The source data contains merged cells.
    They will be unmerged before they are pasted into the table.", - "confirmReplaceFormulaInTable": "Formulas in the header row will be removed and converted to static text.
    Do you want to continue?", - "downloadTextText": "Downloading document...", - "downloadTitleText": "Downloading Document", - "loadFontsTextText": "Loading data...", - "loadFontsTitleText": "Loading Data", - "loadFontTextText": "Loading data...", - "loadFontTitleText": "Loading Data", - "loadImagesTextText": "Loading images...", - "loadImagesTitleText": "Loading Images", - "loadImageTextText": "Loading image...", - "loadImageTitleText": "Loading Image", - "loadingDocumentTextText": "Loading document...", - "loadingDocumentTitleText": "Loading document", - "notcriticalErrorTitle": "Warning", - "openTextText": "Opening document...", - "openTitleText": "Opening Document", - "printTextText": "Printing document...", - "printTitleText": "Printing Document", - "savePreparingText": "Preparing to save", - "savePreparingTitle": "Preparing to save. Please wait...", - "saveTextText": "Saving document...", - "saveTitleText": "Saving Document", - "textCancel": "Cancel", - "textContinue": "Continue", - "textErrorWrongPassword": "The password you supplied is not correct.", - "textLoadingDocument": "Loading document", - "textNo": "No", - "textOk": "Ok", - "textUndo": "Undo", - "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected.", - "textYes": "Yes", - "txtEditingMode": "Set editing mode...", - "uploadImageTextText": "Uploading image...", - "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." - }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", "dlgLeaveTitleText": "You leave the application", diff --git a/apps/spreadsheeteditor/mobile/locale/pt.json b/apps/spreadsheeteditor/mobile/locale/pt.json index 09e3c2aa87..43c4c58007 100644 --- a/apps/spreadsheeteditor/mobile/locale/pt.json +++ b/apps/spreadsheeteditor/mobile/locale/pt.json @@ -393,8 +393,8 @@ "leaveButtonText": "Sair desta página", "stayButtonText": "Ficar nesta página", "textCloseHistory": "Fechar histórico", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "Digite um novo nome para o arquivo", + "textRenameFile": "Renomear arquivo" }, "View": { "Add": { @@ -558,6 +558,7 @@ "textInsideVerticalBorder": "Limite vertical interior", "textInteger": "Inteiro", "textInternalDataRange": "Intervalo de dados interno", + "textInvalidName": "Nome de arquivo não pode conter os seguintes caracteres:", "textInvalidRange": "Intervalo de células inválido", "textJustified": "Justificado", "textLabelOptions": "Opções de rótulos", @@ -649,8 +650,7 @@ "textYen": "Iene", "txtNotUrl": "Este campo deve ser uma URL no formato \"http://www.example.com\"", "txtSortHigh2Low": "Classificar do maior para o menor", - "txtSortLow2High": "Classificar do menor para o maior", - "textInvalidName": "The file name cannot contain any of the following characters: " + "txtSortLow2High": "Classificar do menor para o maior" }, "Settings": { "advCSVOptions": "Escolher opções CSV", diff --git a/apps/spreadsheeteditor/mobile/locale/zh.json b/apps/spreadsheeteditor/mobile/locale/zh.json index 53a02a3754..d6dd2dadf3 100644 --- a/apps/spreadsheeteditor/mobile/locale/zh.json +++ b/apps/spreadsheeteditor/mobile/locale/zh.json @@ -40,6 +40,12 @@ "textStandartColors": "标准颜色", "textThemeColors": "主题颜色" }, + "Themes": { + "dark": "深色", + "light": "浅色", + "system": "与系统一致", + "textTheme": "主题" + }, "VersionHistory": { "notcriticalErrorTitle": "警告", "textAnonymous": "匿名用户", @@ -53,12 +59,6 @@ "textWarningRestoreVersion": "当前文件将保存在版本历史记录中。", "titleWarningRestoreVersion": "是否还原此版本?", "txtErrorLoadHistory": "载入历史记录失败" - }, - "Themes": { - "dark": "Dark", - "light": "Light", - "system": "Same as system", - "textTheme": "Theme" } }, "ContextMenu": { @@ -66,6 +66,7 @@ "errorInvalidLink": "链接引用不存在。请更正链接或删除。", "menuAddComment": "添加批注", "menuAddLink": "添加链接", + "menuAutofill": "自动填充", "menuCancel": "取消", "menuCell": "单元格", "menuDelete": "刪除", @@ -87,8 +88,7 @@ "textDoNotShowAgain": "不要再显示", "textOk": "确定", "txtWarnUrl": "点击此链接可能对您的设备和数据有害
    您确定要继续吗?", - "warnMergeLostData": "只有来自左上方单元格的数据将保留在合并的单元格中。
    您确定要继续吗?", - "menuAutofill": "Autofill" + "warnMergeLostData": "只有来自左上方单元格的数据将保留在合并的单元格中。
    您确定要继续吗?" }, "Controller": { "Main": { @@ -393,8 +393,8 @@ "leaveButtonText": "离开这个页面", "stayButtonText": "留在此页面", "textCloseHistory": "关闭历史记录", - "textEnterNewFileName": "Enter a new file name", - "textRenameFile": "Rename File" + "textEnterNewFileName": "输入新的文件名称", + "textRenameFile": "重命名文件" }, "View": { "Add": { @@ -558,6 +558,7 @@ "textInsideVerticalBorder": "内部垂直边框", "textInteger": "整数", "textInternalDataRange": "内部数据范围", + "textInvalidName": "文件名不能包含以下任何字符:", "textInvalidRange": "无效的单元格范围", "textJustified": "两端对齐", "textLabelOptions": "标签选项", @@ -649,8 +650,7 @@ "textYen": "日元", "txtNotUrl": "该字段应为“http://www.example.com”格式的URL", "txtSortHigh2Low": "从高到低排序", - "txtSortLow2High": "从低到高排序", - "textInvalidName": "The file name cannot contain any of the following characters: " + "txtSortLow2High": "从低到高排序" }, "Settings": { "advCSVOptions": "选择CSV选项", @@ -682,6 +682,7 @@ "textComments": "批注", "textCreated": "已创建", "textCustomSize": "自定义大小", + "textDark": "深色", "textDarkTheme": "深色主题", "textDelimeter": "定界符", "textDirection": "方向", @@ -713,6 +714,7 @@ "textLastModifiedBy": "上次修改者", "textLeft": "左", "textLeftToRight": "从左到右", + "textLight": "浅色", "textLocation": "位置", "textLookIn": "查询", "textMacrosSettings": "宏设置", @@ -736,6 +738,7 @@ "textRestartApplication": "请重新启动应用程序以使更改生效", "textRight": "右", "textRightToLeft": "從右到左", + "textSameAsSystem": "与系统一致", "textSearch": "搜索", "textSearchBy": "搜索", "textSearchIn": "搜索", @@ -748,6 +751,7 @@ "textSpreadsheetTitle": "电子表格标题", "textSubject": "主题", "textTel": "电话", + "textTheme": "主题", "textTitle": "标题", "textTop": "顶部", "textUnitOfMeasurement": "测量单位", @@ -821,11 +825,7 @@ "txtUk": "乌克兰语", "txtVi": "越南语", "txtZh": "中文", - "warnDownloadAs": "如果您继续以此格式保存,除文本之外的所有功能将丢失。
    您确定要继续吗?", - "textDark": "Dark", - "textLight": "Light", - "textSameAsSystem": "Same As System", - "textTheme": "Theme" + "warnDownloadAs": "如果您继续以此格式保存,除文本之外的所有功能将丢失。
    您确定要继续吗?" } } } \ No newline at end of file From 725333ef288e67606e93c4cf2a056fe7dd0faa42 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 22 Dec 2023 16:04:14 +0300 Subject: [PATCH 41/65] Update translation --- apps/documenteditor/main/locale/ar.json | 14 +++++++------- apps/documenteditor/main/locale/az.json | 4 ++-- apps/documenteditor/main/locale/be.json | 12 ++++++------ apps/documenteditor/main/locale/bg.json | 4 ++-- apps/documenteditor/main/locale/ca.json | 12 ++++++------ apps/documenteditor/main/locale/cs.json | 12 ++++++------ apps/documenteditor/main/locale/da.json | 6 +++--- apps/documenteditor/main/locale/de.json | 12 ++++++------ apps/documenteditor/main/locale/el.json | 12 ++++++------ apps/documenteditor/main/locale/es.json | 14 +++++++------- apps/documenteditor/main/locale/eu.json | 12 ++++++------ apps/documenteditor/main/locale/fr.json | 14 +++++++------- apps/documenteditor/main/locale/gl.json | 8 ++++---- apps/documenteditor/main/locale/hu.json | 12 ++++++------ apps/documenteditor/main/locale/hy.json | 12 ++++++------ apps/documenteditor/main/locale/id.json | 12 ++++++------ apps/documenteditor/main/locale/it.json | 10 +++++----- apps/documenteditor/main/locale/ja.json | 10 +++++----- apps/documenteditor/main/locale/ko.json | 6 +++--- apps/documenteditor/main/locale/lo.json | 4 ++-- apps/documenteditor/main/locale/lv.json | 12 ++++++------ apps/documenteditor/main/locale/ms.json | 10 +++++----- apps/documenteditor/main/locale/nl.json | 10 +++++----- apps/documenteditor/main/locale/no.json | 2 +- apps/documenteditor/main/locale/pl.json | 4 ++-- apps/documenteditor/main/locale/pt-pt.json | 12 ++++++------ apps/documenteditor/main/locale/pt.json | 12 ++++++------ apps/documenteditor/main/locale/ro.json | 17 +++++++++-------- apps/documenteditor/main/locale/ru.json | 15 ++++++++------- apps/documenteditor/main/locale/si.json | 12 ++++++------ apps/documenteditor/main/locale/sk.json | 6 +++--- apps/documenteditor/main/locale/sl.json | 2 +- apps/documenteditor/main/locale/sr.json | 14 +++++++------- apps/documenteditor/main/locale/sv.json | 10 +++++----- apps/documenteditor/main/locale/tr.json | 10 +++++----- apps/documenteditor/main/locale/uk.json | 10 +++++----- apps/documenteditor/main/locale/zh-tw.json | 14 +++++++------- apps/documenteditor/main/locale/zh.json | 14 +++++++------- 38 files changed, 195 insertions(+), 193 deletions(-) diff --git a/apps/documenteditor/main/locale/ar.json b/apps/documenteditor/main/locale/ar.json index ae1dc2f230..78efc1cd48 100644 --- a/apps/documenteditor/main/locale/ar.json +++ b/apps/documenteditor/main/locale/ar.json @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "مربع اختيار", "DE.Views.FormsTab.capBtnComboBox": "مربع تحرير وسرد ", "DE.Views.FormsTab.capBtnComplex": "حقل مركب", - "DE.Views.FormsTab.capBtnDownloadForm": "التحميل كملف oform", + "DE.Views.FormsTab.capBtnDownloadForm": "التحميل كملف pdf", "DE.Views.FormsTab.capBtnDropDown": "منسدل", "DE.Views.FormsTab.capBtnEmail": "عنوان البريد الاكتروني", "DE.Views.FormsTab.capBtnImage": "صورة", @@ -2231,7 +2231,7 @@ "DE.Views.FormsTab.capBtnPhone": "رقم الهاتف", "DE.Views.FormsTab.capBtnPrev": "الحقل السابق", "DE.Views.FormsTab.capBtnRadioBox": "زر خيارات", - "DE.Views.FormsTab.capBtnSaveForm": "حفظ كـ oform", + "DE.Views.FormsTab.capBtnSaveForm": "حفظ كـ pdf", "DE.Views.FormsTab.capBtnSubmit": "إرسال", "DE.Views.FormsTab.capBtnText": "حقل نص", "DE.Views.FormsTab.capBtnView": "عرض الاستمارة", @@ -2241,7 +2241,7 @@ "DE.Views.FormsTab.textAnyone": "اي شخص", "DE.Views.FormsTab.textClear": "مسح ما في الحقول", "DE.Views.FormsTab.textClearFields": "مسح ما في جميع الحقول", - "DE.Views.FormsTab.textCreateForm": "اضافة حقول و انشاء مستند OFORM قابل للملء", + "DE.Views.FormsTab.textCreateForm": "اضافة حقول و انشاء مستند PDF قابل للملء", "DE.Views.FormsTab.textGotIt": "حسناً", "DE.Views.FormsTab.textHighlight": "اعدادات تمييز النص", "DE.Views.FormsTab.textNoHighlight": "بدون تمييز للنصوص", @@ -2253,7 +2253,7 @@ "DE.Views.FormsTab.tipCreateField": "لإنشاء حقل، قم باختيار نمط الحقل المطلوب من شريط الأدوات و اضغط عليه. سيظهر الحقل في المستند.", "DE.Views.FormsTab.tipCreditCard": "إدخال رقم البطاقة الإئتمانية", "DE.Views.FormsTab.tipDateTime": "إدراج الوقت و التاريخ", - "DE.Views.FormsTab.tipDownloadForm": "تحميل الملف كمستند OFORM قابل للملئ", + "DE.Views.FormsTab.tipDownloadForm": "تحميل الملف كمستند PDF قابل للملئ", "DE.Views.FormsTab.tipDropDown": "إدراج قائمة منسدلة", "DE.Views.FormsTab.tipEmailField": "إدراج عنوان البريد الالكتروني", "DE.Views.FormsTab.tipFieldSettings": "بإمكانك ضبط الحقول المحددة من اللوحة الجانبية اليمنى. اضغط على هذه الأيقونة لفتح إعدادات الحقل.", @@ -2270,8 +2270,8 @@ "DE.Views.FormsTab.tipPrevForm": "الذهاب إلى الحقل السابق", "DE.Views.FormsTab.tipRadioBox": "إدراج زر راديو", "DE.Views.FormsTab.tipRolesLink": "معرفة المزيد عن القواعد", - "DE.Views.FormsTab.tipSaveFile": "اضغط \"حفظ كـ oform\" لحفظ الاستمارة كصيغة جاهزة للتعبئة.", - "DE.Views.FormsTab.tipSaveForm": "حفظ كملف OFORM قابل للملأ", + "DE.Views.FormsTab.tipSaveFile": "اضغط \"حفظ كـ pdf\" لحفظ الاستمارة كصيغة جاهزة للتعبئة.", + "DE.Views.FormsTab.tipSaveForm": "حفظ كملف PDF قابل للملأ", "DE.Views.FormsTab.tipSubmit": "ارسال الاستمارة", "DE.Views.FormsTab.tipTextField": "إدراج حقل نصي", "DE.Views.FormsTab.tipViewForm": "عرض الاستمارة", @@ -2847,7 +2847,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "هل أنت متأكد من حذف الوظيفة {0}؟", "DE.Views.SaveFormDlg.saveButtonText": "حفظ", "DE.Views.SaveFormDlg.textAnyone": "اي شخص", - "DE.Views.SaveFormDlg.textDescription": "عند الحفظ عل شكل oform فقط الحقول التي تحتوي على أدوار سيتم إضافتها إلى قائمة الملأ", + "DE.Views.SaveFormDlg.textDescription": "عند الحفظ عل شكل pdf فقط الحقول التي تحتوي على أدوار سيتم إضافتها إلى قائمة الملأ", "DE.Views.SaveFormDlg.textEmpty": "لا توجد قواعد مرتبطة بهذا الحقل.", "DE.Views.SaveFormDlg.textFill": "تعبئة القائمة", "DE.Views.SaveFormDlg.txtTitle": "حفظ كاستمارة", diff --git a/apps/documenteditor/main/locale/az.json b/apps/documenteditor/main/locale/az.json index 23e29ff439..6b5a4b2f74 100644 --- a/apps/documenteditor/main/locale/az.json +++ b/apps/documenteditor/main/locale/az.json @@ -1798,7 +1798,7 @@ "DE.Views.FormsTab.capBtnView": "Formanı göstər", "DE.Views.FormsTab.textClear": "Sahələri Təmizləyin", "DE.Views.FormsTab.textClearFields": "Bütün Sahələri Təmizləyin", - "DE.Views.FormsTab.textCreateForm": "Sahələr əlavə edib doldurula bilən OFORM sənədi yaradın", + "DE.Views.FormsTab.textCreateForm": "Sahələr əlavə edib doldurula bilən PDF sənədi yaradın", "DE.Views.FormsTab.textGotIt": "Analdım", "DE.Views.FormsTab.textHighlight": "Vurğulama Parametrləri", "DE.Views.FormsTab.textNoHighlight": "Vurğulama yoxdur", @@ -1811,7 +1811,7 @@ "DE.Views.FormsTab.tipNextForm": "Növbəti sahəyə keçin", "DE.Views.FormsTab.tipPrevForm": "Əvvəlki sahəyə keçin", "DE.Views.FormsTab.tipRadioBox": "Radio düyməsini dxil edin", - "DE.Views.FormsTab.tipSaveForm": "Faylı doldurula bilən OFORM sənədi kimi saxlayın", + "DE.Views.FormsTab.tipSaveForm": "Faylı doldurula bilən PDF sənədi kimi saxlayın", "DE.Views.FormsTab.tipSubmit": "Formanı göndərin", "DE.Views.FormsTab.tipTextField": "Mətn sahəsi daxil edin", "DE.Views.FormsTab.tipViewForm": "Formanı göstər", diff --git a/apps/documenteditor/main/locale/be.json b/apps/documenteditor/main/locale/be.json index 4d9a3b7489..e6b016a23a 100644 --- a/apps/documenteditor/main/locale/be.json +++ b/apps/documenteditor/main/locale/be.json @@ -2150,7 +2150,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Адзнака", "DE.Views.FormsTab.capBtnComboBox": "Поле са спісам", "DE.Views.FormsTab.capBtnComplex": "Складанае поле", - "DE.Views.FormsTab.capBtnDownloadForm": "Спампаваць як oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Спампаваць як pdf", "DE.Views.FormsTab.capBtnDropDown": "Выплыўны спіс", "DE.Views.FormsTab.capBtnEmail": "Адрас электроннай пошты", "DE.Views.FormsTab.capBtnImage": "Выява", @@ -2159,7 +2159,7 @@ "DE.Views.FormsTab.capBtnPhone": "Нумар тэлефона", "DE.Views.FormsTab.capBtnPrev": "Папярэдняе поле", "DE.Views.FormsTab.capBtnRadioBox": "Пераключальнік", - "DE.Views.FormsTab.capBtnSaveForm": "Захаваць як oform", + "DE.Views.FormsTab.capBtnSaveForm": "Захаваць як pdf", "DE.Views.FormsTab.capBtnSubmit": "Адправіць", "DE.Views.FormsTab.capBtnText": "Тэкставае поле", "DE.Views.FormsTab.capBtnView": "Праглядзець форму", @@ -2169,7 +2169,7 @@ "DE.Views.FormsTab.textAnyone": "Любы", "DE.Views.FormsTab.textClear": "Ачысціць палі", "DE.Views.FormsTab.textClearFields": "Ачысціць усе палі", - "DE.Views.FormsTab.textCreateForm": "Дадайце палі і стварыце запаўняльны дакумент OFORM", + "DE.Views.FormsTab.textCreateForm": "Дадайце палі і стварыце запаўняльны дакумент PDF", "DE.Views.FormsTab.textGotIt": "Добра", "DE.Views.FormsTab.textHighlight": "Налады падсвятлення", "DE.Views.FormsTab.textNoHighlight": "Без падсвятлення", @@ -2180,7 +2180,7 @@ "DE.Views.FormsTab.tipComplexField": "Уставіць складанае поле", "DE.Views.FormsTab.tipCreditCard": "Уставіць нумар крэдытнай карткі", "DE.Views.FormsTab.tipDateTime": "Уставіць дату і час", - "DE.Views.FormsTab.tipDownloadForm": "Спампаваць файл як дакумент OFORM", + "DE.Views.FormsTab.tipDownloadForm": "Спампаваць файл як дакумент PDF", "DE.Views.FormsTab.tipDropDown": "Уставіць выплыўны спіс", "DE.Views.FormsTab.tipEmailField": "Уставіць адрас электроннай пошты", "DE.Views.FormsTab.tipFixedText": "Уставіць фіксаванае тэкставае поле", @@ -2191,7 +2191,7 @@ "DE.Views.FormsTab.tipPhoneField": "Уставіць нумар тэлефона", "DE.Views.FormsTab.tipPrevForm": "Перайсці да папярэдняга поля", "DE.Views.FormsTab.tipRadioBox": "Уставіць пераключальнік", - "DE.Views.FormsTab.tipSaveForm": "Захаваць файл як запаўняльны дакумент OFORM", + "DE.Views.FormsTab.tipSaveForm": "Захаваць файл як запаўняльны дакумент PDF", "DE.Views.FormsTab.tipSubmit": "Адправіць форму", "DE.Views.FormsTab.tipTextField": "Уставіць тэкставае поле", "DE.Views.FormsTab.tipViewForm": "Праглядзець форму", @@ -2734,7 +2734,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Сапраўды хочаце выдаліць ролю {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Захаваць", "DE.Views.SaveFormDlg.textAnyone": "Любы", - "DE.Views.SaveFormDlg.textDescription": "Пры захаванні ў oform у спіс запаўнення будуць дадавацца толькі ролі з палямі", + "DE.Views.SaveFormDlg.textDescription": "Пры захаванні ў pdf у спіс запаўнення будуць дадавацца толькі ролі з палямі", "DE.Views.SaveFormDlg.textEmpty": "Няма роляў, звязаных з гэтым полем.", "DE.Views.SaveFormDlg.textFill": "Спіс запаўнення", "DE.Views.SaveFormDlg.txtTitle": "Захаваць як форму", diff --git a/apps/documenteditor/main/locale/bg.json b/apps/documenteditor/main/locale/bg.json index 99c365df21..b9605c9415 100644 --- a/apps/documenteditor/main/locale/bg.json +++ b/apps/documenteditor/main/locale/bg.json @@ -1422,7 +1422,7 @@ "DE.Views.FormsTab.capBtnNext": "Следващо поле", "DE.Views.FormsTab.capBtnPrev": "Предишно поле", "DE.Views.FormsTab.capBtnRadioBox": "Радио бутон", - "DE.Views.FormsTab.capBtnSaveForm": "Запази като oform", + "DE.Views.FormsTab.capBtnSaveForm": "Запази като pdf", "DE.Views.FormsTab.capBtnText": "Текстово поле", "DE.Views.FormsTab.capBtnView": "Преглед на формуляр", "DE.Views.FormsTab.textClearFields": "Изчисти всички полета", @@ -1434,7 +1434,7 @@ "DE.Views.FormsTab.tipNextForm": "Отиди на следващото поле", "DE.Views.FormsTab.tipPrevForm": "Отиди на предишното поле", "DE.Views.FormsTab.tipRadioBox": "Вкарай радио бутон", - "DE.Views.FormsTab.tipSaveForm": "Запази файла като документ за попълване OFORM", + "DE.Views.FormsTab.tipSaveForm": "Запази файла като документ за попълване PDF", "DE.Views.FormsTab.tipTextField": "Вкарай текстово поле", "DE.Views.FormsTab.tipViewForm": "Преглед на формуляр", "DE.Views.HeaderFooterSettings.textBottomCenter": "Долен център", diff --git a/apps/documenteditor/main/locale/ca.json b/apps/documenteditor/main/locale/ca.json index 2c3266ac43..6e92c5534c 100644 --- a/apps/documenteditor/main/locale/ca.json +++ b/apps/documenteditor/main/locale/ca.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Casella de selecció", "DE.Views.FormsTab.capBtnComboBox": "Quadre combinat", "DE.Views.FormsTab.capBtnComplex": "Camp complex", - "DE.Views.FormsTab.capBtnDownloadForm": "Baixa-ho com a oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Baixa-ho com a pdf", "DE.Views.FormsTab.capBtnDropDown": "Desplegable", "DE.Views.FormsTab.capBtnEmail": "Adreça de correu electrònic", "DE.Views.FormsTab.capBtnImage": "Imatge", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Número de telèfon", "DE.Views.FormsTab.capBtnPrev": "Camp anterior", "DE.Views.FormsTab.capBtnRadioBox": "Botó d'opció", - "DE.Views.FormsTab.capBtnSaveForm": "Desar-ho com a oformulari", + "DE.Views.FormsTab.capBtnSaveForm": "Desar-ho com a pdf", "DE.Views.FormsTab.capBtnSubmit": "Enviar", "DE.Views.FormsTab.capBtnText": "Camp de text", "DE.Views.FormsTab.capBtnView": "Mostrar el formulari", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Qualsevol", "DE.Views.FormsTab.textClear": "Esborra els camps", "DE.Views.FormsTab.textClearFields": "Esborra tots els camps", - "DE.Views.FormsTab.textCreateForm": "Afegeix camps i crea un document OFORM emplenable", + "DE.Views.FormsTab.textCreateForm": "Afegeix camps i crea un document PDF emplenable", "DE.Views.FormsTab.textGotIt": "Ho tinc", "DE.Views.FormsTab.textHighlight": "Ressalta la configuració", "DE.Views.FormsTab.textNoHighlight": "Sense ressaltar", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Inserir un camp complex", "DE.Views.FormsTab.tipCreditCard": "Introduir el número de la targeta de crèdit", "DE.Views.FormsTab.tipDateTime": "Inserir la data i l'hora", - "DE.Views.FormsTab.tipDownloadForm": "Baixeu un fitxer com a document OFORM que es pot omplir", + "DE.Views.FormsTab.tipDownloadForm": "Baixeu un fitxer com a document PDF que es pot omplir", "DE.Views.FormsTab.tipDropDown": "Inserir una llista desplegable", "DE.Views.FormsTab.tipEmailField": "Inserir una adreça de correu electrònic", "DE.Views.FormsTab.tipFixedText": "Inserir un camp de text fix", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Inserir un número de telèfon", "DE.Views.FormsTab.tipPrevForm": "Ves al camp anterior", "DE.Views.FormsTab.tipRadioBox": "Inserir un botó d'opció", - "DE.Views.FormsTab.tipSaveForm": "Desar un fitxer com a document OFORM emplenable", + "DE.Views.FormsTab.tipSaveForm": "Desar un fitxer com a document PDF emplenable", "DE.Views.FormsTab.tipSubmit": "Enviar el formulari", "DE.Views.FormsTab.tipTextField": "Inserir un camp de text", "DE.Views.FormsTab.tipViewForm": "Mostrar el formulari", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Segur que voleu eliminar la funció {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Desar", "DE.Views.SaveFormDlg.textAnyone": "Qualsevol", - "DE.Views.SaveFormDlg.textDescription": "Quan es desa a l'oform, només s'afegeixen funcions amb camps a la llista d'emplenament", + "DE.Views.SaveFormDlg.textDescription": "Quan es desa a l'pdf, només s'afegeixen funcions amb camps a la llista d'emplenament", "DE.Views.SaveFormDlg.textEmpty": "No hi ha funcions associades als camps.", "DE.Views.SaveFormDlg.textFill": "Llista d'ompliment", "DE.Views.SaveFormDlg.txtTitle": "Desar com a formulari", diff --git a/apps/documenteditor/main/locale/cs.json b/apps/documenteditor/main/locale/cs.json index 646bc3497c..377821a4c7 100644 --- a/apps/documenteditor/main/locale/cs.json +++ b/apps/documenteditor/main/locale/cs.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Zaškrtávací pole", "DE.Views.FormsTab.capBtnComboBox": "Výběrové pole", "DE.Views.FormsTab.capBtnComplex": "Komplexní pole", - "DE.Views.FormsTab.capBtnDownloadForm": "Stáhnout jako OFORM", + "DE.Views.FormsTab.capBtnDownloadForm": "Stáhnout jako pdf", "DE.Views.FormsTab.capBtnDropDown": "Rozevírací seznam", "DE.Views.FormsTab.capBtnEmail": "E-mailová adresa", "DE.Views.FormsTab.capBtnImage": "Obrázek", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefonní číslo", "DE.Views.FormsTab.capBtnPrev": "Předchozí pole", "DE.Views.FormsTab.capBtnRadioBox": "Přepínač", - "DE.Views.FormsTab.capBtnSaveForm": "Uložit jako oform", + "DE.Views.FormsTab.capBtnSaveForm": "Uložit jako pdf", "DE.Views.FormsTab.capBtnSubmit": "Potvrdit", "DE.Views.FormsTab.capBtnText": "Textové pole", "DE.Views.FormsTab.capBtnView": "Zobrazit formulář", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Kdokoliv", "DE.Views.FormsTab.textClear": "Vyčistit pole", "DE.Views.FormsTab.textClearFields": "Vyčistit všechna pole", - "DE.Views.FormsTab.textCreateForm": "Přidat pole a vytvořit plnitelný dokument OFORM", + "DE.Views.FormsTab.textCreateForm": "Přidat pole a vytvořit plnitelný dokument PDF", "DE.Views.FormsTab.textGotIt": "Rozumím", "DE.Views.FormsTab.textHighlight": "Nastavení zvýraznění", "DE.Views.FormsTab.textNoHighlight": "Žádné zvýraznění", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Vložit komplexní pole", "DE.Views.FormsTab.tipCreditCard": "Vložit číslo kreditní karty", "DE.Views.FormsTab.tipDateTime": "Vložit datum a čas", - "DE.Views.FormsTab.tipDownloadForm": "Stáhnout jako plnitelný dokument OFORM", + "DE.Views.FormsTab.tipDownloadForm": "Stáhnout jako plnitelný dokument PDF", "DE.Views.FormsTab.tipDropDown": "Vložit rozevírací seznam", "DE.Views.FormsTab.tipEmailField": "Vložit e-mailovou adresu", "DE.Views.FormsTab.tipFixedText": "Vložit fixní textové pole", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Vložit telefonní číslo", "DE.Views.FormsTab.tipPrevForm": "Přejít na předcházející pole", "DE.Views.FormsTab.tipRadioBox": "Vložit přepínač", - "DE.Views.FormsTab.tipSaveForm": "Uložit jako plnitelný dokument OFORM", + "DE.Views.FormsTab.tipSaveForm": "Uložit jako plnitelný dokument PDF", "DE.Views.FormsTab.tipSubmit": "Potvrdit formulář", "DE.Views.FormsTab.tipTextField": "Vložit textové pole", "DE.Views.FormsTab.tipViewForm": "Zobrazit formulář", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Opravdu chcete smazat tuto roli {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Uložit", "DE.Views.SaveFormDlg.textAnyone": "Kdokoliv", - "DE.Views.SaveFormDlg.textDescription": "Při uložení do OFORM, budou pouze role s poli přidány seznamu vyplňování", + "DE.Views.SaveFormDlg.textDescription": "Při uložení do pdf, budou pouze role s poli přidány seznamu vyplňování", "DE.Views.SaveFormDlg.textEmpty": "K polím nejsou přiřazeny žádné role.", "DE.Views.SaveFormDlg.textFill": "Seznam vyplňování", "DE.Views.SaveFormDlg.txtTitle": "Uložit jako formulář", diff --git a/apps/documenteditor/main/locale/da.json b/apps/documenteditor/main/locale/da.json index b01d14382f..c48d864722 100644 --- a/apps/documenteditor/main/locale/da.json +++ b/apps/documenteditor/main/locale/da.json @@ -1906,13 +1906,13 @@ "DE.Views.FormsTab.capBtnPhone": "Telefonnummer", "DE.Views.FormsTab.capBtnPrev": "Foregående felt", "DE.Views.FormsTab.capBtnRadioBox": "Radioknap", - "DE.Views.FormsTab.capBtnSaveForm": "Gem som oform", + "DE.Views.FormsTab.capBtnSaveForm": "Gem som pdf", "DE.Views.FormsTab.capBtnSubmit": "Send", "DE.Views.FormsTab.capBtnText": "Tekstfelt", "DE.Views.FormsTab.capBtnView": "Vis formular", "DE.Views.FormsTab.textClear": "Ryd felter", "DE.Views.FormsTab.textClearFields": "Ryd alle felter", - "DE.Views.FormsTab.textCreateForm": "Tilføj felter og opret et udfyld bart OFORM dokument", + "DE.Views.FormsTab.textCreateForm": "Tilføj felter og opret et udfyld bart PDF dokument", "DE.Views.FormsTab.textGotIt": "Forstået", "DE.Views.FormsTab.textHighlight": "Fremhæv indstillinger", "DE.Views.FormsTab.textNoHighlight": "Ingen fremhævning", @@ -1925,7 +1925,7 @@ "DE.Views.FormsTab.tipNextForm": "Gå til næste felt", "DE.Views.FormsTab.tipPrevForm": "Gå til foregående felt", "DE.Views.FormsTab.tipRadioBox": "Indsæt radioknap", - "DE.Views.FormsTab.tipSaveForm": "Gem en fil som et udfyldbart OFORM-dokument", + "DE.Views.FormsTab.tipSaveForm": "Gem en fil som et udfyldbart PDF-dokument", "DE.Views.FormsTab.tipSubmit": "Send formular", "DE.Views.FormsTab.tipTextField": "Indsæt tekstfelt", "DE.Views.FormsTab.tipViewForm": "Vis formularen", diff --git a/apps/documenteditor/main/locale/de.json b/apps/documenteditor/main/locale/de.json index ae07cd399e..58b63f7d39 100644 --- a/apps/documenteditor/main/locale/de.json +++ b/apps/documenteditor/main/locale/de.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Kontrollkästchen", "DE.Views.FormsTab.capBtnComboBox": "Combobox", "DE.Views.FormsTab.capBtnComplex": "Komplexes Feld", - "DE.Views.FormsTab.capBtnDownloadForm": "Als OFORM herunterladen", + "DE.Views.FormsTab.capBtnDownloadForm": "Als pdf herunterladen", "DE.Views.FormsTab.capBtnDropDown": "Dropdown", "DE.Views.FormsTab.capBtnEmail": "E-Mail-Adresse", "DE.Views.FormsTab.capBtnImage": "Bild", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefonnummer", "DE.Views.FormsTab.capBtnPrev": "Vorheriges Feld", "DE.Views.FormsTab.capBtnRadioBox": "Radiobutton", - "DE.Views.FormsTab.capBtnSaveForm": "Als OFORM speichern", + "DE.Views.FormsTab.capBtnSaveForm": "Als pdf speichern", "DE.Views.FormsTab.capBtnSubmit": "Senden", "DE.Views.FormsTab.capBtnText": "Textfeld", "DE.Views.FormsTab.capBtnView": "Formular anzeigen", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Alle", "DE.Views.FormsTab.textClear": "Felder löschen", "DE.Views.FormsTab.textClearFields": "Alle Felder löschen", - "DE.Views.FormsTab.textCreateForm": "Felder hinzufügen und ausfüllbare OFORM-Datei erstellen", + "DE.Views.FormsTab.textCreateForm": "Felder hinzufügen und ausfüllbare PDF-Datei erstellen", "DE.Views.FormsTab.textGotIt": "OK", "DE.Views.FormsTab.textHighlight": "Einstellungen für Hervorhebungen", "DE.Views.FormsTab.textNoHighlight": "Ohne Hervorhebung", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Komplexes Feld einfügen", "DE.Views.FormsTab.tipCreditCard": "Kreditkartennummer eingeben", "DE.Views.FormsTab.tipDateTime": "Datum und Uhrzeit einfügen", - "DE.Views.FormsTab.tipDownloadForm": "Die Datei als ausfüllbares OFORM-Dokument herunterladen", + "DE.Views.FormsTab.tipDownloadForm": "Die Datei als ausfüllbares PDF-Dokument herunterladen", "DE.Views.FormsTab.tipDropDown": "Dropdown-Liste einfügen", "DE.Views.FormsTab.tipEmailField": "E-Mail Adresse einfügen", "DE.Views.FormsTab.tipFixedText": "Fixiertes Textfeld einfügen", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Telefonnummer einfügen", "DE.Views.FormsTab.tipPrevForm": "Zum vorherigen Feld wechseln", "DE.Views.FormsTab.tipRadioBox": "Radiobutton einfügen", - "DE.Views.FormsTab.tipSaveForm": "Als eine ausfüllbare OFORM-Datei speichern", + "DE.Views.FormsTab.tipSaveForm": "Als eine ausfüllbare PDF-Datei speichern", "DE.Views.FormsTab.tipSubmit": "Formular senden", "DE.Views.FormsTab.tipTextField": "Textfeld einfügen", "DE.Views.FormsTab.tipViewForm": "Formular anzeigen", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Möchten Sie die Position {0} wirklich löschen?", "DE.Views.SaveFormDlg.saveButtonText": "Speichern", "DE.Views.SaveFormDlg.textAnyone": "Alle", - "DE.Views.SaveFormDlg.textDescription": "Beim Speichern im OFORM-Formular werden nur Positionen mit Feldern in die Ausfüllliste aufgenommen", + "DE.Views.SaveFormDlg.textDescription": "Beim Speichern im pdf-Formular werden nur Positionen mit Feldern in die Ausfüllliste aufgenommen", "DE.Views.SaveFormDlg.textEmpty": "Es gibt keine Positionen, die mit Feldern verbunden sind.", "DE.Views.SaveFormDlg.textFill": "Befüllungsliste", "DE.Views.SaveFormDlg.txtTitle": "Als Formular speichern", diff --git a/apps/documenteditor/main/locale/el.json b/apps/documenteditor/main/locale/el.json index 42ea9c549c..7bcff4329f 100644 --- a/apps/documenteditor/main/locale/el.json +++ b/apps/documenteditor/main/locale/el.json @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Πλαίσιο επιλογής", "DE.Views.FormsTab.capBtnComboBox": "Πολλαπλές Επιλογές", "DE.Views.FormsTab.capBtnComplex": "Σύνθετο Πεδίο", - "DE.Views.FormsTab.capBtnDownloadForm": "Λήψη ως oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Λήψη ως pdf", "DE.Views.FormsTab.capBtnDropDown": "Πτυσσόμενη Λίστα", "DE.Views.FormsTab.capBtnEmail": "Διεύθυνση email", "DE.Views.FormsTab.capBtnImage": "Εικόνα", @@ -2231,7 +2231,7 @@ "DE.Views.FormsTab.capBtnPhone": "Αριθμός τηλεφώνου", "DE.Views.FormsTab.capBtnPrev": "Προηγούμενο Πεδίο", "DE.Views.FormsTab.capBtnRadioBox": "Κουμπί Επιλογής", - "DE.Views.FormsTab.capBtnSaveForm": "Αποθήκευση ως oform", + "DE.Views.FormsTab.capBtnSaveForm": "Αποθήκευση ως pdf", "DE.Views.FormsTab.capBtnSubmit": "Υποβολή", "DE.Views.FormsTab.capBtnText": "Πεδίο κειμένου", "DE.Views.FormsTab.capBtnView": "Προβολή Φόρμας", @@ -2241,7 +2241,7 @@ "DE.Views.FormsTab.textAnyone": "Οποιοσδήποτε", "DE.Views.FormsTab.textClear": "Εκκαθάριση Πεδίων", "DE.Views.FormsTab.textClearFields": "Εκκαθάριση όλων των πεδίων", - "DE.Views.FormsTab.textCreateForm": "Προσθήκη πεδίων και δημιουργία συμπληρώσιμου εγγράφου OFORM", + "DE.Views.FormsTab.textCreateForm": "Προσθήκη πεδίων και δημιουργία συμπληρώσιμου εγγράφου PDF", "DE.Views.FormsTab.textGotIt": "Ελήφθη", "DE.Views.FormsTab.textHighlight": "Ρυθμίσεις Επισήμανσης", "DE.Views.FormsTab.textNoHighlight": "Χωρίς επισήμανση", @@ -2253,7 +2253,7 @@ "DE.Views.FormsTab.tipCreateField": "Για να δημιουργήσετε ένα πεδίο, επιλέξτε τον επιθυμητό τύπο πεδίου στη γραμμή εργαλείων και κάντε κλικ σε αυτό. Το πεδίο θα εμφανιστεί στο έγγραφο.", "DE.Views.FormsTab.tipCreditCard": "Εισαγωγή αριθμού πιστωτικής κάρτας", "DE.Views.FormsTab.tipDateTime": "Εισαγωγή ημερομηνίας και ώρας", - "DE.Views.FormsTab.tipDownloadForm": "Κατεβάστε ένα αρχείο ως έγγραφο OFORM με δυνατότητα συμπλήρωσης", + "DE.Views.FormsTab.tipDownloadForm": "Κατεβάστε ένα αρχείο ως έγγραφο PDF με δυνατότητα συμπλήρωσης", "DE.Views.FormsTab.tipDropDown": "Εισαγωγή πτυσσόμενης λίστας", "DE.Views.FormsTab.tipEmailField": "Εισαγωγή διεύθυνσης email ", "DE.Views.FormsTab.tipFieldSettings": "Μπορείτε να διαμορφώσετε επιλεγμένα πεδία στη δεξιά πλαϊνή γραμμή. Κάντε κλικ σε αυτό το εικονίδιο για να ανοίξετε τις ρυθμίσεις πεδίου.", @@ -2270,8 +2270,8 @@ "DE.Views.FormsTab.tipPrevForm": "Μετάβαση στο προηγούμενο πεδίο", "DE.Views.FormsTab.tipRadioBox": "Εισαγωγή κουμπιού επιλογής", "DE.Views.FormsTab.tipRolesLink": "Μάθετε περισσότερα σχετικά με τους ρόλους", - "DE.Views.FormsTab.tipSaveFile": "Κάντε κλικ στην επιλογή \"Αποθήκευση ως oform\" για να αποθηκεύσετε τη φόρμα σε μορφή έτοιμη για συμπλήρωση.", - "DE.Views.FormsTab.tipSaveForm": "Αποθήκευση αρχείου ως συμπληρώσιμο έγγραφο OFORM", + "DE.Views.FormsTab.tipSaveFile": "Κάντε κλικ στην επιλογή \"Αποθήκευση ως pdf\" για να αποθηκεύσετε τη φόρμα σε μορφή έτοιμη για συμπλήρωση.", + "DE.Views.FormsTab.tipSaveForm": "Αποθήκευση αρχείου ως συμπληρώσιμο έγγραφο PDF", "DE.Views.FormsTab.tipSubmit": "Υποβολή φόρμας", "DE.Views.FormsTab.tipTextField": "Εισαγωγή πεδίου κειμένου", "DE.Views.FormsTab.tipViewForm": "Προβολή φόρμας", diff --git a/apps/documenteditor/main/locale/es.json b/apps/documenteditor/main/locale/es.json index d727f2a9bc..9c4599195d 100644 --- a/apps/documenteditor/main/locale/es.json +++ b/apps/documenteditor/main/locale/es.json @@ -2221,7 +2221,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Casilla", "DE.Views.FormsTab.capBtnComboBox": "Cuadro combinado", "DE.Views.FormsTab.capBtnComplex": "Campo complejo", - "DE.Views.FormsTab.capBtnDownloadForm": "Descargar como oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Descargar como pdf", "DE.Views.FormsTab.capBtnDropDown": "Lista desplegable", "DE.Views.FormsTab.capBtnEmail": "Dirección de correo electrónico", "DE.Views.FormsTab.capBtnImage": "Imagen", @@ -2230,7 +2230,7 @@ "DE.Views.FormsTab.capBtnPhone": "Número de teléfono", "DE.Views.FormsTab.capBtnPrev": "Campo anterior", "DE.Views.FormsTab.capBtnRadioBox": "Botón de opción", - "DE.Views.FormsTab.capBtnSaveForm": "Guardar como oform", + "DE.Views.FormsTab.capBtnSaveForm": "Guardar como pdf", "DE.Views.FormsTab.capBtnSubmit": "Enviar", "DE.Views.FormsTab.capBtnText": "Campo de texto", "DE.Views.FormsTab.capBtnView": "Ver formulario", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.textAnyone": "Cualquiera", "DE.Views.FormsTab.textClear": "Eliminar campos", "DE.Views.FormsTab.textClearFields": "Eliminar todos los campos", - "DE.Views.FormsTab.textCreateForm": "Agregue campos y cree un documento OFORM rellenable", + "DE.Views.FormsTab.textCreateForm": "Agregue campos y cree un documento PDF rellenable", "DE.Views.FormsTab.textGotIt": "Entiendo", "DE.Views.FormsTab.textHighlight": "Ajustes de resaltado", "DE.Views.FormsTab.textNoHighlight": "No resaltar", @@ -2252,7 +2252,7 @@ "DE.Views.FormsTab.tipCreateField": "Para crear un campo, seleccione el tipo de campo deseado en la barra de herramientas y haga clic sobre él. El campo aparecerá en el documento.", "DE.Views.FormsTab.tipCreditCard": "Insertar el número de tarjeta de crédito", "DE.Views.FormsTab.tipDateTime": "Insertar fecha y hora", - "DE.Views.FormsTab.tipDownloadForm": "Descargar el archivo como documento OFORM rellenable", + "DE.Views.FormsTab.tipDownloadForm": "Descargar el archivo como documento PDF rellenable", "DE.Views.FormsTab.tipDropDown": "Insertar lista desplegable", "DE.Views.FormsTab.tipEmailField": "Insertar dirección de correo electrónico", "DE.Views.FormsTab.tipFieldSettings": "Puede configurar los campos seleccionados en la barra lateral derecha. Haga clic en este icono para abrir la configuración de los campos.", @@ -2269,8 +2269,8 @@ "DE.Views.FormsTab.tipPrevForm": "Ir al campo anterior", "DE.Views.FormsTab.tipRadioBox": "Insertar botón de opción", "DE.Views.FormsTab.tipRolesLink": "Más información sobre los roles", - "DE.Views.FormsTab.tipSaveFile": "Haga clic en \"Guardar como oform\" para guardar el formulario en el formato listo para rellenar.", - "DE.Views.FormsTab.tipSaveForm": "Guardar el archivo como un documento OFORM rellenable", + "DE.Views.FormsTab.tipSaveFile": "Haga clic en \"Guardar como pdf\" para guardar el formulario en el formato listo para rellenar.", + "DE.Views.FormsTab.tipSaveForm": "Guardar el archivo como un documento PDF rellenable", "DE.Views.FormsTab.tipSubmit": "Enviar formulario", "DE.Views.FormsTab.tipTextField": "Insertar campo de texto", "DE.Views.FormsTab.tipViewForm": "Ver formulario", @@ -2846,7 +2846,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "¿Está seguro de que desea eliminar el rol {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Guardar", "DE.Views.SaveFormDlg.textAnyone": "Cualquiera", - "DE.Views.SaveFormDlg.textDescription": "Al guardar en oform, solo los roles con campos se añaden a la lista de relleno", + "DE.Views.SaveFormDlg.textDescription": "Al guardar en pdf, solo los roles con campos se añaden a la lista de relleno", "DE.Views.SaveFormDlg.textEmpty": "No hay roles asociados a este campo.", "DE.Views.SaveFormDlg.textFill": "Lista de relleno", "DE.Views.SaveFormDlg.txtTitle": "Guardar como formulario", diff --git a/apps/documenteditor/main/locale/eu.json b/apps/documenteditor/main/locale/eu.json index e9f40b1d62..e99945aea3 100644 --- a/apps/documenteditor/main/locale/eu.json +++ b/apps/documenteditor/main/locale/eu.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Kontrol-laukia", "DE.Views.FormsTab.capBtnComboBox": "Konbinazio-koadroa", "DE.Views.FormsTab.capBtnComplex": "Eremu konplexua", - "DE.Views.FormsTab.capBtnDownloadForm": "Deskargatu oform bezala", + "DE.Views.FormsTab.capBtnDownloadForm": "Deskargatu pdf bezala", "DE.Views.FormsTab.capBtnDropDown": "Goitibeherakoa", "DE.Views.FormsTab.capBtnEmail": "Posta elektronikoko helbidea", "DE.Views.FormsTab.capBtnImage": "Irudia", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefono zenbakia", "DE.Views.FormsTab.capBtnPrev": "Aurreko eremua", "DE.Views.FormsTab.capBtnRadioBox": "Aukera-botoia", - "DE.Views.FormsTab.capBtnSaveForm": "Gorde oform bezala", + "DE.Views.FormsTab.capBtnSaveForm": "Gorde pdf bezala", "DE.Views.FormsTab.capBtnSubmit": "Bidali", "DE.Views.FormsTab.capBtnText": "Testu-eremua", "DE.Views.FormsTab.capBtnView": "Ikusi formularioa", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Edonork", "DE.Views.FormsTab.textClear": "Garbitu eremuak", "DE.Views.FormsTab.textClearFields": "Garbitu eremu guztiak", - "DE.Views.FormsTab.textCreateForm": "Gehitu eremuak eta sortu OFORM dokumentu editagarri bat", + "DE.Views.FormsTab.textCreateForm": "Gehitu eremuak eta sortu PDF dokumentu editagarri bat", "DE.Views.FormsTab.textGotIt": "Ulertu dut", "DE.Views.FormsTab.textHighlight": "Nabarmentze-ezarpenak", "DE.Views.FormsTab.textNoHighlight": "Ez nabarmendu", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Txertatu eremu konplexua", "DE.Views.FormsTab.tipCreditCard": "Idatzi kreditu txartelaren zenbakia", "DE.Views.FormsTab.tipDateTime": "Txertatu data eta ordua", - "DE.Views.FormsTab.tipDownloadForm": "Deskargatu fitxategi bat OFORM dokumentu editagarri bezala", + "DE.Views.FormsTab.tipDownloadForm": "Deskargatu fitxategi bat PDF dokumentu editagarri bezala", "DE.Views.FormsTab.tipDropDown": "Txertatu goitibeherako zerrenda", "DE.Views.FormsTab.tipEmailField": "Txertatu posta elektronikoko helbidea", "DE.Views.FormsTab.tipFixedText": "Txertatu testu-eremu finkoa", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Txertatu telefono zenbakia", "DE.Views.FormsTab.tipPrevForm": "Joan aurreko eremura", "DE.Views.FormsTab.tipRadioBox": "Txertatu aukera-botoia", - "DE.Views.FormsTab.tipSaveForm": "Gorde fitxategia OFORM dokumentu editagarri bezala", + "DE.Views.FormsTab.tipSaveForm": "Gorde fitxategia PDF dokumentu editagarri bezala", "DE.Views.FormsTab.tipSubmit": "Bidali formularioa", "DE.Views.FormsTab.tipTextField": "Txertatu testu-eremua", "DE.Views.FormsTab.tipViewForm": "Ikusi formularioa", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Ziur zaude {0} rola ezabatu nahi duzula?", "DE.Views.SaveFormDlg.saveButtonText": "Gorde", "DE.Views.SaveFormDlg.textAnyone": "Edonork", - "DE.Views.SaveFormDlg.textDescription": "oform-a gordetzean, soilik eremuak dituzten rolak gehitzen dira betetzeko zerrendara", + "DE.Views.SaveFormDlg.textDescription": "pdf-a gordetzean, soilik eremuak dituzten rolak gehitzen dira betetzeko zerrendara", "DE.Views.SaveFormDlg.textEmpty": "Ez dago eremuekin lotutako rolik.", "DE.Views.SaveFormDlg.textFill": "Zerrenda betetzea", "DE.Views.SaveFormDlg.txtTitle": "Gorde formulario bezala", diff --git a/apps/documenteditor/main/locale/fr.json b/apps/documenteditor/main/locale/fr.json index 238cf36ee9..fdf8707a95 100644 --- a/apps/documenteditor/main/locale/fr.json +++ b/apps/documenteditor/main/locale/fr.json @@ -2221,7 +2221,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Case à cocher", "DE.Views.FormsTab.capBtnComboBox": "Zone de liste déroulante", "DE.Views.FormsTab.capBtnComplex": "Champ complexe", - "DE.Views.FormsTab.capBtnDownloadForm": "Télécharger comme oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Télécharger comme pdf", "DE.Views.FormsTab.capBtnDropDown": "Liste déroulante", "DE.Views.FormsTab.capBtnEmail": "Adresse E-mail", "DE.Views.FormsTab.capBtnImage": "Image", @@ -2230,7 +2230,7 @@ "DE.Views.FormsTab.capBtnPhone": "Numéro de téléphone", "DE.Views.FormsTab.capBtnPrev": "Champ précédent", "DE.Views.FormsTab.capBtnRadioBox": "Bouton radio", - "DE.Views.FormsTab.capBtnSaveForm": "Enregistrer sous oform", + "DE.Views.FormsTab.capBtnSaveForm": "Enregistrer sous pdf", "DE.Views.FormsTab.capBtnSubmit": "Soumettre ", "DE.Views.FormsTab.capBtnText": "Champ texte", "DE.Views.FormsTab.capBtnView": "Aperçu du formulaire", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.textAnyone": "Tout le monde", "DE.Views.FormsTab.textClear": "Effacer les champs", "DE.Views.FormsTab.textClearFields": "Effacer tous les champs", - "DE.Views.FormsTab.textCreateForm": "Ajoutez des champs et créer un document OFORM remplissable", + "DE.Views.FormsTab.textCreateForm": "Ajoutez des champs et créer un document PDF remplissable", "DE.Views.FormsTab.textGotIt": "OK", "DE.Views.FormsTab.textHighlight": "Paramètres de surbrillance", "DE.Views.FormsTab.textNoHighlight": "Pas de surbrillance ", @@ -2252,7 +2252,7 @@ "DE.Views.FormsTab.tipCreateField": "Pour créer un champ, sélectionnez le type de champ souhaité dans la barre d'outils et cliquez dessus. Le champ apparaît dans le document.", "DE.Views.FormsTab.tipCreditCard": "Insérer le numéro de la carte de crédit", "DE.Views.FormsTab.tipDateTime": "Insérer la date et l'heure", - "DE.Views.FormsTab.tipDownloadForm": "Télécharger un fichier sous forme de document OFORM à remplir", + "DE.Views.FormsTab.tipDownloadForm": "Télécharger un fichier sous forme de document PDF à remplir", "DE.Views.FormsTab.tipDropDown": "Insérer une liste déroulante", "DE.Views.FormsTab.tipEmailField": "Insérer l'adresse e-mail", "DE.Views.FormsTab.tipFieldSettings": "Vous pouvez configurer les champs sélectionnés dans la barre latérale droite. Cliquez sur cette icône pour ouvrir les paramètres du champ.", @@ -2269,8 +2269,8 @@ "DE.Views.FormsTab.tipPrevForm": "Allez au champs précédent", "DE.Views.FormsTab.tipRadioBox": "Insérer bouton radio", "DE.Views.FormsTab.tipRolesLink": "En savoir plus sur les rôles", - "DE.Views.FormsTab.tipSaveFile": "Cliquez sur \"Enregistrer sous oform\" pour enregistrer le formulaire dans un format prêt à être rempli.", - "DE.Views.FormsTab.tipSaveForm": "Enregistrer un fichier en tant que document OFORM remplissable", + "DE.Views.FormsTab.tipSaveFile": "Cliquez sur \"Enregistrer sous pdf\" pour enregistrer le formulaire dans un format prêt à être rempli.", + "DE.Views.FormsTab.tipSaveForm": "Enregistrer un fichier en tant que document PDF remplissable", "DE.Views.FormsTab.tipSubmit": "Soumettre le formulaire ", "DE.Views.FormsTab.tipTextField": "Insérer un champ texte", "DE.Views.FormsTab.tipViewForm": "Aperçu du formulaire", @@ -2846,7 +2846,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Êtes-vous sûr de vouloir supprimer le rôle {0} ?", "DE.Views.SaveFormDlg.saveButtonText": "Enregistrer", "DE.Views.SaveFormDlg.textAnyone": "Tout le monde", - "DE.Views.SaveFormDlg.textDescription": "Lors de la sauvegarde en oform, seuls les rôles avec des champs sont ajoutés à la liste de remplissage", + "DE.Views.SaveFormDlg.textDescription": "Lors de la sauvegarde en pdf, seuls les rôles avec des champs sont ajoutés à la liste de remplissage", "DE.Views.SaveFormDlg.textEmpty": "Il n'y a pas de rôles associés aux champs.", "DE.Views.SaveFormDlg.textFill": "Liste de remplissage", "DE.Views.SaveFormDlg.txtTitle": "Enregistrer comme formulaire", diff --git a/apps/documenteditor/main/locale/gl.json b/apps/documenteditor/main/locale/gl.json index 8b1d47b7f5..d1254c2137 100644 --- a/apps/documenteditor/main/locale/gl.json +++ b/apps/documenteditor/main/locale/gl.json @@ -1902,7 +1902,7 @@ "DE.Views.FormSettings.textWidth": "Ancho da celda", "DE.Views.FormsTab.capBtnCheckBox": "Caixa de selección", "DE.Views.FormsTab.capBtnComboBox": "Caixa de combinación", - "DE.Views.FormsTab.capBtnDownloadForm": "Descargar como OFORM", + "DE.Views.FormsTab.capBtnDownloadForm": "Descargar como pdf", "DE.Views.FormsTab.capBtnDropDown": "Despregable", "DE.Views.FormsTab.capBtnImage": "Imaxe", "DE.Views.FormsTab.capBtnNext": "Seguinte campo", @@ -1915,7 +1915,7 @@ "DE.Views.FormsTab.capDateTime": "Data e hora", "DE.Views.FormsTab.textClear": "Limpar campos", "DE.Views.FormsTab.textClearFields": "Borrar todos os campos", - "DE.Views.FormsTab.textCreateForm": "Engada campos e cre un documento OFORM que poida encher", + "DE.Views.FormsTab.textCreateForm": "Engada campos e cre un documento PDF que poida encher", "DE.Views.FormsTab.textGotIt": "Entendín", "DE.Views.FormsTab.textHighlight": "Configuración do realce", "DE.Views.FormsTab.textNoHighlight": "Non realzar", @@ -1923,13 +1923,13 @@ "DE.Views.FormsTab.textSubmited": "O formulario enviouse correctamente", "DE.Views.FormsTab.tipCheckBox": "Inserir caixa de selección", "DE.Views.FormsTab.tipComboBox": "Inserir caixa de combinación", - "DE.Views.FormsTab.tipDownloadForm": "Baixar o ficheiro como un documento OFORM que se poida abrir", + "DE.Views.FormsTab.tipDownloadForm": "Baixar o ficheiro como un documento PDF que se poida abrir", "DE.Views.FormsTab.tipDropDown": "Inserir lista despregable", "DE.Views.FormsTab.tipImageField": "Inserir imaxe", "DE.Views.FormsTab.tipNextForm": "Ir ao seguinte campo", "DE.Views.FormsTab.tipPrevForm": "Ir ao campo anterior", "DE.Views.FormsTab.tipRadioBox": "Inserir botón de opción", - "DE.Views.FormsTab.tipSaveForm": "Gardar un ficheiro como un documento OFORM que poida encher", + "DE.Views.FormsTab.tipSaveForm": "Gardar un ficheiro como un documento PDF que poida encher", "DE.Views.FormsTab.tipSubmit": "Enviar formulario", "DE.Views.FormsTab.tipTextField": "Inserir campo de texto", "DE.Views.FormsTab.tipViewForm": "Ver formulario", diff --git a/apps/documenteditor/main/locale/hu.json b/apps/documenteditor/main/locale/hu.json index cf6fcba48b..ebc9320947 100644 --- a/apps/documenteditor/main/locale/hu.json +++ b/apps/documenteditor/main/locale/hu.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Jelölőnégyzet", "DE.Views.FormsTab.capBtnComboBox": "Legördülő lista", "DE.Views.FormsTab.capBtnComplex": "Komplex mező", - "DE.Views.FormsTab.capBtnDownloadForm": "Töltse le oformként", + "DE.Views.FormsTab.capBtnDownloadForm": "Töltse le pdf", "DE.Views.FormsTab.capBtnDropDown": "Legördülő", "DE.Views.FormsTab.capBtnEmail": "E-Mail cím", "DE.Views.FormsTab.capBtnImage": "Kép", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefonszám", "DE.Views.FormsTab.capBtnPrev": "Előző mező", "DE.Views.FormsTab.capBtnRadioBox": "Rádiógomb", - "DE.Views.FormsTab.capBtnSaveForm": "Mentés OFORM-ként", + "DE.Views.FormsTab.capBtnSaveForm": "Mentés pdf-ként", "DE.Views.FormsTab.capBtnSubmit": "Beküldés", "DE.Views.FormsTab.capBtnText": "Szövegmező", "DE.Views.FormsTab.capBtnView": "Űrlap megtekintése", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Bárki", "DE.Views.FormsTab.textClear": "Mezők törlése", "DE.Views.FormsTab.textClearFields": "Az összes mező törlése", - "DE.Views.FormsTab.textCreateForm": "Mezők hozzáadása és kitölthető OFORM dokumentum létrehozása", + "DE.Views.FormsTab.textCreateForm": "Mezők hozzáadása és kitölthető PDF dokumentum létrehozása", "DE.Views.FormsTab.textGotIt": "OK", "DE.Views.FormsTab.textHighlight": "Kiemelés beállításai", "DE.Views.FormsTab.textNoHighlight": "Nincs kiemelés", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Komplex mező beillesztése", "DE.Views.FormsTab.tipCreditCard": "Hitelkártyaszám beszúrása", "DE.Views.FormsTab.tipDateTime": "Dátum és idő beszúrása", - "DE.Views.FormsTab.tipDownloadForm": "Töltse le a fájlt kitölthető OFORM dokumentumként", + "DE.Views.FormsTab.tipDownloadForm": "Töltse le a fájlt kitölthető PDF dokumentumként", "DE.Views.FormsTab.tipDropDown": "Legördülő lista beszúrása", "DE.Views.FormsTab.tipEmailField": "Adja meg az e-mail címet", "DE.Views.FormsTab.tipFixedText": "Rögzített szövegmező beszúrása", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Telefonszám megadása", "DE.Views.FormsTab.tipPrevForm": "Ugrás az előző mezőre", "DE.Views.FormsTab.tipRadioBox": "Rádiógomb beszúrása", - "DE.Views.FormsTab.tipSaveForm": "Fájl mentése kitölthető OFORM dokumentumként", + "DE.Views.FormsTab.tipSaveForm": "Fájl mentése kitölthető PDF dokumentumként", "DE.Views.FormsTab.tipSubmit": "Űrlap beküldése", "DE.Views.FormsTab.tipTextField": "Szövegmező beszúrása", "DE.Views.FormsTab.tipViewForm": "Űrlap megtekintése", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Biztos, hogy törölni akarja a {0} szerepet?", "DE.Views.SaveFormDlg.saveButtonText": "Mentés", "DE.Views.SaveFormDlg.textAnyone": "Bárki", - "DE.Views.SaveFormDlg.textDescription": "Az oformba való mentéskor csak a mezőkkel rendelkező szerepkörök kerülnek fel a kitöltési listára", + "DE.Views.SaveFormDlg.textDescription": "Az pdf való mentéskor csak a mezőkkel rendelkező szerepkörök kerülnek fel a kitöltési listára", "DE.Views.SaveFormDlg.textEmpty": "Nincsenek mezőkhöz társított szerepkörök.", "DE.Views.SaveFormDlg.textFill": "Kitöltési lista", "DE.Views.SaveFormDlg.txtTitle": "Mentés formátumként", diff --git a/apps/documenteditor/main/locale/hy.json b/apps/documenteditor/main/locale/hy.json index 64b3c91972..f9eecd2b08 100644 --- a/apps/documenteditor/main/locale/hy.json +++ b/apps/documenteditor/main/locale/hy.json @@ -2221,7 +2221,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Ստուգանիշ", "DE.Views.FormsTab.capBtnComboBox": "Համակցված տուփ", "DE.Views.FormsTab.capBtnComplex": "Համալիր դաշտ", - "DE.Views.FormsTab.capBtnDownloadForm": "Ներբեռնել որպես oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Ներբեռնել որպես pdf", "DE.Views.FormsTab.capBtnDropDown": "Բացվող", "DE.Views.FormsTab.capBtnEmail": "էլ. հասցե", "DE.Views.FormsTab.capBtnImage": "Նկար", @@ -2230,7 +2230,7 @@ "DE.Views.FormsTab.capBtnPhone": "Հեռախոսահամար", "DE.Views.FormsTab.capBtnPrev": "Նախորդ դաշտ", "DE.Views.FormsTab.capBtnRadioBox": "Ընտրանքի կոճակ ", - "DE.Views.FormsTab.capBtnSaveForm": "Պահպանել, ինչպես oform", + "DE.Views.FormsTab.capBtnSaveForm": "Պահպանել, ինչպես pdf", "DE.Views.FormsTab.capBtnSubmit": "Հաստատել", "DE.Views.FormsTab.capBtnText": "Տեքստի դաշտ", "DE.Views.FormsTab.capBtnView": "Դիտման ձևը", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.textAnyone": "Յուրաքանչյուրը", "DE.Views.FormsTab.textClear": "Մաքրել դաշտերը", "DE.Views.FormsTab.textClearFields": "Մաքրել բոլոր դաշտերը", - "DE.Views.FormsTab.textCreateForm": "Ավելացնել դաշտեր և ստեղծել լրացվող OFORM փաստաթուղթ:", + "DE.Views.FormsTab.textCreateForm": "Ավելացնել դաշտեր և ստեղծել լրացվող PDF փաստաթուղթ:", "DE.Views.FormsTab.textGotIt": "Հասկանալի է", "DE.Views.FormsTab.textHighlight": "Ընդգծել կարգավորումները", "DE.Views.FormsTab.textNoHighlight": "Առանց գունանշման", @@ -2252,7 +2252,7 @@ "DE.Views.FormsTab.tipCreateField": "Դաշտ ստեղծելու համար գործիքագոտում ընտրեք ցանկալի դաշտի տեսակը և սեղմեք դրա վրա:Դաշտը կհայտնվի փաստաթղթում:", "DE.Views.FormsTab.tipCreditCard": "Զետեղել վարկային քարտի համարը", "DE.Views.FormsTab.tipDateTime": "Զետեղել Ամսաթիվ եւ ժամ", - "DE.Views.FormsTab.tipDownloadForm": "Ներբեռնել ֆայլը որպես լրացվող OFORM փաստաթուղթ", + "DE.Views.FormsTab.tipDownloadForm": "Ներբեռնել ֆայլը որպես լրացվող PDF փաստաթուղթ", "DE.Views.FormsTab.tipDropDown": "Տեղադրել բացվող ցուցակ", "DE.Views.FormsTab.tipEmailField": "Զետեղել էլ. հասցե", "DE.Views.FormsTab.tipFieldSettings": "Դուք կարող եք կարգավորել ընտրված դաշտերը աջ գոտում:Սեղմեք այս կոճակը դաշտի կարգավորումները բացելու համար:", @@ -2270,7 +2270,7 @@ "DE.Views.FormsTab.tipRadioBox": "Տեղադրել ընտրանքի կոճակ ", "DE.Views.FormsTab.tipRolesLink": "Իմացեք ավելին դերերի մասին", "DE.Views.FormsTab.tipSaveFile": "Կտտացրեք «Պահպանել որպես ոչ ձև»՝ ձևը լրացնելու պատրաստ ձևաչափով պահելու համար:", - "DE.Views.FormsTab.tipSaveForm": "Պահպանել ֆայլը, որպես լրացվող OFORM փաստաթուղթ", + "DE.Views.FormsTab.tipSaveForm": "Պահպանել ֆայլը, որպես լրացվող PDF փաստաթուղթ", "DE.Views.FormsTab.tipSubmit": "Ներկայացնել ձևը", "DE.Views.FormsTab.tipTextField": "Տեղադրեք տեքստային դաշտ", "DE.Views.FormsTab.tipViewForm": "Դիտման ձևը", @@ -2846,7 +2846,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Համոզվա՞ծ եք, որ ցանկանում եք ջնջել {0} դերը:", "DE.Views.SaveFormDlg.saveButtonText": "Պահպանել", "DE.Views.SaveFormDlg.textAnyone": "Յուրաքանչյուրը", - "DE.Views.SaveFormDlg.textDescription": "Oform-ում պահելիս լրացվող ցուցակին ավելացվում են միայն դաշտերով դերեր", + "DE.Views.SaveFormDlg.textDescription": "pdf-ում պահելիս լրացվող ցուցակին ավելացվում են միայն դաշտերով դերեր", "DE.Views.SaveFormDlg.textEmpty": "Դաշտերի հետ կապված դերեր չկան:", "DE.Views.SaveFormDlg.textFill": "Լրացման ցուցակ", "DE.Views.SaveFormDlg.txtTitle": "Պահպանել որպես Ձև", diff --git a/apps/documenteditor/main/locale/id.json b/apps/documenteditor/main/locale/id.json index 9d61300a3a..ab5847d627 100644 --- a/apps/documenteditor/main/locale/id.json +++ b/apps/documenteditor/main/locale/id.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Kotak centang", "DE.Views.FormsTab.capBtnComboBox": "Kotak combo", "DE.Views.FormsTab.capBtnComplex": "Bidang Kompleks", - "DE.Views.FormsTab.capBtnDownloadForm": "Unduh sebagai oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Unduh sebagai pdf", "DE.Views.FormsTab.capBtnDropDown": "Dropdown", "DE.Views.FormsTab.capBtnEmail": "Alamat Email", "DE.Views.FormsTab.capBtnImage": "Gambar", @@ -2219,7 +2219,7 @@ "DE.Views.FormsTab.capBtnPhone": "Nomor Telepon", "DE.Views.FormsTab.capBtnPrev": "Ruas Sebelumnya", "DE.Views.FormsTab.capBtnRadioBox": "Tombol Radio", - "DE.Views.FormsTab.capBtnSaveForm": "Simpan sebagai oform", + "DE.Views.FormsTab.capBtnSaveForm": "Simpan sebagai pdf", "DE.Views.FormsTab.capBtnSubmit": "Submit", "DE.Views.FormsTab.capBtnText": "Ruas Teks", "DE.Views.FormsTab.capBtnView": "Tampilkan form", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "Siapa pun", "DE.Views.FormsTab.textClear": "Bersihkan Ruas", "DE.Views.FormsTab.textClearFields": "Bersihkan Semua Ruas", - "DE.Views.FormsTab.textCreateForm": "Tambah ruas dan buat dokumen OFORM yang bisa diisi", + "DE.Views.FormsTab.textCreateForm": "Tambah ruas dan buat dokumen PDF yang bisa diisi", "DE.Views.FormsTab.textGotIt": "Mengerti", "DE.Views.FormsTab.textHighlight": "Pengaturan Highlight", "DE.Views.FormsTab.textNoHighlight": "Tanpa highlight", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "Sisipkan bidang kompleks", "DE.Views.FormsTab.tipCreditCard": "Sisipkan nomor kartu kredit", "DE.Views.FormsTab.tipDateTime": "Sisipkan tanggal dan waktu", - "DE.Views.FormsTab.tipDownloadForm": "Unduh file sebagai dokumen OFORM yang dapat diisi", + "DE.Views.FormsTab.tipDownloadForm": "Unduh file sebagai dokumen PDF yang dapat diisi", "DE.Views.FormsTab.tipDropDown": "Sisipkan list dropdown", "DE.Views.FormsTab.tipEmailField": "Sisipkan alamat email", "DE.Views.FormsTab.tipFixedText": "Sisipkan ruas teks tetap", @@ -2251,7 +2251,7 @@ "DE.Views.FormsTab.tipPhoneField": "Sisipkan nomor telepon", "DE.Views.FormsTab.tipPrevForm": "Pergi ke ruas sebelumnya", "DE.Views.FormsTab.tipRadioBox": "Sisipkan tombol radio", - "DE.Views.FormsTab.tipSaveForm": "Simpan file sebagai dokumen OFORM yang bisa diisi", + "DE.Views.FormsTab.tipSaveForm": "Simpan file sebagai dokumen PDF yang bisa diisi", "DE.Views.FormsTab.tipSubmit": "Submit form", "DE.Views.FormsTab.tipTextField": "Sisipkan ruas teks", "DE.Views.FormsTab.tipViewForm": "Tampilkan form", @@ -2827,7 +2827,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Anda yakin hendak menghapus peran {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Simpan", "DE.Views.SaveFormDlg.textAnyone": "Siapa pun", - "DE.Views.SaveFormDlg.textDescription": "Saat menyimpan ke oform, hanya peran dengan bidang yang ditambahkan ke daftar isian", + "DE.Views.SaveFormDlg.textDescription": "Saat menyimpan ke pdf, hanya peran dengan bidang yang ditambahkan ke daftar isian", "DE.Views.SaveFormDlg.textEmpty": "Tidak ada peran yang dikaitkan dengan ruas.", "DE.Views.SaveFormDlg.textFill": "Daftar isian", "DE.Views.SaveFormDlg.txtTitle": "Simpan sebagai Formulir", diff --git a/apps/documenteditor/main/locale/it.json b/apps/documenteditor/main/locale/it.json index 951830fbae..0f8fe18b0a 100644 --- a/apps/documenteditor/main/locale/it.json +++ b/apps/documenteditor/main/locale/it.json @@ -1933,7 +1933,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Casella di controllo", "DE.Views.FormsTab.capBtnComboBox": "Casella combinata", "DE.Views.FormsTab.capBtnComplex": "Campo complesso", - "DE.Views.FormsTab.capBtnDownloadForm": "Scarica come oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Scarica come pdf", "DE.Views.FormsTab.capBtnDropDown": "Menù a discesa", "DE.Views.FormsTab.capBtnEmail": "Indirizzo email", "DE.Views.FormsTab.capBtnImage": "Immagine", @@ -1941,7 +1941,7 @@ "DE.Views.FormsTab.capBtnPhone": "Numero di telefono", "DE.Views.FormsTab.capBtnPrev": "Campo precedente", "DE.Views.FormsTab.capBtnRadioBox": "Pulsante opzione", - "DE.Views.FormsTab.capBtnSaveForm": "Salvare come oform", + "DE.Views.FormsTab.capBtnSaveForm": "Salvare come pdf", "DE.Views.FormsTab.capBtnSubmit": "‎Invia‎", "DE.Views.FormsTab.capBtnText": "‎Campo di testo‎", "DE.Views.FormsTab.capBtnView": "Visualizza modulo", @@ -1949,7 +1949,7 @@ "DE.Views.FormsTab.textAnyone": "Chiunque", "DE.Views.FormsTab.textClear": "Campi liberi", "DE.Views.FormsTab.textClearFields": "‎Cancella tutti i campi‎", - "DE.Views.FormsTab.textCreateForm": "Aggiungi campi e crea un documento OFORM compilabile", + "DE.Views.FormsTab.textCreateForm": "Aggiungi campi e crea un documento PDF compilabile", "DE.Views.FormsTab.textGotIt": "Capito", "DE.Views.FormsTab.textHighlight": "Impostazioni evidenziazione", "DE.Views.FormsTab.textNoHighlight": "Nessuna evidenziazione", @@ -1958,7 +1958,7 @@ "DE.Views.FormsTab.tipCheckBox": "Inserisci casella di controllo", "DE.Views.FormsTab.tipComboBox": "Inserisci una cella combinata", "DE.Views.FormsTab.tipComplexField": "Inserisci campo complesso", - "DE.Views.FormsTab.tipDownloadForm": "Scaricare un file come un documento OFORM compilabile", + "DE.Views.FormsTab.tipDownloadForm": "Scaricare un file come un documento PDF compilabile", "DE.Views.FormsTab.tipDropDown": "Inserisci lista in basso espandibile", "DE.Views.FormsTab.tipEmailField": " Inserisci indirizzo email", "DE.Views.FormsTab.tipImageField": "Inserisci immagine", @@ -1966,7 +1966,7 @@ "DE.Views.FormsTab.tipPhoneField": "Inserisci numero di telefono", "DE.Views.FormsTab.tipPrevForm": "Vai al campo precedente", "DE.Views.FormsTab.tipRadioBox": "Inserisci pulsante di opzione", - "DE.Views.FormsTab.tipSaveForm": "Salvare un file come documento OFORM compilabile", + "DE.Views.FormsTab.tipSaveForm": "Salvare un file come documento PDF compilabile", "DE.Views.FormsTab.tipSubmit": "Invia al modulo", "DE.Views.FormsTab.tipTextField": "Inserisci il campo di testo", "DE.Views.FormsTab.tipViewForm": "Visualizza modulo", diff --git a/apps/documenteditor/main/locale/ja.json b/apps/documenteditor/main/locale/ja.json index 21513757c7..3a8afc6c42 100644 --- a/apps/documenteditor/main/locale/ja.json +++ b/apps/documenteditor/main/locale/ja.json @@ -2221,7 +2221,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "チェックボックス", "DE.Views.FormsTab.capBtnComboBox": "コンボボックス", "DE.Views.FormsTab.capBtnComplex": "複合フィールド", - "DE.Views.FormsTab.capBtnDownloadForm": "oformとしてダウンロードする", + "DE.Views.FormsTab.capBtnDownloadForm": "pdfとしてダウンロードする", "DE.Views.FormsTab.capBtnDropDown": "ドロップダウン", "DE.Views.FormsTab.capBtnEmail": "メールアドレス", "DE.Views.FormsTab.capBtnImage": "画像", @@ -2230,7 +2230,7 @@ "DE.Views.FormsTab.capBtnPhone": "電話番号", "DE.Views.FormsTab.capBtnPrev": "前のフィールド", "DE.Views.FormsTab.capBtnRadioBox": "ラジオボタン", - "DE.Views.FormsTab.capBtnSaveForm": "OFORMとして保存", + "DE.Views.FormsTab.capBtnSaveForm": "pdfとして保存", "DE.Views.FormsTab.capBtnSubmit": "送信", "DE.Views.FormsTab.capBtnText": "テキストフィールド", "DE.Views.FormsTab.capBtnView": "フォームを表示する", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.textAnyone": "誰でも", "DE.Views.FormsTab.textClear": "フィールドをクリアする", "DE.Views.FormsTab.textClearFields": "すべてのフィールドをクリアする", - "DE.Views.FormsTab.textCreateForm": "フィールドを追加して、記入可能なOFORM文書を作成する", + "DE.Views.FormsTab.textCreateForm": "フィールドを追加して、記入可能なPDF文書を作成する", "DE.Views.FormsTab.textGotIt": "OK", "DE.Views.FormsTab.textHighlight": "ハイライト設定", "DE.Views.FormsTab.textNoHighlight": "ハイライト表示なし", @@ -2252,7 +2252,7 @@ "DE.Views.FormsTab.tipCreateField": "フィールドを作成するには、ツールバーで希望のフィールドタイプを選択し、それをクリックします。ドキュメントにフィールドが表示されます。", "DE.Views.FormsTab.tipCreditCard": "クレジットカード番号の入力", "DE.Views.FormsTab.tipDateTime": "日付と時間の入力", - "DE.Views.FormsTab.tipDownloadForm": "記入可能なOFORM文書としてファイルをダウンロードする", + "DE.Views.FormsTab.tipDownloadForm": "記入可能なPDF文書としてファイルをダウンロードする", "DE.Views.FormsTab.tipDropDown": "ドロップダウンリストを挿入", "DE.Views.FormsTab.tipEmailField": "メールアドレスを挿入する", "DE.Views.FormsTab.tipFieldSettings": "右サイドバーで選択したフィールドを設定できます。このアイコンをクリックすると、フィールド設定が開きます。", @@ -2270,7 +2270,7 @@ "DE.Views.FormsTab.tipRadioBox": "ラジオボタンの挿入\t", "DE.Views.FormsTab.tipRolesLink": "役割について詳しく", "DE.Views.FormsTab.tipSaveFile": "「フォームとして保存」をクリックすると、記入可能な形式でフォームが保存されます。", - "DE.Views.FormsTab.tipSaveForm": "ファイルをOFORMの記入式ドキュメントとして保存", + "DE.Views.FormsTab.tipSaveForm": "ファイルをPDFの記入式ドキュメントとして保存", "DE.Views.FormsTab.tipSubmit": "フォームを送信", "DE.Views.FormsTab.tipTextField": "テキストフィールドを挿入", "DE.Views.FormsTab.tipViewForm": "フォームを表示する", diff --git a/apps/documenteditor/main/locale/ko.json b/apps/documenteditor/main/locale/ko.json index 140762b01f..d98c73aefe 100644 --- a/apps/documenteditor/main/locale/ko.json +++ b/apps/documenteditor/main/locale/ko.json @@ -2210,7 +2210,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "체크박스", "DE.Views.FormsTab.capBtnComboBox": "콤보박스", "DE.Views.FormsTab.capBtnComplex": "복합 필드", - "DE.Views.FormsTab.capBtnDownloadForm": "OFORM으로 다운로드", + "DE.Views.FormsTab.capBtnDownloadForm": "pdf으로 다운로드", "DE.Views.FormsTab.capBtnDropDown": "드롭다운", "DE.Views.FormsTab.capBtnEmail": "이메일 주소", "DE.Views.FormsTab.capBtnImage": "이미지", @@ -2229,7 +2229,7 @@ "DE.Views.FormsTab.textAnyone": "누구나", "DE.Views.FormsTab.textClear": "필드 지우기", "DE.Views.FormsTab.textClearFields": "모든 필드 지우기", - "DE.Views.FormsTab.textCreateForm": "필드를 추가하여 작성 가능한 OFORM 문서 작성", + "DE.Views.FormsTab.textCreateForm": "필드를 추가하여 작성 가능한 PDF 문서 작성", "DE.Views.FormsTab.textGotIt": "취득", "DE.Views.FormsTab.textHighlight": "강조 설정", "DE.Views.FormsTab.textNoHighlight": "강조 표시되지 않음", @@ -2240,7 +2240,7 @@ "DE.Views.FormsTab.tipComplexField": "복잡한 필드 삽입", "DE.Views.FormsTab.tipCreditCard": "신용카드 번호 삽입", "DE.Views.FormsTab.tipDateTime": "날짜 및 시간 삽입", - "DE.Views.FormsTab.tipDownloadForm": "파일을 편집 가능한 OFORM 문서로 다운로드하세요", + "DE.Views.FormsTab.tipDownloadForm": "파일을 편집 가능한 PDF 문서로 다운로드하세요", "DE.Views.FormsTab.tipDropDown": "드롭다운 목록 삽입", "DE.Views.FormsTab.tipEmailField": "이메일 주소 삽입", "DE.Views.FormsTab.tipFixedText": "고정 텍스트 필드 삽입", diff --git a/apps/documenteditor/main/locale/lo.json b/apps/documenteditor/main/locale/lo.json index 0cec27485e..9b2eae2b3b 100644 --- a/apps/documenteditor/main/locale/lo.json +++ b/apps/documenteditor/main/locale/lo.json @@ -1817,7 +1817,7 @@ "DE.Views.FormsTab.capBtnView": "ເບິ່ງແບບຟອມ", "DE.Views.FormsTab.textClear": "ລ້າງອອກ", "DE.Views.FormsTab.textClearFields": "ລຶບລ້າງຟີລດທັງໝົດ", - "DE.Views.FormsTab.textCreateForm": "ເພີ່ມຊ່ອງຂໍ້ມູນ ແລະ ສ້າງເອກະສານ FORM ທີ່ສາມາດບັບແຕ່ງໄດ້", + "DE.Views.FormsTab.textCreateForm": "ເພີ່ມຊ່ອງຂໍ້ມູນ ແລະ ສ້າງເອກະສານ PDF ທີ່ສາມາດບັບແຕ່ງໄດ້", "DE.Views.FormsTab.textGotIt": "ໄດ້ແລ້ວ", "DE.Views.FormsTab.textHighlight": "ໄຮໄລການຕັ້ງຄ່າ", "DE.Views.FormsTab.textNoHighlight": "ບໍ່ມີຈຸດເດັ່ນ", @@ -1830,7 +1830,7 @@ "DE.Views.FormsTab.tipNextForm": "ໄປທີ່ຟິວທັດໄປ", "DE.Views.FormsTab.tipPrevForm": "ໄປທີ່ຟິວກ່ອນຫນ້າ", "DE.Views.FormsTab.tipRadioBox": "ເພີ່ມປູ່ມວົງມົນ", - "DE.Views.FormsTab.tipSaveForm": "ບັນທືກເປັນໄຟລ໌ເອກະສານ OFORM ທີ່ສາມາດແກ້ໄຂໄດ້", + "DE.Views.FormsTab.tipSaveForm": "ບັນທືກເປັນໄຟລ໌ເອກະສານ PDF ທີ່ສາມາດແກ້ໄຂໄດ້", "DE.Views.FormsTab.tipSubmit": "ສົ່ງອອກແບບຟອມ", "DE.Views.FormsTab.tipTextField": "ເພີ່ມຂໍ້ຄວາມໃນຊ່ອງ", "DE.Views.FormsTab.tipViewForm": "ຕື່ມຈາກໂໝດ", diff --git a/apps/documenteditor/main/locale/lv.json b/apps/documenteditor/main/locale/lv.json index 8463f983ef..08accccb51 100644 --- a/apps/documenteditor/main/locale/lv.json +++ b/apps/documenteditor/main/locale/lv.json @@ -2155,7 +2155,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Izvēles rūtiņa", "DE.Views.FormsTab.capBtnComboBox": "Kombinētais lodziņš", "DE.Views.FormsTab.capBtnComplex": "Sarežģīts lauks", - "DE.Views.FormsTab.capBtnDownloadForm": "Lejupielādēt kā oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Lejupielādēt kā pdf", "DE.Views.FormsTab.capBtnDropDown": "Nolaižams", "DE.Views.FormsTab.capBtnEmail": "E-pasta adrese", "DE.Views.FormsTab.capBtnImage": "Attēls", @@ -2164,7 +2164,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefona numurs", "DE.Views.FormsTab.capBtnPrev": "Iepriekšējais lauks", "DE.Views.FormsTab.capBtnRadioBox": "Radio poga", - "DE.Views.FormsTab.capBtnSaveForm": "Saglabāt kā oform", + "DE.Views.FormsTab.capBtnSaveForm": "Saglabāt kā pdf", "DE.Views.FormsTab.capBtnSubmit": "Iesniegt", "DE.Views.FormsTab.capBtnText": "Teksta lauks", "DE.Views.FormsTab.capBtnView": "Skatīt veidlapu", @@ -2174,7 +2174,7 @@ "DE.Views.FormsTab.textAnyone": "Jebkurš", "DE.Views.FormsTab.textClear": "Notīrīt lauku", "DE.Views.FormsTab.textClearFields": "Notīrīt visus laukus", - "DE.Views.FormsTab.textCreateForm": "Pievienot laukus un izveidot aizpildāmu OFORM dokumentu", + "DE.Views.FormsTab.textCreateForm": "Pievienot laukus un izveidot aizpildāmu PDF dokumentu", "DE.Views.FormsTab.textGotIt": "Sapratu", "DE.Views.FormsTab.textHighlight": "Izcelt iestatījumus", "DE.Views.FormsTab.textNoHighlight": "Bez izcelšanas", @@ -2185,7 +2185,7 @@ "DE.Views.FormsTab.tipComplexField": "Ievietot sarežģītu lauku", "DE.Views.FormsTab.tipCreditCard": "Ievietot kredītkartes numuru", "DE.Views.FormsTab.tipDateTime": "Ievietot datumu un laiku", - "DE.Views.FormsTab.tipDownloadForm": "Lejupielādēt failu kā aizpildāmu OFORM dokumentu", + "DE.Views.FormsTab.tipDownloadForm": "Lejupielādēt failu kā aizpildāmu PDF dokumentu", "DE.Views.FormsTab.tipDropDown": "Ievietot nolaižamo sarakstu", "DE.Views.FormsTab.tipEmailField": "Ievietot e-pasta adresi", "DE.Views.FormsTab.tipFixedText": "Ievietot fiksētu teksta lauku", @@ -2196,7 +2196,7 @@ "DE.Views.FormsTab.tipPhoneField": "Ievietot tālruņa numuru", "DE.Views.FormsTab.tipPrevForm": "Doties uz iepriekšējo lauku", "DE.Views.FormsTab.tipRadioBox": "Ievietot radio pogu", - "DE.Views.FormsTab.tipSaveForm": "Saglabāt failu kā aizpildāmu OFORM dokumentu", + "DE.Views.FormsTab.tipSaveForm": "Saglabāt failu kā aizpildāmu PDF dokumentu", "DE.Views.FormsTab.tipSubmit": "Iesniegt formu", "DE.Views.FormsTab.tipTextField": "Ievietot teksta lauku", "DE.Views.FormsTab.tipViewForm": "Skatīt veidlapu", @@ -2741,7 +2741,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Vai tiešām vēlaties dzēst lomu {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Saglabāt", "DE.Views.SaveFormDlg.textAnyone": "Jebkurš", - "DE.Views.SaveFormDlg.textDescription": "Saglabājot oform, aizpildīšanas sarakstam tiek pievienotas tikai lomas ar laukiem", + "DE.Views.SaveFormDlg.textDescription": "Saglabājot pdf, aizpildīšanas sarakstam tiek pievienotas tikai lomas ar laukiem", "DE.Views.SaveFormDlg.textEmpty": "Nav ar laukiem nav saistītu lomu.", "DE.Views.SaveFormDlg.textFill": "Aizpildīšanas saraksts", "DE.Views.SaveFormDlg.txtTitle": "Saglabāt kā veidlapu", diff --git a/apps/documenteditor/main/locale/ms.json b/apps/documenteditor/main/locale/ms.json index 55d65a1fe7..7c291bc3e3 100644 --- a/apps/documenteditor/main/locale/ms.json +++ b/apps/documenteditor/main/locale/ms.json @@ -1874,7 +1874,7 @@ "DE.Views.FormSettings.textWidth": "Lebar sell", "DE.Views.FormsTab.capBtnCheckBox": "Kotak semak", "DE.Views.FormsTab.capBtnComboBox": "Kotak kombo", - "DE.Views.FormsTab.capBtnDownloadForm": "Muat turun sebagai oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Muat turun sebagai pdf", "DE.Views.FormsTab.capBtnDropDown": "Juntai bawah", "DE.Views.FormsTab.capBtnEmail": "Alamat e-mel", "DE.Views.FormsTab.capBtnImage": "Imej", @@ -1882,13 +1882,13 @@ "DE.Views.FormsTab.capBtnPhone": "Nombor telefon", "DE.Views.FormsTab.capBtnPrev": "Medan Sebelumnya", "DE.Views.FormsTab.capBtnRadioBox": "Butang Radio", - "DE.Views.FormsTab.capBtnSaveForm": "Simpan sebagai oform", + "DE.Views.FormsTab.capBtnSaveForm": "Simpan sebagai pdf", "DE.Views.FormsTab.capBtnSubmit": "Serah", "DE.Views.FormsTab.capBtnText": "Medan Teks", "DE.Views.FormsTab.capBtnView": "Lihat borang", "DE.Views.FormsTab.textClear": "Kosongkan Medan", "DE.Views.FormsTab.textClearFields": "Kosongkan Semua Medan", - "DE.Views.FormsTab.textCreateForm": "Tambah medan atau cipta dokumen OFORM yang boleh diisi", + "DE.Views.FormsTab.textCreateForm": "Tambah medan atau cipta dokumen PDF yang boleh diisi", "DE.Views.FormsTab.textGotIt": "Faham", "DE.Views.FormsTab.textHighlight": "Seting Sorotan Penting", "DE.Views.FormsTab.textNoHighlight": "Tiada penyerlahan", @@ -1896,13 +1896,13 @@ "DE.Views.FormsTab.textSubmited": "Borang telah berjaya diserahkan", "DE.Views.FormsTab.tipCheckBox": "Sisipkan kotak semak", "DE.Views.FormsTab.tipComboBox": "Sisipkan kotak kombo", - "DE.Views.FormsTab.tipDownloadForm": "Muat turun fail sebagai dokumen OFORM yang boleh diisi", + "DE.Views.FormsTab.tipDownloadForm": "Muat turun fail sebagai dokumen PDF yang boleh diisi", "DE.Views.FormsTab.tipDropDown": "Sisipkan senarai juntai bawah", "DE.Views.FormsTab.tipImageField": "Sisipkan imej", "DE.Views.FormsTab.tipNextForm": "Pergi ke medan seterusnya", "DE.Views.FormsTab.tipPrevForm": "Pergi ke medan sebelumnya", "DE.Views.FormsTab.tipRadioBox": "Sisipkan butang radio", - "DE.Views.FormsTab.tipSaveForm": "Simpan fail sebagai dokumen OFORM yang boleh diisi", + "DE.Views.FormsTab.tipSaveForm": "Simpan fail sebagai dokumen PDF yang boleh diisi", "DE.Views.FormsTab.tipSubmit": "Serah borang", "DE.Views.FormsTab.tipTextField": "Sisip medan teks", "DE.Views.FormsTab.tipViewForm": "Lihat borang", diff --git a/apps/documenteditor/main/locale/nl.json b/apps/documenteditor/main/locale/nl.json index 90e67a1560..db38daca77 100644 --- a/apps/documenteditor/main/locale/nl.json +++ b/apps/documenteditor/main/locale/nl.json @@ -1913,20 +1913,20 @@ "DE.Views.FormSettings.textWidth": "Celbreedte", "DE.Views.FormsTab.capBtnCheckBox": "Checkbox", "DE.Views.FormsTab.capBtnComboBox": "Keuzelijst", - "DE.Views.FormsTab.capBtnDownloadForm": "Downloaden als oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Downloaden als pdf", "DE.Views.FormsTab.capBtnDropDown": "Dropdown", "DE.Views.FormsTab.capBtnImage": "Afbeelding", "DE.Views.FormsTab.capBtnNext": "Volgend veld ", "DE.Views.FormsTab.capBtnPrev": "Vorig veld", "DE.Views.FormsTab.capBtnRadioBox": "Radial knop", - "DE.Views.FormsTab.capBtnSaveForm": "Opslaan als OFORM", + "DE.Views.FormsTab.capBtnSaveForm": "Opslaan als pdf", "DE.Views.FormsTab.capBtnSubmit": "Verzenden ", "DE.Views.FormsTab.capBtnText": "Tekstvak", "DE.Views.FormsTab.capBtnView": "Bekijk formulier", "DE.Views.FormsTab.textAnyone": "Iedereen", "DE.Views.FormsTab.textClear": "Velden wissen ", "DE.Views.FormsTab.textClearFields": "Wis alle velden", - "DE.Views.FormsTab.textCreateForm": "Voeg velden toe en maak een invulbaar OFORM document", + "DE.Views.FormsTab.textCreateForm": "Voeg velden toe en maak een invulbaar PDF document", "DE.Views.FormsTab.textGotIt": "Begrepen", "DE.Views.FormsTab.textHighlight": "Markeer Instellingen", "DE.Views.FormsTab.textNoHighlight": "Geen accentuering", @@ -1934,13 +1934,13 @@ "DE.Views.FormsTab.textSubmited": "Formulier succesvol ingediend ", "DE.Views.FormsTab.tipCheckBox": "Selectievakje invoegen", "DE.Views.FormsTab.tipComboBox": "Plaats de keuzelijst met invoervak", - "DE.Views.FormsTab.tipDownloadForm": "Een bestand downloaden als invulbaar OFORM-document", + "DE.Views.FormsTab.tipDownloadForm": "Een bestand downloaden als invulbaar PDF-document", "DE.Views.FormsTab.tipDropDown": "Dropdown-lijst invoegen", "DE.Views.FormsTab.tipImageField": "Afbeelding invoegen", "DE.Views.FormsTab.tipNextForm": "Ga naar het volgende veld ", "DE.Views.FormsTab.tipPrevForm": "Ga naar het vorige veld ", "DE.Views.FormsTab.tipRadioBox": "Voeg keuzerondje in", - "DE.Views.FormsTab.tipSaveForm": "Bestand opslaan als invulbaar OFORM document", + "DE.Views.FormsTab.tipSaveForm": "Bestand opslaan als invulbaar PDF document", "DE.Views.FormsTab.tipSubmit": "Formulier verzenden ", "DE.Views.FormsTab.tipTextField": "Tekstveld invoegen", "DE.Views.FormsTab.tipViewForm": "Invul modus", diff --git a/apps/documenteditor/main/locale/no.json b/apps/documenteditor/main/locale/no.json index 42fb09b015..55590aa71d 100644 --- a/apps/documenteditor/main/locale/no.json +++ b/apps/documenteditor/main/locale/no.json @@ -726,7 +726,7 @@ "DE.Views.FormsTab.capBtnEmail": "E-postadresse", "DE.Views.FormsTab.capBtnImage": "Bilde", "DE.Views.FormsTab.textAnyone": "Hvemsomhelst", - "DE.Views.FormsTab.textCreateForm": "Legg til felt og lag et utfyllbart OFORM-dokument", + "DE.Views.FormsTab.textCreateForm": "Legg til felt og lag et utfyllbart PDF-dokument", "DE.Views.FormsTab.tipImageField": "Sett inn bilde", "DE.Views.HeaderFooterSettings.textBottomCenter": "Bunn senter", "DE.Views.HeaderFooterSettings.textBottomLeft": "Margin bunn", diff --git a/apps/documenteditor/main/locale/pl.json b/apps/documenteditor/main/locale/pl.json index 96aa33d956..2ad9b6772e 100644 --- a/apps/documenteditor/main/locale/pl.json +++ b/apps/documenteditor/main/locale/pl.json @@ -1937,7 +1937,7 @@ "DE.Views.FormsTab.capZipCode": "Kod pocztowy", "DE.Views.FormsTab.textClear": "Wyczyść pola", "DE.Views.FormsTab.textClearFields": "Wyczyść wszystkie pola", - "DE.Views.FormsTab.textCreateForm": "Dodaj pola i utwórz dokument OFORM z możliwością wypełnienia", + "DE.Views.FormsTab.textCreateForm": "Dodaj pola i utwórz dokument PDF z możliwością wypełnienia", "DE.Views.FormsTab.textGotIt": "Rozumiem", "DE.Views.FormsTab.textHighlight": "Ustawienia wyróżniania", "DE.Views.FormsTab.textNoHighlight": "Brak wyróżnienia", @@ -1950,7 +1950,7 @@ "DE.Views.FormsTab.tipNextForm": "Przejdź do następnego pola", "DE.Views.FormsTab.tipPrevForm": "Przejdź do poprzedniego pola", "DE.Views.FormsTab.tipRadioBox": "Wstaw przycisk opcji", - "DE.Views.FormsTab.tipSaveForm": "Zapisz plik jako wypełnialny dokument OFORM", + "DE.Views.FormsTab.tipSaveForm": "Zapisz plik jako wypełnialny dokument PDF", "DE.Views.FormsTab.tipSubmit": "Prześlij formularz", "DE.Views.FormsTab.tipTextField": "Wstaw pole tekstowe", "DE.Views.FormsTab.tipViewForm": "Zobacz formularz", diff --git a/apps/documenteditor/main/locale/pt-pt.json b/apps/documenteditor/main/locale/pt-pt.json index 2be60eed44..04fab91f03 100644 --- a/apps/documenteditor/main/locale/pt-pt.json +++ b/apps/documenteditor/main/locale/pt-pt.json @@ -1966,7 +1966,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Caixa de seleção", "DE.Views.FormsTab.capBtnComboBox": "Caixa de combinação", "DE.Views.FormsTab.capBtnComplex": "Campo complexo", - "DE.Views.FormsTab.capBtnDownloadForm": "Descarregar como OFORM", + "DE.Views.FormsTab.capBtnDownloadForm": "Descarregar como pdf", "DE.Views.FormsTab.capBtnDropDown": "Suspenso", "DE.Views.FormsTab.capBtnEmail": "Endereço de e-mail", "DE.Views.FormsTab.capBtnImage": "Imagem", @@ -1975,7 +1975,7 @@ "DE.Views.FormsTab.capBtnPhone": "Número de telefone", "DE.Views.FormsTab.capBtnPrev": "Campo anterior", "DE.Views.FormsTab.capBtnRadioBox": "Botão Seleção", - "DE.Views.FormsTab.capBtnSaveForm": "Guardar como oform", + "DE.Views.FormsTab.capBtnSaveForm": "Guardar como pdf", "DE.Views.FormsTab.capBtnSubmit": "Submeter", "DE.Views.FormsTab.capBtnText": "Campo de texto", "DE.Views.FormsTab.capBtnView": "Ver formulário", @@ -1985,7 +1985,7 @@ "DE.Views.FormsTab.textAnyone": "Alguém", "DE.Views.FormsTab.textClear": "Limpar campos", "DE.Views.FormsTab.textClearFields": "Limpar todos os campos", - "DE.Views.FormsTab.textCreateForm": "Adicione campos e crie um documento FORM preenchível", + "DE.Views.FormsTab.textCreateForm": "Adicione campos e crie um documento PDF preenchível", "DE.Views.FormsTab.textGotIt": "Percebi", "DE.Views.FormsTab.textHighlight": "Definições de destaque", "DE.Views.FormsTab.textNoHighlight": "Sem realce", @@ -1996,7 +1996,7 @@ "DE.Views.FormsTab.tipComplexField": "Inserir campo complexo", "DE.Views.FormsTab.tipCreditCard": "Inserir número de cartão de crédito", "DE.Views.FormsTab.tipDateTime": "Inserir data e hora", - "DE.Views.FormsTab.tipDownloadForm": "Descarregar ficheiro no formato OFORM editável", + "DE.Views.FormsTab.tipDownloadForm": "Descarregar ficheiro no formato PDF editável", "DE.Views.FormsTab.tipDropDown": "Inserir lista suspensa", "DE.Views.FormsTab.tipEmailField": "Inserir endereço eletrónico", "DE.Views.FormsTab.tipFieldSettings": "Pode configurar os campos selecionados na barra lateral direita. Clique neste ícone para abrir as definições do campo.", @@ -2008,7 +2008,7 @@ "DE.Views.FormsTab.tipPrevForm": "Ir para o campo anterior", "DE.Views.FormsTab.tipRadioBox": "Inserir botão de seleção", "DE.Views.FormsTab.tipRolesLink": "Saiba mais sobre as funções", - "DE.Views.FormsTab.tipSaveForm": "Guardar ficheiro como documento OFORM editável", + "DE.Views.FormsTab.tipSaveForm": "Guardar ficheiro como documento PDF editável", "DE.Views.FormsTab.tipSubmit": "Submeter forma", "DE.Views.FormsTab.tipTextField": "Inserir campo de texto", "DE.Views.FormsTab.tipViewForm": "Ver formulário", @@ -2502,7 +2502,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Tem a certeza de que deseja eliminar a função {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Guardar", "DE.Views.SaveFormDlg.textAnyone": "Alguém", - "DE.Views.SaveFormDlg.textDescription": "Ao guardar no oform, apenas as funções com campos são adicionadas à lista de preenchimento", + "DE.Views.SaveFormDlg.textDescription": "Ao guardar no pdf, apenas as funções com campos são adicionadas à lista de preenchimento", "DE.Views.SaveFormDlg.textEmpty": "Não há funções associadas aos campos.", "DE.Views.SaveFormDlg.txtTitle": "Guardar como formulário", "DE.Views.ShapeSettings.strBackground": "Cor de fundo", diff --git a/apps/documenteditor/main/locale/pt.json b/apps/documenteditor/main/locale/pt.json index 7b7c7e3423..e42620e96f 100644 --- a/apps/documenteditor/main/locale/pt.json +++ b/apps/documenteditor/main/locale/pt.json @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Caixa de seleção", "DE.Views.FormsTab.capBtnComboBox": "Caixa de combinação", "DE.Views.FormsTab.capBtnComplex": "Campo complexo", - "DE.Views.FormsTab.capBtnDownloadForm": "Baixe como oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Baixe como pdf", "DE.Views.FormsTab.capBtnDropDown": "Suspenso", "DE.Views.FormsTab.capBtnEmail": "Endereço de e-mail", "DE.Views.FormsTab.capBtnImage": "Imagem", @@ -2241,7 +2241,7 @@ "DE.Views.FormsTab.textAnyone": "Alguém", "DE.Views.FormsTab.textClear": "Limpar campos.", "DE.Views.FormsTab.textClearFields": "Limpar todos os campos", - "DE.Views.FormsTab.textCreateForm": "Adicione campos e crie um documento FORM preenchível", + "DE.Views.FormsTab.textCreateForm": "Adicione campos e crie um documento PDF preenchível", "DE.Views.FormsTab.textGotIt": "Entendi", "DE.Views.FormsTab.textHighlight": "Configurações de destaque", "DE.Views.FormsTab.textNoHighlight": "Sem destaque", @@ -2253,7 +2253,7 @@ "DE.Views.FormsTab.tipCreateField": "Para criar um campo selecione o tipo de campo desejado na barra de ferramentas e clique nele. O campo aparecerá no documento.", "DE.Views.FormsTab.tipCreditCard": "Inserir número de cartão de crédito", "DE.Views.FormsTab.tipDateTime": "Inserir data e hora", - "DE.Views.FormsTab.tipDownloadForm": "Baixar um arquivo como um documento FORM preenchível", + "DE.Views.FormsTab.tipDownloadForm": "Baixar um arquivo como um documento PDF preenchível", "DE.Views.FormsTab.tipDropDown": "Inserir lista suspensa", "DE.Views.FormsTab.tipEmailField": "Inserir endereço de e-mail", "DE.Views.FormsTab.tipFieldSettings": "Você pode configurar os campos selecionados na barra lateral direita. Clique neste ícone para abrir as configurações do campo.", @@ -2270,8 +2270,8 @@ "DE.Views.FormsTab.tipPrevForm": "Ir para o campo anterior", "DE.Views.FormsTab.tipRadioBox": "Inserir botão de rádio", "DE.Views.FormsTab.tipRolesLink": "Saiba mais sobre funções", - "DE.Views.FormsTab.tipSaveFile": "Clique em “Salvar como formulário” para salvar o formulário no formato pronto para preenchimento.", - "DE.Views.FormsTab.tipSaveForm": "Salvar um arquivo como um documento OFORM preenchível", + "DE.Views.FormsTab.tipSaveFile": "Clique em “Salvar como pdf” para salvar o formulário no formato pronto para preenchimento.", + "DE.Views.FormsTab.tipSaveForm": "Salvar um arquivo como um documento PDF preenchível", "DE.Views.FormsTab.tipSubmit": "Enviar para", "DE.Views.FormsTab.tipTextField": "Inserir campo de texto", "DE.Views.FormsTab.tipViewForm": "Ver formulário", @@ -2847,7 +2847,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Tem certeza de que deseja excluir a função {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Salvar", "DE.Views.SaveFormDlg.textAnyone": "Alguém", - "DE.Views.SaveFormDlg.textDescription": "Ao salvar no oform, apenas as funções com campos são adicionadas à lista de preenchimento", + "DE.Views.SaveFormDlg.textDescription": "Ao salvar no pdf, apenas as funções com campos são adicionadas à lista de preenchimento", "DE.Views.SaveFormDlg.textEmpty": "Não há funções associadas aos campos.", "DE.Views.SaveFormDlg.textFill": "Lista de preenchimento", "DE.Views.SaveFormDlg.txtTitle": "Salvar como formulário", diff --git a/apps/documenteditor/main/locale/ro.json b/apps/documenteditor/main/locale/ro.json index d8b97c746a..5e1d7107b5 100644 --- a/apps/documenteditor/main/locale/ro.json +++ b/apps/documenteditor/main/locale/ro.json @@ -1214,6 +1214,7 @@ "DE.Controllers.Toolbar.notcriticalErrorTitle": "Avertisment", "DE.Controllers.Toolbar.textAccent": "Accente", "DE.Controllers.Toolbar.textBracket": "Paranteze", + "DE.Controllers.Toolbar.textConvertForm": "Descarcă fișierul în format PDF pentru a salva formularul în formatul gata sa fie completat. ", "DE.Controllers.Toolbar.textEmptyImgUrl": "Trebuie specificată adresa URL a imaginii.", "DE.Controllers.Toolbar.textEmptyMMergeUrl": "Trebuie să specificaţi URL-ul.", "DE.Controllers.Toolbar.textFontSizeErr": "Valoarea introdusă nu este corectă.
    Introduceți valoarea numerică de la 1 până la 300.", @@ -2222,7 +2223,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Caseta de selectare", "DE.Views.FormsTab.capBtnComboBox": "Casetă combo", "DE.Views.FormsTab.capBtnComplex": "Câmp complex", - "DE.Views.FormsTab.capBtnDownloadForm": "Descărcare în formatul oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Descărcare în formatul pdf", "DE.Views.FormsTab.capBtnDropDown": "Derulant", "DE.Views.FormsTab.capBtnEmail": "Adresă de e-mail", "DE.Views.FormsTab.capBtnImage": "Imagine", @@ -2231,7 +2232,7 @@ "DE.Views.FormsTab.capBtnPhone": "Număr de telefon", "DE.Views.FormsTab.capBtnPrev": "Câmpul anterior", "DE.Views.FormsTab.capBtnRadioBox": "Buton opțiune", - "DE.Views.FormsTab.capBtnSaveForm": "Salvare ca un formular OFORM", + "DE.Views.FormsTab.capBtnSaveForm": "Salvare ca un formular pdf", "DE.Views.FormsTab.capBtnSubmit": "Trimitere", "DE.Views.FormsTab.capBtnText": "Câmp text", "DE.Views.FormsTab.capBtnView": "Vizualizare formular", @@ -2239,9 +2240,9 @@ "DE.Views.FormsTab.capDateTime": "Dată și oră", "DE.Views.FormsTab.capZipCode": "Cod poștal", "DE.Views.FormsTab.textAnyone": "Orice utilizator", - "DE.Views.FormsTab.textClear": "Ștergerea câmpurilor", + "DE.Views.FormsTab.textClear": "Golirea câmpurilor", "DE.Views.FormsTab.textClearFields": "Goleşte toate câmpurile", - "DE.Views.FormsTab.textCreateForm": "Adăugați câmpurile și creați un fișier OFORM spre completare", + "DE.Views.FormsTab.textCreateForm": "Adăugați câmpurile și creați un fișier PDF spre completare", "DE.Views.FormsTab.textGotIt": "Am înțeles", "DE.Views.FormsTab.textHighlight": "Evidențiere setări", "DE.Views.FormsTab.textNoHighlight": "Fără evidențiere", @@ -2253,7 +2254,7 @@ "DE.Views.FormsTab.tipCreateField": "Pentru a crea un câmp, selectați tipul de câmp dorit din bara de instrumente și faceți clic pe el. Câmpul va apărea în documentul.", "DE.Views.FormsTab.tipCreditCard": "Inserare numărul cardului de credit", "DE.Views.FormsTab.tipDateTime": "Inserare dată și oră", - "DE.Views.FormsTab.tipDownloadForm": "Descărcare ca un fișer OFORM spre completare", + "DE.Views.FormsTab.tipDownloadForm": "Descărcare ca un fișer PDF spre completare", "DE.Views.FormsTab.tipDropDown": "Se inserează un control listă verticală", "DE.Views.FormsTab.tipEmailField": "Inserare adresă e-mail", "DE.Views.FormsTab.tipFieldSettings": "Puteți configura câmpurile selectate pe bara laterală din dreapta. Faceți clic pe acestă pictogramă pentru a deschide setările de câmp.", @@ -2270,8 +2271,8 @@ "DE.Views.FormsTab.tipPrevForm": "Salt la câmpul anterior", "DE.Views.FormsTab.tipRadioBox": "Se inserează un control buton opțiune", "DE.Views.FormsTab.tipRolesLink": "Aflați mai multe despre roluri", - "DE.Views.FormsTab.tipSaveFile": "Faceți clic pe Salvare ca un formular OFORM pentru a înregistra formularul în formatul gata sa fie completat.", - "DE.Views.FormsTab.tipSaveForm": "Salvare ca un fișer OFORM spre completare", + "DE.Views.FormsTab.tipSaveFile": "Faceți clic pe Salvare ca un formular pdf pentru a înregistra formularul în formatul gata sa fie completat.", + "DE.Views.FormsTab.tipSaveForm": "Salvare ca un fișer PDF spre completare", "DE.Views.FormsTab.tipSubmit": "Trimitere formular", "DE.Views.FormsTab.tipTextField": "Se inserează un control câmp text", "DE.Views.FormsTab.tipViewForm": "Vizualizare formular", @@ -2847,7 +2848,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Sigur doriți să ștergeți rolul {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Salvare", "DE.Views.SaveFormDlg.textAnyone": "Orice utilizator", - "DE.Views.SaveFormDlg.textDescription": "La salvare ca format oform, numai roluri cu câmpuri vor fi adăugate la lista de completare", + "DE.Views.SaveFormDlg.textDescription": "La salvare ca format pdf, numai roluri cu câmpuri vor fi adăugate la lista de completare", "DE.Views.SaveFormDlg.textEmpty": "Nu există niciun rol asociat cu câmpuri.", "DE.Views.SaveFormDlg.textFill": "Lista de completare", "DE.Views.SaveFormDlg.txtTitle": "Salvare ca formular", diff --git a/apps/documenteditor/main/locale/ru.json b/apps/documenteditor/main/locale/ru.json index efbcecd272..3e648fcc66 100644 --- a/apps/documenteditor/main/locale/ru.json +++ b/apps/documenteditor/main/locale/ru.json @@ -1214,6 +1214,7 @@ "DE.Controllers.Toolbar.notcriticalErrorTitle": "Внимание", "DE.Controllers.Toolbar.textAccent": "Диакритические знаки", "DE.Controllers.Toolbar.textBracket": "Скобки", + "DE.Controllers.Toolbar.textConvertForm": "Скачайте файл как pdf, чтобы сохранить форму в формате, готовом для заполнения.", "DE.Controllers.Toolbar.textEmptyImgUrl": "Необходимо указать URL изображения.", "DE.Controllers.Toolbar.textEmptyMMergeUrl": "Необходимо указать URL.", "DE.Controllers.Toolbar.textFontSizeErr": "Введенное значение некорректно.
    Введите числовое значение от 1 до 300", @@ -2222,7 +2223,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Флажок", "DE.Views.FormsTab.capBtnComboBox": "Поле со списком", "DE.Views.FormsTab.capBtnComplex": "Составное поле", - "DE.Views.FormsTab.capBtnDownloadForm": "Скачать как oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Скачать как pdf", "DE.Views.FormsTab.capBtnDropDown": "Выпадающий список", "DE.Views.FormsTab.capBtnEmail": "Адрес email", "DE.Views.FormsTab.capBtnImage": "Изображение", @@ -2231,7 +2232,7 @@ "DE.Views.FormsTab.capBtnPhone": "Номер телефона", "DE.Views.FormsTab.capBtnPrev": "Предыдущее поле", "DE.Views.FormsTab.capBtnRadioBox": "Переключатель", - "DE.Views.FormsTab.capBtnSaveForm": "Сохранить как oform", + "DE.Views.FormsTab.capBtnSaveForm": "Сохранить как pdf", "DE.Views.FormsTab.capBtnSubmit": "Отправить", "DE.Views.FormsTab.capBtnText": "Текстовое поле", "DE.Views.FormsTab.capBtnView": "Просмотреть форму", @@ -2241,7 +2242,7 @@ "DE.Views.FormsTab.textAnyone": "Любой", "DE.Views.FormsTab.textClear": "Очистить поля", "DE.Views.FormsTab.textClearFields": "Очистить все поля", - "DE.Views.FormsTab.textCreateForm": "Добавьте поля и создайте заполняемый документ OFORM", + "DE.Views.FormsTab.textCreateForm": "Добавьте поля и создайте заполняемый документ PDF", "DE.Views.FormsTab.textGotIt": "ОК", "DE.Views.FormsTab.textHighlight": "Цвет подсветки", "DE.Views.FormsTab.textNoHighlight": "Без подсветки", @@ -2253,7 +2254,7 @@ "DE.Views.FormsTab.tipCreateField": "Чтобы создать поле, выберите нужный тип поля на панели инструментов и нажмите на него. Поле появится в документе.", "DE.Views.FormsTab.tipCreditCard": "Вставить номер кредитной карты", "DE.Views.FormsTab.tipDateTime": "Вставить дату и время", - "DE.Views.FormsTab.tipDownloadForm": "Скачать файл как заполняемый документ OFORM", + "DE.Views.FormsTab.tipDownloadForm": "Скачать как заполняемый PDF-файл", "DE.Views.FormsTab.tipDropDown": "Вставить выпадающий список", "DE.Views.FormsTab.tipEmailField": "Вставить адрес email", "DE.Views.FormsTab.tipFieldSettings": "Вы можете настроить выбранные поля на правой боковой панели. Нажмите на этот значок, чтобы открыть настройки поля.", @@ -2270,8 +2271,8 @@ "DE.Views.FormsTab.tipPrevForm": "Перейти к предыдущему полю", "DE.Views.FormsTab.tipRadioBox": "Вставить переключатель", "DE.Views.FormsTab.tipRolesLink": "Узнать больше о ролях", - "DE.Views.FormsTab.tipSaveFile": "Нажмите “Сохранить как oform”, чтобы сохранить форму в формате, готовом для заполнения.", - "DE.Views.FormsTab.tipSaveForm": "Сохранить файл как заполняемый документ OFORM", + "DE.Views.FormsTab.tipSaveFile": "Нажмите “Сохранить как pdf”, чтобы сохранить форму в формате, готовом для заполнения.", + "DE.Views.FormsTab.tipSaveForm": "Сохранить как заполняемый PDF-файл", "DE.Views.FormsTab.tipSubmit": "Отправить форму", "DE.Views.FormsTab.tipTextField": "Вставить текстовое поле", "DE.Views.FormsTab.tipViewForm": "Просмотреть форму", @@ -2847,7 +2848,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Вы действительно хотите удалить роль {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Сохранить", "DE.Views.SaveFormDlg.textAnyone": "Любой", - "DE.Views.SaveFormDlg.textDescription": "При сохранении в oform в список заполнения добавляются только роли с полями", + "DE.Views.SaveFormDlg.textDescription": "При сохранении в pdf в список заполнения добавляются только роли с полями", "DE.Views.SaveFormDlg.textEmpty": "Нет ролей, связанных с этим полем.", "DE.Views.SaveFormDlg.textFill": "Список заполнения", "DE.Views.SaveFormDlg.txtTitle": "Сохранить как форму", diff --git a/apps/documenteditor/main/locale/si.json b/apps/documenteditor/main/locale/si.json index b75fbe0373..863b986e29 100644 --- a/apps/documenteditor/main/locale/si.json +++ b/apps/documenteditor/main/locale/si.json @@ -2213,7 +2213,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "හරි යෙදීම", "DE.Views.FormsTab.capBtnComboBox": "සංයුක්ත පෙට්ටිය", "DE.Views.FormsTab.capBtnComplex": "සංකීර්ණ ක්‍ෂේත්‍රය", - "DE.Views.FormsTab.capBtnDownloadForm": "oform ලෙස බාගන්න", + "DE.Views.FormsTab.capBtnDownloadForm": "pdf ලෙස බාගන්න", "DE.Views.FormsTab.capBtnDropDown": "දිග හැරුම", "DE.Views.FormsTab.capBtnEmail": "වි-තැපැල් ලිපිනය", "DE.Views.FormsTab.capBtnImage": "අනුරුව", @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnPhone": "දුරකථන අංකය", "DE.Views.FormsTab.capBtnPrev": "කලින් ක්‍ෂේත්‍රය", "DE.Views.FormsTab.capBtnRadioBox": "වෘත බොත්තම", - "DE.Views.FormsTab.capBtnSaveForm": "oform ලෙස සුරකින්න", + "DE.Views.FormsTab.capBtnSaveForm": "pdf ලෙස සුරකින්න", "DE.Views.FormsTab.capBtnSubmit": "යොමන්න", "DE.Views.FormsTab.capBtnText": "පාඨයේ ක්‍ෂේත්‍රය", "DE.Views.FormsTab.capBtnView": "ආකෘතිපත්‍රය බලන්න", @@ -2232,7 +2232,7 @@ "DE.Views.FormsTab.textAnyone": "සැමටම", "DE.Views.FormsTab.textClear": "ක්‍ෂේත්‍ර හිස්කරන්න", "DE.Views.FormsTab.textClearFields": "සියළු ක්‍ෂේත්‍ර හිස්කරන්න", - "DE.Views.FormsTab.textCreateForm": "ක්‍ෂේත්‍ර එකතු කර පිරවිය හැකි OFORM ලේඛනයක් සාදන්න", + "DE.Views.FormsTab.textCreateForm": "ක්‍ෂේත්‍ර එකතු කර පිරවිය හැකි PDF ලේඛනයක් සාදන්න", "DE.Views.FormsTab.textGotIt": "තේරුණා", "DE.Views.FormsTab.textHighlight": "සැකසුම් තීව්‍රාලෝක කරන්න", "DE.Views.FormsTab.textNoHighlight": "ත්‍රීවාලෝක නැත", @@ -2243,7 +2243,7 @@ "DE.Views.FormsTab.tipComplexField": "සංකීර්ණ ක්‍ෂේත්‍රය යොදන්න", "DE.Views.FormsTab.tipCreditCard": "ණය පතෙහි අංකය යොදන්න", "DE.Views.FormsTab.tipDateTime": "දිනය හා වේලාව යොදන්න", - "DE.Views.FormsTab.tipDownloadForm": "පිරවිය හැකි OFORM ලේඛනයක් ලෙස ගොනුවක් බාගන්න", + "DE.Views.FormsTab.tipDownloadForm": "පිරවිය හැකි PDF ලේඛනයක් ලෙස ගොනුවක් බාගන්න", "DE.Views.FormsTab.tipDropDown": "දිග හැරුම් ලේඛනය යොදන්න", "DE.Views.FormsTab.tipEmailField": "වි-තැපැල් ලිපිනය යොදන්න", "DE.Views.FormsTab.tipFixedText": "ස්ථාවර පෙළ ක්‍ෂේත්‍රයක් යොදන්න", @@ -2254,7 +2254,7 @@ "DE.Views.FormsTab.tipPhoneField": "දු.ක. අංකය ඇතුල් කරන්න", "DE.Views.FormsTab.tipPrevForm": "කලින් ක්‍ෂේත්‍රයට යන්න", "DE.Views.FormsTab.tipRadioBox": "වෘත බොත්තමක් යොදන්න", - "DE.Views.FormsTab.tipSaveForm": "පිරවිය හැකි OFORM ලේඛනයක් ලෙස සුරකින්න", + "DE.Views.FormsTab.tipSaveForm": "පිරවිය හැකි PDF ලේඛනයක් ලෙස සුරකින්න", "DE.Views.FormsTab.tipSubmit": "යොමුකිරීමේ ආකෘතිපත්‍රය", "DE.Views.FormsTab.tipTextField": "පාඨ ක්‍ෂේත්‍රය යොදන්න", "DE.Views.FormsTab.tipViewForm": "ආකෘතිපත්‍රය බලන්න", @@ -2830,7 +2830,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "{0} භූමිකාව මැකීමට ඔබට වුවමනා ද?", "DE.Views.SaveFormDlg.saveButtonText": "සුරකින්න", "DE.Views.SaveFormDlg.textAnyone": "සැමටම", - "DE.Views.SaveFormDlg.textDescription": "oform වෙත සුරැකීමේදී, පිරවුම් ලැයිස්තුවට ක්‍ෂේත්‍ර සහිත භූමිකා පමණක් එකතු වේ", + "DE.Views.SaveFormDlg.textDescription": "pdf වෙත සුරැකීමේදී, පිරවුම් ලැයිස්තුවට ක්‍ෂේත්‍ර සහිත භූමිකා පමණක් එකතු වේ", "DE.Views.SaveFormDlg.textEmpty": "ක්‍ෂේත්‍ර ආශ්‍රිත භූමිකා නැත.", "DE.Views.SaveFormDlg.textFill": "පිරවීමේ ලැයිස්තුව", "DE.Views.SaveFormDlg.txtTitle": "ආකෘතියක් ලෙස සුරකින්න", diff --git a/apps/documenteditor/main/locale/sk.json b/apps/documenteditor/main/locale/sk.json index be7f9306b2..e3c492ff49 100644 --- a/apps/documenteditor/main/locale/sk.json +++ b/apps/documenteditor/main/locale/sk.json @@ -1805,13 +1805,13 @@ "DE.Views.FormsTab.capBtnNext": "Nasledujúce pole", "DE.Views.FormsTab.capBtnPrev": "Predchádzajúce pole", "DE.Views.FormsTab.capBtnRadioBox": "Prepínač", - "DE.Views.FormsTab.capBtnSaveForm": "Uložiť ako oform", + "DE.Views.FormsTab.capBtnSaveForm": "Uložiť ako pdf", "DE.Views.FormsTab.capBtnSubmit": "Potvrdiť", "DE.Views.FormsTab.capBtnText": "Textové pole", "DE.Views.FormsTab.capBtnView": "Zobraziť formulár", "DE.Views.FormsTab.textClear": "Vyčistiť políčka", "DE.Views.FormsTab.textClearFields": "Vyčistiť všetky polia", - "DE.Views.FormsTab.textCreateForm": "Pridať polia a vytvoriť dokument OFORM z možnosťou vyplnenia. ", + "DE.Views.FormsTab.textCreateForm": "Pridať polia a vytvoriť dokument PDF z možnosťou vyplnenia. ", "DE.Views.FormsTab.textGotIt": "Rozumiem", "DE.Views.FormsTab.textHighlight": "Nastavenia zvýraznenia", "DE.Views.FormsTab.textNoHighlight": "Bez zvýraznenia", @@ -1824,7 +1824,7 @@ "DE.Views.FormsTab.tipNextForm": "Prejsť na ďalšie pole", "DE.Views.FormsTab.tipPrevForm": "Ísť na predošlé pole", "DE.Views.FormsTab.tipRadioBox": "Vložiť prepínač", - "DE.Views.FormsTab.tipSaveForm": "Uložiť ako vyplniteľný dokument OFORM", + "DE.Views.FormsTab.tipSaveForm": "Uložiť ako vyplniteľný dokument PDF", "DE.Views.FormsTab.tipSubmit": "Potvrdiť formulár", "DE.Views.FormsTab.tipTextField": "Vložiť textové pole", "DE.Views.FormsTab.tipViewForm": "Zobraziť formulár", diff --git a/apps/documenteditor/main/locale/sl.json b/apps/documenteditor/main/locale/sl.json index d815e4612f..ce1307b434 100644 --- a/apps/documenteditor/main/locale/sl.json +++ b/apps/documenteditor/main/locale/sl.json @@ -1287,7 +1287,7 @@ "DE.Views.FormSettings.textTipAdd": "Dodaj novo vrednost", "DE.Views.FormSettings.textWidth": "Širina celice", "DE.Views.FormsTab.capBtnCheckBox": "Potrditveno polje", - "DE.Views.FormsTab.capBtnDownloadForm": "Prenesi kot oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Prenesi kot pdf", "DE.Views.FormsTab.capBtnNext": "Naslednje polje", "DE.Views.FormsTab.textAnyone": "Vsi", "DE.Views.FormsTab.textClearFields": "Počisti vsa polja", diff --git a/apps/documenteditor/main/locale/sr.json b/apps/documenteditor/main/locale/sr.json index 2b525182d1..1a9b658c76 100644 --- a/apps/documenteditor/main/locale/sr.json +++ b/apps/documenteditor/main/locale/sr.json @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Checkbox", "DE.Views.FormsTab.capBtnComboBox": "Kombinovano Polje", "DE.Views.FormsTab.capBtnComplex": "Kompleksno Polje", - "DE.Views.FormsTab.capBtnDownloadForm": "Preuzmi kao oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Preuzmi kao pdf", "DE.Views.FormsTab.capBtnDropDown": "Padajući ", "DE.Views.FormsTab.capBtnEmail": "Email adresa", "DE.Views.FormsTab.capBtnImage": "Slika", @@ -2231,7 +2231,7 @@ "DE.Views.FormsTab.capBtnPhone": "Broj telefona ", "DE.Views.FormsTab.capBtnPrev": "Prethodno Polje", "DE.Views.FormsTab.capBtnRadioBox": "Radio Dugme", - "DE.Views.FormsTab.capBtnSaveForm": "Sačuvaj kao oform ", + "DE.Views.FormsTab.capBtnSaveForm": "Sačuvaj kao pdf", "DE.Views.FormsTab.capBtnSubmit": "Podnesi", "DE.Views.FormsTab.capBtnText": "Polje za Tekst", "DE.Views.FormsTab.capBtnView": "Pregledaj Obrazac ", @@ -2241,7 +2241,7 @@ "DE.Views.FormsTab.textAnyone": "Bilo ko", "DE.Views.FormsTab.textClear": "Ukloni Polja", "DE.Views.FormsTab.textClearFields": "Ukloni Sva Polja", - "DE.Views.FormsTab.textCreateForm": "Dodaj polja i kreiraj dopunjujući OFORM dokument", + "DE.Views.FormsTab.textCreateForm": "Dodaj polja i kreiraj dopunjujući PDF dokument", "DE.Views.FormsTab.textGotIt": "Razumem", "DE.Views.FormsTab.textHighlight": "Istakni Podešavanja", "DE.Views.FormsTab.textNoHighlight": "Bez isticanja", @@ -2253,7 +2253,7 @@ "DE.Views.FormsTab.tipCreateField": "Da biste kreirali polje odaberite željeni tip polja na traci sa alatkama i kliknite na njega. Polje će se pojaviti u dokumentu. ", "DE.Views.FormsTab.tipCreditCard": "Ubaci broj kreditne kartice ", "DE.Views.FormsTab.tipDateTime": "Ubaci datum i vreme", - "DE.Views.FormsTab.tipDownloadForm": "Preuzmi fajl kao OFORM dokument sa poljima za popunjavanje", + "DE.Views.FormsTab.tipDownloadForm": "Preuzmi fajl kao PDF dokument sa poljima za popunjavanje", "DE.Views.FormsTab.tipDropDown": "Ubaci padajuću listu", "DE.Views.FormsTab.tipEmailField": "Ubaci email adresu ", "DE.Views.FormsTab.tipFieldSettings": "Možete konfigurisati odabrana polja na desnoj bočnoj traci. Kliknite na ovu ikonicu da otvorite podešavanja polja.", @@ -2270,8 +2270,8 @@ "DE.Views.FormsTab.tipPrevForm": "Idi na prethodno polje", "DE.Views.FormsTab.tipRadioBox": "Ubaci radio dugme", "DE.Views.FormsTab.tipRolesLink": "Nauči više o ulogama", - "DE.Views.FormsTab.tipSaveFile": "Klikni na \"Sačuvaj kao oform\" da sačuvaš formu u formatu spremnom za popunjavanje.", - "DE.Views.FormsTab.tipSaveForm": "Sačuvaj fajl kao popunjujući OFORM dokument", + "DE.Views.FormsTab.tipSaveFile": "Klikni na \"Sačuvaj kao pdf\" da sačuvaš formu u formatu spremnom za popunjavanje.", + "DE.Views.FormsTab.tipSaveForm": "Sačuvaj fajl kao popunjujući PDF dokument", "DE.Views.FormsTab.tipSubmit": "Podnesi obrazac", "DE.Views.FormsTab.tipTextField": "Ubaci text polje", "DE.Views.FormsTab.tipViewForm": "Pregledaj obrazac", @@ -2847,7 +2847,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "Da li ste sigurni da želite da izbrišete ulogu {0}?", "DE.Views.SaveFormDlg.saveButtonText": "Sačuvaj", "DE.Views.SaveFormDlg.textAnyone": "Bilo ko", - "DE.Views.SaveFormDlg.textDescription": "Prilikom čuvanja na oform, samo se uloge sa poljima dodaju na listu za popunjavanje ", + "DE.Views.SaveFormDlg.textDescription": "Prilikom čuvanja na pdf, samo se uloge sa poljima dodaju na listu za popunjavanje ", "DE.Views.SaveFormDlg.textEmpty": "Nema uloga povezanih sa poljima.", "DE.Views.SaveFormDlg.textFill": "Popunjavanje liste", "DE.Views.SaveFormDlg.txtTitle": "Sačuvaj kao Formu", diff --git a/apps/documenteditor/main/locale/sv.json b/apps/documenteditor/main/locale/sv.json index b4f7aa09fd..5fddc56211 100644 --- a/apps/documenteditor/main/locale/sv.json +++ b/apps/documenteditor/main/locale/sv.json @@ -2048,7 +2048,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Kryssruta", "DE.Views.FormsTab.capBtnComboBox": "Combo box", "DE.Views.FormsTab.capBtnComplex": "Komplext fält", - "DE.Views.FormsTab.capBtnDownloadForm": "Ladda ner som oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Ladda ner som pdf", "DE.Views.FormsTab.capBtnDropDown": "Dropdown", "DE.Views.FormsTab.capBtnEmail": "E-postadress", "DE.Views.FormsTab.capBtnImage": "Bild", @@ -2057,7 +2057,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefonnummer", "DE.Views.FormsTab.capBtnPrev": "Föregående fält", "DE.Views.FormsTab.capBtnRadioBox": "Radio Button", - "DE.Views.FormsTab.capBtnSaveForm": "Spara som oform", + "DE.Views.FormsTab.capBtnSaveForm": "Spara som pdf", "DE.Views.FormsTab.capBtnSubmit": "Verkställ", "DE.Views.FormsTab.capBtnText": "Textfält", "DE.Views.FormsTab.capBtnView": "Visa formulär", @@ -2067,7 +2067,7 @@ "DE.Views.FormsTab.textAnyone": "Vem som helst", "DE.Views.FormsTab.textClear": "Rensa fält", "DE.Views.FormsTab.textClearFields": "Rensa fält", - "DE.Views.FormsTab.textCreateForm": "Lägg till fält och skapa ett ifyllbart OFORM dokument", + "DE.Views.FormsTab.textCreateForm": "Lägg till fält och skapa ett ifyllbart PDF dokument", "DE.Views.FormsTab.textGotIt": "Uppfattat", "DE.Views.FormsTab.textHighlight": "Markera inställningar", "DE.Views.FormsTab.textNoHighlight": "Ingen markering", @@ -2078,7 +2078,7 @@ "DE.Views.FormsTab.tipComplexField": "Infoga komplext fält", "DE.Views.FormsTab.tipCreditCard": "Infoga kreditkortsnummer", "DE.Views.FormsTab.tipDateTime": "Infoga datum och tid", - "DE.Views.FormsTab.tipDownloadForm": "Ladda ner en fil som ett ifyllbart OFORM-dokument", + "DE.Views.FormsTab.tipDownloadForm": "Ladda ner en fil som ett ifyllbart PDF-dokument", "DE.Views.FormsTab.tipDropDown": "Insert dropdown list", "DE.Views.FormsTab.tipEmailField": "Infoga e-postadress", "DE.Views.FormsTab.tipFixedText": "Infoga fast textfält", @@ -2088,7 +2088,7 @@ "DE.Views.FormsTab.tipPhoneField": "Infoga telefonnummer", "DE.Views.FormsTab.tipPrevForm": "Gå till föregående fält", "DE.Views.FormsTab.tipRadioBox": "Insert radio button", - "DE.Views.FormsTab.tipSaveForm": "Spara en fil som ifyllbart OFORM dokument", + "DE.Views.FormsTab.tipSaveForm": "Spara en fil som ifyllbart PDF dokument", "DE.Views.FormsTab.tipSubmit": "Kunde ej verkställa formulär", "DE.Views.FormsTab.tipTextField": "Infoga textfält", "DE.Views.FormsTab.tipViewForm": "Visa formulär", diff --git a/apps/documenteditor/main/locale/tr.json b/apps/documenteditor/main/locale/tr.json index 9cb6e2ce31..9066e9082f 100644 --- a/apps/documenteditor/main/locale/tr.json +++ b/apps/documenteditor/main/locale/tr.json @@ -1947,7 +1947,7 @@ "DE.Views.FormSettings.textWidth": "Hücre genişliği", "DE.Views.FormsTab.capBtnCheckBox": "Onay kutusu", "DE.Views.FormsTab.capBtnComboBox": "Açılan kutu", - "DE.Views.FormsTab.capBtnDownloadForm": "oform olarak indir", + "DE.Views.FormsTab.capBtnDownloadForm": "pdf olarak indir", "DE.Views.FormsTab.capBtnDropDown": "Aşağı açılır", "DE.Views.FormsTab.capBtnEmail": "Eposta adresi", "DE.Views.FormsTab.capBtnImage": "Resim", @@ -1955,7 +1955,7 @@ "DE.Views.FormsTab.capBtnPhone": "Telefon numarası", "DE.Views.FormsTab.capBtnPrev": "Önceki Alan", "DE.Views.FormsTab.capBtnRadioBox": "Seçenek Düğmesi", - "DE.Views.FormsTab.capBtnSaveForm": "oform olarak kaydet", + "DE.Views.FormsTab.capBtnSaveForm": "pdf olarak kaydet", "DE.Views.FormsTab.capBtnSubmit": "Kaydet", "DE.Views.FormsTab.capBtnText": "Metin Alanı", "DE.Views.FormsTab.capBtnView": "Formu görüntüle", @@ -1964,7 +1964,7 @@ "DE.Views.FormsTab.textAnyone": "Herhangi biri", "DE.Views.FormsTab.textClear": "Alanları Temizle", "DE.Views.FormsTab.textClearFields": "Tüm alanları temizle", - "DE.Views.FormsTab.textCreateForm": "Alanlar ekleyin ve doldurulabilir bir OFORM belgesi oluşturun", + "DE.Views.FormsTab.textCreateForm": "Alanlar ekleyin ve doldurulabilir bir PDF belgesi oluşturun", "DE.Views.FormsTab.textGotIt": "Anladım", "DE.Views.FormsTab.textHighlight": "Vurgu Ayarları", "DE.Views.FormsTab.textNoHighlight": "Vurgulama yok", @@ -1972,13 +1972,13 @@ "DE.Views.FormsTab.textSubmited": "Form başarıyla gönderildi ", "DE.Views.FormsTab.tipCheckBox": "Onay kutusu ekle", "DE.Views.FormsTab.tipComboBox": "Açılan kutu ekle", - "DE.Views.FormsTab.tipDownloadForm": "Bir dosyayı doldurulabilir bir OFORM belgesi olarak indirin", + "DE.Views.FormsTab.tipDownloadForm": "Bir dosyayı doldurulabilir bir PDF belgesi olarak indirin", "DE.Views.FormsTab.tipDropDown": "Aşağı açılır liste ekle", "DE.Views.FormsTab.tipImageField": "Resim ekle", "DE.Views.FormsTab.tipNextForm": "Sonraki alana git", "DE.Views.FormsTab.tipPrevForm": "Önceki alana git", "DE.Views.FormsTab.tipRadioBox": "Seçenek düğmesi ekle", - "DE.Views.FormsTab.tipSaveForm": "Bir dosyayı doldurulabilir bir OFORM belgesi olarak kaydedin", + "DE.Views.FormsTab.tipSaveForm": "Bir dosyayı doldurulabilir bir PDF belgesi olarak kaydedin", "DE.Views.FormsTab.tipSubmit": "Formu kaydet", "DE.Views.FormsTab.tipTextField": "Metin alanı ekle", "DE.Views.FormsTab.tipViewForm": "Formu görüntüle", diff --git a/apps/documenteditor/main/locale/uk.json b/apps/documenteditor/main/locale/uk.json index 4742a16265..c6d17b9228 100644 --- a/apps/documenteditor/main/locale/uk.json +++ b/apps/documenteditor/main/locale/uk.json @@ -1972,7 +1972,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "Прапорець", "DE.Views.FormsTab.capBtnComboBox": "Поле зі списком", "DE.Views.FormsTab.capBtnComplex": "Складне поле", - "DE.Views.FormsTab.capBtnDownloadForm": "Звантажити як oform", + "DE.Views.FormsTab.capBtnDownloadForm": "Звантажити як pdf", "DE.Views.FormsTab.capBtnDropDown": "Випадаючий список", "DE.Views.FormsTab.capBtnEmail": "Адреса електронної пошти", "DE.Views.FormsTab.capBtnImage": "Зображення", @@ -1980,7 +1980,7 @@ "DE.Views.FormsTab.capBtnPhone": "Номер телефону", "DE.Views.FormsTab.capBtnPrev": "Попереднє поле", "DE.Views.FormsTab.capBtnRadioBox": "Перемикач", - "DE.Views.FormsTab.capBtnSaveForm": "Зберегти як oform", + "DE.Views.FormsTab.capBtnSaveForm": "Зберегти як pdf", "DE.Views.FormsTab.capBtnSubmit": "Відправити", "DE.Views.FormsTab.capBtnText": "Текстове поле", "DE.Views.FormsTab.capBtnView": "Переглянути форму", @@ -1989,7 +1989,7 @@ "DE.Views.FormsTab.textAnyone": "Будь-хто", "DE.Views.FormsTab.textClear": "Очистити поля", "DE.Views.FormsTab.textClearFields": "Очистити всі поля", - "DE.Views.FormsTab.textCreateForm": "Додайте поля і створіть документ для заповнення OFORM", + "DE.Views.FormsTab.textCreateForm": "Додайте поля і створіть документ для заповнення PDF", "DE.Views.FormsTab.textGotIt": "ОК", "DE.Views.FormsTab.textHighlight": "Колір підсвітки", "DE.Views.FormsTab.textNoHighlight": "Без виділення", @@ -2001,7 +2001,7 @@ "DE.Views.FormsTab.tipCreateField": "Щоби створити поле, виберіть бажаний тип поля на панелі інструментів та клацніть по ньому. Поле з'явиться у документі.", "DE.Views.FormsTab.tipCreditCard": "Вставити номер кредитної картки", "DE.Views.FormsTab.tipDateTime": "Вставити дату та час", - "DE.Views.FormsTab.tipDownloadForm": "Звантажити файл у форматі OFORM для заповнення", + "DE.Views.FormsTab.tipDownloadForm": "Звантажити файл у форматі PDF для заповнення", "DE.Views.FormsTab.tipDropDown": "Вставити випадаючий список", "DE.Views.FormsTab.tipEmailField": "Вставити адресу ел.пошти", "DE.Views.FormsTab.tipFieldSettings": "Ви можете сконфігурувати вибрані поля на панелі праворуч. Клацніть на іконку, щоби відкрити налаштування поля.", @@ -2012,7 +2012,7 @@ "DE.Views.FormsTab.tipPhoneField": "Вставити номер телефону", "DE.Views.FormsTab.tipPrevForm": "Перейти до попереднього поля", "DE.Views.FormsTab.tipRadioBox": "Вставити перемикач", - "DE.Views.FormsTab.tipSaveForm": "Зберегти файл як заповнюваний документ OFORM", + "DE.Views.FormsTab.tipSaveForm": "Зберегти файл як заповнюваний документ PDF", "DE.Views.FormsTab.tipSubmit": "Відправити форму", "DE.Views.FormsTab.tipTextField": "Вставити текстове поле", "DE.Views.FormsTab.tipViewForm": "Переглянути форму", diff --git a/apps/documenteditor/main/locale/zh-tw.json b/apps/documenteditor/main/locale/zh-tw.json index d2540fb191..9c151dbafd 100644 --- a/apps/documenteditor/main/locale/zh-tw.json +++ b/apps/documenteditor/main/locale/zh-tw.json @@ -2208,7 +2208,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "複選框", "DE.Views.FormsTab.capBtnComboBox": "組合框", "DE.Views.FormsTab.capBtnComplex": "複雜字段", - "DE.Views.FormsTab.capBtnDownloadForm": "下載為oform", + "DE.Views.FormsTab.capBtnDownloadForm": "下載為pdf", "DE.Views.FormsTab.capBtnDropDown": "下拉式", "DE.Views.FormsTab.capBtnEmail": "電子郵件地址", "DE.Views.FormsTab.capBtnImage": "圖像", @@ -2217,7 +2217,7 @@ "DE.Views.FormsTab.capBtnPhone": "電話號碼", "DE.Views.FormsTab.capBtnPrev": "上一欄位", "DE.Views.FormsTab.capBtnRadioBox": "收音機按鈕", - "DE.Views.FormsTab.capBtnSaveForm": "另存oform檔", + "DE.Views.FormsTab.capBtnSaveForm": "另存pdf檔", "DE.Views.FormsTab.capBtnSubmit": "傳送", "DE.Views.FormsTab.capBtnText": "文字段落", "DE.Views.FormsTab.capBtnView": "查看表格", @@ -2227,7 +2227,7 @@ "DE.Views.FormsTab.textAnyone": "任何人", "DE.Views.FormsTab.textClear": "清除欄位", "DE.Views.FormsTab.textClearFields": "清除所有段落", - "DE.Views.FormsTab.textCreateForm": "新增文字段落並建立一個可填寫的 OFORM 文件", + "DE.Views.FormsTab.textCreateForm": "新增文字段落並建立一個可填寫的 PDF 文件", "DE.Views.FormsTab.textGotIt": "我瞭解了", "DE.Views.FormsTab.textHighlight": "強調顯示設定", "DE.Views.FormsTab.textNoHighlight": "沒有突出顯示", @@ -2238,7 +2238,7 @@ "DE.Views.FormsTab.tipComplexField": "插入複雜欄位", "DE.Views.FormsTab.tipCreditCard": "插入信用卡號碼", "DE.Views.FormsTab.tipDateTime": "插入日期和時間", - "DE.Views.FormsTab.tipDownloadForm": "下載成可編輯OFORM文件", + "DE.Views.FormsTab.tipDownloadForm": "下載成可編輯PDF文件", "DE.Views.FormsTab.tipDropDown": "插入下拉列表", "DE.Views.FormsTab.tipEmailField": "插入電子郵件地址", "DE.Views.FormsTab.tipFixedText": "插入固定文字欄位", @@ -2249,8 +2249,8 @@ "DE.Views.FormsTab.tipPhoneField": "插入電話號碼", "DE.Views.FormsTab.tipPrevForm": "移至上一欄位", "DE.Views.FormsTab.tipRadioBox": "插入收音機按鈕", - "DE.Views.FormsTab.tipSaveFile": "點擊\"儲存成OFORM\"即可轉成可填入的表單", - "DE.Views.FormsTab.tipSaveForm": "儲存一份可以填寫的 OFORM 檔案", + "DE.Views.FormsTab.tipSaveFile": "點擊\"儲存成pdf\"即可轉成可填入的表單", + "DE.Views.FormsTab.tipSaveForm": "儲存一份可以填寫的 PDF 檔案", "DE.Views.FormsTab.tipSubmit": "傳送表格", "DE.Views.FormsTab.tipTextField": "插入文字欄位", "DE.Views.FormsTab.tipViewForm": "查看表格", @@ -2821,7 +2821,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "您確定要刪除角色 {0} 嗎?", "DE.Views.SaveFormDlg.saveButtonText": "儲存", "DE.Views.SaveFormDlg.textAnyone": "任何人", - "DE.Views.SaveFormDlg.textDescription": "在儲存至oform時,只有具有欄位的角色會被添加到填寫清單中。", + "DE.Views.SaveFormDlg.textDescription": "在儲存至pdf時,只有具有欄位的角色會被添加到填寫清單中。", "DE.Views.SaveFormDlg.textEmpty": "沒有與欄位有關聯的角色。", "DE.Views.SaveFormDlg.textFill": "填寫清單", "DE.Views.SaveFormDlg.txtTitle": "另存為表單", diff --git a/apps/documenteditor/main/locale/zh.json b/apps/documenteditor/main/locale/zh.json index a0f9c542f1..6bc8d49349 100644 --- a/apps/documenteditor/main/locale/zh.json +++ b/apps/documenteditor/main/locale/zh.json @@ -2222,7 +2222,7 @@ "DE.Views.FormsTab.capBtnCheckBox": "复选框", "DE.Views.FormsTab.capBtnComboBox": "下拉式方框", "DE.Views.FormsTab.capBtnComplex": "复杂字段", - "DE.Views.FormsTab.capBtnDownloadForm": "下载为OFORM", + "DE.Views.FormsTab.capBtnDownloadForm": "下载为pdf", "DE.Views.FormsTab.capBtnDropDown": "下拉菜单", "DE.Views.FormsTab.capBtnEmail": "Email地址", "DE.Views.FormsTab.capBtnImage": "图片", @@ -2231,7 +2231,7 @@ "DE.Views.FormsTab.capBtnPhone": "电话号码", "DE.Views.FormsTab.capBtnPrev": "上一个字段", "DE.Views.FormsTab.capBtnRadioBox": "单选按钮", - "DE.Views.FormsTab.capBtnSaveForm": "另存为oform", + "DE.Views.FormsTab.capBtnSaveForm": "另存为pdf", "DE.Views.FormsTab.capBtnSubmit": "提交", "DE.Views.FormsTab.capBtnText": "文字段落", "DE.Views.FormsTab.capBtnView": "檢視表單", @@ -2241,7 +2241,7 @@ "DE.Views.FormsTab.textAnyone": "任何人", "DE.Views.FormsTab.textClear": "清除字段", "DE.Views.FormsTab.textClearFields": "清除所有字段", - "DE.Views.FormsTab.textCreateForm": "添加字段并创建可填写的OFORM文档", + "DE.Views.FormsTab.textCreateForm": "添加字段并创建可填写的PDF文档", "DE.Views.FormsTab.textGotIt": "明白", "DE.Views.FormsTab.textHighlight": "突出显示设置", "DE.Views.FormsTab.textNoHighlight": "没有突出显示", @@ -2253,7 +2253,7 @@ "DE.Views.FormsTab.tipCreateField": "要创建字段,请在工具栏中选择并点击所需的字段类型。该字段将出现在文档中。", "DE.Views.FormsTab.tipCreditCard": "插入信用卡号", "DE.Views.FormsTab.tipDateTime": "插入日期和时间", - "DE.Views.FormsTab.tipDownloadForm": "将文件下载为可填充的OFORM文档", + "DE.Views.FormsTab.tipDownloadForm": "将文件下载为可填充的PDF文档", "DE.Views.FormsTab.tipDropDown": "插入下拉列表", "DE.Views.FormsTab.tipEmailField": "插入电子邮件地址", "DE.Views.FormsTab.tipFieldSettings": "您可以在右侧边栏设置选定的字段。单击此图标可打开字段设置。", @@ -2270,8 +2270,8 @@ "DE.Views.FormsTab.tipPrevForm": "转到上一个字段", "DE.Views.FormsTab.tipRadioBox": "插入单选按钮", "DE.Views.FormsTab.tipRolesLink": "了解更多关于角色", - "DE.Views.FormsTab.tipSaveFile": "点击“另存为OFORM”将表单保存为可填写的格式。", - "DE.Views.FormsTab.tipSaveForm": "将文件另存为可填充的OFORM文档", + "DE.Views.FormsTab.tipSaveFile": "点击“另存为pdf”将表单保存为可填写的格式。", + "DE.Views.FormsTab.tipSaveForm": "将文件另存为可填充的PDF文档", "DE.Views.FormsTab.tipSubmit": "提交表单", "DE.Views.FormsTab.tipTextField": "插入文本字段", "DE.Views.FormsTab.tipViewForm": "檢視表單", @@ -2847,7 +2847,7 @@ "DE.Views.RolesManagerDlg.warnDelete": "是否确实要删除角色{0}?", "DE.Views.SaveFormDlg.saveButtonText": "保存", "DE.Views.SaveFormDlg.textAnyone": "任何人", - "DE.Views.SaveFormDlg.textDescription": "在儲存至oform時,只有具有欄位的角色會被添加到填寫清單中。", + "DE.Views.SaveFormDlg.textDescription": "在儲存至pdf時,只有具有欄位的角色會被添加到填寫清單中。", "DE.Views.SaveFormDlg.textEmpty": "没有与字段关联的角色。", "DE.Views.SaveFormDlg.textFill": "填写清单", "DE.Views.SaveFormDlg.txtTitle": "另存为表单", From a6e181633ac90b0080fc963bd71d2dbe3f9b0a44 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Fri, 22 Dec 2023 17:14:23 +0100 Subject: [PATCH 42/65] [DE PE SSE mobile] Changed checking for sharing settings --- apps/common/mobile/lib/pages/CollaborationPage.jsx | 6 ++---- apps/presentationeditor/mobile/src/store/appOptions.js | 1 + apps/spreadsheeteditor/mobile/src/store/appOptions.js | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/common/mobile/lib/pages/CollaborationPage.jsx b/apps/common/mobile/lib/pages/CollaborationPage.jsx index aebaa63a03..17cdd1be70 100644 --- a/apps/common/mobile/lib/pages/CollaborationPage.jsx +++ b/apps/common/mobile/lib/pages/CollaborationPage.jsx @@ -8,9 +8,7 @@ const CollaborationPage = props => { const { t } = useTranslation(); const _t = t('Common.Collaboration', {returnObjects: true}); const appOptions = props.storeAppOptions; - const documentInfo = props.storeDocumentInfo; - const dataDoc = documentInfo && documentInfo.dataDoc; - const fileType = dataDoc && dataDoc.fileType; + const isForm = appOptions.isForm; const sharingSettingsUrl = appOptions.sharingSettingsUrl; const isViewer = appOptions.isViewer; @@ -26,7 +24,7 @@ const CollaborationPage = props => { }
    - {(sharingSettingsUrl && fileType !== 'pdf') && + {(sharingSettingsUrl && !isForm) && diff --git a/apps/presentationeditor/mobile/src/store/appOptions.js b/apps/presentationeditor/mobile/src/store/appOptions.js index 378121c2bc..92d2a86007 100644 --- a/apps/presentationeditor/mobile/src/store/appOptions.js +++ b/apps/presentationeditor/mobile/src/store/appOptions.js @@ -104,6 +104,7 @@ export class storeAppOptions { if (permissions.editCommentAuthorOnly===undefined && permissions.deleteCommentAuthorOnly===undefined) this.canEditComments = this.canDeleteComments = this.isOffline; } + this.isForm = !!window.isPDFForm; this.canChat = this.canLicense && !this.isOffline && (permissions.chat !== false); this.canEditStyles = this.canLicense && this.canEdit; this.canPrint = (permissions.print !== false); diff --git a/apps/spreadsheeteditor/mobile/src/store/appOptions.js b/apps/spreadsheeteditor/mobile/src/store/appOptions.js index d132c6b62c..ed962c1615 100644 --- a/apps/spreadsheeteditor/mobile/src/store/appOptions.js +++ b/apps/spreadsheeteditor/mobile/src/store/appOptions.js @@ -108,6 +108,7 @@ export class storeAppOptions { if (permissions.editCommentAuthorOnly===undefined && permissions.deleteCommentAuthorOnly===undefined) this.canEditComments = this.canDeleteComments = this.isOffline; } + this.isForm = !!window.isPDFForm; this.canChat = this.canLicense && !this.isOffline && (permissions.chat !== false); this.canPrint = (permissions.print !== false); this.isRestrictedEdit = !this.isEdit && this.canComments && isSupportEditFeature; From 7d196b2181c620115dc3d46f520536d0a3d05020 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 22 Dec 2023 19:34:52 +0300 Subject: [PATCH 43/65] [PDF] Refactoring saving offline files --- apps/pdfeditor/main/app/controller/Main.js | 2 +- apps/pdfeditor/main/app/controller/Toolbar.js | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index fc043c423d..af18cbc0d5 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1213,7 +1213,7 @@ define([ this.appOptions.buildVersion = params.asc_getBuildVersion(); this.appOptions.canForcesave = this.appOptions.isPDFEdit && !this.appOptions.isOffline && (typeof (this.editorConfig.customization) == 'object' && !!this.editorConfig.customization.forcesave); this.appOptions.forcesave = this.appOptions.canForcesave; - this.appOptions.saveAlwaysEnabled = true; + this.appOptions.saveAlwaysEnabled = !this.appOptions.isPDFAnnotate; this.appOptions.canEditComments= this.appOptions.isOffline || !this.permissions.editCommentAuthorOnly; this.appOptions.canDeleteComments= this.appOptions.isOffline || !this.permissions.deleteCommentAuthorOnly; if ((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.commentAuthorOnly===true) { diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index 67ff5968d3..28c0a013d7 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -467,8 +467,6 @@ define([ Common.component.Analytics.trackEvent('Save'); Common.component.Analytics.trackEvent('ToolBar', 'Save'); } - - Common.NotificationCenter.trigger('edit:complete', toolbar); }, onDownloadUrl: function(url, fileType) { @@ -563,7 +561,7 @@ define([ }, turnOnSelectTool: function() { - if ((this.mode.isEdit && this.mode.isRestrictedEdit) && this.toolbar && this.toolbar.btnSelectTool && !this.toolbar.btnSelectTool.isActive()) { + if ((this.mode.isEdit || this.mode.isRestrictedEdit) && this.toolbar && this.toolbar.btnSelectTool && !this.toolbar.btnSelectTool.isActive()) { this.api.asc_setViewerTargetType('select'); this.toolbar.btnSelectTool.toggle(true, true); this.toolbar.btnHandTool.toggle(false, true); @@ -815,7 +813,7 @@ define([ this.toolbar.lockToolbar(Common.enumLock.redoLock, this._state.can_redo!==true, {array: [this.toolbar.btnRedo]}); this.toolbar.lockToolbar(Common.enumLock.copyLock, this._state.can_copy!==true, {array: [this.toolbar.btnCopy]}); this.toolbar.lockToolbar(Common.enumLock.cutLock, this._state.can_cut!==true, {array: [this.toolbar.btnCut]}); - this.toolbar.btnSave && this.toolbar.btnSave.setDisabled(!this.mode.isPDFEdit && !this.mode.isPDFAnnotate && !this.mode.saveAlwaysEnabled); + this.api && this.toolbar.btnSave && this.toolbar.btnSave.setDisabled(!this.mode.saveAlwaysEnabled && !this.api.isDocumentModified()); this._state.activated = true; }, From 19fe02bce2b7c18a95fc64fb30eabc2d4eb2b896 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Fri, 22 Dec 2023 17:37:15 +0100 Subject: [PATCH 44/65] [PE SSE mobile] Correct app options --- apps/presentationeditor/mobile/src/store/appOptions.js | 2 +- apps/spreadsheeteditor/mobile/src/store/appOptions.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/presentationeditor/mobile/src/store/appOptions.js b/apps/presentationeditor/mobile/src/store/appOptions.js index 92d2a86007..e7401a8a7b 100644 --- a/apps/presentationeditor/mobile/src/store/appOptions.js +++ b/apps/presentationeditor/mobile/src/store/appOptions.js @@ -104,7 +104,7 @@ export class storeAppOptions { if (permissions.editCommentAuthorOnly===undefined && permissions.deleteCommentAuthorOnly===undefined) this.canEditComments = this.canDeleteComments = this.isOffline; } - this.isForm = !!window.isPDFForm; + // this.isForm = !!window.isPDFForm; this.canChat = this.canLicense && !this.isOffline && (permissions.chat !== false); this.canEditStyles = this.canLicense && this.canEdit; this.canPrint = (permissions.print !== false); diff --git a/apps/spreadsheeteditor/mobile/src/store/appOptions.js b/apps/spreadsheeteditor/mobile/src/store/appOptions.js index ed962c1615..4b26bde116 100644 --- a/apps/spreadsheeteditor/mobile/src/store/appOptions.js +++ b/apps/spreadsheeteditor/mobile/src/store/appOptions.js @@ -108,7 +108,7 @@ export class storeAppOptions { if (permissions.editCommentAuthorOnly===undefined && permissions.deleteCommentAuthorOnly===undefined) this.canEditComments = this.canDeleteComments = this.isOffline; } - this.isForm = !!window.isPDFForm; + // this.isForm = !!window.isPDFForm; this.canChat = this.canLicense && !this.isOffline && (permissions.chat !== false); this.canPrint = (permissions.print !== false); this.isRestrictedEdit = !this.isEdit && this.canComments && isSupportEditFeature; From 33f60296449595d3dd4dec104a676ab12cc504f8 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 25 Dec 2023 13:56:57 +0300 Subject: [PATCH 45/65] [PE] Put focus to sdk --- apps/presentationeditor/main/app/controller/Animation.js | 1 + apps/presentationeditor/main/app/controller/Transitions.js | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/presentationeditor/main/app/controller/Animation.js b/apps/presentationeditor/main/app/controller/Animation.js index d2f2cb3e88..ff43abbe4d 100644 --- a/apps/presentationeditor/main/app/controller/Animation.js +++ b/apps/presentationeditor/main/app/controller/Animation.js @@ -350,6 +350,7 @@ define([ Common.Utils.lockControls(Common.enumLock.noAnimationParam, false, {array: [this.view.btnParameters]}); } } + Common.NotificationCenter.trigger('edit:complete', this.view); }, onStartSelect: function (combo, record) { diff --git a/apps/presentationeditor/main/app/controller/Transitions.js b/apps/presentationeditor/main/app/controller/Transitions.js index b2ab75132e..39a5ca0fa5 100644 --- a/apps/presentationeditor/main/app/controller/Transitions.js +++ b/apps/presentationeditor/main/app/controller/Transitions.js @@ -188,6 +188,7 @@ define([ this._state.Effect = type; this.onParameterClick(parameter); + Common.NotificationCenter.trigger('edit:complete', this.view); }, onFocusObject: function(selectedObjects) { From 047ebcfb0410e7dc22024c1837d7e10e620e5de6 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Mon, 11 Dec 2023 18:51:01 +0300 Subject: [PATCH 46/65] [wopi] Pass WOPISrc param via options --- apps/api/wopi/editor-wopi.ejs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/api/wopi/editor-wopi.ejs b/apps/api/wopi/editor-wopi.ejs index cf4b5e8290..4f1f3ae458 100644 --- a/apps/api/wopi/editor-wopi.ejs +++ b/apps/api/wopi/editor-wopi.ejs @@ -285,6 +285,9 @@ div { "review": (fileInfo.SupportsReviewing===false) ? false : (fileInfo.UserCanReview===false ? false : fileInfo.UserCanReview), "copy": fileInfo.CopyPasteRestrictions!=="CurrentDocumentOnly" && fileInfo.CopyPasteRestrictions!=="BlockAll", "print": !fileInfo.DisablePrint && !fileInfo.HidePrintOption + }, + "options": { + "WOPISrc": userAuth.wopiSrc } }, "editorConfig": { From 06c0e0c1650930ea221833f80102c332e1c275a8 Mon Sep 17 00:00:00 2001 From: maxkadushkin Date: Mon, 25 Dec 2023 22:55:29 +0300 Subject: [PATCH 47/65] [all] changed caption for rtl option --- apps/documenteditor/main/app/view/FileMenuPanels.js | 3 ++- .../mobile/src/view/settings/ApplicationSettings.jsx | 3 +++ apps/pdfeditor/main/app/view/FileMenuPanels.js | 3 ++- apps/presentationeditor/main/app/view/FileMenuPanels.js | 3 ++- apps/spreadsheeteditor/main/app/view/FileMenuPanels.js | 3 ++- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index cb0126cd8a..e22a8f261c 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -788,9 +788,10 @@ define([ })).on('click', _.bind(me.applySettings, me)); }); + const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport, + labelText: this.strRTLSupport + ' (' + txt_Beta + ')', dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/documenteditor/mobile/src/view/settings/ApplicationSettings.jsx b/apps/documenteditor/mobile/src/view/settings/ApplicationSettings.jsx index 538f8f1f83..9261bee399 100644 --- a/apps/documenteditor/mobile/src/view/settings/ApplicationSettings.jsx +++ b/apps/documenteditor/mobile/src/view/settings/ApplicationSettings.jsx @@ -108,6 +108,9 @@ const PageApplicationSettings = props => { }}> } + + +
    ); }; diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index be7cd80ce8..53e5ced4b0 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -592,9 +592,10 @@ define([ })).on('click', _.bind(me.applySettings, me)); }); + const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"PDFE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport, + labelText: this.strRTLSupport + ' (' + txt_Beta + ')', dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index 8ec501f26a..bc4ebaada5 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -610,9 +610,10 @@ define([ dataHintOffset: 'big' }); + const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport, + labelText: this.strRTLSupport + ' (' + txt_Beta + ')', dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 437a166b86..0e12d4b17b 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -794,9 +794,10 @@ define([ }); this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this)); + const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport, + labelText: this.strRTLSupport + ' (' + txt_Beta + ')', dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' From 4f520f085d411939b0636a309220bb796fb65ba7 Mon Sep 17 00:00:00 2001 From: Denis Dokin Date: Tue, 26 Dec 2023 10:18:21 +0300 Subject: [PATCH 48/65] fix-bug-65658 --- .../img/toolbar/1.75x/big/btn-menu-comments.png | Bin 349 -> 352 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/common/main/resources/img/toolbar/1.75x/big/btn-menu-comments.png b/apps/common/main/resources/img/toolbar/1.75x/big/btn-menu-comments.png index fa8274dafe7516344bf552e75c7d25604881b4fb..b13e81952fd2feb140d139c6453351ec805efece 100644 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^NkDAK!3HE1_t%6oFfginx;TbZ+mFluYPND80J6f z=yi@u{WR%y=Gqr-pD(67>M<4kRl4|R#-ulyktJzNQD>cHHi;PW?cvNYJ^9T<-)j5H z7rK2jyDyx+vux3m>RDZSzK6W$77S|~Ufgg@{9VX@DV68LG}p|tUR!+fNvWNs;O29xlb8R5 ccyWP<-R7(Rr7lj=dkONdr>mdKI;Vst09H7IHUIzs From b292b74e4292a17fded688c6d98337f923d97f90 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 26 Dec 2023 13:39:45 +0300 Subject: [PATCH 49/65] Fix send params (only for pdf) --- apps/api/documents/api.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index a36376cda1..a955a106d0 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -1016,11 +1016,12 @@ if (config.frameEditorId) params += "&frameEditorId=" + config.frameEditorId; - var type = config.document ? /^(?:(pdf))$/.exec(config.document.fileType) : null; - if (!(type && typeof type[1] === 'string') && (config.editorConfig && config.editorConfig.mode == 'view' || + var type = config.document ? /^(?:(pdf))$/.exec(config.document.fileType) : null, + isPdf = type && typeof type[1] === 'string'; + if (!isPdf && (config.editorConfig && config.editorConfig.mode == 'view' || config.document && config.document.permissions && (config.document.permissions.edit === false && !config.document.permissions.review ))) params += "&mode=view"; - config.document.isForm = (type && typeof type[1] === 'string') ? config.document.isForm : false; + config.document.isForm = isPdf ? config.document.isForm : false; if (config.document && (config.document.isForm!==undefined)) params += "&isForm=" + config.document.isForm; @@ -1039,18 +1040,19 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; - if (config.document && config.document.directUrl) - params += "&directUrl=" + encodeURIComponent(config.document.directUrl); + if (isPdf) { + if (config.document && config.document.directUrl) + params += "&directUrl=" + encodeURIComponent(config.document.directUrl); - if (config.document && config.document.key) - params += "&key=" + config.document.key; + if (config.document && config.document.key) + params += "&key=" + config.document.key; - if (config.document && config.document.url) - params += "&url=" + encodeURIComponent(config.document.url); - - if (config.document && config.document.token) - params += "&token=" + config.document.token; + if (config.document && config.document.url) + params += "&url=" + encodeURIComponent(config.document.url); + if (config.document && config.document.token) + params += "&token=" + config.document.token; + } return params; } From 0c72e11265c794078b1d70345f7e690d05a38cad Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 26 Dec 2023 15:54:55 +0300 Subject: [PATCH 50/65] Fix send params to frame --- apps/api/documents/api.js | 41 ++++++++--------- apps/common/checkExtendedPDF.js | 44 ++++++++++++++++++- apps/documenteditor/embed/index.html | 6 +-- apps/documenteditor/embed/index.html.deploy | 8 +--- apps/documenteditor/embed/index_loader.html | 6 +-- .../embed/index_loader.html.deploy | 6 +-- apps/documenteditor/mobile/src/app.js | 8 +--- apps/pdfeditor/main/index.html | 6 +-- apps/pdfeditor/main/index.html.deploy | 6 +-- apps/pdfeditor/main/index_loader.html | 6 +-- apps/pdfeditor/main/index_loader.html.deploy | 6 +-- 11 files changed, 75 insertions(+), 68 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index a955a106d0..7d1fb90ae4 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -517,6 +517,20 @@ if (_config.editorConfig.customization && _config.editorConfig.customization.integrationMode==='embed') window.AscEmbed && window.AscEmbed.initWorker(iframe); + if (_config.document && (_config.document.isForm===undefined)) { + iframe.onload = function() { + _sendCommand({ + command: 'checkParams', + data: { + url: _config.document.url, + directUrl: _config.document.directUrl, + token: _config.document.token, + key: _config.document.key + } + }) + }; + } + if (iframe.src) { var pathArray = iframe.src.split('/'); this.frameOrigin = pathArray[0] + '//' + pathArray[2]; @@ -1016,14 +1030,15 @@ if (config.frameEditorId) params += "&frameEditorId=" + config.frameEditorId; - var type = config.document ? /^(?:(pdf))$/.exec(config.document.fileType) : null, - isPdf = type && typeof type[1] === 'string'; - if (!isPdf && (config.editorConfig && config.editorConfig.mode == 'view' || + var type = config.document ? /^(?:(pdf))$/.exec(config.document.fileType) : null; + if (!(type && typeof type[1] === 'string') && (config.editorConfig && config.editorConfig.mode == 'view' || config.document && config.document.permissions && (config.document.permissions.edit === false && !config.document.permissions.review ))) params += "&mode=view"; - config.document.isForm = isPdf ? config.document.isForm : false; - if (config.document && (config.document.isForm!==undefined)) - params += "&isForm=" + config.document.isForm; + + if (config.document) { + config.document.isForm = (type && typeof type[1] === 'string') ? config.document.isForm : false; + (config.document.isForm!==undefined) && (params += "&isForm=" + config.document.isForm); + } if (config.editorConfig && config.editorConfig.customization && !!config.editorConfig.customization.compactHeader) params += "&compact=true"; @@ -1040,20 +1055,6 @@ if (config.document && config.document.fileType) params += "&fileType=" + config.document.fileType; - if (isPdf) { - if (config.document && config.document.directUrl) - params += "&directUrl=" + encodeURIComponent(config.document.directUrl); - - if (config.document && config.document.key) - params += "&key=" + config.document.key; - - if (config.document && config.document.url) - params += "&url=" + encodeURIComponent(config.document.url); - - if (config.document && config.document.token) - params += "&token=" + config.document.token; - } - return params; } diff --git a/apps/common/checkExtendedPDF.js b/apps/common/checkExtendedPDF.js index 5589c48732..469b8e18df 100644 --- a/apps/common/checkExtendedPDF.js +++ b/apps/common/checkExtendedPDF.js @@ -116,4 +116,46 @@ function downloadPartialy(url, limit, headers, callback) { } } xhr.send(); -} \ No newline at end of file +} + +var startCallback; +var eventFn = function(msg) { + if (msg.origin !== window.parentOrigin && msg.origin !== window.location.origin && !(msg.origin==="null" && (window.parentOrigin==="file://" || window.location.origin==="file://"))) return; + + var data = msg.data; + if (Object.prototype.toString.apply(data) !== '[object String]' || !window.JSON) { + return; + } + try { + data = window.JSON.parse(data) + } catch(e) { + data = ''; + } + + if (data && data.command==="checkParams") { + data = data.data || {}; + checkExtendedPDF(data.directUrl, data.key, data.url, data.token, startCallback); + _unbindWindowEvents(); + } +}; + +var _bindWindowEvents = function() { + if (window.addEventListener) { + window.addEventListener("message", eventFn, false) + } else if (window.attachEvent) { + window.attachEvent("onmessage", eventFn); + } +}; + +var _unbindWindowEvents = function() { + if (window.removeEventListener) { + window.removeEventListener("message", eventFn) + } else if (window.detachEvent) { + window.detachEvent("onmessage", eventFn); + } +}; + +function listenApiMsg(callback) { + startCallback = callback; + _bindWindowEvents(); +} diff --git a/apps/documenteditor/embed/index.html b/apps/documenteditor/embed/index.html index bddada7aa7..9242b17b78 100644 --- a/apps/documenteditor/embed/index.html +++ b/apps/documenteditor/embed/index.html @@ -197,10 +197,6 @@ var params = getUrlParams(), lang = (params["lang"] || 'en').split(/[\-\_]/)[0], logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -306,7 +302,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/documenteditor/embed/index.html.deploy b/apps/documenteditor/embed/index.html.deploy index feedff229f..5fd9b41c37 100644 --- a/apps/documenteditor/embed/index.html.deploy +++ b/apps/documenteditor/embed/index.html.deploy @@ -189,11 +189,7 @@ var params = getUrlParams(), lang = (params["lang"] || 'en').split(/[\-\_]/)[0], logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', - isForm = params["isForm"]; + isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; window.parentOrigin = params["parentOrigin"]; @@ -281,7 +277,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/documenteditor/embed/index_loader.html b/apps/documenteditor/embed/index_loader.html index 971b43b8fa..b972da3666 100644 --- a/apps/documenteditor/embed/index_loader.html +++ b/apps/documenteditor/embed/index_loader.html @@ -237,10 +237,6 @@ margin = (customer !== '') ? 50 : 20, loading = 'Loading...', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -365,7 +361,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/documenteditor/embed/index_loader.html.deploy b/apps/documenteditor/embed/index_loader.html.deploy index 39dff2ee4c..7844bb22e3 100644 --- a/apps/documenteditor/embed/index_loader.html.deploy +++ b/apps/documenteditor/embed/index_loader.html.deploy @@ -229,10 +229,6 @@ margin = (customer !== '') ? 50 : 20, loading = 'Loading...', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -342,7 +338,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/documenteditor/mobile/src/app.js b/apps/documenteditor/mobile/src/app.js index 8e0d2e2624..cadbd22776 100644 --- a/apps/documenteditor/mobile/src/app.js +++ b/apps/documenteditor/mobile/src/app.js @@ -51,12 +51,8 @@ const startApp = () => { const params = getUrlParams(), isForm = params["isForm"]; -if (isForm===undefined && checkExtendedPDF) { - const directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || ''; - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { +if (isForm===undefined && listenApiMsg) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/pdfeditor/main/index.html b/apps/pdfeditor/main/index.html index 5069292184..25ecbface6 100644 --- a/apps/pdfeditor/main/index.html +++ b/apps/pdfeditor/main/index.html @@ -257,10 +257,6 @@ lang = (params["lang"] || 'en').split(/[\-\_]/)[0], logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, logoDark = params["headerlogodark"] ? encodeUrlParam(params["headerlogodark"]) : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -382,7 +378,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/pdfeditor/main/index.html.deploy b/apps/pdfeditor/main/index.html.deploy index 71f3660be7..812545605f 100644 --- a/apps/pdfeditor/main/index.html.deploy +++ b/apps/pdfeditor/main/index.html.deploy @@ -230,10 +230,6 @@ lang = (params["lang"] || 'en').split(/[\-\_]/)[0], logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null, logoDark = params["headerlogodark"] ? encodeUrlParam(params["headerlogodark"]) : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -340,7 +336,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/pdfeditor/main/index_loader.html b/apps/pdfeditor/main/index_loader.html index 559f7313de..738e9f61b8 100644 --- a/apps/pdfeditor/main/index_loader.html +++ b/apps/pdfeditor/main/index_loader.html @@ -220,10 +220,6 @@ margin = (customer !== '') ? 50 : 20, loading = 'Loading...', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -315,7 +311,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); diff --git a/apps/pdfeditor/main/index_loader.html.deploy b/apps/pdfeditor/main/index_loader.html.deploy index e9c3e2c14a..1ac39891cc 100644 --- a/apps/pdfeditor/main/index_loader.html.deploy +++ b/apps/pdfeditor/main/index_loader.html.deploy @@ -242,10 +242,6 @@ margin = (customer !== '') ? 50 : 20, loading = 'Loading...', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null, - directUrl = params["directUrl"] ? encodeUrlParam(params["directUrl"]) : null, - url = params["url"] ? encodeUrlParam(params["url"]) : null, - fileKey = params["key"] || '', - token = params["token"] || '', isForm = params["isForm"]; window.frameEditorId = params["frameEditorId"]; @@ -335,7 +331,7 @@ document.body.appendChild(script); } if (isForm===undefined) { - checkExtendedPDF(directUrl, fileKey, url, token, function (isform) { + listenApiMsg(function (isform) { window.isPDFForm = !!isform; startApp(); }); From 068c7175973351ab747b509f1852e1e6b225b9a9 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 26 Dec 2023 17:25:40 +0300 Subject: [PATCH 51/65] Fix Bug 65702 --- apps/documenteditor/main/app/controller/Main.js | 1 + apps/pdfeditor/main/app/controller/Main.js | 1 + apps/presentationeditor/main/app/controller/Main.js | 1 + apps/spreadsheeteditor/main/app/controller/Main.js | 1 + 4 files changed, 4 insertions(+) diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 96e496e32f..2f9c3f774f 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1392,6 +1392,7 @@ define([ }, 50); } else { documentHolderController.getView().createDelayedElementsViewer(); + Common.Utils.injectSvgIcons(); Common.NotificationCenter.trigger('document:ready', 'main'); me.applyLicense(); } diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index af18cbc0d5..6b42c7e167 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1031,6 +1031,7 @@ define([ }, 500); } else { Common.NotificationCenter.trigger('document:ready', 'main'); + Common.Utils.injectSvgIcons(); me.applyLicense(); } diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 29f6c8853c..9cdf327d23 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -1002,6 +1002,7 @@ define([ }, 50); } else { documentHolderController.getView().createDelayedElementsViewer(); + Common.Utils.injectSvgIcons(); Common.NotificationCenter.trigger('document:ready', 'main'); me.applyLicense(); } diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index d0812d590b..abd71bdc3b 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -1087,6 +1087,7 @@ define([ var formulasDlgController = application.getController('FormulaDialog'); formulasDlgController && formulasDlgController.setMode(me.appOptions).setApi(me.api); documentHolderView.createDelayedElementsViewer(); + Common.Utils.injectSvgIcons(); Common.NotificationCenter.trigger('document:ready', 'main'); me.applyLicense(); } From 857fd4b23635e99bbfc4c6e2dc93b96c3bfdd2f7 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 26 Dec 2023 18:23:20 +0300 Subject: [PATCH 52/65] [DE] Change warning when open oform file --- .../main/app/controller/Toolbar.js | 56 +++++++++++++++++-- apps/documenteditor/main/locale/en.json | 7 ++- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 80e42a4aed..c6774f1c6b 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -459,6 +459,7 @@ define([ this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); } + this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this)); Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, @@ -3539,17 +3540,56 @@ define([ .setApi(me.api) .onAppReady(config); } - config.isOForm && config.canDownloadForms && !Common.localStorage.getBool("de-convert-oform") && Common.UI.warning({ - msg : me.textConvertForm, - dontshow: true, - callback: function(btn, dontshow){ - dontshow && Common.localStorage.setItem("de-convert-oform", 1); + + config.isOForm && config.canDownloadForms && Common.UI.warning({ + msg : config.canRequestSaveAs || !!config.saveAsUrl || config.isOffline ? me.textConvertFormSave : me.textConvertFormDownload, + buttons: [{value: 'ok', caption: config.canRequestSaveAs || !!config.saveAsUrl || config.isOffline ? me.textSavePdf : me.textDownloadPdf}, 'cancel'], + callback: function(btn){ + if (btn==='ok') { + me.isFromFormSaveAs = config.canRequestSaveAs || !!config.saveAsUrl; + me.api.asc_DownloadAs(new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.PDF, me.isFromFormSaveAs)); + } Common.NotificationCenter.trigger('edit:complete'); } }); }); }, + onDownloadUrl: function(url, fileType) { + if (this.isFromFormSaveAs) { + var me = this, + defFileName = this.getApplication().getController('Viewport').getView('Common.Views.Header').getDocumentCaption(); + !defFileName && (defFileName = me.txtUntitled); + + var idx = defFileName.lastIndexOf('.'); + if (idx>0) + defFileName = defFileName.substring(0, idx) + '.pdf'; + + if (me.mode.canRequestSaveAs) { + Common.Gateway.requestSaveAs(url, defFileName, fileType); + } else { + me._saveCopyDlg = new Common.Views.SaveAsDlg({ + saveFolderUrl: me.mode.saveAsUrl, + saveFileUrl: url, + defFileName: defFileName + }); + me._saveCopyDlg.on('saveaserror', function(obj, err){ + Common.UI.warning({ + closable: false, + msg: err, + callback: function(btn){ + Common.NotificationCenter.trigger('edit:complete', me); + } + }); + }).on('close', function(obj){ + me._saveCopyDlg = undefined; + }); + me._saveCopyDlg.show(); + } + } + this.isFromFormSaveAs = false; + }, + getView: function (name) { return !name ? this.toolbar : Backbone.Controller.prototype.getView.apply(this, arguments); }, @@ -4016,7 +4056,11 @@ define([ textEmptyMMergeUrl: 'You need to specify URL.', textRecentlyUsed: 'Recently Used', dataUrl: 'Paste a data URL', - textConvertForm: 'Download file as pdf to save the form in the format ready for filling.' + textConvertFormSave: 'Save file as a fillable PDF form to be able to fill it out.', + textConvertFormDownload: 'Download file as a fillable PDF form to be able to fill it out.', + txtUntitled: 'Untitled', + textSavePdf: 'Save as pdf', + textDownloadPdf: 'Download pdf' }, DE.Controllers.Toolbar || {})); }); diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index d9738ca0b5..d1289f38cc 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1214,7 +1214,12 @@ "DE.Controllers.Toolbar.notcriticalErrorTitle": "Warning", "DE.Controllers.Toolbar.textAccent": "Accents", "DE.Controllers.Toolbar.textBracket": "Brackets", - "DE.Controllers.Toolbar.textConvertForm": "Download file as pdf to save the form in the format ready for filling.", + "del_DE.Controllers.Toolbar.textConvertForm": "Download file as pdf to save the form in the format ready for filling.", + "DE.Controllers.Toolbar.textConvertFormDownload": "Download file as a fillable PDF form to be able to fill it out.", + "DE.Controllers.Toolbar.textConvertFormSave": "Save file as a fillable PDF form to be able to fill it out.", + "DE.Controllers.Toolbar.txtUntitled": "Untitled", + "DE.Controllers.Toolbar.textSavePdf": "Save as pdf", + "DE.Controllers.Toolbar.textDownloadPdf": "Download pdf", "DE.Controllers.Toolbar.textEmptyImgUrl": "You need to specify image URL.", "DE.Controllers.Toolbar.textEmptyMMergeUrl": "You need to specify URL.", "DE.Controllers.Toolbar.textFontSizeErr": "The entered value is incorrect.
    Please enter a numeric value between 1 and 300", From de2e4baf0721e4c6481089ce0eed08e906f1596b Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 25 Dec 2023 06:28:30 +0300 Subject: [PATCH 53/65] Bug 65156 --- apps/common/main/lib/controller/Desktop.js | 14 +++++++++++- .../main/resources/img/doc-formats/doc.svg | 1 + .../main/resources/img/doc-formats/dotm.svg | 15 +++++++++++++ .../main/resources/img/doc-formats/fodp.svg | 16 ++++++++++++++ .../main/resources/img/doc-formats/fods.svg | 15 +++++++++++++ .../main/resources/img/doc-formats/fodt.svg | 15 +++++++++++++ .../resources/img/doc-formats/formats.png | Bin 5197 -> 6201 bytes .../img/doc-formats/formats@1.25x.png | Bin 4465 -> 5201 bytes .../img/doc-formats/formats@1.5x.png | Bin 11418 -> 14346 bytes .../img/doc-formats/formats@1.75x.png | Bin 13113 -> 16834 bytes .../resources/img/doc-formats/formats@2x.png | Bin 17362 -> 22287 bytes .../main/resources/img/doc-formats/md.svg | 15 +++++++++++++ .../main/resources/img/doc-formats/mht.svg | 1 + .../resources/img/doc-formats/neutral@1.svg | 12 +++++++++++ .../main/resources/img/doc-formats/potm.svg | 16 ++++++++++++++ .../main/resources/img/doc-formats/pps.svg | 1 + .../main/resources/img/doc-formats/ppsm.svg | 16 ++++++++++++++ .../main/resources/img/doc-formats/ppt.svg | 1 + .../main/resources/img/doc-formats/xls.svg | 1 + .../main/resources/img/doc-formats/xltm.svg | 1 + .../main/resources/img/doc-formats/xml.svg | 1 + .../main/resources/less/filemenu.less | 20 +++++++++++++++++- .../main/resources/less/leftmenu.less | 17 ++++++++++++++- .../main/resources/less/leftmenu.less | 14 +++++++++++- 24 files changed, 188 insertions(+), 4 deletions(-) create mode 100644 apps/common/main/resources/img/doc-formats/doc.svg create mode 100644 apps/common/main/resources/img/doc-formats/dotm.svg create mode 100644 apps/common/main/resources/img/doc-formats/fodp.svg create mode 100644 apps/common/main/resources/img/doc-formats/fods.svg create mode 100644 apps/common/main/resources/img/doc-formats/fodt.svg create mode 100644 apps/common/main/resources/img/doc-formats/md.svg create mode 100644 apps/common/main/resources/img/doc-formats/mht.svg create mode 100644 apps/common/main/resources/img/doc-formats/neutral@1.svg create mode 100644 apps/common/main/resources/img/doc-formats/potm.svg create mode 100644 apps/common/main/resources/img/doc-formats/pps.svg create mode 100644 apps/common/main/resources/img/doc-formats/ppsm.svg create mode 100644 apps/common/main/resources/img/doc-formats/ppt.svg create mode 100644 apps/common/main/resources/img/doc-formats/xls.svg create mode 100644 apps/common/main/resources/img/doc-formats/xltm.svg create mode 100644 apps/common/main/resources/img/doc-formats/xml.svg diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index 82021f9d8c..fef2a75b43 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -736,6 +736,7 @@ define([ FILE_DOCUMENT_DOC_FLAT: FILE_DOCUMENT + 0x0010, FILE_DOCUMENT_OFORM: FILE_DOCUMENT + 0x0015, FILE_DOCUMENT_DOCXF: FILE_DOCUMENT + 0x0016, + FILE_DOCUMENT_XML: FILE_DOCUMENT + 0x0030, FILE_PRESENTATION: FILE_PRESENTATION, FILE_PRESENTATION_PPTX: FILE_PRESENTATION + 0x0001, @@ -776,14 +777,18 @@ define([ case utils.defines.FileFormat.FILE_DOCUMENT_ODT: return 'odt'; case utils.defines.FileFormat.FILE_DOCUMENT_RTF: return 'rtf'; case utils.defines.FileFormat.FILE_DOCUMENT_TXT: return 'txt'; - case utils.defines.FileFormat.FILE_DOCUMENT_HTML: return 'htm'; + case utils.defines.FileFormat.FILE_DOCUMENT_HTML: return 'html'; case utils.defines.FileFormat.FILE_DOCUMENT_MHT: return 'mht'; case utils.defines.FileFormat.FILE_DOCUMENT_EPUB: return 'epub'; case utils.defines.FileFormat.FILE_DOCUMENT_FB2: return 'fb2'; + case utils.defines.FileFormat.FILE_DOCUMENT_DOCM: return 'docm'; case utils.defines.FileFormat.FILE_DOCUMENT_DOTX: return 'dotx'; case utils.defines.FileFormat.FILE_DOCUMENT_OTT: return 'ott'; case utils.defines.FileFormat.FILE_DOCUMENT_OFORM: return 'oform'; case utils.defines.FileFormat.FILE_DOCUMENT_DOCXF: return 'docxf'; + case utils.defines.FileFormat.FILE_DOCUMENT_ODT_FLAT: return 'fodt'; + case utils.defines.FileFormat.FILE_DOCUMENT_DOTM: return 'dotm'; + case utils.defines.FileFormat.FILE_DOCUMENT_XML: return 'xml'; case utils.defines.FileFormat.FILE_SPREADSHEET_XLS: return 'xls'; case utils.defines.FileFormat.FILE_SPREADSHEET_XLTX: return 'xltx'; @@ -792,6 +797,9 @@ define([ case utils.defines.FileFormat.FILE_SPREADSHEET_ODS: return 'ods'; case utils.defines.FileFormat.FILE_SPREADSHEET_CSV: return 'csv'; case utils.defines.FileFormat.FILE_SPREADSHEET_OTS: return 'ots'; + case utils.defines.FileFormat.FILE_SPREADSHEET_XLTM: return 'xltm'; + case utils.defines.FileFormat.FILE_SPREADSHEET_XLSM: return 'xlsm'; + case utils.defines.FileFormat.FILE_SPREADSHEET_ODS_FLAT:return 'fods'; case utils.defines.FileFormat.FILE_PRESENTATION_PPT: return 'ppt'; case utils.defines.FileFormat.FILE_PRESENTATION_POTX: return 'potx'; @@ -799,6 +807,10 @@ define([ case utils.defines.FileFormat.FILE_PRESENTATION_ODP: return 'odp'; case utils.defines.FileFormat.FILE_PRESENTATION_PPSX: return 'ppsx'; case utils.defines.FileFormat.FILE_PRESENTATION_OTP: return 'otp'; + case utils.defines.FileFormat.FILE_PRESENTATION_PPTM: return 'pptm'; + case utils.defines.FileFormat.FILE_PRESENTATION_PPSM: return 'ppsm'; + case utils.defines.FileFormat.FILE_PRESENTATION_POTM: return 'potm'; + case utils.defines.FileFormat.FILE_PRESENTATION_ODP_FLAT: return 'fodp'; case utils.defines.FileFormat.FILE_CROSSPLATFORM_PDFA: case utils.defines.FileFormat.FILE_CROSSPLATFORM_PDF: return 'pdf'; diff --git a/apps/common/main/resources/img/doc-formats/doc.svg b/apps/common/main/resources/img/doc-formats/doc.svg new file mode 100644 index 0000000000..09f9ca2fd2 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/dotm.svg b/apps/common/main/resources/img/doc-formats/dotm.svg new file mode 100644 index 0000000000..c6abf07c20 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/dotm.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/fodp.svg b/apps/common/main/resources/img/doc-formats/fodp.svg new file mode 100644 index 0000000000..66ded0b19c --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/fodp.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/fods.svg b/apps/common/main/resources/img/doc-formats/fods.svg new file mode 100644 index 0000000000..0923aa015c --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/fods.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/fodt.svg b/apps/common/main/resources/img/doc-formats/fodt.svg new file mode 100644 index 0000000000..b214921be6 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/fodt.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/formats.png b/apps/common/main/resources/img/doc-formats/formats.png index 2bd88312febdaf2d22c2490344a1fb3d40bde195..dec3812b04751823f0e5990abc36c3039f35884c 100644 GIT binary patch literal 6201 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 HWa9q-IM&G* literal 5197 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 Op^MYe1Eu?Y;{OL!-nTyh diff --git a/apps/common/main/resources/img/doc-formats/formats@1.25x.png b/apps/common/main/resources/img/doc-formats/formats@1.25x.png index be137768bdf1c46b41d14a3e9ae27404dc877a6b..f46cc0d2ebc082f351bcb6b5ea85a71f2f87e5b8 100644 GIT binary patch delta 4626 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 IM6N<$g7_L2A^-pY delta 3880 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%0A`!#_wUughOM285zd3WJsonk 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 r{uhnt<$q9GFF4T^ literal 11418 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 diff --git a/apps/common/main/resources/img/doc-formats/formats@1.75x.png b/apps/common/main/resources/img/doc-formats/formats@1.75x.png index 167cea3748608ae12e17206960ac1b11cfc8b939..1dc51251b00dedd4957e50e46b0330ba55369d72 100644 GIT binary patch literal 16834 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 literal 17362 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 diff --git a/apps/common/main/resources/img/doc-formats/md.svg b/apps/common/main/resources/img/doc-formats/md.svg new file mode 100644 index 0000000000..ae8d222663 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/md.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/mht.svg b/apps/common/main/resources/img/doc-formats/mht.svg new file mode 100644 index 0000000000..0b39dc71d4 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/mht.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/neutral@1.svg b/apps/common/main/resources/img/doc-formats/neutral@1.svg new file mode 100644 index 0000000000..8fc7a69dea --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/neutral@1.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/potm.svg b/apps/common/main/resources/img/doc-formats/potm.svg new file mode 100644 index 0000000000..2273a016bf --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/potm.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/pps.svg b/apps/common/main/resources/img/doc-formats/pps.svg new file mode 100644 index 0000000000..f995c11de3 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/pps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/ppsm.svg b/apps/common/main/resources/img/doc-formats/ppsm.svg new file mode 100644 index 0000000000..06973c9a06 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/ppsm.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/apps/common/main/resources/img/doc-formats/ppt.svg b/apps/common/main/resources/img/doc-formats/ppt.svg new file mode 100644 index 0000000000..399a124d41 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/ppt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/xls.svg b/apps/common/main/resources/img/doc-formats/xls.svg new file mode 100644 index 0000000000..1d36d63fa3 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/xls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/xltm.svg b/apps/common/main/resources/img/doc-formats/xltm.svg new file mode 100644 index 0000000000..dd9a6dd18a --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/xltm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/img/doc-formats/xml.svg b/apps/common/main/resources/img/doc-formats/xml.svg new file mode 100644 index 0000000000..feb7633e27 --- /dev/null +++ b/apps/common/main/resources/img/doc-formats/xml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/documenteditor/main/resources/less/filemenu.less b/apps/documenteditor/main/resources/less/filemenu.less index 4b3b3e3416..3d39c22176 100644 --- a/apps/documenteditor/main/resources/less/filemenu.less +++ b/apps/documenteditor/main/resources/less/filemenu.less @@ -432,7 +432,7 @@ height: 100%; div{ background: ~"url(@{common-image-const-path}/doc-formats/formats.png)"; - background-size: 768px 30px; + background-size: 1056px 30px; &:not(.svg-file-recent) { .pixel-ratio__1_25 & { background-image: ~"url(@{common-image-const-path}/doc-formats/formats@1.25x.png)"; @@ -500,12 +500,30 @@ &xps { .format-from-index(16); } + &xml { + .format-from-index(17); + } &djvu { .format-from-index(15); } &mht { .format-from-index(18); } + &docm { + .format-from-index(32); + } + &dotm { + .format-from-index(33); + } + &fodt { + .format-from-index(34); + } + &md { + .format-from-index(42); + } + &neutral { + .format-from-index(43); + } } .svg-file-recent { background: ~"url(@{app-image-const-path}/recent-file.svg) no-repeat top"; diff --git a/apps/presentationeditor/main/resources/less/leftmenu.less b/apps/presentationeditor/main/resources/less/leftmenu.less index 26be460929..e023052e88 100644 --- a/apps/presentationeditor/main/resources/less/leftmenu.less +++ b/apps/presentationeditor/main/resources/less/leftmenu.less @@ -422,7 +422,7 @@ height: 100%; div{ background: ~"url(@{common-image-const-path}/doc-formats/formats.png)"; - background-size: 768px 30px; + background-size: 1056px 30px; &:not(.svg-file-recent) { .pixel-ratio__1_25 & { background-image: ~"url(@{common-image-const-path}/doc-formats/formats@1.25x.png)"; @@ -472,6 +472,21 @@ &ppt { .format-from-index(11); } + &pptm { + .format-from-index(38); + } + &ppsm { + .format-from-index(39); + } + &potm { + .format-from-index(40); + } + &fodp { + .format-from-index(41); + } + &.neutral { + .format-from-index(43); + } } .svg-file-recent { background: ~"url(@{app-image-const-path}/recent-file.svg) no-repeat top"; diff --git a/apps/spreadsheeteditor/main/resources/less/leftmenu.less b/apps/spreadsheeteditor/main/resources/less/leftmenu.less index 84b28ac27a..8e40c9451e 100644 --- a/apps/spreadsheeteditor/main/resources/less/leftmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/leftmenu.less @@ -514,7 +514,7 @@ height: 100%; div{ background: ~"url(@{common-image-const-path}/doc-formats/formats.png)"; - background-size: 768px 30px; + background-size: 1056px 30px; &:not(.svg-file-recent) { .pixel-ratio__1_25 & { background-image: ~"url(@{common-image-const-path}/doc-formats/formats@1.25x.png)"; @@ -564,6 +564,18 @@ &xlsb { .format-from-index(31); } + &xltm { + .format-from-index(35); + } + &xlsm { + .format-from-index(36); + } + &fods { + .format-from-index(37); + } + &.neutral { + .format-from-index(43); + } } .svg-file-recent { background: ~"url(@{app-image-const-path}/recent-file.svg) no-repeat top"; From a12a1f08f0809678ced06499004c7cca9f561991 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 27 Dec 2023 12:27:26 +0300 Subject: [PATCH 54/65] Bug 65711 --- apps/api/documents/api.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 7d1fb90ae4..d61245c723 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -517,7 +517,7 @@ if (_config.editorConfig.customization && _config.editorConfig.customization.integrationMode==='embed') window.AscEmbed && window.AscEmbed.initWorker(iframe); - if (_config.document && (_config.document.isForm===undefined)) { + if (_config.document && (_config.document.isForm!==true && _config.document.isForm!==false)) { iframe.onload = function() { _sendCommand({ command: 'checkParams', @@ -1037,7 +1037,7 @@ if (config.document) { config.document.isForm = (type && typeof type[1] === 'string') ? config.document.isForm : false; - (config.document.isForm!==undefined) && (params += "&isForm=" + config.document.isForm); + (config.document.isForm===true || config.document.isForm===false) && (params += "&isForm=" + config.document.isForm); } if (config.editorConfig && config.editorConfig.customization && !!config.editorConfig.customization.compactHeader) From 4b8768a27a24b3aebe901a725f900d937594b3fe Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Wed, 27 Dec 2023 10:31:07 +0100 Subject: [PATCH 55/65] [DE mobile] Fix Bug 65596 --- .../mobile/src/controller/Toolbar.jsx | 35 +++--- apps/documenteditor/mobile/src/page/main.jsx | 102 ++++++++++-------- 2 files changed, 80 insertions(+), 57 deletions(-) diff --git a/apps/documenteditor/mobile/src/controller/Toolbar.jsx b/apps/documenteditor/mobile/src/controller/Toolbar.jsx index 971039e968..91bd86006e 100644 --- a/apps/documenteditor/mobile/src/controller/Toolbar.jsx +++ b/apps/documenteditor/mobile/src/controller/Toolbar.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { Device } from '../../../../common/mobile/utils/device'; import { inject, observer } from 'mobx-react'; import { f7 } from 'framework7-react'; @@ -35,6 +35,19 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto const docExt = storeDocumentInfo.dataDoc ? storeDocumentInfo.dataDoc.fileType : ''; const docTitle = storeDocumentInfo.dataDoc ? storeDocumentInfo.dataDoc.title : ''; + const getNavbarTotalHeight = useCallback(() => { + const navbarBg = document.querySelector('.navbar-bg'); + const subnavbar = document.querySelector('.subnavbar'); + + if(navbarBg && subnavbar) { + return navbarBg.clientHeight + subnavbar.clientHeight; + } + + return 0; + }, []); + + const navbarHeight = useMemo(() => getNavbarTotalHeight(), []); + useEffect(() => { Common.Gateway.on('init', loadConfig); Common.Notifications.on('toolbar:activatecontrols', activateControls); @@ -56,12 +69,9 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto useEffect(() => { const api = Common.EditorApi.get(); - const navbarBgHeight = document.querySelector('.navbar-bg').clientHeight; - const subnavbarHeight = document.querySelector('.subnavbar').clientHeight; - const navbarHeight = navbarBgHeight + subnavbarHeight; const onEngineCreated = api => { - if(isViewer) { + if(api && isViewer && navbarHeight) { api.SetMobileTopOffset(navbarHeight, navbarHeight); api.asc_registerCallback('onMobileScrollDelta', scrollHandler); } @@ -76,7 +86,7 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto return () => { const api = Common.EditorApi.get(); - if (api && isViewer) { + if (api && isViewer && navbarHeight) { api.SetMobileTopOffset(navbarHeight, navbarHeight); api.asc_unregisterCallback('onMobileScrollDelta', scrollHandler); } @@ -89,21 +99,16 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto const scrollHandler = offset => { const api = Common.EditorApi.get(); - const navbarBgHeight = document.querySelector('.navbar-bg').clientHeight; - const subnavbar = document.querySelector('.subnavbar'); - const subnavbarHeight = subnavbar.clientHeight; - const isSearchbarEnabled = subnavbar.querySelector('.searchbar').classList.contains('searchbar-enabled'); + const isSearchbarEnabled = document.querySelector('.subnavbar .searchbar')?.classList.contains('searchbar-enabled'); - if(!isSearchbarEnabled) { - const navbarHeight = navbarBgHeight + subnavbarHeight; - + if(!isSearchbarEnabled && navbarHeight) { if(offset > 0) { - f7.navbar.hide('.main-navbar'); props.closeOptions('fab'); + f7.navbar.hide('.main-navbar'); api.SetMobileTopOffset(undefined, 0); } else if(offset <= 0) { - f7.navbar.show('.main-navbar'); props.openOptions('fab'); + f7.navbar.show('.main-navbar'); api.SetMobileTopOffset(undefined, navbarHeight); } } diff --git a/apps/documenteditor/mobile/src/page/main.jsx b/apps/documenteditor/mobile/src/page/main.jsx index c1d4695725..9ada28b910 100644 --- a/apps/documenteditor/mobile/src/page/main.jsx +++ b/apps/documenteditor/mobile/src/page/main.jsx @@ -73,49 +73,67 @@ const MainPage = inject('storeDocumentInfo', 'users', 'storeAppOptions', 'storeV const handleClickToOpenOptions = (opts, showOpts) => { f7.popover.close('.document-menu.modal-in', false); - let opened = false; - const newState = {...state}; - - if(opts === 'edit') { - if(newState.editOptionsVisible) opened = true; - else newState.editOptionsVisible = true; - newState.isOpenModal = true; - } else if(opts === 'add') { - if(newState.addOptionsVisible) opened = true; - else newState.addOptionsVisible = true; - newState.addShowOptions = showOpts; - newState.isOpenModal = true; - } else if(opts === 'settings') { - if(newState.settingsVisible) opened = true; - else newState.settingsVisible = true; - newState.isOpenModal = true; - } else if(opts === 'coauth') { - if(newState.collaborationVisible) opened = true; - else newState.collaborationVisible = true; - newState.isOpenModal = true; - } else if(opts === 'navigation') { - if(newState.navigationVisible) opened = true; - else newState.navigationVisible = true; - } else if(opts === 'add-link') { - if(newState.addLinkSettingsVisible) opened = true; - else newState.addLinkSettingsVisible = true; - } else if(opts === 'edit-link') { - if(newState.editLinkSettingsVisible) opened = true; - else newState.editLinkSettingsVisible = true; - } else if(opts === 'snackbar') { - newState.snackbarVisible = true; - } else if(opts === 'fab') { - newState.fabVisible = true; - } else if(opts === 'history') { - newState.historyVisible = true; - } - - if(!opened) { - setState(newState); - - if((opts === 'edit' || opts === 'coauth') && Device.phone) { - f7.navbar.hide('.main-navbar'); + setState(prevState => { + if(opts === 'edit') { + return { + ...prevState, + editOptionsVisible: true, + isOpenModal: true + } + } else if(opts === 'add') { + return { + ...prevState, + addOptionsVisible: true, + addShowOptions: showOpts, + isOpenModal: true + } + } else if(opts === 'settings') { + return { + ...prevState, + settingsVisible: true, + isOpenModal: true + } + } else if(opts === 'coauth') { + return { + ...prevState, + collaborationVisible: true, + isOpenModal: true + } + } else if(opts === 'navigation') { + return { + ...prevState, + navigationVisible: true + } + } else if(opts === 'add-link') { + return { + ...prevState, + addLinkSettingsVisible: true + } + } else if(opts === 'edit-link') { + return { + ...prevState, + editLinkSettingsVisible: true + } + } else if(opts === 'snackbar') { + return { + ...prevState, + snackbarVisible: true + } + } else if(opts === 'fab') { + return { + ...prevState, + fabVisible: true + } + } else if(opts === 'history') { + return { + ...prevState, + historyVisible: true + } } + }) + + if((opts === 'edit' || opts === 'coauth') && Device.phone) { + f7.navbar.hide('.main-navbar'); } }; From 93d4aaefa1b0c2bbc5722e3c14508e45a93b1a09 Mon Sep 17 00:00:00 2001 From: AlexeyMatveev686 Date: Wed, 27 Dec 2023 19:01:22 +0300 Subject: [PATCH 56/65] [plugins] Fix problem with plugins icons in IE. --- apps/common/main/lib/view/Plugins.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index c49a40450a..fe21af4501 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -301,7 +301,9 @@ define([ let paramName = bHasName ? 'theme' : 'style'; if (arrThemes.length) { for (let thInd = 0; thInd < arrThemes.length; thInd++) { - result.push({[paramName]: arrThemes[thInd]}); + let obj = {}; + obj[paramName] = arrThemes[thInd]; + result.push(obj); } } else { result.push({}); From ec0e1dcde29829071475a76ea574d4da2de59213 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Thu, 28 Dec 2023 02:00:40 +0300 Subject: [PATCH 57/65] [bug] Send POST request to downloadfile instead of GET; Fix request with huge JWT token size; for bug 65711 --- apps/common/checkExtendedPDF.js | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/apps/common/checkExtendedPDF.js b/apps/common/checkExtendedPDF.js index 469b8e18df..ec4915c87f 100644 --- a/apps/common/checkExtendedPDF.js +++ b/apps/common/checkExtendedPDF.js @@ -32,16 +32,16 @@ function checkExtendedPDF(directUrl, key, url, token, callback) { var limit = 110; if (directUrl) { - downloadPartialy(directUrl, limit, {}, function(text) { + downloadPartialy(directUrl, limit, null, function(text) { callback(isExtendedPDFFile(text)) }); } else { - var headers = { - 'Authorization': 'Bearer ' + token, - 'x-url': encodeURI(url) - } + let postData = JSON.stringify({ + 'url': url, + "token": token + }); var handlerUrl = "../../../../downloadfile/"+encodeURIComponent(key); - downloadPartialy(handlerUrl, limit, headers, function(text) { + downloadPartialy(handlerUrl, limit, postData, function(text) { callback(isExtendedPDFFile(text)) }); } @@ -88,7 +88,7 @@ function isExtendedPDFFile(text) { return true; } -function downloadPartialy(url, limit, headers, callback) { +function downloadPartialy(url, limit, postData, callback) { var callbackCalled = false; var xhr = new XMLHttpRequest(); //value of responseText always has the current content received from the server, even if it's incomplete @@ -98,7 +98,7 @@ function downloadPartialy(url, limit, headers, callback) { if (callbackCalled) { return; } - if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 206 || xhr.status === 1223)) { + if (xhr.readyState === 4) { callbackCalled = true; callback(xhr.responseText); } else if (xhr.readyState === 3 && xhr.responseText.length >= limit) { @@ -108,14 +108,10 @@ function downloadPartialy(url, limit, headers, callback) { callback(res); } }; - xhr.open('GET', url, true); + let method = postData ? 'POST' : 'GET'; + xhr.open(method, url, true); xhr.setRequestHeader('Range', 'bytes=0-' + limit); // the bytes (incl.) you request - for (var header in headers) { - if (headers.hasOwnProperty(header)) { - xhr.setRequestHeader(header, headers[header]); - } - } - xhr.send(); + xhr.send(postData); } var startCallback; From a96d48cb6a2f29faf0c647c9e3cb5793922ac62e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 28 Dec 2023 12:01:38 +0300 Subject: [PATCH 58/65] Fix Bug 65726 --- apps/api/documents/index.html.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/documents/index.html.desktop b/apps/api/documents/index.html.desktop index 9708da69d1..76aa66c3a8 100644 --- a/apps/api/documents/index.html.desktop +++ b/apps/api/documents/index.html.desktop @@ -96,7 +96,7 @@ docparams.permissions.edit = !(docparams.permissions.review = true); if (urlParams['isForm'] !== undefined) - docparams.isForm = urlParams['isForm']; + docparams.isForm = (urlParams['isForm']==='true'); return docparams; } From 9b7d3f4a3e9674987c442c32365dd671de0d7e2f Mon Sep 17 00:00:00 2001 From: "Julia.Svinareva" Date: Tue, 9 Jan 2024 16:27:01 +0300 Subject: [PATCH 59/65] [SSE] Fix bug 65739 --- apps/spreadsheeteditor/main/app/controller/Print.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/spreadsheeteditor/main/app/controller/Print.js b/apps/spreadsheeteditor/main/app/controller/Print.js index 37577e9db9..a05a684abe 100644 --- a/apps/spreadsheeteditor/main/app/controller/Print.js +++ b/apps/spreadsheeteditor/main/app/controller/Print.js @@ -751,6 +751,7 @@ define([ panel.dataRangeLeft = valid; txtRange.setValue(valid); txtRange.checkValidate(); + txtRange._input.blur(); } }; @@ -780,6 +781,7 @@ define([ value = this.api.asc_getPrintTitlesRange(Asc.c_oAscPrintTitlesRangeType.first, type=='left', panel.cmbSheet.getValue()); txtRange.setValue(value); txtRange.checkValidate(); + txtRange._input.blur(); if (type=='top') panel.dataRangeTop = value; else From c46312842d9ec6c87793c21ad57f227cfbd085bc Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 9 Jan 2024 18:11:53 +0300 Subject: [PATCH 60/65] [PDF] Fix Bug 65770 --- apps/pdfeditor/main/app/view/DocumentHolder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pdfeditor/main/app/view/DocumentHolder.js b/apps/pdfeditor/main/app/view/DocumentHolder.js index 782caecfb8..6cc2c2fde4 100644 --- a/apps/pdfeditor/main/app/view/DocumentHolder.js +++ b/apps/pdfeditor/main/app/view/DocumentHolder.js @@ -170,7 +170,7 @@ define([ me.menuPDFFormsUndo.setDisabled(disabled || !me.api.asc_getCanUndo()); // undo me.menuPDFFormsRedo.setDisabled(disabled || !me.api.asc_getCanRedo()); // redo - me.menuPDFFormsClear.setDisabled(disabled); // clear + me.menuPDFFormsClear.setDisabled(disabled || !me.api.asc_IsContentControl()); // clear me.menuPDFFormsCut.setDisabled(disabled || !cancopy); // cut me.menuPDFFormsCopy.setDisabled(!cancopy); // copy me.menuPDFFormsPaste.setDisabled(disabled) // paste; From 53cbbfe545f2bf16c8fafee42197cf64463cfda9 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 10 Jan 2024 15:43:46 +0300 Subject: [PATCH 61/65] Add beta label for rtl option --- apps/common/main/resources/less/common.less | 7 +++++++ apps/documenteditor/main/app/view/FileMenuPanels.js | 5 ++--- apps/pdfeditor/main/app/view/FileMenuPanels.js | 5 ++--- apps/presentationeditor/main/app/view/FileMenuPanels.js | 5 ++--- apps/spreadsheeteditor/main/app/view/FileMenuPanels.js | 5 ++--- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/apps/common/main/resources/less/common.less b/apps/common/main/resources/less/common.less index cf972d74fe..d99b620080 100644 --- a/apps/common/main/resources/less/common.less +++ b/apps/common/main/resources/less/common.less @@ -210,6 +210,13 @@ label { position: relative; } + .beta-hint { + background-color: #ffb400; + color: #6e4e00; + padding: 3px 5px; + border-radius: 2px; + .margin-left-10(); + } } .settings-panel { diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index e22a8f261c..c244742443 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -405,7 +405,7 @@ define([ '
    ', '', '', - '
    ', + '
    Beta', '', '', '
    ', @@ -788,10 +788,9 @@ define([ })).on('click', _.bind(me.applySettings, me)); }); - const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport + ' (' + txt_Beta + ')', + labelText: this.strRTLSupport, dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/pdfeditor/main/app/view/FileMenuPanels.js b/apps/pdfeditor/main/app/view/FileMenuPanels.js index 53e5ced4b0..d79970d713 100644 --- a/apps/pdfeditor/main/app/view/FileMenuPanels.js +++ b/apps/pdfeditor/main/app/view/FileMenuPanels.js @@ -347,7 +347,7 @@ define([ '
    ', '', '', - '
    ', + '
    Beta', '', '', '
    ', @@ -592,10 +592,9 @@ define([ })).on('click', _.bind(me.applySettings, me)); }); - const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"PDFE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport + ' (' + txt_Beta + ')', + labelText: this.strRTLSupport, dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index bc4ebaada5..02f576ff75 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -330,7 +330,7 @@ define([ '
    ', '', '', - '
    ', + '
    Beta', '', '', '
    ', @@ -610,10 +610,9 @@ define([ dataHintOffset: 'big' }); - const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport + ' (' + txt_Beta + ')', + labelText: this.strRTLSupport, dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 0e12d4b17b..1b47e215e3 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -308,7 +308,7 @@ define([ '
    ', '', '', - '
    ', + '
    Beta', '', '', '
    ', @@ -794,10 +794,9 @@ define([ }); this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this)); - const txt_Beta = Common.Locale.get("txtSymbol_beta",{name:"DE.Controllers.Toolbar", default: "Beta"}); this.chRTL = new Common.UI.CheckBox({ el: $markup.findById('#fms-chb-rtl-ui'), - labelText: this.strRTLSupport + ' (' + txt_Beta + ')', + labelText: this.strRTLSupport, dataHint: '2', dataHintDirection: 'left', dataHintOffset: 'small' From b7740338eba5afdc796a476185363306a77e66fa Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Wed, 10 Jan 2024 16:51:18 +0100 Subject: [PATCH 62/65] [SSE mobile] Fix Bug 65753 --- .../mobile/src/controller/ContextMenu.jsx | 15 ++++++++------- .../mobile/src/store/mainStore.js | 4 +--- apps/spreadsheeteditor/mobile/src/store/sheets.js | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx b/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx index 9ea0cd793c..045e02151d 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx @@ -1,4 +1,3 @@ -import React, { useContext } from 'react'; import { f7 } from 'framework7-react'; import { inject, observer } from "mobx-react"; import { withTranslation} from 'react-i18next'; @@ -6,7 +5,6 @@ import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage.mjs'; import ContextMenuController from '../../../../common/mobile/lib/controller/ContextMenu'; import { idContextMenuElement } from '../../../../common/mobile/lib/view/ContextMenu'; -// import { Device } from '../../../../common/mobile/utils/device'; import EditorUIController from '../lib/patch'; @inject(stores => ({ @@ -17,7 +15,7 @@ import EditorUIController from '../lib/patch'; isRestrictedEdit: stores.storeAppOptions.isRestrictedEdit, users: stores.users, isDisconnected: stores.users.isDisconnected, - storeSheets: stores.sheets, + storeWorksheets: stores.storeWorksheets, wsProps: stores.storeWorksheets.wsProps, wsLock: stores.storeWorksheets.wsLock, objects: stores.storeFocusObjects.objects, @@ -106,6 +104,7 @@ class ContextMenu extends ContextMenuController { const api = Common.EditorApi.get(); const info = api.asc_getCellInfo(); + switch (action) { case 'cut': if (!LocalStorage.getBool("sse-hide-copy-cut-paste-warning")) { @@ -127,17 +126,19 @@ class ContextMenu extends ContextMenuController { break; case 'openlink': const linkinfo = info.asc_getHyperlink(); + if ( linkinfo.asc_getType() == Asc.c_oAscHyperlinkType.RangeLink ) { + const { storeWorksheets } = this.props; const nameSheet = linkinfo.asc_getSheet(); const curActiveSheet = api.asc_getActiveWorksheetIndex(); + const tab = storeWorksheets.sheets.find((sheet) => sheet.name === nameSheet); api.asc_setWorksheetRange(linkinfo); - const {storeSheets} = this.props; - const tab = storeSheets.sheets.find((sheet) => sheet.name === nameSheet); + if (tab) { const sdkIndex = tab.index; if (sdkIndex !== curActiveSheet) { - const index = storeSheets.sheets.indexOf(tab); - storeSheets.setActiveWorksheet(index); + const index = storeWorksheets.sheets.indexOf(tab); + storeWorksheets.setActiveWorksheet(index); Common.Notifications.trigger('sheet:active', sdkIndex); } } diff --git a/apps/spreadsheeteditor/mobile/src/store/mainStore.js b/apps/spreadsheeteditor/mobile/src/store/mainStore.js index 2b834d3fd5..9bcda9c61c 100644 --- a/apps/spreadsheeteditor/mobile/src/store/mainStore.js +++ b/apps/spreadsheeteditor/mobile/src/store/mainStore.js @@ -1,8 +1,5 @@ - -// import {storeDocumentSettings} from './documentSettings'; import {storeFocusObjects} from "./focusObjects"; import {storeUsers} from '../../../../common/mobile/lib/store/users'; -import {storeWorksheets} from './sheets'; import {storeFunctions} from './functions'; import {storePalette} from "./palette"; import {storeTextSettings} from "./textSettings"; @@ -20,6 +17,7 @@ import {storeComments} from "../../../../common/mobile/lib/store/comments"; import {storeToolbarSettings} from "./toolbar"; import { storeThemes } from '../../../../common/mobile/lib/store/themes'; import { storeVersionHistory } from "../../../../common/mobile/lib/store/versionHistory"; +import {storeWorksheets} from "./sheets"; export const stores = { storeFocusObjects: new storeFocusObjects(), diff --git a/apps/spreadsheeteditor/mobile/src/store/sheets.js b/apps/spreadsheeteditor/mobile/src/store/sheets.js index ed2db7b868..b0ed4f4421 100644 --- a/apps/spreadsheeteditor/mobile/src/store/sheets.js +++ b/apps/spreadsheeteditor/mobile/src/store/sheets.js @@ -20,7 +20,7 @@ class Worksheet { } export class storeWorksheets { - sheets; + sheets = []; constructor() { makeObservable(this, { From 2f95089aa8b98e7f5660e6a0be80875165787031 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 10 Jan 2024 19:32:06 +0300 Subject: [PATCH 63/65] Hide rtl option in ie11 --- apps/common/main/lib/util/htmlutils.js | 6 +++--- apps/common/main/lib/util/utils.js | 2 +- apps/documenteditor/main/app/controller/Main.js | 2 +- apps/pdfeditor/main/app/controller/Main.js | 2 +- apps/presentationeditor/main/app/controller/Main.js | 2 +- apps/spreadsheeteditor/main/app/controller/Main.js | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/common/main/lib/util/htmlutils.js b/apps/common/main/lib/util/htmlutils.js index eb1d563ad7..82fbe5a7bb 100644 --- a/apps/common/main/lib/util/htmlutils.js +++ b/apps/common/main/lib/util/htmlutils.js @@ -29,6 +29,8 @@ * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ +const isIE = /msie|trident/i.test(navigator.userAgent); + var checkLocalStorage = (function () { try { var storage = window['localStorage']; @@ -44,13 +46,11 @@ if (!window.lang) { window.lang = window.lang ? window.lang[1] : ''; } window.lang && (window.lang = window.lang.split(/[\-\_]/)[0].toLowerCase()); -if ( checkLocalStorage && localStorage.getItem("ui-rtl") === '1' || (!checkLocalStorage || localStorage.getItem("ui-rtl") === null) && window.lang==='ar') { +if ( !isIE && (checkLocalStorage && localStorage.getItem("ui-rtl") === '1' || (!checkLocalStorage || localStorage.getItem("ui-rtl") === null) && window.lang==='ar')) { document.body.setAttribute('dir', 'rtl'); document.body.classList.add('rtl'); } -const isIE = /msie|trident/i.test(navigator.userAgent); - function checkScaling() { var matches = { 'pixel-ratio__1_25': "screen and (-webkit-min-device-pixel-ratio: 1.25) and (-webkit-max-device-pixel-ratio: 1.49), " + diff --git a/apps/common/main/lib/util/utils.js b/apps/common/main/lib/util/utils.js index b2ad06bde2..553816183d 100644 --- a/apps/common/main/lib/util/utils.js +++ b/apps/common/main/lib/util/utils.js @@ -1200,7 +1200,7 @@ Common.Utils.getKeyByValue = function(obj, value) { !Common.UI && (Common.UI = {}); Common.UI.isRTL = function () { if ( window.isrtl === undefined ) { - window.isrtl = Common.localStorage.getBool("ui-rtl", Common.Locale.isCurrentLanguageRtl()); + window.isrtl = !Common.Utils.isIE && Common.localStorage.getBool("ui-rtl", Common.Locale.isCurrentLanguageRtl()); } return window.isrtl; diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 2f9c3f774f..d2ebc1c103 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -461,7 +461,7 @@ define([ this.appOptions.canFeatureComparison = true; this.appOptions.canFeatureContentControl = true; this.appOptions.canFeatureForms = !!this.api.asc_isSupportFeature("forms"); - this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()) && !Common.Utils.isIE; this.appOptions.disableNetworkFunctionality = !!(window["AscDesktopEditor"] && window["AscDesktopEditor"]["isSupportNetworkFunctionality"] && false === window["AscDesktopEditor"]["isSupportNetworkFunctionality"]()); this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 6b42c7e167..157bdcdec4 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -401,7 +401,7 @@ define([ this.appOptions.canRequestInsertImage = this.editorConfig.canRequestInsertImage; this.appOptions.canRequestSharingSettings = this.editorConfig.canRequestSharingSettings; this.appOptions.compatibleFeatures = true; - this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()) && !Common.Utils.isIE; this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 9cdf327d23..523a06e116 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -411,7 +411,7 @@ define([ this.appOptions.compatibleFeatures = (typeof (this.appOptions.customization) == 'object') && !!this.appOptions.customization.compatibleFeatures; this.appOptions.canRequestSharingSettings = this.editorConfig.canRequestSharingSettings; this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false)); - this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()) && !Common.Utils.isIE; this.appOptions.user.guest && this.appOptions.canRenameAnonymous && Common.NotificationCenter.on('user:rename', _.bind(this.showRenameUserDialog, this)); diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index abd71bdc3b..ddab25f8e1 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -465,7 +465,7 @@ define([ this.appOptions.canMakeActionLink = this.editorConfig.canMakeActionLink; this.appOptions.canFeaturePivot = true; this.appOptions.canFeatureViews = true; - this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()); + this.appOptions.uiRtl = !(Common.Controllers.Desktop.isActive() && Common.Controllers.Desktop.uiRtlSupported()) && !Common.Utils.isIE; this.appOptions.canRequestReferenceData = this.editorConfig.canRequestReferenceData; this.appOptions.canRequestOpen = this.editorConfig.canRequestOpen; this.appOptions.canRequestReferenceSource = this.editorConfig.canRequestReferenceSource; From 1e4c387c2f030371c5890d9d3e14668691343229 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Wed, 10 Jan 2024 18:20:30 +0100 Subject: [PATCH 64/65] [DE mobile] Edits for forms --- apps/documenteditor/mobile/locale/en.json | 3 ++- apps/documenteditor/mobile/src/controller/Main.jsx | 14 ++++++++++++++ apps/documenteditor/mobile/src/store/appOptions.js | 2 ++ .../mobile/src/view/settings/SettingsPage.jsx | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index 3ea667ffb8..8048860eca 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -517,6 +517,7 @@ "errorUpdateVersion": "The file version has been changed. The page will be reloaded.", "leavePageText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", "notcriticalErrorTitle": "Warning", + "textConvertForm": "Download file as pdf to save the form in the format ready for filling.", "SDK": { " -Section ": " -Section ", "above": "above", @@ -729,7 +730,7 @@ "textRightToLeft": "Right To Left", "textSameAsSystem": "Same as system", "textSave": "Save", - "textSaveAsPdf": "Save as PDF", + "del_textSaveAsPdf": "Save as PDF", "textSearch": "Search", "textSetPassword": "Set Password", "textSettings": "Settings", diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index 300bd7f611..053578c56c 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -239,8 +239,10 @@ class MainController extends Component { if (this._isDocReady) return; + const { t } = this.props; const appOptions = this.props.storeAppOptions; const isForm = appOptions.isForm; + const isOForm = appOptions.isOForm; const appSettings = this.props.storeApplicationSettings; f7.emit('resize'); @@ -302,6 +304,18 @@ class MainController extends Component { Common.Notifications.trigger('document:ready'); Common.Gateway.documentReady(); appOptions.changeDocReady(true); + + if(isOForm) { + f7.dialog.create({ + title: t('Main.notcriticalErrorTitle'), + text: t('Main.textConvertForm'), + buttons: [ + { + text: t('Main.textOk') + } + ] + }).open(); + } }; const _process_array = (array, fn) => { diff --git a/apps/documenteditor/mobile/src/store/appOptions.js b/apps/documenteditor/mobile/src/store/appOptions.js index 3a2968f892..89fea45854 100644 --- a/apps/documenteditor/mobile/src/store/appOptions.js +++ b/apps/documenteditor/mobile/src/store/appOptions.js @@ -178,6 +178,8 @@ export class storeAppOptions { this.fileKey = document.key; this.isXpsViewer = /^(?:(djvu|xps|oxps))$/.exec(document.fileType); this.typeForm = /^(?:(pdf))$/.exec(document.fileType); // can fill forms only in pdf format + this.typeOForm = /^(?:(oform))$/.exec(document.fileType); + this.isOForm = !!(this.typeOForm && typeof this.typeOForm[1] === 'string'); this.canFillForms = this.canLicense && !!(this.typeForm && typeof this.typeForm[1] === 'string') && ((permissions.fillForms === undefined) ? this.isEdit : permissions.fillForms) && (this.config.mode !== 'view'); this.isForm = !this.isXpsViewer && !!window.isPDFForm; this.canProtect = permissions.protect !== false; diff --git a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx index a52d18a644..09f491902d 100644 --- a/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx +++ b/apps/documenteditor/mobile/src/view/settings/SettingsPage.jsx @@ -85,7 +85,7 @@ const SettingsPage = inject("storeAppOptions", "storeReview", "storeDocumentInfo : ''), (_canDownload && canFillForms && !canSubmitForms ? - + : ''), From 9bad9d2bd268804019561d63328d226f863181b5 Mon Sep 17 00:00:00 2001 From: maxkadushkin Date: Wed, 10 Jan 2024 22:20:46 +0300 Subject: [PATCH 65/65] [desktop] fix rtl option from native app --- apps/common/main/lib/util/desktopinit.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/common/main/lib/util/desktopinit.js b/apps/common/main/lib/util/desktopinit.js index 8a7680746b..c4e8427a7b 100644 --- a/apps/common/main/lib/util/desktopinit.js +++ b/apps/common/main/lib/util/desktopinit.js @@ -66,6 +66,11 @@ if ( window.AscDesktopEditor ) { // window.desktop.themes = map_themes; } } + + if ( window.RendererProcessVariable.rtl !== undefined ) { + const nativevars = window.RendererProcessVariable; + localStorage.setItem("ui-rtl", (nativevars.rtl == 'yes' || nativevars.rtl == 'true') ? 1 : 0); + } } window.desktop.execCommand('webapps:entry', (window.features && JSON.stringify(window.features)) || '');