ソースを参照

20.8.18 release

David Benson 2 年 前
コミット
99e8fb77b8

+ 8 - 0
ChangeLog

@@ -1,3 +1,11 @@
+07-FEB-2023: 20.8.18
+
+- Fixes locked is not defined in read-only diagrams [DS-944]
+- Fixes offset of terminal point after drag and drop
+- Fixes special cases for drag and drop from sidebar
+- Fixes parents for adding edges in cell hierarchies
+- Fixes point offsets for duplicated edges in groups
+
 06-FEB-2023: 20.8.17
 
 - Fixes connection points dialog, adds help button

+ 1 - 1
VERSION

@@ -1 +1 @@
-20.8.17
+20.8.18

ファイルの差分が大きいため隠しています
+ 843 - 843
src/main/webapp/js/app.min.js


+ 31 - 11
src/main/webapp/js/grapheditor/Graph.js

@@ -1047,7 +1047,7 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
 		{
 			if (!this.isEnabled() && !me.isConsumed())
 			{
-				var cell = (locked) ? me.sourceState.cell : me.getCell();
+				var cell = me.getCell();
 				
 				if (cell != null)
 				{
@@ -1065,11 +1065,6 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
 						}
 					}
 				}
-				
-				if (this.isEnabled() && locked)
-				{
-					this.clearSelection();
-				}
 			}
 			else
 			{
@@ -2786,7 +2781,35 @@ Graph.prototype.init = function(container)
 
 		return newCells;
 	};
-	
+
+	/**
+	 * Returns the given terminal that is not relative, an edge or a part.
+	 */
+	Graph.prototype.getReferenceTerminal = function(terminal)
+	{
+		if (terminal != null)
+		{
+			var geo = this.getCellGeometry(terminal);
+
+			if (geo != null && geo.relative)
+			{
+				terminal = this.model.getParent(terminal);
+			}
+		}
+
+		if (terminal != null && this.model.isEdge(terminal))
+		{
+			terminal = this.model.getParent(terminal);
+		}
+
+		if (terminal != null)
+		{
+			terminal = this.getCompositeParent(terminal);
+		}
+
+		return terminal;
+	};
+
 	/**
 	 * Returns the first parent that is not a part.
 	 */
@@ -8610,9 +8633,7 @@ if (typeof mxVertexHandler !== 'undefined')
 				var sourceState = this.view.getState(cells[0]);
 
 				if (targetState != null && sourceState != null &&
-					((evt != null && mxEvent.isShiftDown(evt)) ||
-					(targetState.style['shape'] == 'umlLifeline' &&
-					sourceState.style['shape'] == 'umlLifeline')))
+					(evt != null && mxEvent.isShiftDown(evt)))
 				{
 					var g1 = this.getCellGeometry(target);
 					var g2 = this.getCellGeometry(cells[0]);
@@ -10122,7 +10143,6 @@ if (typeof mxVertexHandler !== 'undefined')
 			model.beginUpdate();
 			try
 			{
-
 				var cloneMap = new Object();
 				var lookup = this.createCellLookup(cells);
 				var clones = this.cloneCells(cells, false, cloneMap, true);

+ 37 - 21
src/main/webapp/js/grapheditor/Sidebar.js

@@ -2444,16 +2444,17 @@ Sidebar.prototype.createDragPreview = function(width, height)
 /**
  * Creates a drag source for the given element.
  */
-Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCellIndex, evt)
+Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCellIndex, evt, firstVertex, freeSourceEdge)
 {
-	var geo = this.getDropAndConnectGeometry(source, targets[dropCellIndex], direction, targets);
+	var graph = this.editorUi.editor.graph;
+	var index = (graph.model.isEdge(source) || firstVertex != null) ? firstVertex : freeSourceEdge;
+	var geo = this.getDropAndConnectGeometry(source, targets[index], direction, targets);
 	
 	// Targets without the new edge for selection
 	var tmp = [];
 	
 	if (geo != null)
 	{
-		var graph = this.editorUi.editor.graph;
 		var editingCell = null;
 
 		graph.model.beginUpdate();
@@ -2489,14 +2490,6 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
 				var offset = tmp.origin;
 				dx = offset.x;
 				dy = offset.y;
-
-				var pt = geo.getTerminalPoint(false);
-				
-				if (pt != null)
-				{
-					pt.x += offset.x;
-					pt.y += offset.y;
-				}
 			}
 			
 			var useParent = !graph.isTableRow(source) && !graph.isTableCell(source) &&
@@ -2546,15 +2539,23 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
 			targets = graph.importCells(targets, (geo.x - (useParent ? dx : 0)),
 				(geo.y - (useParent ? dy : 0)), (useParent) ? targetParent : null);
 			tmp = targets;
-			
+
 			if (graph.model.isEdge(source))
 			{
 				// Adds new terminal to edge
 				// LATER: Push new terminal out radially from edge start point
 				graph.model.setTerminal(source, targets[dropCellIndex],
 					direction == mxConstants.DIRECTION_NORTH);
+				
+				// Replaces the source edge style with the dangling edge and
+				// removes the dangling edge from the graph
+				if (freeSourceEdge != null && firstVertex != null)
+				{
+					graph.model.remove(targets[freeSourceEdge]);
+					graph.updateShapes(targets[freeSourceEdge], [source]);
+				}
 			}
-			else if (graph.model.isEdge(targets[dropCellIndex]))
+			else if (graph.model.isEdge(targets[dropCellIndex]) && firstVertex == null)
 			{
 				// Adds new outgoing connection to vertex and clears points
 				graph.model.setTerminal(targets[dropCellIndex], source, true);
@@ -2597,9 +2598,9 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
 					graph.cellsMoved(targets, offset.x, offset.y, null, null, true);
 				}
 			}
-			else
+			else if (firstVertex != null)
 			{
-				geo2 = graph.getCellGeometry(targets[dropCellIndex]);
+				geo2 = graph.getCellGeometry(targets[firstVertex]);
 				dx = geo.x - Math.round(geo2.x);
 				dy = geo.y - Math.round(geo2.y);
 				geo.x = Math.round(geo2.x);
@@ -2608,8 +2609,16 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
 				graph.cellsMoved(targets, dx, dy, null, null, true);
 				tmp = targets.slice();
 				editingCell = (tmp.length == 1) ? tmp[0] : null;
-				targets.push(graph.insertEdge(null, null, '', source, targets[dropCellIndex],
-					graph.createCurrentEdgeStyle()));
+
+				if (freeSourceEdge != null)
+				{
+					graph.model.setTerminal(targets[freeSourceEdge], source, true);
+				}
+				else
+				{
+					targets.push(graph.insertEdge(null, null, '', source, targets[dropCellIndex],
+						graph.createCurrentEdgeStyle()));
+				}
 			}
 			
 			if (evt == null || !mxEvent.isShiftDown(evt))
@@ -2635,6 +2644,13 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
 			}, 0);
 		}
 	}
+
+	// Removes connected edge from selection
+	// cells to avoid disconnecting on move
+	if (freeSourceEdge != null && tmp.length > 1)
+	{
+		tmp.splice(freeSourceEdge, 1);
+	}
 	
 	return tmp;
 };
@@ -2888,13 +2904,13 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview, cells,
 		if (cells != null && currentStyleTarget != null && activeArrow == styleTarget)
 		{
 			var tmp = graph.isCellSelected(currentStyleTarget.cell) ? graph.getSelectionCells() : [currentStyleTarget.cell];
-			var updatedCells = graph.updateShapes((graph.model.isEdge(currentStyleTarget.cell)) ? cells[0] : cells[firstVertex], tmp);
-			graph.setSelectionCells(updatedCells);
+			graph.updateShapes((graph.model.isEdge(currentStyleTarget.cell)) ? cells[0] : cells[firstVertex], tmp);
+			graph.setSelectionCells(tmp);
 		}
 		else if (cells != null && activeArrow != null && currentTargetState != null && activeArrow != styleTarget)
 		{
 			var index = (graph.model.isEdge(currentTargetState.cell) || freeSourceEdge == null) ? firstVertex : freeSourceEdge;
-			graph.setSelectionCells(this.dropAndConnect(currentTargetState.cell, cells, direction, index, evt));
+			graph.setSelectionCells(this.dropAndConnect(currentTargetState.cell, cells, direction, index, evt, firstVertex, freeSourceEdge));
 		}
 		else
 		{
@@ -3084,7 +3100,7 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview, cells,
 					dragSource.currentHighlight.hide();
 				}
 				
-				var index = (graph.model.isEdge(currentTargetState.cell) || freeSourceEdge == null) ? firstVertex : freeSourceEdge;
+				var index = (graph.model.isEdge(currentTargetState.cell) || firstVertex != null) ? firstVertex : freeSourceEdge;
 				var geo = sidebar.getDropAndConnectGeometry(currentTargetState.cell, cells[index], direction, cells);
 				var geo2 = (!graph.model.isEdge(currentTargetState.cell)) ? graph.getCellGeometry(currentTargetState.cell) : null;
 				var geo3 = graph.getCellGeometry(cells[index]);

ファイルの差分が大きいため隠しています
+ 843 - 843
src/main/webapp/js/integrate.min.js


ファイルの差分が大きいため隠しています
+ 450 - 450
src/main/webapp/js/viewer-static.min.js


ファイルの差分が大きいため隠しています
+ 450 - 450
src/main/webapp/js/viewer.min.js


ファイルの差分が大きいため隠しています
+ 11 - 11
src/main/webapp/mxgraph/mxClient.js


+ 5 - 5
src/main/webapp/resources/dia_ca.txt

@@ -19,7 +19,7 @@ addToScratchpad=Afegeix al Bloc de notes
 addWaypoint=Afegeix una coordenada
 adjustTo=Ajustar a
 advanced=Avançat
-aiTemplate=AI Template
+aiTemplate=Plantilla d'IA
 align=Alinea
 alignment=Alineació
 allChangesLost=Es perdran tots els canvis!
@@ -446,7 +446,7 @@ licensingError=Error de llicència
 licenseHasExpired=La llicència per a {1} ha expirat el {2}. Clica aquí.
 licenseRequired=Aquesta funció requereix que draw.io tingui llicència.
 licenseWillExpire=La llicència per a {1} expira el {2}. Clica aquí.
-light=Light
+light=Llum
 lineJumps=Salts de línia
 linkAccountRequired=Si el diagrama no és públic es requereix un compte de Google per a veure l'enllaç.
 linkText=Text de l'enllaç
@@ -638,7 +638,7 @@ replace=Canvia de lloc
 replaceIt={1} ja existeix. Desitgeu substituir-lo?
 replaceExistingDrawing=Substitueix el dibuix existent
 required=requerit
-requirementDiagram=Requirement Diagram
+requirementDiagram=Diagrama de requeriments
 reset=Restableix
 resetView=Restableix la vista
 resize=Ajusta la mida
@@ -689,7 +689,7 @@ selectVertices=Selecciona els vèrtexs
 sendBackward=Posa-ho enrere
 sendMessage=Envia
 sendYourFeedback=Envieu els vostres comentaris
-sequenceDiagram=Sequence Diagram
+sequenceDiagram=Diagrama de seqüències
 serviceUnavailableOrBlocked=El servei no està disponible o està bloquejat
 sessionExpired=La sessió ha caducat. Refresqueu la finestra del navegador.
 sessionTimeoutOnSave=La sessió ha caducat i us heu desconnectat de Google Drive. Premeu "D'acord" per accedir-hi i desar.
@@ -724,7 +724,7 @@ software=Software
 space=Espai
 spacing=Espaiat
 specialLink=Enllaç especial
-stateDiagram=State Diagram
+stateDiagram=Diagrama d'estats
 standard=Estàndard
 startDrawing=Comença a dibuixar
 stopDrawing=Para de dibuixar

+ 38 - 38
src/main/webapp/resources/dia_zh-tw.txt

@@ -14,8 +14,8 @@ addImageUrl=新增圖片URL
 addLayer=新增圖層
 addProperty=新增屬性
 address=地址
-addToExistingDrawing=新增現有圖紙
-addToScratchpad=Add to Scratchpad
+addToExistingDrawing=新增現有圖紙
+addToScratchpad=新增到便箋本
 addWaypoint=新增航點
 adjustTo=調至
 advanced=進階
@@ -106,7 +106,7 @@ compare=Compare
 compressed=已壓縮
 commitMessage=提交訊息
 configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
-configLinkConfirm=Click OK to configure and restart draw.io.
+configLinkConfirm=點擊確認進行組態並重新整理 draw.io
 container=容器
 csv=CSV
 dark=暗色
@@ -115,7 +115,7 @@ diagramHtmlDesc=HTML 檔案
 diagramPngDesc=可編輯點陣圖檔
 diagramSvgDesc=可編輯向量圖檔
 didYouMeanToExportToPdf=是否匯出為 PDF?
-disabled=Disabled
+disabled=已停用
 draftFound=發現現有的「{1}」的草圖。要載入它進行編輯或是丟棄以繼續?
 draftRevisionMismatch=There is a different version of this diagram on a shared draft of this page. Please edit the diagram from the draft to ensure you are working with the latest version.
 selectDraft=Select a draft to continue editing:
@@ -132,7 +132,7 @@ clipart=剪貼畫
 close=關閉
 closingFile=關閉檔案中
 realtimeCollaboration=即時協作
-collaborate=Collaborate
+collaborate=協作
 collaborator=協作者
 collaborators=協作者
 collapse=收起
@@ -169,7 +169,7 @@ crop=匯出單頁
 curved=曲線
 custom=自訂
 current=當前
-currentPage=Current page
+currentPage=當前頁面
 cut=剪下
 dashed=虛線
 decideLater=稍後再決定
@@ -457,7 +457,7 @@ hours=小時
 days=天
 months=月
 years=年
-restartForChangeRequired=修改將在頁面重新載入後生效。
+restartForChangeRequired=變更將在頁面重新載入後生效。
 laneColor=泳道底色
 lastModified=最近修改
 layout=配置
@@ -483,7 +483,7 @@ maps=地圖
 mathematicalTypesetting=數學排版
 makeCopy=建立副本
 manual=手冊
-merge=Merge
+merge=合併
 mermaid=Mermaid
 microsoftOffice=Microsoft Office
 microsoftExcel=Microsoft Excel
@@ -510,7 +510,7 @@ new=新增
 newLibrary=新增圖庫
 nextPage=下一頁
 no=否
-noPickFolder=No, pick folder
+noPickFolder=不,選擇資料夾
 noAttachments=未找到附件
 noColor=無顏色
 noFiles=無檔案
@@ -579,9 +579,9 @@ paperSize=頁面尺寸
 pattern=圖案樣式
 parallels=Parallels
 paste=貼上
-pasteData=Paste Data
+pasteData=貼上資料
 pasteHere=貼在此處
-pasteSize=Paste Size
+pasteSize=貼上大小
 pasteStyle=貼上樣式
 perimeter=周長
 permissionAnyone=任何人都可編輯
@@ -737,7 +737,7 @@ subscript=下標
 summary=總結
 superscript=上標
 support=支援
-swimlaneDiagram=Swimlane Diagram
+swimlaneDiagram=泳道圖
 sysml=SysML
 tags=標籤
 table=表格
@@ -892,13 +892,13 @@ confTimeout=連線逾時
 confSrvTakeTooLong={1} 伺服器太久無回應
 confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
 confSaveTry=請儲存頁面並重試
-confCannotGetID=Unable to determine page ID
+confCannotGetID=無法確認頁面 ID
 confContactAdmin=Please contact your Confluence administrator.
 readErr=讀取錯誤
 editingErr=編輯錯誤
-confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
+confExtEditNotPossible=圖表無法在外部編輯。請嘗試在編輯頁面時編輯它。
 confEditedExt=圖表/頁面已在外部編輯
-diagNotFound=Diagram Not Found
+diagNotFound=找不到圖表
 confEditedExtRefresh=圖表/頁面已在外部編輯。請重新整理頁面。
 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
@@ -934,33 +934,33 @@ drawReindex=draw.io 重新索引中 (測試)
 working=Working
 drawConfigNotFoundInst=draw.io 組態空間 (DRAWIOCONFIG) 不存在。儲存 draw.io 組態檔和自訂圖庫/樣板時需要該空間。
 createConfSp=建立組態空間
-unexpErrRefresh=Unexpected error, please refresh the page and try again.
+unexpErrRefresh=發生意外錯誤,請重新整理頁面,然後重試。
 configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
 thisPage=this page
 curCustLib=當前自訂圖庫
 libName=圖庫名稱
 action=動作
 drawConfID=draw.io 組態 ID
-addLibInst=Click the "Add Library" button to upload a new library.
+addLibInst=點擊「新增圖庫」按鈕並上傳一份新圖庫。
 addLib=新增圖庫
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=更多詳細資訊,請參考
 tempsPage=樣板頁面
-pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=選擇匯出目標,然後點擊「開始匯出」按鈕並匯出所有頁面 ID。
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=開始匯出
 refreshDrawIndex=重新整理 draw.io 圖表索引
-reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
+reindexInst1=點擊「開始索引」按鈕並重新整理 draw.io 圖表索引。
 reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
-startIndexing=Start Indexing
-confAPageFoundFetch=Page "{1}" found. Fetching
+startIndexing=開始索引
+confAPageFoundFetch=找到頁面「{1}」。獲取中
 confAAllDiagDone=All {1} diagrams processed. Process finished.
-confAStartedProcessing=Started processing page "{1}"
+confAStartedProcessing=開始處理頁面「{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=更新頁面「{1}」失敗。
 confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
-confAFetchPageFailed=Fetching the page failed.
+confAFetchPageFailed=獲取頁面「{1}」失敗。
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
 confAGliffyDiagFound={2} diagram "{1}" found. Importing
@@ -976,11 +976,11 @@ 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=索引圖表「{1}」失敗。
 confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
 confADiagUptoDate=Diagram "{1}" is up to date.
 confACheckPagesWDraw=Checking pages having draw.io diagrams.
-confAErrOccured=發生錯誤
+confAErrOccured=發生錯誤
 savedSucc=儲存成功
 confASaveFailedErr=儲存失敗(預期外的錯誤)
 character=字元
@@ -1044,7 +1044,7 @@ confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed
 confGetInfoFailed=Fetching file info from {1} failed.
 confCheckCacheFailed=Cannot get cached file info.
 confReadFileErr=Cannot read "{1}" file from {2}.
-confSaveCacheFailed=Unexpected error. Cannot save cached file
+confSaveCacheFailed=意外錯誤。無法儲存快取檔案。
 orgChartType=Org Chart Type
 linear=Linear
 hanger2=Hanger 2
@@ -1063,10 +1063,10 @@ lucidImportInst1=Click the "Start Import" button to import all Lucidchart diagra
 installFirst=請先安裝 {1}
 drawioChromeExt=draw.io Chrome 擴充功能
 loginFirstThen=請先登入 {1},然後{2}
-errFetchDocList=Error: Couldn't fetch documents list
+errFetchDocList=錯誤:無法獲取文件列表
 builtinPlugins=內建外掛
 extPlugins=外部外掛
-backupFound=Backup file found
+backupFound=找到備份檔
 chromeOnly=此功能僅可於 Google Chrome 運作
 msgDeleted=訊息已刪除
 confAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.
@@ -1078,10 +1078,10 @@ diagNameEmptyErr=圖表名稱不得為空
 openDiagram=開啟圖表
 newDiagram=新增圖表
 editable=可編輯
-confAReimportStarted=Re-import {1} diagrams started...
+confAReimportStarted=重新匯入 {1} 圖標已開始...
 spaceFilter=Filter by spaces
 curViewState=當前檢視器狀態
-pageLayers=Page and Layers
+pageLayers=頁面和圖層
 customize=自訂
 firstPage=First Page (All Layers)
 curEditorState=當前編輯器狀態
@@ -1105,15 +1105,15 @@ showDiag=顯示圖表
 diagPreview=圖表預覽
 csvFileUrl=CSV 檔案網址
 generate=產生
-selectDiag2Insert=Please select a diagram to insert it.
-errShowingDiag=Unexpected error. Cannot show diagram
+selectDiag2Insert=請選擇圖表並插入。
+errShowingDiag=意外錯誤。無法顯示圖表。
 noRecentDiags=No recent diagrams found
 fetchingRecentFailed=無法取得最近的圖表
 useSrch2FindDiags=使用搜尋框來尋找 draw.io 圖表
 cantReadChckPerms=無法讀取圖表,請確認您擁有該檔案的讀取權限。
 cantFetchChckPerms=無法取得圖表資訊,請確認您具有該檔案的讀取權限。
 searchFailed=搜尋失敗,請稍後再試。
-plsTypeStr=Please type a search string.
+plsTypeStr=請輸入一個搜尋字串。
 unsupportedFileChckUrl=不支援的檔案,請檢查網址。
 diagNotFoundChckUrl=圖表不存在或無法被存取,請檢查網址。
 csvNotFoundChckUrl=CSV 檔不存在或無法被存取,請檢查網址。
@@ -1144,8 +1144,8 @@ addDiagram=新增圖表
 embedDiagram=嵌入圖表
 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
+confADeepIndexStarted=深度索引已開始
+confADeepIndexDone=深度索引已完成
 officeNoDiagramsSelected=No diagrams found in the selection
 officeNoDiagramsInDoc=No diagrams found in the document
 officeNotSupported=This feature is not supported in this host application
@@ -1186,7 +1186,7 @@ confDraftTooBigErr=Draft size is too large. Pease check "Attachment Maximum Size
 owner=擁有者
 repository=儲存庫
 branch=分支
-meters=Meters
+meters=公尺
 teamsNoEditingMsg=Editor functionality is only available in Desktop environment (in MS Teams App or a web browser)
 contactOwner=聯絡擁有者
 viewerOnlyMsg=You cannot edit the diagrams in the mobile platform, please use the desktop client or a web browser.
@@ -1227,7 +1227,7 @@ private=Private
 diagramTooLarge=The diagram is too large, please reduce its size and try again.
 selectAdminUsers=Select Admin Users
 xyzTeam={1} Team
-addTeamTitle=Adding a new draw.io Team
+addTeamTitle=新增一個 draw.io 團隊
 addTeamInst1=To create a new draw.io Team, you need to create a new Atlassian group with "drawio-" postfix (e.g, a group named "drawio-marketing").
 addTeamInst2=Then, configure which team member can edit/add configuration, templates, and libraries from this page.
 drawioTeams=draw.io 團隊

ファイルの差分が大きいため隠しています
+ 1 - 1
src/main/webapp/service-worker.js


ファイルの差分が大きいため隠しています
+ 1 - 1
src/main/webapp/service-worker.js.map