diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2018-11-09 19:17:45 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2018-11-09 19:17:45 (GMT) |
commit | 230ef6d812fc698695a7742f1ddce1d437f31fb4 (patch) | |
tree | 4b22e29ed9f10fa3b57f2cdd90f624e420bb8cfa /ds9 | |
parent | 82f796251e759a6cd7886a56b6631f2229545c5e (diff) | |
download | blt-230ef6d812fc698695a7742f1ddce1d437f31fb4.zip blt-230ef6d812fc698695a7742f1ddce1d437f31fb4.tar.gz blt-230ef6d812fc698695a7742f1ddce1d437f31fb4.tar.bz2 |
add convert to mask
Diffstat (limited to 'ds9')
-rw-r--r-- | ds9/library/marker.tcl | 23 | ||||
-rw-r--r-- | ds9/library/mregion.tcl | 45 | ||||
-rw-r--r-- | ds9/msgs/cs.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/da.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/de.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/es.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/fr.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/ja.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/pt.msg | 3 | ||||
-rw-r--r-- | ds9/msgs/zh.msg | 3 |
10 files changed, 65 insertions, 27 deletions
diff --git a/ds9/library/marker.tcl b/ds9/library/marker.tcl index bba8b41..71e8424 100644 --- a/ds9/library/marker.tcl +++ b/ds9/library/marker.tcl @@ -1014,6 +1014,18 @@ proc MarkerDeleteAll {} { UpdateEditMenu } +proc MarkerDeleteLoad {} { + global pds9 + + if {$pds9(confirm)} { + if {[tk_messageBox -type okcancel -icon question -message [msgcat::mc {Delete All Regions?}]] != {ok}} { + return + } + } + MarkerDeleteAll + MarkerLoad +} + proc MarkerColor {} { global current global marker @@ -1235,7 +1247,7 @@ proc MarkerSave {} { } } -proc Marker2Mask {} { +proc MarkerMask {} { global current if {$current(frame) == {}} { @@ -1245,14 +1257,7 @@ proc Marker2Mask {} { return } - set filename [SaveFileDialog maskfbox] - if {$filename == {}} { - return - } - - $current(frame) marker create mask $filename - - MarkerDeleteAll + $current(frame) marker create mask } proc MarkerInfo {} { diff --git a/ds9/library/mregion.tcl b/ds9/library/mregion.tcl index b2f7686..088a7e3 100644 --- a/ds9/library/mregion.tcl +++ b/ds9/library/mregion.tcl @@ -39,6 +39,11 @@ proc RegionMainMenu {} { $ds9(mb).region add command -label [msgcat::mc {Move to Back}] \ -command MarkerBack $ds9(mb).region add separator + $ds9(mb).region add command -label [msgcat::mc {New Group}] \ + -command GroupCreate + $ds9(mb).region add command -label "[msgcat::mc {Groups}]..." \ + -command GroupDialog + $ds9(mb).region add separator $ds9(mb).region add command -label [msgcat::mc {Select All}] \ -command MarkerSelectAll -accelerator "${ds9(ctrl)}A" $ds9(mb).region add command -label [msgcat::mc {Select None}] \ @@ -51,20 +56,19 @@ proc RegionMainMenu {} { $ds9(mb).region add command -label [msgcat::mc {Delete All Regions}] \ -command MarkerDeleteAllMenu $ds9(mb).region add separator - $ds9(mb).region add command -label [msgcat::mc {New Group}] \ - -command GroupCreate - $ds9(mb).region add command -label "[msgcat::mc {Groups}]..." \ - -command GroupDialog - $ds9(mb).region add separator $ds9(mb).region add command -label "[msgcat::mc {List Regions}]..." \ -command MarkerList $ds9(mb).region add command -label "[msgcat::mc {Load Regions}]..." \ -command MarkerLoad + $ds9(mb).region add command \ + -label "[msgcat::mc {Delete and Load Regions}]..." \ + -command MarkerDeleteLoad + $ds9(mb).region add separator $ds9(mb).region add command -label "[msgcat::mc {Save Regions}]..." \ -command MarkerSave $ds9(mb).region add separator $ds9(mb).region add command -label [msgcat::mc {Convert to Mask}] \ - -command Marker2Mask + -command MarkerMask $ds9(mb).region add separator $ds9(mb).region add cascade -label [msgcat::mc {Region Parameters}] \ -menu $ds9(mb).region.params @@ -715,7 +719,9 @@ proc ButtonsRegionDef {} { region,group 0 region,list 1 region,load 1 + region,deleteload 0 region,save 1 + region,mask 0 region,show 0 region,showtext 0 region,autocentroid 0 @@ -823,9 +829,15 @@ proc CreateButtonsRegion {} { [string tolower [msgcat::mc {List}]] MarkerList ButtonButton $ds9(buttons).region.load \ [string tolower [msgcat::mc {Load}]] MarkerLoad + ButtonButton $ds9(buttons).region.deleteload \ + [string tolower [msgcat::mc {Delete Load}]] MarkerDeleteLoad + ButtonButton $ds9(buttons).region.save \ [string tolower [msgcat::mc {Save}]] MarkerSave + ButtonButton $ds9(buttons).region.mask \ + [string tolower [msgcat::mc {Mask}]] MarkerMask + CheckButton $ds9(buttons).region.show \ [string tolower [msgcat::mc {Show}]] \ marker(show) MarkerShow @@ -872,7 +884,9 @@ proc CreateButtonsRegion {} { $ds9(buttons).region.group pbuttons(region,group) $ds9(buttons).region.list pbuttons(region,list) $ds9(buttons).region.load pbuttons(region,load) + $ds9(buttons).region.deleteload pbuttons(region,deleteload) $ds9(buttons).region.save pbuttons(region,save) + $ds9(buttons).region.mask pbuttons(region,mask) $ds9(buttons).region.show pbuttons(region,show) $ds9(buttons).region.showtext pbuttons(region,showtext) $ds9(buttons).region.autocentroid pbuttons(region,autocentroid) @@ -935,10 +949,18 @@ proc PrefsDialogButtonbarRegion {f} { $m add checkbutton -label "[msgcat::mc {Load Regions}]..." \ -variable pbuttons(region,load) \ -command {UpdateButtons buttons(region)} + $m add checkbutton -label "[msgcat::mc {Delete and Load Regions}]..." \ + -variable pbuttons(region,deleteload) \ + -command {UpdateButtons buttons(region)} + $m add separator $m add checkbutton -label "[msgcat::mc {Save Regions}]..." \ -variable pbuttons(region,save) \ -command {UpdateButtons buttons(region)} $m add separator + $m add checkbutton -label [msgcat::mc {Convert to Mask}] \ + -variable pbuttons(region,mask) \ + -command {UpdateButtons buttons(region)} + $m add separator $m add cascade -label [msgcat::mc {Region Parameters}] -menu $m.params menu $m.shape @@ -1038,6 +1060,9 @@ proc UpdateRegionMenu {} { global pmarker global ds9 + set mm $ds9(mb).region + set bb $ds9(buttons).region + if {$current(frame) != {}} { $ds9(mb) entryconfig [msgcat::mc {Region}] -state normal @@ -1103,13 +1128,13 @@ proc UpdateRegionMenu {} { switch [$current(frame) get type] { base { - $ds9(mb).region entryconfig [msgcat::mc {Convert to Mask}] \ - -state normal + $mm entryconfig [msgcat::mc {Convert to Mask}] -state normal + $bb.mask configure -state normal } rgb - 3d { - $ds9(mb).region entryconfig [msgcat::mc {Convert to Mask}] \ - -state disabled + $mm entryconfig [msgcat::mc {Convert to Mask}] -state disabled + $bb.mask configure -state disabled } } } else { diff --git a/ds9/msgs/cs.msg b/ds9/msgs/cs.msg index a052d3d..89e03ac 100644 --- a/ds9/msgs/cs.msg +++ b/ds9/msgs/cs.msg @@ -166,6 +166,7 @@ ::msgcat::mcset cs {Contours} [encoding convertfrom iso8859-2 {Obrysy}] ::msgcat::mcset cs {Contour} [encoding convertfrom iso8859-2 {Obrys}] ::msgcat::mcset cs {Contrast} [encoding convertfrom iso8859-2 {Kontrast}] +::msgcat::mcset cs {Convert to Mask} ::msgcat::mcset cs {Convert to Polygons} [encoding convertfrom iso8859-2 {Zmìnit na obdélníky}] ::msgcat::mcset cs {Coordinate Grid Parameters} [encoding convertfrom iso8859-2 {Nastavení møí¾ky}] ::msgcat::mcset cs {Coordinate Grid} [encoding convertfrom iso8859-2 {Møí¾ka}] @@ -222,6 +223,7 @@ ::msgcat::mcset cs {Delete Frame} [encoding convertfrom iso8859-2 {Smazat snímek}] ::msgcat::mcset cs {Delete Group} [encoding convertfrom iso8859-2 {Smazat skupiny}] ::msgcat::mcset cs {Delete Selected Regions} [encoding convertfrom iso8859-2 {Smazat vybrané oblasti}] +::msgcat::mcset cs {Delete and Load Regions} ::msgcat::mcset cs {Delete} [encoding convertfrom iso8859-2 {Smazat}] ::msgcat::mcset cs {Depth} [encoding convertfrom iso8859-2 {Hloubka}] ::msgcat::mcset cs {Detector} [encoding convertfrom iso8859-2 {Detektor}] @@ -374,7 +376,6 @@ ::msgcat::mcset cs {Iteration} ::msgcat::mcset cs {JPEG Quality Factor} [encoding convertfrom iso8859-2 {Kvalita JPEGu}] ::msgcat::mcset cs {Keep-Alive} -::msgcat::mcset cs {Keyboard} [encoding convertfrom iso8859-2 {Klávesnice}] ::msgcat::mcset cs {Keyword} ::msgcat::mcset cs {Labels} [encoding convertfrom iso8859-2 {Oznaèení}] ::msgcat::mcset cs {Label} [encoding convertfrom iso8859-2 {Oznaèení}] diff --git a/ds9/msgs/da.msg b/ds9/msgs/da.msg index 1eaea8c..33d28bd 100644 --- a/ds9/msgs/da.msg +++ b/ds9/msgs/da.msg @@ -166,6 +166,7 @@ ::msgcat::mcset da {Contours} {Konturer} ::msgcat::mcset da {Contour} {Konturer} ::msgcat::mcset da {Contrast} {Kontrast} +::msgcat::mcset da {Convert to Mask} ::msgcat::mcset da {Convert to Polygons} {Omdan til poygoner} ::msgcat::mcset da {Coordinate Grid Parameters} {Koordinatnetparametre} ::msgcat::mcset da {Coordinate Grid} {Koordinatnet} @@ -222,6 +223,7 @@ ::msgcat::mcset da {Delete Frame} {Slet denne ramme} ::msgcat::mcset da {Delete Group} {Slet gruppe} ::msgcat::mcset da {Delete Selected Regions} [encoding convertfrom iso8859-1 {Slet valgte områder}] +::msgcat::mcset da {Delete and Load Regions} ::msgcat::mcset da {Delete} {Slet} ::msgcat::mcset da {Depth} {Dybde} ::msgcat::mcset da {Detector} {Detektor} @@ -374,7 +376,6 @@ ::msgcat::mcset da {Iteration} ::msgcat::mcset da {JPEG Quality Factor} {JPEG kvalitetsfaktor} ::msgcat::mcset da {Keep-Alive} -::msgcat::mcset da {Keyboard} {Tastatur} ::msgcat::mcset da {Keyword} ::msgcat::mcset da {Labels} {Etiketter} ::msgcat::mcset da {Label} {Etikette} diff --git a/ds9/msgs/de.msg b/ds9/msgs/de.msg index 5c21e2e..29359de 100644 --- a/ds9/msgs/de.msg +++ b/ds9/msgs/de.msg @@ -166,6 +166,7 @@ ::msgcat::mcset de {Contours} {Konturen} ::msgcat::mcset de {Contour} ::msgcat::mcset de {Contrast} {Kontrast} +::msgcat::mcset de {Convert to Mask} ::msgcat::mcset de {Convert to Polygons} {Zu Polygonen konvertieren} ::msgcat::mcset de {Coordinate Grid Parameters} {Koordinatennetzparameter} ::msgcat::mcset de {Coordinate Grid} {Koordinatennetz} @@ -222,6 +223,7 @@ ::msgcat::mcset de {Delete Frame} [encoding convertfrom iso8859-1 {Rahmen löschen}] ::msgcat::mcset de {Delete Group} [encoding convertfrom iso8859-1 {Gruppe löschen}] ::msgcat::mcset de {Delete Selected Regions} [encoding convertfrom iso8859-1 {Ausgewählte Regionen löschen}] +::msgcat::mcset de {Delete and Load Regions} ::msgcat::mcset de {Delete} [encoding convertfrom iso8859-1 {Löschen}] ::msgcat::mcset de {Depth} {Tiefe} ::msgcat::mcset de {Detector} {Detektor} @@ -374,7 +376,6 @@ ::msgcat::mcset de {Iteration} ::msgcat::mcset de {JPEG Quality Factor} [encoding convertfrom iso8859-1 {JPEG Qualitätsfaktor}] ::msgcat::mcset de {Keep-Alive} -::msgcat::mcset de {Keyboard} {Tastatur} ::msgcat::mcset de {Keyword} ::msgcat::mcset de {Labels} {Beschriftung} ::msgcat::mcset de {Label} diff --git a/ds9/msgs/es.msg b/ds9/msgs/es.msg index 7bacef3..73b4dff 100644 --- a/ds9/msgs/es.msg +++ b/ds9/msgs/es.msg @@ -166,6 +166,7 @@ ::msgcat::mcset es {Contours} {Contornos} ::msgcat::mcset es {Contour} ::msgcat::mcset es {Contrast} {Contraste} +::msgcat::mcset es {Convert to Mask} ::msgcat::mcset es {Convert to Polygons} [encoding convertfrom iso8859-1 {Convertir a polígonos}] ::msgcat::mcset es {Coordinate Grid Parameters} [encoding convertfrom iso8859-1 {Parámetros de la cuadrícula de coordenadas}] ::msgcat::mcset es {Coordinate Grid} [encoding convertfrom iso8859-1 {Cuadrícula de coordenadas}] @@ -222,6 +223,7 @@ ::msgcat::mcset es {Delete Frame} {Borrar marco} ::msgcat::mcset es {Delete Group} {Borrar grupo} ::msgcat::mcset es {Delete Selected Regions} {Borrar regiones seleccionadas} +::msgcat::mcset es {Delete and Load Regions} ::msgcat::mcset es {Delete} {Borrar} ::msgcat::mcset es {Depth} {Profundidad} ::msgcat::mcset es {Detector} @@ -374,7 +376,6 @@ ::msgcat::mcset es {Iteration} [encoding convertfrom iso8859-1 {Iteración}] ::msgcat::mcset es {JPEG Quality Factor} {Factor de calidad JPEG} ::msgcat::mcset es {Keep-Alive} -::msgcat::mcset es {Keyboard} {Teclado} ::msgcat::mcset es {Keyword} ::msgcat::mcset es {Labels} {Etiquetas} ::msgcat::mcset es {Label} {Etiqueta} diff --git a/ds9/msgs/fr.msg b/ds9/msgs/fr.msg index f8b2a84..8e66eb9 100644 --- a/ds9/msgs/fr.msg +++ b/ds9/msgs/fr.msg @@ -166,6 +166,7 @@ ::msgcat::mcset fr {Contours} ::msgcat::mcset fr {Contour} ::msgcat::mcset fr {Contrast} {Contraste} +::msgcat::mcset fr {Convert to Mask} ::msgcat::mcset fr {Convert to Polygons} {Convertir en polygones} ::msgcat::mcset fr {Coordinate Grid Parameters} [encoding convertfrom iso8859-1 {Paramètres de grille de coordonnées}] ::msgcat::mcset fr {Coordinate Grid} [encoding convertfrom iso8859-1 {Grille de coordonnées}] @@ -222,6 +223,7 @@ ::msgcat::mcset fr {Delete Frame} [encoding convertfrom iso8859-1 {Supprimer la fenêtre}] ::msgcat::mcset fr {Delete Group} {Supprimer le groupe} ::msgcat::mcset fr {Delete Selected Regions} [encoding convertfrom iso8859-1 {Supprimer les régions séléctionnées}] +::msgcat::mcset fr {Delete and Load Regions} ::msgcat::mcset fr {Delete} {Supprimer} ::msgcat::mcset fr {Depth} {Profondeur} ::msgcat::mcset fr {Detector} {Detecteur} @@ -374,7 +376,6 @@ ::msgcat::mcset fr {Iteration} ::msgcat::mcset fr {JPEG Quality Factor} [encoding convertfrom iso8859-1 {Le facteur de qualité JPEG}] ::msgcat::mcset fr {Keep-Alive} -::msgcat::mcset fr {Keyboard} {Clavier} ::msgcat::mcset fr {Keyword} ::msgcat::mcset fr {Labels} {Étiquettes} ::msgcat::mcset fr {Label} {Étiquette} diff --git a/ds9/msgs/ja.msg b/ds9/msgs/ja.msg index c882bc3..d9dbf8a 100644 --- a/ds9/msgs/ja.msg +++ b/ds9/msgs/ja.msg @@ -166,6 +166,7 @@ ::msgcat::mcset ja {Contours} [encoding convertfrom euc-jp "\xa5\xb3\xa5\xf3\xa5\xc8\xa5\xa2"] ::msgcat::mcset ja {Contour} ::msgcat::mcset ja {Contrast} [encoding convertfrom euc-jp "\xa5\xb3\xa5\xf3\xa5\xc8\xa5\xe9\xa5\xb9\xa5\xc8"] +::msgcat::mcset ja {Convert to Mask} ::msgcat::mcset ja {Convert to Polygons} [encoding convertfrom euc-jp "\xc2\xbf\xb3\xd1\xb7\xc1\xa4\xcb\xca\xd1\xb4\xb9"] ::msgcat::mcset ja {Coordinate Grid Parameters} [encoding convertfrom euc-jp "\xba\xc2\xc9\xb8\xa5\xb0\xa5\xea\xa5\xc3\xa5\xc9\xa4\xce\xc0\xdf\xc4\xea"] ::msgcat::mcset ja {Coordinate Grid} [encoding convertfrom euc-jp "\xba\xc2\xc9\xb8\xa5\xb0\xa5\xea\xa5\xc3\xa5\xc9"] @@ -222,6 +223,7 @@ ::msgcat::mcset ja {Delete Frame} [encoding convertfrom euc-jp "\xa5\xd5\xa5\xec\xa1\xbc\xa5\xe0\xa4\xf2\xbe\xc3\xb5\xee"] ::msgcat::mcset ja {Delete Group} [encoding convertfrom euc-jp "\xa5\xb0\xa5\xeb\xa1\xbc\xa5\xd7\xa4\xf2\xbe\xc3\xb5\xee"] ::msgcat::mcset ja {Delete Selected Regions} [encoding convertfrom euc-jp "\xc1\xaa\xc2\xf2\xa4\xb7\xa4\xbf\xce\xce\xb0\xe8\xa4\xf2\xba\xef\xbd\xfc"] +::msgcat::mcset ja {Delete and Load Regions} ::msgcat::mcset ja {Delete} [encoding convertfrom euc-jp "\xbe\xc3\xb5\xee"] ::msgcat::mcset ja {Depth} [encoding convertfrom euc-jp "\xbf\xbc\xa4\xb5"] ::msgcat::mcset ja {Detector} [encoding convertfrom euc-jp "\xb8\xa1\xbd\xd0\xb4\xef\xba\xc2\xc9\xb8"] @@ -374,7 +376,6 @@ ::msgcat::mcset ja {Iteration} [encoding convertfrom euc-jp "\xb7\xab\xa4\xea\xca\xd6\xa4\xb7"] ::msgcat::mcset ja {JPEG Quality Factor} [encoding convertfrom euc-jp "\x4a\x50\x45\x47\xa4\xce\xc9\xca\xbc\xc1"] ::msgcat::mcset ja {Keep-Alive} -::msgcat::mcset ja {Keyboard} [encoding convertfrom euc-jp "\xa5\xad\xa1\xbc\xa5\xdc\xa1\xbc\xa5\xc9"] ::msgcat::mcset ja {Keyword} ::msgcat::mcset ja {Labels} [encoding convertfrom euc-jp "\xa5\xe9\xa5\xd9\xa5\xeb"] ::msgcat::mcset ja {Label} [encoding convertfrom euc-jp "\xa5\xe9\xa5\xd9\xa5\xeb"] diff --git a/ds9/msgs/pt.msg b/ds9/msgs/pt.msg index a3e2046..0f9bc4f 100644 --- a/ds9/msgs/pt.msg +++ b/ds9/msgs/pt.msg @@ -166,6 +166,7 @@ ::msgcat::mcset pt {Contours} {Contornos} ::msgcat::mcset pt {Contour} ::msgcat::mcset pt {Contrast} {Contraste} +::msgcat::mcset pt {Convert to Mask} ::msgcat::mcset pt {Convert to Polygons} [encoding convertfrom iso8859-1 {Converter para polígonos}] ::msgcat::mcset pt {Coordinate Grid Parameters} [encoding convertfrom iso8859-1 {Parâmetros do Grid de Coordenadas}] ::msgcat::mcset pt {Coordinate Grid} {Grid de Coordenadas} @@ -222,6 +223,7 @@ ::msgcat::mcset pt {Delete Frame} {Apague o Frame} ::msgcat::mcset pt {Delete Group} {Apague o Grupo} ::msgcat::mcset pt {Delete Selected Regions} [encoding convertfrom iso8859-1 {Apagar Regiões Selecionadas}] +::msgcat::mcset pt {Delete and Load Regions} ::msgcat::mcset pt {Delete} {Apagar} ::msgcat::mcset pt {Depth} {Profundidade} ::msgcat::mcset pt {Detector} @@ -374,7 +376,6 @@ ::msgcat::mcset pt {Iteration} ::msgcat::mcset pt {JPEG Quality Factor} {Fator de qualidade JPEG} ::msgcat::mcset pt {Keep-Alive} -::msgcat::mcset pt {Keyboard} {Teclado} ::msgcat::mcset pt {Keyword} ::msgcat::mcset pt {Labels} {Legendas} ::msgcat::mcset pt {Label} {Legenda} diff --git a/ds9/msgs/zh.msg b/ds9/msgs/zh.msg index 6f382f4..bbb077f 100644 --- a/ds9/msgs/zh.msg +++ b/ds9/msgs/zh.msg @@ -166,6 +166,7 @@ ::msgcat::mcset zh {Contours} [encoding convertfrom big5 "\xB5\xA5 \xAD\xC8 \xBD\x75"] ::msgcat::mcset zh {Contour} ::msgcat::mcset zh {Contrast} +::msgcat::mcset zh {Convert to Mask} ::msgcat::mcset zh {Convert to Polygons} ::msgcat::mcset zh {Coordinate Grid Parameters} [encoding convertfrom big5 "\xAE\x79 \xBC\xD0 \xAE\xE6 \xBD\x75 \xB0\xD1 \xBC\xC6"] ::msgcat::mcset zh {Coordinate Grid} [encoding convertfrom big5 "\xAE\x79 \xBC\xD0 \xAE\xE6 \xBD\x75"] @@ -222,6 +223,7 @@ ::msgcat::mcset zh {Delete Frame} [encoding convertfrom big5 "\xA7\x52 \xB0\xA3 \xBC\x76 \xB9\xB3 \xB5\xF8 \xB5\xA1"] ::msgcat::mcset zh {Delete Group} ::msgcat::mcset zh {Delete Selected Regions} [encoding convertfrom big5 "\xA7\x52 \xB0\xA3 \xBF\xEF \xA8\xFA \xB0\xCF \xB0\xEC"] +::msgcat::mcset zh {Delete and Load Regions} ::msgcat::mcset zh {Delete} [encoding convertfrom big5 "\xA7\x52 \xB0\xA3"] ::msgcat::mcset zh {Depth} ::msgcat::mcset zh {Detector} @@ -374,7 +376,6 @@ ::msgcat::mcset zh {Iteration} ::msgcat::mcset zh {JPEG Quality Factor} ::msgcat::mcset zh {Keep-Alive} -::msgcat::mcset zh {Keyboard} ::msgcat::mcset zh {Keyword} ::msgcat::mcset zh {Labels} ::msgcat::mcset zh {Label} |