Explorar el Código

15.5.5 release

David Benson [draw.io] hace 3 años
padre
commit
fea7e13319

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+18-OCT_2021: 15.5.5
+
+- Adds support for "primary key (PK)" SQL syntax #DID-3505
+- Fixes crop to selection in export https://github.com/jgraph/drawio/issues/2324
+
 15-OCT-2021: 15.5.4
 
 - Fixes NPE in TableShape.paintForeground

+ 1 - 1
VERSION

@@ -1 +1 @@
-15.5.4
+15.5.5

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1178 - 1178
src/main/webapp/js/app.min.js


+ 50 - 32
src/main/webapp/js/diagramly/Dialogs.js

@@ -2003,10 +2003,33 @@ var ParseDialog = function(editorUi, title, defaultType)
 		else if (type == 'table')
 		{
 			var tableCell = null;
-			var rows = null;
 			var cells = [];
 			var dx = 0;
+			var pkMap = {};
 
+			//First pass to find primary keys
+			for (var i = 0; i < lines.length; i++)
+			{
+				var line = mxUtils.trim(lines[i]);
+				
+				if (line.substring(0, 11).toLowerCase() == 'primary key')
+				{
+					var pk = line.match(/\((.+)\)/);
+					
+					if (pk && pk[1])
+					{
+						pkMap[pk[1]] = true;						
+					}
+					
+					lines.splice(i, 1);
+				}
+				else if (line.toLowerCase().indexOf('primary key') > 0)
+				{
+					pkMap[line.split(' ')[0]] = true;
+					lines[i] = mxUtils.trim(line.replace(/primary key/i, ''));
+				}
+			}
+			
 			for (var i = 0; i < lines.length; i++)
 			{
 				var tmp = mxUtils.trim(lines[i]);
@@ -2040,38 +2063,33 @@ var ParseDialog = function(editorUi, title, defaultType)
 				else if (tmp != '(' && tableCell != null)
 				{
 					var name = tmp.substring(0, (tmp.charAt(tmp.length - 1) == ',') ? tmp.length - 1 : tmp.length);
+				
+					var pk = pkMap[name.split(' ')[0]];
+					var rowCell = new mxCell('', new mxGeometry(0, 0, 160, 30),
+						'shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;' +
+						'points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=' +
+						(pk ? '1' : '0') + ';');
+					rowCell.vertex = true;
 					
-					if (name.substring(0, 11).toLowerCase() != 'primary key')
-					{
-						var pk = name.toLowerCase().indexOf('primary key');
-						name = name.replace(/primary key/i, '');
-						
-						var rowCell = new mxCell('', new mxGeometry(0, 0, 160, 30),
-							'shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;' +
-							'points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=' +
-							((pk > 0) ? '1' : '0') + ';');
-						rowCell.vertex = true;
-						
-						var left = new mxCell((pk > 0) ? 'PK' : '', new mxGeometry(0, 0, 30, 30),
-							'shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;' + ((pk > 0) ? 'fontStyle=1;' : ''));
-						left.vertex = true;
-						rowCell.insert(left);
-						
-						var right = new mxCell(name, new mxGeometry(30, 0, 130, 30),
-							'shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;' + ((pk > 0) ? 'fontStyle=5;' : ''));
-						right.vertex = true;
-						rowCell.insert(right);
-						
-			   			var size = editorUi.editor.graph.getPreferredSizeForCell(right);
-			   			
-			   			if (size != null && tableCell.geometry.width < size.width + 30)
-			   			{
-			   				tableCell.geometry.width = Math.min(320, Math.max(tableCell.geometry.width, size.width + 30));
-			   			}
-			   			
-			   			tableCell.insert(rowCell);
-			   			tableCell.geometry.height += 30;
-					}
+					var left = new mxCell(pk ? 'PK' : '', new mxGeometry(0, 0, 30, 30),
+						'shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;' + (pk ? 'fontStyle=1;' : ''));
+					left.vertex = true;
+					rowCell.insert(left);
+					
+					var right = new mxCell(name, new mxGeometry(30, 0, 130, 30),
+						'shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;' + (pk ? 'fontStyle=5;' : ''));
+					right.vertex = true;
+					rowCell.insert(right);
+					
+		   			var size = editorUi.editor.graph.getPreferredSizeForCell(right);
+		   			
+		   			if (size != null && tableCell.geometry.width < size.width + 30)
+		   			{
+		   				tableCell.geometry.width = Math.min(320, Math.max(tableCell.geometry.width, size.width + 30));
+		   			}
+		   			
+		   			tableCell.insert(rowCell, pk? 0 : null);
+		   			tableCell.geometry.height += 30;
 				}
 			}
 			

+ 6 - 6
src/main/webapp/js/diagramly/EditorUi.js

@@ -6111,10 +6111,10 @@
 		cb5.style.marginRight = '8px';
 		cb5.setAttribute('type', 'checkbox');
 		
-		var cb6 = document.createElement('input');
-		cb6.style.marginTop = '16px';
-		cb6.style.marginRight = '8px';
-		cb6.setAttribute('type', 'checkbox');
+		var cb7 = document.createElement('input');
+		cb7.style.marginTop = '16px';
+		cb7.style.marginRight = '8px';
+		cb7.setAttribute('type', 'checkbox');
 		
 		if (this.isOffline() || !this.canvasSupported)
 		{
@@ -6127,7 +6127,7 @@
 			mxUtils.write(div, mxResources.get('embedImages'));
 			mxUtils.br(div);
 
-			div.appendChild(cb6);
+			div.appendChild(cb7);
 			mxUtils.write(div, mxResources.get('embedFonts'));
 			mxUtils.br(div);
 			
@@ -6183,7 +6183,7 @@
 			callback(zoomInput.value, transparent.checked, !selection.checked, shadow.checked,
 				include.checked, cb5.checked, borderInput.value, cb6.checked, false,
 				linkSelect.value, (grid != null) ? grid.checked : null, (keepTheme != null) ?
-				keepTheme.checked : null, exportSelect.value, cb6.checked);
+				keepTheme.checked : null, exportSelect.value, cb7.checked);
 		}), null, btnLabel, helpLink);
 		this.showDialog(dlg.container, 340, height, true, true, null, null, null, null, true);
 		zoomInput.focus();

+ 2 - 2
src/main/webapp/js/grapheditor/Graph.js

@@ -8167,11 +8167,11 @@ if (typeof mxVertexHandler != 'undefined')
 				rows = rows && this.isTableRow(cells[i]);
 			}
 			
-			return (mxUtils.getValue(style, 'part', '0') != '1' || this.isContainer(cell)) &&
+			return ((mxUtils.getValue(style, 'part', '0') != '1' || this.isContainer(cell)) &&
 				mxUtils.getValue(style, 'dropTarget', '1') != '0' &&
 				(mxGraph.prototype.isValidDropTarget.apply(this, arguments) ||
 				this.isContainer(cell)) && !this.isTableRow(cell) &&
-				(!this.isTable(cell) || rows || tables);
+				(!this.isTable(cell) || rows || tables)) && !this.isCellLocked(cell);
 		};
 	
 		/**

+ 16 - 20
src/main/webapp/js/grapheditor/Shapes.js

@@ -252,31 +252,27 @@
 						for (var j = 0; j < rowData.length; j++)
 						{
 							var data = rowData[j];
+							var colspan = (i == 1) ? parseInt(graph.getCurrentCellStyle(
+								data.cells[i - 1])['colspan'] || 1) :
+									rowData[j].colspans[i - 1];
 
-							if (data != null)
-							{
-								var colspan = (i == 1) ? parseInt(graph.getCurrentCellStyle(
-									data.cells[i - 1])['colspan'] || 1) :
-										rowData[j].colspans[i - 1];
-
-								data.colspans[i] = colspan - 1;
+							data.colspans[i] = colspan - 1;
 
-								if (data.colspans[i] < 1)
+							if (data.colspans[i] < 1)
+							{
+								data.colspans[i] = parseInt(graph.getCurrentCellStyle(
+									data.cells[i])['colspan'] || 1);
+								th = data.y;
+							}
+							else
+							{
+								if (th > 0)
 								{
-									data.colspans[i] = parseInt(graph.getCurrentCellStyle(
-										data.cells[i])['colspan'] || 1);
-									th = data.y;
+									c.lineTo(x + geo.x + start.x, y + th - start.height);
 								}
-								else
-								{
-									if (th > 0)
-									{
-										c.lineTo(x + geo.x + start.x, y + th - start.height);
-									}
 
-									c.moveTo(x + geo.x + start.x, y + data.y);
-									th = 0;
-								}
+								c.moveTo(x + geo.x + start.x, y + data.y);
+								th = 0;
 							}
 						}
 

+ 5 - 0
src/main/webapp/js/grapheditor/Sidebar.js

@@ -3575,6 +3575,11 @@ Sidebar.prototype.addClickHandler = function(elt, ds, cells)
  */
 Sidebar.prototype.createVertexTemplateEntry = function(style, width, height, value, title, showLabel, showTitle, tags)
 {
+	if (tags != null && title != null)
+	{
+		tags += ' ' + title;
+	}
+
 	tags = (tags != null && tags.length > 0) ? tags : ((title != null) ? title.toLowerCase() : '');
 	
 	return this.addEntry(tags, mxUtils.bind(this, function()

+ 135 - 132
src/main/webapp/js/open.js

@@ -49,161 +49,164 @@ function main()
 
 			window.parent.listBrowserFiles(function(filesInfo)
 			{
-				if (filesInfo.length == 0)
+				if (window.parent != null)
 				{
-					window.parent.mxUtils.write(div, window.parent.mxResources.get('noFiles'));
-					div.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
-					window.parent.mxUtils.br(div);
-				}
-				else
-				{
-					// Sorts the array by filename (titles)
-					filesInfo.sort(function (a, b)
+					if (filesInfo.length == 0)
 					{
-					    return a.title.toLowerCase().localeCompare(b.title.toLowerCase());
-					});
-					
-					var table = document.createElement('table');
-					var hrow = document.createElement('tr');
-					hrow.style.backgroundColor = (window.parent.uiTheme == 'dark') ? '#000' : '#D6D6D6';
-					hrow.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
-					hrow.style.height = '25px';
-					hrow.style.textAlign = 'left';
-					table.appendChild(hrow);
-					var hName = document.createElement('th');
-					window.parent.mxUtils.write(hName, window.parent.mxResources.get('name'));
-					hrow.appendChild(hName);
-					var hModified = document.createElement('th');
-					hModified.style.width = '180px';
-					window.parent.mxUtils.write(hModified, window.parent.mxResources.get('lastModified'));
-					hrow.appendChild(hModified);
-					var hSize = document.createElement('th');
-					window.parent.mxUtils.write(hSize, window.parent.mxResources.get('size'));
-					hSize.style.width = '70px';
-					hrow.appendChild(hSize);
-					var hCtrl = document.createElement('th');
-					hCtrl.style.width = '23px';
-					hrow.appendChild(hCtrl);
-					table.style.fontSize = '12pt';
-					table.style.width = '100%';
-
-					for (var i = 0; i < filesInfo.length; i++)
+						window.parent.mxUtils.write(div, window.parent.mxResources.get('noFiles'));
+						div.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
+						window.parent.mxUtils.br(div);
+					}
+					else
 					{
-						var fileInfo = filesInfo[i];
+						// Sorts the array by filename (titles)
+						filesInfo.sort(function (a, b)
+						{
+							return a.title.toLowerCase().localeCompare(b.title.toLowerCase());
+						});
 						
-						if (fileInfo.title.length > 0)
+						var table = document.createElement('table');
+						var hrow = document.createElement('tr');
+						hrow.style.backgroundColor = (window.parent.uiTheme == 'dark') ? '#000' : '#D6D6D6';
+						hrow.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
+						hrow.style.height = '25px';
+						hrow.style.textAlign = 'left';
+						table.appendChild(hrow);
+						var hName = document.createElement('th');
+						window.parent.mxUtils.write(hName, window.parent.mxResources.get('name'));
+						hrow.appendChild(hName);
+						var hModified = document.createElement('th');
+						hModified.style.width = '180px';
+						window.parent.mxUtils.write(hModified, window.parent.mxResources.get('lastModified'));
+						hrow.appendChild(hModified);
+						var hSize = document.createElement('th');
+						window.parent.mxUtils.write(hSize, window.parent.mxResources.get('size'));
+						hSize.style.width = '70px';
+						hrow.appendChild(hSize);
+						var hCtrl = document.createElement('th');
+						hCtrl.style.width = '23px';
+						hrow.appendChild(hCtrl);
+						table.style.fontSize = '12pt';
+						table.style.width = '100%';
+
+						for (var i = 0; i < filesInfo.length; i++)
 						{
-							var row = document.createElement('tr');
-							row.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
-							table.appendChild(row);
+							var fileInfo = filesInfo[i];
 							
-							if (i & 1 == 1)
+							if (fileInfo.title.length > 0)
 							{
-								row.style.backgroundColor = (window.parent.uiTheme == 'dark') ? '#000' : '#E6E6E6';
-							}
+								var row = document.createElement('tr');
+								row.style.color = (window.parent.uiTheme == 'dark') ? '#cccccc' : '';
+								table.appendChild(row);
 								
-							var nameTd = document.createElement('td');
-							row.appendChild(nameTd);
-							var link = document.createElement('a');
-							link.style.fontDecoration = 'none';
-							window.parent.mxUtils.write(link, fileInfo.title);
-							link.style.cursor = 'pointer';
-							nameTd.appendChild(link);
-							
-							var modifiedTd = document.createElement('td');
-							row.appendChild(modifiedTd);
-							var str = window.parent.EditorUi.prototype.timeSince(new Date(fileInfo.lastModified));
-							
-							if (str == null)
-							{
-								str = window.parent.mxResources.get('lessThanAMinute');
-							}
-							
-							window.parent.mxUtils.write(modifiedTd, window.parent.mxResources.get('timeAgo', [str]));
-							
-							var sizeTd = document.createElement('td');
-							row.appendChild(sizeTd);
-							window.parent.mxUtils.write(sizeTd, window.parent.EditorUi.prototype.formatFileSize(fileInfo.size));
-							
-							var ctrlTd = document.createElement('td');
-							row.appendChild(ctrlTd);
-							ctrlTd.style.textAlign = 'center';
-							var img = document.createElement('span');
-							img.className = 'geSprite geSprite-delete';
-							img.style.cursor = 'pointer';
-							img.style.display = 'inline-block';
-							ctrlTd.appendChild(img);
-							
-							if (window.parent.uiTheme == 'dark')
-							{
-								img.style.filter = 'invert(100%)';
-							}
+								if (i & 1 == 1)
+								{
+									row.style.backgroundColor = (window.parent.uiTheme == 'dark') ? '#000' : '#E6E6E6';
+								}
+									
+								var nameTd = document.createElement('td');
+								row.appendChild(nameTd);
+								var link = document.createElement('a');
+								link.style.fontDecoration = 'none';
+								window.parent.mxUtils.write(link, fileInfo.title);
+								link.style.cursor = 'pointer';
+								nameTd.appendChild(link);
+								
+								var modifiedTd = document.createElement('td');
+								row.appendChild(modifiedTd);
+								var str = window.parent.EditorUi.prototype.timeSince(new Date(fileInfo.lastModified));
+								
+								if (str == null)
+								{
+									str = window.parent.mxResources.get('lessThanAMinute');
+								}
+								
+								window.parent.mxUtils.write(modifiedTd, window.parent.mxResources.get('timeAgo', [str]));
+								
+								var sizeTd = document.createElement('td');
+								row.appendChild(sizeTd);
+								window.parent.mxUtils.write(sizeTd, window.parent.EditorUi.prototype.formatFileSize(fileInfo.size));
+								
+								var ctrlTd = document.createElement('td');
+								row.appendChild(ctrlTd);
+								ctrlTd.style.textAlign = 'center';
+								var img = document.createElement('span');
+								img.className = 'geSprite geSprite-delete';
+								img.style.cursor = 'pointer';
+								img.style.display = 'inline-block';
+								ctrlTd.appendChild(img);
+								
+								if (window.parent.uiTheme == 'dark')
+								{
+									img.style.filter = 'invert(100%)';
+								}
 
-							window.parent.mxEvent.addListener(img, 'click', (function(k)
-							{
-								return function()
+								window.parent.mxEvent.addListener(img, 'click', (function(k)
 								{
-									if (window.parent.mxUtils.confirm(window.parent.mxResources.get('delete') + ' "' + k + '"?'))
+									return function()
 									{
-										window.parent.deleteBrowserFile(k, function()
+										if (window.parent.mxUtils.confirm(window.parent.mxResources.get('delete') + ' "' + k + '"?'))
 										{
-											window.location.reload();											
-										});
-									}
-								};
-							})(fileInfo.title));
-		
-							window.parent.mxEvent.addListener(link, 'click', (function(k)
-							{
-								return function()
+											window.parent.deleteBrowserFile(k, function()
+											{
+												window.location.reload();											
+											});
+										}
+									};
+								})(fileInfo.title));
+			
+								window.parent.mxEvent.addListener(link, 'click', (function(k)
 								{
-									if (window.parent.openNew && window.parent.baseUrl != null)
+									return function()
 									{
-										var of = window.parent.openFile;
-										window.parent.openBrowserFile(k, function(data)
+										if (window.parent.openNew && window.parent.baseUrl != null)
 										{
-											window.parent.openWindow(window.parent.baseUrl + '#L' + encodeURIComponent(k), function()
+											var of = window.parent.openFile;
+											window.parent.openBrowserFile(k, function(data)
 											{
-												of.cancel(false);
+												window.parent.openWindow(window.parent.baseUrl + '#L' + encodeURIComponent(k), function()
+												{
+													of.cancel(false);
+												}, function()
+												{
+													of.setData(data, k);
+												});									
 											}, function()
 											{
-												of.setData(data, k);
-											});									
-										}, function()
-										{
-											//TODO add error
-										});
-									}
-									else
-									{
-										window.parent.openBrowserFile(k, function(data)
+												//TODO add error
+											});
+										}
+										else
 										{
-											window.parent.openFile.setData(data, k);
-										}, function()
-										{
-											//TODO add error
-										});
-									}
-								};
-							})(fileInfo.title));
+											window.parent.openBrowserFile(k, function(data)
+											{
+												window.parent.openFile.setData(data, k);
+											}, function()
+											{
+												//TODO add error
+											});
+										}
+									};
+								})(fileInfo.title));
+							}
 						}
+						
+						div.appendChild(table);
 					}
 					
-					div.appendChild(table);
+					var closeButton = window.parent.mxUtils.button(window.parent.mxResources.get('close'), function()
+					{
+						hideWindow(true);
+					});
+					
+					closeButton.className = 'geBtn';
+					closeButton.style.position = 'fixed';
+					closeButton.style.bottom = '0px';
+					closeButton.style.right = '0px';
+					div.appendChild(closeButton);
+					
+					document.body.appendChild(div);
 				}
-				
-				var closeButton = window.parent.mxUtils.button(window.parent.mxResources.get('close'), function()
-				{
-					hideWindow(true);
-				});
-				
-				closeButton.className = 'geBtn';
-				closeButton.style.position = 'fixed';
-				closeButton.style.bottom = '0px';
-				closeButton.style.right = '0px';
-				div.appendChild(closeButton);
-				
-				document.body.appendChild(div);
 			});
 		}
 		else

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 86 - 86
src/main/webapp/js/viewer-static.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 86 - 86
src/main/webapp/js/viewer.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
src/main/webapp/mxgraph/mxClient.js


+ 10 - 10
src/main/webapp/resources/dia_cs.txt

@@ -102,7 +102,7 @@ compressed=Komprimováno
 commitMessage=Zpráva u commitu
 configLinkWarn=Tento odkaz nastaví draw.io. Na OK klikněte pouze pokud věříte jeho původu!
 configLinkConfirm=Pokud chcete nastavit a restartovat draw.io, klikněte na OK.
-container=Container
+container=Kontejner
 csv=CSV
 dark=Tmavé
 diagramXmlDesc=XML soubor
@@ -236,7 +236,7 @@ googleImages=Google Obrázky
 imageSearch=Vyhledávání obrázku
 eip=EIP
 embed=Vložit
-embedFonts=Embed Fonts
+embedFonts=Vestavět písma
 embedImages=Vložit obrázky
 mainEmbedNotice=Vložit toto na stránku
 electrical=Elektrotechnika
@@ -598,7 +598,7 @@ properties=Vlastnosti
 publish=Zveřejnit
 quickStart=Rychle spustit video
 rack=Rozvaděč
-radial=Radial
+radial=Radiální
 radialTree=Radiální strom
 readOnly=Jen pro čtení
 reconnecting=Připojuje se znovu
@@ -1155,10 +1155,10 @@ showAllTemps=Zobrazit všechny šablony
 notionToken=Token pojmu
 selectDB=Vybrat databázi
 noDBs=Žádné databáze
-diagramEdited={1} diagram "{2}" edited
-confDraftPermissionErr=Draft cannot be written. Do you have attachment write/read permission on this page?
-confDraftTooBigErr=Draft size is too large. Pease check "Attachment Maximum Size" of "Attachment Settings" in Confluence Configuration?
-owner=Owner
-repository=Repository
-branch=Branch
-meters=Meters
+diagramEdited={1} diagram „{2}“ upraven
+confDraftPermissionErr=Koncept není možné zapsat. Máte na této stránce oprávnění k zápisu/čtení přílohy?
+confDraftTooBigErr=Velikost konceptu je příliš velká. Zkontrolujte „Maximální velikost přílohy“ v „Nastavení příloh“ v nastavení Confluence?
+owner=Vlastník
+repository=Repozitář
+branch=Větev
+meters=Met

+ 3 - 3
src/main/webapp/resources/dia_it.txt

@@ -947,7 +947,7 @@ confAImportedFromByDraw=Importato da "{1}" tramite draw.io
 confAImportGliffyFailed=Importazione del diagramma {2} "{1}" non riuscita.
 confAFetchGliffyFailed=Recupero del diagramma {2} "{1}" non riuscito.
 confACheckBrokenDiagLnk=Verifica dei collegamenti dei diagrammi interrotti.
-confADelDiagLinkOf=Eliminazione del collegamento del diagramma di "{1}"
+confADelDiagLinkOf=Eliminazione del diagramma Link di "{1}"
 confADupLnk=(collegamento duplicato)
 confADelDiagLnkFailed=Eliminazione del collegamento del diagramma di "{1}" non riuscita.
 confAUnexpErrProcessPage=Errore inatteso durante l'elaborazione della pagina con ID: {1}
@@ -1047,7 +1047,7 @@ msgDeleted=Questo messaggio è stato eliminato
 confAErrFetchDrawList=Errore durante il recupero dell'elenco dei diagrammi. Alcuni diagrammi sono ignorati.
 confAErrCheckDrawDiag=Impossibile controllare il diagramma {1}
 confAErrFetchPageList=Errore durante il recupero dell'elenco delle pagine
-confADiagImportIncom={1} diagramma "{2}" viene importato parzialmente e potrebbe avere forme mancanti
+confADiagImportIncom={1} diagramma "{2}" viene importato parzialmente e p avere forme mancanti
 invalidSel=Selezione non valida
 diagNameEmptyErr=Il nome del diagramma non può essere vuoto
 openDiagram=Apri diagramma
@@ -1086,7 +1086,7 @@ noRecentDiags=Nessun diagramma recente trovato
 fetchingRecentFailed=Impossibile recuperare i diagrammi recenti
 useSrch2FindDiags=Usa la casella di ricerca per trovare diagrammi di draw.io
 cantReadChckPerms=Impossibile leggere il diagramma specificato. Verifica di disporre del permesso di lettura su quel file.
-cantFetchChckPerms=Impossibile recuperare informazioni sul diagramma. Si prega di verificare che tu abbia il permesso di lettura su quel file.
+cantFetchChckPerms=Impossibile recuperare informazioni sul diagramma. Si prega di verificare che tu abbia la lettura del permesso su quel file.
 searchFailed=Ricerca non riuscita. Riprova più tardi.
 plsTypeStr=Digita una stringa di ricerca.
 unsupportedFileChckUrl=File non supportato. Controllare l'URL specificato

+ 225 - 225
src/main/webapp/resources/dia_pt-br.txt

@@ -14,7 +14,7 @@ addLayer=Adicionar camada
 addProperty=Adicionar propriedade
 address=Endereço
 addToExistingDrawing=Adicionar ao desenho existente
-addWaypoint=Adicionar ponto de notificação
+addWaypoint=Adicionar ponto intermediário
 adjustTo=Ajustar para
 advanced=Avançado
 align=Alinhar
@@ -121,7 +121,7 @@ circle=Círculo
 cisco=Cisco
 classic=Clássica
 clearDefaultStyle=Limpar estilo padrão
-clearWaypoints=Limpar pontos de notificação
+clearWaypoints=Limpar pontos intermediários
 clipart=Clipart
 close=Fechar
 closingFile=Fechando o arquivo
@@ -227,7 +227,7 @@ editGeometry=Editar geometria
 editImage=Editar imagem
 editImageUrl=Editar URL de imagem
 editLink=Editar ligação
-editShape=Editar formato
+editShape=Editar forma
 editStyle=Editar estilo
 editText=Editar texto
 editTooltip=Editar dica de contexto
@@ -246,7 +246,7 @@ enterGroup=Inserir grupo
 enterName=Inserir nome
 enterPropertyName=Inserir nome da propriedade
 enterValue=Inserir valor
-entityRelation=Relação da entidade
+entityRelation=Relação de entidade
 entityRelationshipDiagram=Diagrama Entidade-Relacionamento
 error=Erro
 errorDeletingFile=Erro ao excluir o aquivo
@@ -321,12 +321,12 @@ flipV=Virar verticalmente
 flowchart=Fluxograma
 folder=Pasta
 font=Fonte
-fontColor=Cor da fonte
+fontColor=Cor do texto
 fontFamily=Nome da fonte
 fontSize=Tamanho da fonte
 forbidden=Você não tem permissão para acessar este arquivo.
 format=Formatar
-formatPanel=Formatar painel
+formatPanel=Painel de formatação
 formatted=Formatado
 formattedText=Texto formatado
 formatPng=PNG
@@ -453,13 +453,13 @@ layout=Layout
 left=Esquerda
 leftAlign=Alinhar à esquerda
 leftToRight=Esquerda para direita
-libraryTooltip=Arraste e solte os formatos aqui ou clique em + para inserir. Duplo clique nos formatos para editá-los.
+libraryTooltip=Arraste e solte as formas aqui ou clique em + para inserir. Duplo clique nas formas para editá-las.
 lightbox=Lightbox ao clicar
 line=Linha
 lineend=Fim da linha
 lineheight=Altura da linha
 linestart=Início da linha
-linewidth=Largura da linha
+linewidth=Espessura da linha
 link=Link
 links=Links
 loading=Carregando
@@ -499,99 +499,99 @@ new=Novo
 newLibrary=Nova biblioteca
 nextPage=Próxima página
 no=Não
-noPickFolder=No, pick folder
-noAttachments=Anexos não encontrados
+noPickFolder=Não, escolher a pasta
+noAttachments=Nenhum anexo encontrado
 noColor=Nenhuma cor
 noFiles=Nenhum arquivo
 noFileSelected=Nenhum arquivo selecionado
 noLibraries=Nenhuma biblioteca encontrada
-noMoreResults=Sem mais resultados
+noMoreResults=Não há mais resultados
 none=Nada
-noOtherViewers=Nenhum outro usuário
+noOtherViewers=Nenhum outro leitor
 noPlugins=Nenhuma extensão
 noPreview=Nenhuma visualização
-noResponse=Sem resposta do servidor
+noResponse=Nenhuma resposta do servidor
 noResultsFor=Nenhum resultado para '{1}'
 noRevisions=Nenhuma revisão
 noSearchResults=Nenhum resultado de busca encontrado
-noPageContentOrNotSaved=Nenhuma âncora encontrada nesta página ou ainda não foi salvo
+noPageContentOrNotSaved=Nenhuma âncora encontrada nesta página ou ela ainda não foi salva
 normal=Normal
-north=Topo
+north=Superior
 notADiagramFile=Não é um arquivo de diagrama
 notALibraryFile=Não é um arquivo de biblioteca
 notAvailable=Não está disponível
 notAUtf8File=Não é um arquivo UTF-8
-notConnected=Não conetado
+notConnected=Não conectado
 note=Nota
 notion=Notion
-notSatisfiedWithImport=Not satisfied with the import?
+notSatisfiedWithImport=Não está satisfeito com a importação?
 notUsingService=Não está utilizando {1}?
 numberedList=Lista numerada
 offline=Desconectado
-ok=OK 
+ok=OK
 oneDrive=OneDrive
 online=Conectado
-opacity=Opacidade 
-open=Abrir 
+opacity=Opacidade
+open=Abrir
 openArrow=Abrir seta
 openExistingDiagram=Abrir diagrama existente
-openFile=Abrir arquivo 
+openFile=Abrir arquivo
 openFrom=Abrir de
 openLibrary=Abrir biblioteca
 openLibraryFrom=Abrir biblioteca de
 openLink=Abrir link
-openInNewWindow=Abrir numa outra janela
+openInNewWindow=Abrir em nova janela
 openInThisWindow=Abrir nessa janela
 openIt=Abrir {1}
 openRecent=Aberto recentemente
-openSupported=Os formatos suportados são arquivos salvos deste software (.xml), .vsdx e .gliffy
+openSupported=Os formatos de arquivo suportados são: .xml (criados neste aplicativo), .vsdx e .gliffy
 options=Opções
 organic=Orgânico
-orgChart=Org Chart
+orgChart=Organograma
 orthogonal=Ortogonal
-otherViewer=outro usuário
-otherViewers=outros usuários
+otherViewer=outro leitor
+otherViewers=outros leitores
 outline=Contorno
-oval=Oval 
+oval=Oval
 page=Página
 pageContent=Conteúdo da página
 pageNotFound=Página não encontrada
 pageWithNumber=Página-{1}
 pages=Páginas
-pageView=Visualização da Página 
-pageSetup=Configuração da Página
+pageView=Visualização da página
+pageSetup=Configuração da página
 pageScale=Escala da página
 pan=Panorama
 panTooltip=Espaço+Arrastar para deslocar
-paperSize=Formato do Papel 
-pattern=Padrão
-parallels=Parallels
-paste=Colar 
-pasteData=Paste Data
+paperSize=Tamanho do papel
+pattern=Traço
+parallels=Paralelos
+paste=Colar
+pasteData=Colar dados
 pasteHere=Colar aqui
-pasteSize=Paste Size
+pasteSize=Colar o tamanho
 pasteStyle=Colar estilo
-perimeter=Perímetro 
+perimeter=Perímetro
 permissionAnyone=Qualquer pessoa pode editar
-permissionAuthor=Somente eu posso editar
+permissionAuthor=Somente eu e admins podemos editar
 pickFolder=Escolha uma pasta
 pickLibraryDialogTitle=Selecione a biblioteca
 publicDiagramUrl=URL pública do diagrama
 placeholders=Marcadores
 plantUml=Planta UML
 plugins=Extensões
-pluginUrl=URL de extensão
+pluginUrl=URL da extensão
 pluginWarning=A página solicitou o carregamento da(s) seguinte(s) extensão(ões):\n \n {1}\n \n Você gostaria de carregar a(s) extensão(ões) agora?\n \n NOTA: Somente permita a execução de extensões se você entende completamente as implicações de segurança desse consentimento.\n
-plusTooltip=Clique e arraste para contectar; clique para clonar e conectar; shift-clique para clonar
+plusTooltip=Clique+arraste para mover; ctrl+clique para duplicar; shift+clique para mover horizontalmente ou verticalmente.
 portrait=Retrato
-position=Posição 
-posterPrint=Imprimir Cartaz 
+position=Posição
+posterPrint=Imprimir cartaz
 preferences=Preferências
 preview=Visualizar
 previousPage=Página anterior
 print=Imprimir
 printAllPages=Imprimir todas as páginas
-procEng=Engenharia de Processos
+procEng=Engenharia de processos
 project=Projeto
 priority=Prioridade
 properties=Propriedades
@@ -601,143 +601,143 @@ rack=Gabinete
 radial=Radial
 radialTree=Árvore radial
 readOnly=Somente leitura
-reconnecting=Reconetando
-recentlyUpdated=Recentemente atualizado
-recentlyViewed=Recentemente visto
+reconnecting=Reconectando
+recentlyUpdated=Atualizado recentemente
+recentlyViewed=Visualizado recentemente
 rectangle=Retângulo
 redirectToNewApp=Esse arquivo foi criado ou modificado em uma versão mais recente deste aplicativo. Você será redirecionado agora.
 realtimeTimeout=Parece que você fez algumas mudanças enquanto estava offline. Infelizmente, essas mudanças não podem ser salvas.
-redo=Refazer 
+redo=Refazer
 refresh=Atualizar
-regularExpression=Expressão habitual
-relative=Relative
-relativeUrlNotAllowed=Relative URL not allowed
+regularExpression=Expressão regular
+relative=Relativa
+relativeUrlNotAllowed=URL relativa não permitida
 rememberMe=Lembre de mim
 rememberThisSetting=Lembre dessa configuração
 removeFormat=Limpar formatação
-removeFromGroup=Remover do Grupo 
+removeFromGroup=Remover do grupo
 removeIt=Remover {1}
-removeWaypoint=Remover ponto de notificação
+removeWaypoint=Remover ponto intermediário
 rename=Renomear
 renamed=Renomeado
 renameIt=Renomear {1}
 renaming=Renomeando
 replace=Substituir
-replaceIt={1} já existe. Você deseja substituí-lo? 
+replaceIt={1} já existe. Você deseja substituí-lo?
 replaceExistingDrawing=Substituir desenho já existente
 required=obrigatório
-reset=Recarregar
+reset=Redefinir
 resetView=Redefinir visualização
 resize=Redimensionar
-resizeLargeImages=Do you want to resize large images to make the application run faster?
+resizeLargeImages=Você deseja redimensionar imagens grandes para tornar o aplicativo mais rápido?
 retina=Retina
 responsive=Responsivo
 restore=Restaurar
 restoring=Restaurando
 retryingIn=Tentando novamente em {1} segundo(s)
-retryingLoad=Carregamento falhou. Tentanto novamente...
+retryingLoad=O carregamento falhou. Tentanto novamente...
 retryingLogin=Tempo de login esgotado. Tentando novamente...
 reverse=Retroceder
 revision=Revisão
 revisionHistory=Histórico de revisões
 rhombus=Losango
-right=Direita 
-rightAlign=Alinhar à direita 
+right=Direita
+rightAlign=Alinhar à direita
 rightToLeft=Direita para esquerda
-rotate=Rodar
-rotateTooltip=Clique e arraste para rodar, clique para girar 90 graus
-rotation=Rotação 
-rounded=Arredondado 
+rotate=Girar
+rotateTooltip=Clique e arraste para girar. Clique para girar a forma em 90 graus
+rotation=Rotação
+rounded=Arredondado
 save=Salvar
 saveAndExit=Salvar e sair
 saveAs=Salvar como
 saveAsXmlFile=Salvar como arquivo XML?
 saved=Salvo
-saveDiagramFirst=Please save the diagram first
+saveDiagramFirst=Salve o diagrama primeiramente
 saveDiagramsTo=Salvar diagramas em
-saveLibrary403=Permissões insuficientes para editar esta biblioteca
+saveLibrary403=Permissões insuficientes para editar essa biblioteca
 saveLibrary500=Ocorreu um erro enquanto a biblioteca estava sendo salva
-saveLibraryReadOnly=Could not save library while read-only mode is active
+saveLibraryReadOnly=Não foi possível salvar a biblioteca porque o modo somente leitura está ativo
 saving=Salvando
 scratchpad=Bloco de rascunho
 scrollbars=Barras de rolagem
 search=Buscar
-searchShapes=Procurar formatos
-selectAll=Selecionar tudo 
+searchShapes=Procurar formas
+selectAll=Selecionar tudo
 selectionOnly=Selecionar somente
-selectCard=Select Card
-selectEdges=Selecione bordas 
-selectFile=Selecionar Arquivo
-selectFolder=Selecionar Pasta
-selectFont=Selecionar Fonte
-selectNone=Não selecionar nada
-selectTemplate=Select Template
-selectVertices=Selecionar vértices 
+selectCard=Selecionar cartão
+selectEdges=Selecionar bordas
+selectFile=Selecionar arquivo
+selectFolder=Selecionar pasta
+selectFont=Selecionar fonte
+selectNone=Selecionar nada
+selectTemplate=Selecionar modelo
+selectVertices=Selecionar vértices
 sendBackward=Recuar
 sendMessage=Enviar
-sendYourFeedback=Enviar seu feedback
+sendYourFeedback=Enviar seu comentário
 serviceUnavailableOrBlocked=Serviço indisponível ou bloqueado
 sessionExpired=Sua sessão expirou. Por favor, atualize a janela do navegador.
-sessionTimeoutOnSave=O tempo de sua sessão esgotou e você foi desconectado do Google Drive. Pressione OK para fazer login e salvar.
-setAsDefaultStyle=Configurar como Estilo Padrão
+sessionTimeoutOnSave=O tempo da sua sessão esgotou e você foi desconectado do Google Drive. Pressione OK para fazer login e salvar.
+setAsDefaultStyle=Definir como estilo padrão
 shadow=Sombra
-shape=Formato
-shapes=Formatos
+shape=Forma
+shapes=Formas
 share=Compartilhar
-shareLink=Link para edição partilhada
-sharingAvailable=Sharing available for Google Drive and OneDrive files.
+shareLink=Link para edição compartilhada
+sharingAvailable=O compartilhamento é disponível para arquivos salvos em Google Drive ou em OneDrive.
 sharp=Quadrado
 show=Mostrar
-showStartScreen=Mostrar Tela Inicial
-sidebarTooltip=Clique para expandir. Arraste e solte os formatos dentro do diagrama. Shift+clique para alterar a seleção. Alt+clique para inserir e conectar.
+showStartScreen=Mostrar tela de boas-vindas
+sidebarTooltip=Clique para expandir. Arraste e solte as formas dentro do diagrama. Shift+clique para alterar a seleção. Alt+clique para inserir e conectar.
 signs=Sinais
 signOut=Sair
 simple=Simples
 simpleArrow=Seta simples
-simpleViewer=Simple Viewer
+simpleViewer=Visualizador simples
 size=Tamanho
-sketch=Sketch
+sketch=Esboço
 solid=Sólido
 sourceSpacing=Espaçamento entre fontes
 south=Inferior
 software=Software
 space=Espaço
-spacing=Espaçamento 
+spacing=Espaçamento
 specialLink=Link especial
 standard=Padrão
-startDrawing=Start drawing
-stopDrawing=Stop drawing
+startDrawing=Começar a desenhar
+stopDrawing=Parar de desenhar
 starting=Começando
 straight=Reto
-strikethrough=Strikethrough
-strokeColor=Cor da linha 
-style=Estilo 
+strikethrough=Riscado
+strokeColor=Cor da linha
+style=Estilo
 subscript=Subscrito
 summary=Sumário
-superscript=Índice
+superscript=Sobrescrito
 support=Ajuda
-swimlaneDiagram=Swimlane Diagram
+swimlaneDiagram=Fluxograma funcional
 sysml=SysML
 tags=Etiquetas
 table=Tabela
 tables=Tabelas
-takeOver=Take Over
+takeOver=Assumir o controle
 targetSpacing=Espaçamento do objeto
 template=Modelo
 templates=Modelos
 text=Texto
-textAlignment=Alinhamento do texto 
-textOpacity=Opacidade do Texto
+textAlignment=Alinhamento do texto
+textOpacity=Opacidade do texto
 theme=Tema
 timeout=Tempo esgotado
 title=Título
 to=até
-toBack=Para trás 
-toFront=Para a frente 
-tooLargeUseDownload=Too large, use download instead.
-toolbar=Toolbar
+toBack=Para trás
+toFront=Para a frente
+tooLargeUseDownload=Muito grande. Prefira baixar esse conteúdo.
+toolbar=Barra de ferramentas
 tooltips=Dicas de contexto
-top=Topo
+top=Superior
 topAlign=Alinhar superior
 topLeft=Superior esquerdo
 topRight=Superior direito
@@ -750,9 +750,9 @@ turn=Girar 90°
 type=Tipo
 twitter=Twitter
 uml=UML
-underline=Sublinhado 
-undo=Desfazer 
-ungroup=Desagrupar 
+underline=Sublinhado
+undo=Desfazer
+ungroup=Desagrupar
 unsavedChanges=Mudanças não salvas
 unsavedChangesClickHereToSave=Mudanças não salvas. Clique aqui para salvar.
 untitled=Sem título
@@ -761,133 +761,133 @@ untitledLayer=Camada sem título
 untitledLibrary=Biblioteca sem título
 unknownError=Erro desconhecido
 updateFile=Atualizar {1}
-updatingDocument=Atualizando documento. Por favor, aguarde... 
-updatingPreview=Atualizando Visualização. Por favor, aguarde...
-updatingSelection=Atualizando seleção. Por favor, aguarde... 
+updatingDocument=Atualizando o documento. Por favor, aguarde...
+updatingPreview=Atualizando a visualização. Por favor, aguarde...
+updatingSelection=Atualizando a seleção. Por favor, aguarde...
 upload=Carregar
 url=URL
-useOffline=Use Offline
+useOffline=Usar desconectado à rede
 useRootFolder=Usar a pasta principal?
-userManual=Manual do Usuário
-vertical=Vertical 
+userManual=Manual do usuário
+vertical=Vertical
 verticalFlow=Fluxo vertical
 verticalTree=Árvore vertical
 view=Visualização
-viewerSettings=Viewer Settings
+viewerSettings=Configurações do visualizador
 viewUrl=Link para visualização: {1}
-voiceAssistant=Assistente de Voz (beta)
+voiceAssistant=Assistente de voz (beta)
 warning=Alerta
-waypoints=Pontos de notificação
+waypoints=Pontos intermediários
 west=Esquerda
-width=Largura 
+width=Largura
 wiki=Wiki
 wordWrap=Quebra de linha
-writingDirection=Direção de escrita
+writingDirection=Direção da escrita
 yes=Sim
 yourEmailAddress=Seu endereço de e-mail
 zoom=Zoom
-zoomIn=Mais zoom 
-zoomOut=Menos zoom 
+zoomIn=Mais zoom
+zoomOut=Menos zoom
 basic=Básico
 businessprocess=Processos de negócios
 charts=Gráficos
 engineering=Engenharia
 flowcharts=Fluxogramas
-gmdl=Design do material
+gmdl=Design de material
 mindmaps=Mapas mentais
 mockups=Protótipos
 networkdiagrams=Rede de diagramas
 nothingIsSelected=Nenhuma seleção
 other=Outros
-softwaredesign=Design do software
+softwaredesign=Design de software
 venndiagrams=Diagramas de Venn
-webEmailOrOther=Web, e-mail ou outro endereço de internet
-webLink=Link de Web
-wireframes=Wireframes
+webEmailOrOther=Site na internet, endereço de e-mail ou outro
+webLink=Site na internet
+wireframes=Esboço da estrutura de aplicativos ou sites
 property=Propriedade
 value=Valor
-showMore=Show More
-showLess=Show Less
+showMore=Mostrar mais
+showLess=Mostrar menos
 myDiagrams=Meus diagramas
-allDiagrams=All Diagrams
-recentlyUsed=Recently used
+allDiagrams=Todos os diagramas
+recentlyUsed=Usados recentemente
 listView=List view
 gridView=Grid view
-resultsFor=Results for '{1}'
+resultsFor=Resultados para '{1}'
 oneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? / \ { | }
 oneDriveInvalidDeviceName=The specified device name is invalid
 officeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.
 officeSelectSingleDiag=Please select a single draw.io diagram only without other contents.
-officeSelectDiag=Please select a draw.io diagram.
+officeSelectDiag=Selecione um diagrama do draw.io, por favor.
 officeCannotFindDiagram=Cannot find a draw.io diagram in the selection
 noDiagrams=Nenhum diagrama encontrado
 authFailed=Authentication failed
 officeFailedAuthMsg=Unable to successfully authenticate user or authorize application.
-convertingDiagramFailed=Converting diagram failed
+convertingDiagramFailed=Falha ao converter o diagrama
 officeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.
-insertingImageFailed=Inserting image failed
+insertingImageFailed=Falha ao inserir imagem
 officeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.
-folderEmpty=Folder is empty
-recent=Recent
-sharedWithMe=Shared With Me
+folderEmpty=A pasta está vazia
+recent=Recentes
+sharedWithMe=Compartilhados comigo
 sharepointSites=Sharepoint Sites
-errorFetchingFolder=Error fetching folder items
+errorFetchingFolder=Erro ao buscar os itens da pasta
 errorAuthOD=Error authenticating to OneDrive
-officeMainHeader=Adds draw.io diagrams to your document.
+officeMainHeader=Adiciona diagramas do draw.io ao seu documento.
 officeStepsHeader=This add-in performs the following steps:
 officeStep1=Connects to Microsoft OneDrive, Google Drive or your device.
-officeStep2=Select a draw.io diagram.
-officeStep3=Insert the diagram into the document.
+officeStep2=Selecione um diagrama do draw.io.
+officeStep3=Insira o diagrama no documento.
 officeAuthPopupInfo=Please complete the authentication in the pop-up window.
-officeSelDiag=Select draw.io Diagram:
-files=Files
+officeSelDiag=Selecione o diagrama do draw.io:
+files=Arquivos
 shared=Shared
 sharepoint=Sharepoint
 officeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.
-officeClickToEdit=Click icon to start editing:
-pasteDiagram=Paste draw.io diagram here
-connectOD=Connect to OneDrive
+officeClickToEdit=Clique no ícone para começar a editar:
+pasteDiagram=Colar o diagrama do draw.io aqui
+connectOD=Conectar-se ao OneDrive
 selectChildren=Select Children
 selectSiblings=Select Siblings
 selectParent=Select Parent
 selectDescendants=Select Descendants
-lastSaved=Last saved {1} ago
-resolve=Resolve
-reopen=Re-open
-showResolved=Show Resolved
+lastSaved=Salvo pela última vez há {1}
+resolve=Marcar como resolvido
+reopen=Abrir novamente
+showResolved=Mostrar os resolvidos
 reply=Responder
-objectNotFound=Object not found
+objectNotFound=Objeto não encontrado
 reOpened=Re-opened
-markedAsResolved=Marked as resolved
-noCommentsFound=No comments found
+markedAsResolved=Marcado como resolvido
+noCommentsFound=Nenhum comentário encontrado
 comments=Comentários
-timeAgo={1} ago
+timeAgo={1} atrás
 confluenceCloud=Confluence Cloud
-libraries=Libraries
+libraries=Bibliotecas
 confAnchor=Confluence Page Anchor
 confTimeout=The connection has timed out
 confSrvTakeTooLong=The server at {1} is taking too long to respond.
 confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
-confSaveTry=Please save the page and try again.
+confSaveTry=Por favor, salve a página e tente novamente.
 confCannotGetID=Unable to determine page ID
 confContactAdmin=Please contact your Confluence administrator.
 readErr=Read Error
-editingErr=Editing Error
+editingErr=Erro de edição
 confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
 confEditedExt=Diagram/Page edited externally
-diagNotFound=Diagram Not Found
+diagNotFound=Diagrama não encontrado
 confEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.
 confCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.
 retBack=Return back
 confDiagNotPublished=The diagram does not belong to a published page
-createdByDraw=Created by draw.io
+createdByDraw=Criado com draw.io
 filenameShort=Filename too short
 invalidChars=Invalid characters
-alreadyExst={1} already exists
-draftReadErr=Draft Read Error
-diagCantLoad=Diagram cannot be loaded
+alreadyExst={1} já existe
+draftReadErr=Erro de leitura do rascunho
+diagCantLoad=O diagrama não pôde ser carregado
 draftWriteErr=Draft Write Error
-draftCantCreate=Draft could not be created
+draftCantCreate=O rascunho não pôde ser criado
 confDuplName=Duplicate diagram name detected. Please pick another name.
 confSessionExpired=Looks like your session expired. Log in again to keep working.
 login=Login
@@ -897,15 +897,15 @@ invalidCallFnNotFound=Invalid Call: {1} not found
 invalidCallErrOccured=Invalid Call: An error occurred, {1}
 anonymous=Anônimo
 confGotoPage=Go to containing page
-showComments=Show Comments
+showComments=Mostrar comentários
 confError=Erro: {1}
 gliffyImport=Gliffy Import
 gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
 gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.
-startImport=Start Import
-drawConfig=draw.io Configuration
-customLib=Custom Libraries
-customTemp=Custom Templates
+startImport=Começar a importação
+drawConfig=Configuração do draw.io
+customLib=Bibliotecas personalizadas
+customTemp=Modelos personalizados
 pageIdsExp=Page IDs Export
 drawReindex=draw.io re-indexing (beta)
 working=Working
@@ -913,19 +913,19 @@ drawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist
 createConfSp=Create Config Space
 unexpErrRefresh=Unexpected error, please refresh the page and try again.
 configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
-thisPage=this page
-curCustLib=Current Custom Libraries
-libName=Library Name
-action=Action
+thisPage=esta página
+curCustLib=Bibliotecas personalizadas atuais
+libName=Nome da biblioteca
+action=Ação
 drawConfID=draw.io Config ID
 addLibInst=Click the "Add Library" button to upload a new library.
-addLib=Add Library
+addLib=Adicionar biblioteca
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
-tempsPage=Templates page
+tempsPage=Página de modelos
 pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
-startExp=Start Export
+startExp=Começar a exportação
 refreshDrawIndex=Refresh draw.io Diagrams Index
 reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
 reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
@@ -935,7 +935,7 @@ confAAllDiagDone=All {1} diagrams processed. Process finished.
 confAStartedProcessing=Started processing page "{1}"
 confAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.
 confAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.
-confAUpdatePageFailed=Updating page "{1}" failed.
+confAUpdatePageFailed=Falha ao atualizar a página "{1}".
 confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
@@ -943,7 +943,7 @@ confASearchFailed=Searching for {1} diagrams failed. Please try again later.
 confAGliffyDiagFound={2} diagram "{1}" found. Importing
 confAGliffyDiagImported={2} diagram "{1}" imported successfully.
 confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
-confAImportedFromByDraw=Imported from "{1}" by draw.io
+confAImportedFromByDraw=Importado de "{1}" por draw.io
 confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
 confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
@@ -953,12 +953,12 @@ confADelDiagLnkFailed=Deleting diagram link of "{1}" failed.
 confAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}
 confADiagFoundIndex=Diagram "{1}" found. Indexing
 confADiagIndexSucc=Diagram "{1}" indexed successfully.
-confAIndexDiagFailed=Indexing diagram "{1}" failed.
+confAIndexDiagFailed=Falha ao indexar o diagrama "{1}".
 confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
-confADiagUptoDate=Diagram "{1}" is up to date.
+confADiagUptoDate=O diagrama "{1}" está atualizado.
 confACheckPagesWDraw=Checking pages having draw.io diagrams.
-confAErrOccured=An error occurred!
-savedSucc=Saved successfully
+confAErrOccured=Ocorreu um erro!
+savedSucc=Salvo com sucesso
 confASaveFailedErr=Saving Failed (Unexpected Error)
 character=Character
 confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment
@@ -966,25 +966,25 @@ confALibPageDesc=This page contains draw.io custom libraries as attachments
 confATempPageDesc=This page contains draw.io custom templates as attachments
 working=Working
 confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
-confANoCustLib=No Custom Libraries
+confANoCustLib=Nenhuma biblioteca personalizada
 delFailed=Delete failed!
 showID=Show ID
 confAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.
 uploading=Uploading
-confALibExist=This library already exists
+confALibExist=Essa biblioteca já existe
 confAUploadSucc=Uploaded successfully
 confAUploadFailErr=Upload Failed (Unexpected Error)
 hiResPreview=High Res Preview
 officeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.
 officePopupInfo=Please complete the process in the pop-up window.
-pickODFile=Pick OneDrive File
-pickGDriveFile=Pick Google Drive File
-pickDeviceFile=Pick Device File
+pickODFile=Escolher um arquivo no OneDrive
+pickGDriveFile=Escolher um arquivo no Google Drive
+pickDeviceFile=Escolher um arquivo no aparelho
 vsdNoConfig="vsdurl" is not configured
 ruler=Régua
 units=Unidades
-points=Points
-inches=Inches
+points=Pontos
+inches=Polegadas
 millimeters=Milímetros
 confEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.
 confDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session's modifications.
@@ -997,12 +997,12 @@ confAProcessDrawDiagDone=Finished processing imported draw.io diagrams
 confAProcessImpPages=Started processing imported pages
 confAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"
 confAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"
-confAImpDiagram=Importing diagram "{1}"
+confAImpDiagram=Importando o diagrama "{1}"
 confAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
 confAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.
 confAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.
 confImpDiagramSuccess=Updating diagram "{1}" done successfully.
-confANoLnksInDrgm=No links to update in: {1}
+confANoLnksInDrgm=Nenhum link para atualizar em: {1}
 confAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"
 confAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"
 confAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"
@@ -1032,7 +1032,7 @@ smart=Smart
 parentChildSpacing=Parent Child Spacing
 siblingSpacing=Sibling Spacing
 confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1}
-copyAsImage=Copy as Image
+copyAsImage=Copiar como imagem
 lucidImport=Lucidchart Import
 lucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.
 installFirst=Please install {1} first
@@ -1042,38 +1042,38 @@ errFetchDocList=Error: Couldn't fetch documents list
 builtinPlugins=Built-in Plugins
 extPlugins=External Plugins
 backupFound=Backup file found
-chromeOnly=This feature only works in Google Chrome
-msgDeleted=This message has been deleted
+chromeOnly=Esta funcionalidade só funciona no Google Chrome
+msgDeleted=Esta mensagem foi excluída
 confAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.
 confAErrCheckDrawDiag=Cannot check diagram {1}
 confAErrFetchPageList=Error fetching pages list
 confADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes
-invalidSel=Invalid selection
+invalidSel=Seleção inválida
 diagNameEmptyErr=Diagram name cannot be empty
-openDiagram=Open Diagram
-newDiagram=New diagram
+openDiagram=Abrir o diagrama
+newDiagram=Novo diagrama
 editable=Editable
 confAReimportStarted=Re-import {1} diagrams started...
 spaceFilter=Filter by spaces
 curViewState=Current Viewer State
-pageLayers=Page and Layers
-customize=Customize
-firstPage=First Page (All Layers)
+pageLayers=Página e camadas
+customize=Personalizar
+firstPage=Primeira página (todas as camadas)
 curEditorState=Current Editor State
 noAnchorsFound=No anchors found 
-attachment=Attachment
-curDiagram=Current Diagram
-recentDiags=Recent Diagrams
+attachment=Anexo
+curDiagram=Diagrama atual
+recentDiags=Diagramas recentes
 csvImport=CSV Import
-chooseFile=Choose a file...
+chooseFile=Escolher um arquivo...
 choose=Escolher
-gdriveFname=Google Drive filename
-widthOfViewer=Width of the viewer (px)
-heightOfViewer=Height of the viewer (px)
+gdriveFname=Nome de arquivo no Google Drive
+widthOfViewer=Largura do visualizador (px)
+heightOfViewer=Altura do visualizador (px)
 autoSetViewerSize=Automatically set the size of the viewer
 thumbnail=Thumbnail
 prevInDraw=Preview in draw.io
-onedriveFname=OneDrive filename
+onedriveFname=Nome de arquivo no OneDrive
 diagFname=Diagram filename
 diagUrl=Diagram URL
 showDiag=Show Diagram
@@ -1081,9 +1081,9 @@ diagPreview=Diagram Preview
 csvFileUrl=CSV File URL
 generate=Generate
 selectDiag2Insert=Please select a diagram to insert it.
-errShowingDiag=Unexpected error. Cannot show diagram
-noRecentDiags=No recent diagrams found
-fetchingRecentFailed=Failed to fetch recent diagrams
+errShowingDiag=Erro inesperado. Não foi possível mostrar o diagrama
+noRecentDiags=Nenhum diagrama recente encontrado
+fetchingRecentFailed=Falha ao buscar os diagramas recentes
 useSrch2FindDiags=Use the search box to find draw.io diagrams
 cantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.
 cantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.
@@ -1093,14 +1093,14 @@ unsupportedFileChckUrl=Unsupported file. Please check the specified URL
 diagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL
 csvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL
 cantReadUpload=Cannot read the uploaded diagram
-select=Select
+select=Selecionar
 errCantGetIdType=Unexpected Error: Cannot get content id or type.
 errGAuthWinBlocked=Error: Google Authentication window blocked
 authDrawAccess=Authorize draw.io to access {1}
 connTimeout=The connection has timed out
 errAuthSrvc=Error authenticating to {1}
-plsSelectFile=Please select a file
-mustBgtZ={1} must be greater than zero
+plsSelectFile=Selecione um arquivo, por favor
+mustBgtZ={1} deve ser maior do que zero
 cantLoadPrev=Cannot load file preview.
 errAccessFile=Error: Access Denied. You do not have permission to access "{1}".
 noPrevAvail=No preview is available.
@@ -1108,29 +1108,29 @@ personalAccNotSup=Personal accounts are not supported.
 errSavingTryLater=Error occurred during saving, please try again later.
 plsEnterFld=Please enter {1}
 invalidDiagUrl=Invalid Diagram URL
-unsupportedVsdx=Unsupported vsdx file
-unsupportedImg=Unsupported image file
-unsupportedFormat=Unsupported file format
+unsupportedVsdx=Arquivo vsdx não suportado
+unsupportedImg=Formato de imagem não suportado
+unsupportedFormat=Formato de arquivo não suportado
 plsSelectSingleFile=Please select a single file only
 attCorrupt=Attachment file "{1}" is corrupted
-loadAttFailed=Failed to load attachment "{1}"
+loadAttFailed=Falha ao carregar o anexo "{1}"
 embedDrawDiag=Embed draw.io Diagram
-addDiagram=Add Diagram
+addDiagram=Adicionar diagrama
 embedDiagram=Embed Diagram
 editOwningPg=Edit owning page
 deepIndexing=Deep Indexing (Index diagrams that aren't used in any page also)
 confADeepIndexStarted=Deep Indexing Started
 confADeepIndexDone=Deep Indexing Done
 officeNoDiagramsSelected=No diagrams found in the selection
-officeNoDiagramsInDoc=No diagrams found in the document
+officeNoDiagramsInDoc=Nenhum diagrama encontrado no documento
 officeNotSupported=This feature is not supported in this host application
 someImagesFailed={1} out of {2} failed due to the following errors
 importingNoUsedDiagrams=Importing {1} Diagrams not used in pages
 importingDrafts=Importing {1} Diagrams in drafts
 processingDrafts=Processing drafts
-updatingDrafts=Updating drafts
-updateDrafts=Update drafts
-notifications=Notifications
+updatingDrafts=Atualizando os rascunhos
+updateDrafts=Atualizar os rascunhos
+notifications=Notificações
 drawioImp=draw.io Import
 confALibsImp=Importing draw.io Libraries
 confALibsImpFailed=Importing {1} library failed
@@ -1140,7 +1140,7 @@ errFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have p
 confACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.
 confADelBrokenEmbedDiagLnk=Removing broken embedded diagram links
 replaceWith=Replace with
-replaceAll=Replace All
+replaceAll=Substituir tudo
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
@@ -1149,16 +1149,16 @@ ibm=IBM
 linkToDiagramHint=Add a link to this diagram. The diagram can only be edited from the page that owns it.
 linkToDiagram=Link to Diagram
 changedBy=Changed By
-lastModifiedOn=Last modified on
+lastModifiedOn=Última modificação em
 searchResults=Search Results
-showAllTemps=Show all templates
-notionToken=Notion Token
+showAllTemps=Mostrar todos os modelos
+notionToken=Token do Notion
 selectDB=Select Database
 noDBs=No Databases
 diagramEdited={1} diagram "{2}" edited
-confDraftPermissionErr=Draft cannot be written. Do you have attachment write/read permission on this page?
+confDraftPermissionErr=O rascunho não pode ser editado. Você tem permissão para editar/ler anexos nesta página?
 confDraftTooBigErr=Draft size is too large. Pease check "Attachment Maximum Size" of "Attachment Settings" in Confluence Configuration?
 owner=Owner
-repository=Repository
+repository=Repositório
 branch=Branch
-meters=Meters
+meters=Metros

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
src/main/webapp/service-worker.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
src/main/webapp/service-worker.js.map