Index: /applications/editors/josm/plugins/smed2/build.xml
===================================================================
--- /applications/editors/josm/plugins/smed2/build.xml	(revision 29995)
+++ /applications/editors/josm/plugins/smed2/build.xml	(revision 29996)
@@ -77,4 +77,7 @@
         <copy todir="${plugin.build.dir}/images">
             <fileset dir="images"/>
+        </copy>
+        <copy todir="${plugin.build.dir}/msg">
+            <fileset dir="${plugin.src.dir}/messages/msg"/>
         </copy>
         <copy todir="${plugin.build.dir}/data">
Index: /applications/editors/josm/plugins/smed2/src/messages/Messages.java
===================================================================
--- /applications/editors/josm/plugins/smed2/src/messages/Messages.java	(revision 29996)
+++ /applications/editors/josm/plugins/smed2/src/messages/Messages.java	(revision 29996)
@@ -0,0 +1,21 @@
+package messages;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "msg.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
Index: /applications/editors/josm/plugins/smed2/src/messages/msg/messages.properties
===================================================================
--- /applications/editors/josm/plugins/smed2/src/messages/msg/messages.properties	(revision 29996)
+++ /applications/editors/josm/plugins/smed2/src/messages/msg/messages.properties	(revision 29996)
@@ -0,0 +1,402 @@
+UNKOBJ=Unknown object
+ADMARE=Administrative area
+AIRARE=Airfield
+ACHBRT=Anchor berth
+ACHARE=Anchorage
+BCNCAR=Cardinal beacon
+BCNISD=Isolated danger beacon
+BCNLAT=Lateral beacon
+BCNSAW=Safe water beacon
+BCNSPP=Special purpose beacon
+BERTHS=Berth
+BRIDGE=Bridge
+BUISGL=Building
+BUAARE=Built-up area
+BOYCAR=Cardinal buoy
+BOYINB=Installation buoy
+BOYISD=Isolated danger buoy
+BOYLAT=Lateral buoy
+BOYSAW=Safe water buoy
+BOYSPP=Special purpose buoy
+CBLARE=Cable area
+CBLOHD=Overhead cable
+CBLSUB=Submarine cable
+CANALS=Canal
+CANBNK=Canal bank
+CTSARE=Cargo area
+CAUSWY=Causeway
+CTNARE=Caution area
+CHKPNT=Checkpoint
+CGUSTA=Coastguard station
+COALNE=Coastline
+CONZNE=Contiguous zone
+COSARE=Continental shelf
+CTRPNT=Control point
+CONVYR=Conveyor
+CRANES=Crane
+CURENT=Current
+CUSZNE=Custom zone
+DAMCON=Dam
+DAYMAR=Daymark
+DWRTCL=Deep water route centreline
+DWRTPT=Deep water route
+DEPARE=Depth area
+DEPCNT=Depth contour
+DISMAR=Distance mark
+DOCARE=Dock
+DRGARE=Dredged area
+DRYDOC=Dry dock
+DMPGRD=Dumping ground
+DYKCON=Dyke
+EXEZNE=Exclusive economic zone
+FAIRWY=Fairway
+FNCLNE=Fenceline/Wall
+FERYRT=Ferry route
+FSHZNE=Fishery zone
+FSHFAC=Fishing facility
+FSHGRD=Fishing ground
+FLODOC=Floating dock
+FOGSIG=Fog signal
+FORSTC=Fortified structure
+FRPARE=Free port area
+GATCON=Gate
+GRIDRN=Gridiron
+HRBARE=Harbour area
+HRBFAC=Harbour
+HULKES=Hulk
+ICEARE=Ice area
+ICNARE=Incineration zone
+ISTZNE=Inshore traffic zone
+LAKARE=Lake
+LAKSHR=Lake shore
+LNDARE=Land area
+LNDELV=Land elevation
+LNDRGN=Land region
+LNDMRK=Landmark
+LIGHTS=Light
+LITFLT=Light float
+LITVES=Light vessel
+LOCMAG=Local magnetic anomaly
+LOKBSN=Lock basin
+LOGPON=Log pond
+MAGVAR=Magnetic variation
+MARCUL=Marine farm
+MIPARE=Military practice area
+MORFAC=Mooring
+NAVLNE=Navigation line
+OBSTRN=Obstruction
+OFSPLF=Offshore platform
+OSPARE=Offshore production area
+OILBAR=Oil barrier
+PILPNT=Pile
+PILBOP=Pilot boarding place
+PIPARE=Pipeline area
+PIPOHD=Overhead pipeline
+PIPSOL=Submarine pipeline
+PONTON=Pontoon
+PRCARE=Precautionary area
+PRDARE=Land production area
+PYLONS=Pylon
+RADLNE=Radar line
+RADRNG=Radar range
+RADRFL=Radar reflector
+RADSTA=Radar station
+RTPBCN=Radar transponder
+RDOCAL=Calling-in point
+RDOSTA=Radio station
+RAILWY=Railway
+RAPIDS=Rapids
+RCRTCL=Recommended route centreline
+RECTRC=Recommended track
+RCTLPT=Recommended traffic lane
+RSCSTA=Rescue station
+RESARE=Restricted area
+RETRFL=Retro reflector
+RIVERS=River
+RIVBNK=River bank
+ROADWY=Road
+RUNWAY=Runway
+SNDWAV=Sand waves
+SEAARE=Sea area
+SPLARE=Seaplane landing area
+SBDARE=Seabed area
+SLCONS=Shoreline construction
+SISTAT=Traffic signal station
+SISTAW=Warning signal station
+SILTNK=Tank/Silo
+SLOTOP=Slope topline
+SLOGRD=Sloping ground
+SMCFAC=Small craft facility
+SOUNDG=Sounding
+SPRING=Spring
+SQUARE=Square
+STSLNE=Territorial baseline
+SUBTLN=Submarine transit lane
+SWPARE=Swept area
+TESARE=Territorial area
+TIDEWY=Tideway
+TOPMAR=Topmark
+TSELNE=Separation line
+TSSBND=Separation boundary
+TSSCRS=Separation crossing
+TSSLPT=Separation lane
+TSSRON=Separation roundabout
+TSEZNE=Separation zone
+TUNNEL=Tunnel
+TWRTPT=Two-way route
+UWTROC=Rock
+UNSARE=Unsurveyed area
+VEGATN=Vegetation
+WATTUR=Water turbulence
+WATFAL=Waterfall
+WEDKLP=Weed
+WRECKS=Wreck
+TS_FEB=Tidal stream
+NOTMRK=Notice
+WTWAXS=Waterway axis
+WTWPRF=Waterway profile
+BRGARE=Bridge area
+BUNSTA=Bunker station
+COMARE=Communication area
+HRBBSN=Harbour basin
+LOKARE=Lock area
+LKBSPT=Lock basin part
+PRTARE=Port area
+BCNWTW=Waterway beacon
+BOYWTW=Waterway buoy
+REFDMP=Refuse dump
+RTPLPT=Route planning point
+TERMNL=Terminal
+TRNBSN=Turning basin
+WTWARE=Waterway area
+WTWGAG=Waterway gauge
+TISDGE=Time schedule
+VEHTRF=Vehicle transfer
+EXCNST=Exceptional structure
+LITMAJ=Major light
+LITMIN=Minor light
+
+UNKATT=Unknown attribute
+AGENCY=Agency
+BCNSHP=Beacon shape
+BUISHP=Building shape
+BOYSHP=Buoy shape
+BURDEP=Buried depth
+CALSGN=Callsign
+CATAIR=Airfield category
+CATACH=Anchorage category
+CATBRG=Bridge category
+CATBUA=Built-up area category
+CATCBL=Cable category
+CATCAN=Canal category
+CATCAM=Cardinal mark category
+CATCHP=Checkpoint category
+CATCOA=Coastline category
+CATCTR=Control point category
+CATCON=Conveyor category
+CATCRN=Crane category
+CATDAM=Dam category
+CATDIS=Distance mark category
+CATDOC=Dock category
+CATDPG=Dumping ground category
+CATFNC=Fenceline category
+CATFRY=Ferry category
+CATFIF=Fishing facility category
+CATFOG=Fog signal category
+CATFOR=Fortified structure category
+CATGAT=Gate category
+CATHAF=Harbour category
+CATHLK=Hulk category
+CATICE=Ice category
+CATINB=Installation buoy category
+CATLND=Land region category
+CATLMK=Landmark category
+CATLAM=Lateral mark category
+CATLIT=Light category
+CATMFA=Marine farm category
+CATMPA=Military practice area category
+CATMOR=Morring category
+CATNAV=Navigation line category
+CATOBS=Obstruction category
+CATOFP=Offshore platform category
+CATOLB=Oil barrier category
+CATPLE=Pile category
+CATPIL=Pilot boarding category
+CATPIP=Pipeline category
+CATPRA=Production area category
+CATPYL=Pylon category
+CATRAS=Radar station category
+CATRTB=Radar transponder category
+CATROS=Radio station category
+CATTRK=Recommended track category
+CATRSC=Rescue station category
+CATREA=Restricted area category
+CATROD=Road category
+CATRUN=Runway category
+CATSEA=Sea area category
+CATSLC=Shoreline construction category
+CATSIT=Traffic signal station category
+CATSIW=Warning signal station category
+CATSIL=Silo/tank category
+CATSLO=Slope category
+CATSCF=Small craft facility category
+CATSPM=Special purpose mark category
+CATTSS=Traffic separation scheme category
+CATVEG=Vegetation category
+CATWAT=Water turbulence category
+CATWED=Weed category
+CATWRK=Wreck category
+CATZOC=Zone of confidence category
+COLOUR=Colour
+COLPAT=Colour pattern
+COMCHA=VHF channel
+CONDTN=Condition
+CONRAD=Radar reflectivity
+CONVIS=Visual conspicuity
+CURVEL=Current velocity
+DATEND=End date
+DATSTA=Start date
+DRVAL1=Minimum depth
+DRVAL2=Maximum depth
+DUNITS=Depth units
+ELEVAT=Elevation
+ESTRNG=Estimated range
+EXCLIT=Light exhibition
+EXPSOU=Light exposition
+FUNCTN=Function
+HEIGHT=Height
+HUNITS=Height/length units
+HORACC=Horizontal accuracy
+HORCLR=Horizontal clearance
+HORLEN=Horizontal length
+HORWID=Horizontal width
+ICEFAC=Ice factor
+INFORM=Information
+JRSDTN=Jurisdiction
+LIFCAP=Maximum load
+LITCHR=Light character
+LITVIS=Light visibility
+MARSYS=Buoyage system
+MLTYLT=Multiplicity of lights
+NATION=Nationality
+NATCON=Nature of construction
+NATSUR=Nature of surface
+NATQUA=Nature of surface qualification
+NMDATE=Notice to mariners date
+OBJNAM=Object name
+ORIENT=Orientation
+PEREND=End date
+PERSTA=Start date
+PICREP=Pictorial representation
+PILDST=Pilot district
+PRCTRY=Producing country
+PRODCT=Product
+PUBREF=Publication reference
+QUASOU=Quality of sounding
+RADWAL=Radar wavelength
+RADIUS=Radius
+RECDAT=Recording date
+RECIND=Recording indication
+RYRMGV=Magnetic variation reference year
+RESTRN=Restriction
+SECTR1=First sector limit
+SECTR2=Second sector limit
+SHIPAM=Shift parameters
+SIGFRQ=Signal frequency
+SIGGEN=Signal generation
+SIGGRP=Signal group
+SIGPER=Signal period
+SIGSEQ=Signal sequence
+SOUACC=Sounding accuracy
+SDISMX=Maximum sounding distance
+SDISMN=Minimum sounding distance
+SORDAT=Source date
+SORIND=Source
+STATUS=Status
+SURATH=Survey authority
+SUREND=Survey end date
+SURSTA=Survey start date
+SURTYP=Survey type
+TECSOU=Sounding technique
+TXTDSC=Textual description
+TIMEND=End time
+TIMSTA=Start time
+TOPSHP=Topmark/daymark shape
+TRAFIC=Traffic flow
+VALACM=Magnetic variation annual change
+VALDCO=Value of depth contour
+VALLMA=Value of local magnetic anomaly
+VALMAG=Value of magnetic variation
+VALMXR=Maximum range
+VALNMR=Nominal range
+VALSOU=Value of sounding
+VERACC=Vertical accuracy
+VERCLR=Vertical clearance
+VERCCL=Vertical clearance, closed
+VERCOP=Vertical clearance, open
+VERCSA=Vertical clearance, safe
+VERDAT=Vertical datum
+VERLEN=Vertical length
+WATLEV=Water level effect
+CAT_TS=Tidal stream category
+PUNITS=Positional units
+NINFOM=National information
+NOBJNM=National name
+NPLDST=National pilot district
+NTXTDS=National textual description
+HORDAT=Horizontal datum
+POSACC=Positional accuracy
+QUAPOS=Quality of position
+ADDMRK=Notice mark addition
+BNKWTW=Side of Waterway
+CATBNK=Waterway bank category
+CATNMK=Notice mark category
+CLSDNG=Dangerous cargo class
+DIRIMP=Direction of impact
+DISBK1=First distance from notice
+DISBK2=Second distance from notice
+DISIPU=Upstream distance of impact
+DISIPD=Downstream distance of impact
+ELEVA1=Minimum elevation
+ELEVA2=Maximum elevation
+FNCTNM=Notice mark function
+WTWDIS=Waterway distance
+BUNVES=Bunker vessel availability
+CATBRT=Berth category
+CATBUN=Bunker station category
+CATCCL=CEMT class category
+CATHBR=Harbour area category
+CATRFD=Refuse dump category
+CATTML=Terminal category
+COMCTN=Communication
+HORCLL=Horizontal clearance length
+HORCLW=Horizontal clearance width
+TRSHGD=Transshipping goods
+UNLOCD=UN location code
+CATGAG=Waterway gauge category
+HIGWAT=Value at high water
+HIGNAM=Name of high water level
+LOWWAT=Value at low water
+LOWNAM=Name of lowwater level
+MEAWAT=Value at mean water level
+MEANAM=Name of mean water level
+OTHWAT=Value at local water level
+OTHNAM=Name of local water level
+REFLEV=Reference gravitational level
+SDRLEV=Name of sounding reference level
+VCRLEV=Name of vertical datum level
+CATVTR=Vehicle transfer category
+CATTAB=Time and behaviour category
+SCHREF=Time schedule reference
+USESHP=Use of ship
+CURVHW=high water current velocity
+CURVLW=low water current velocity
+CURVMW=mean level current velocity
+CURVOW=local level current velocity
+APTREF=Average passing time reference
+CATEXS=Exceptional structure category
+CATWWM=Waterway mark category
+SHPTYP=Ship type
+UPDMSG=Update message
+LITRAD=Light sector radius
+
Index: /applications/editors/josm/plugins/smed2/src/messages/msg/messages_en.properties
===================================================================
--- /applications/editors/josm/plugins/smed2/src/messages/msg/messages_en.properties	(revision 29996)
+++ /applications/editors/josm/plugins/smed2/src/messages/msg/messages_en.properties	(revision 29996)
@@ -0,0 +1,402 @@
+UNKOBJ=Unknown object
+ADMARE=Administrative area
+AIRARE=Airfield
+ACHBRT=Anchor berth
+ACHARE=Anchorage
+BCNCAR=Cardinal beacon
+BCNISD=Isolated danger beacon
+BCNLAT=Lateral beacon
+BCNSAW=Safe water beacon
+BCNSPP=Special purpose beacon
+BERTHS=Berth
+BRIDGE=Bridge
+BUISGL=Building
+BUAARE=Built-up area
+BOYCAR=Cardinal buoy
+BOYINB=Installation buoy
+BOYISD=Isolated danger buoy
+BOYLAT=Lateral buoy
+BOYSAW=Safe water buoy
+BOYSPP=Special purpose buoy
+CBLARE=Cable area
+CBLOHD=Overhead cable
+CBLSUB=Submarine cable
+CANALS=Canal
+CANBNK=Canal bank
+CTSARE=Cargo area
+CAUSWY=Causeway
+CTNARE=Caution area
+CHKPNT=Checkpoint
+CGUSTA=Coastguard station
+COALNE=Coastline
+CONZNE=Contiguous zone
+COSARE=Continental shelf
+CTRPNT=Control point
+CONVYR=Conveyor
+CRANES=Crane
+CURENT=Current
+CUSZNE=Custom zone
+DAMCON=Dam
+DAYMAR=Daymark
+DWRTCL=Deep water route centreline
+DWRTPT=Deep water route
+DEPARE=Depth area
+DEPCNT=Depth contour
+DISMAR=Distance mark
+DOCARE=Dock
+DRGARE=Dredged area
+DRYDOC=Dry dock
+DMPGRD=Dumping ground
+DYKCON=Dyke
+EXEZNE=Exclusive economic zone
+FAIRWY=Fairway
+FNCLNE=Fenceline/Wall
+FERYRT=Ferry route
+FSHZNE=Fishery zone
+FSHFAC=Fishing facility
+FSHGRD=Fishing ground
+FLODOC=Floating dock
+FOGSIG=Fog signal
+FORSTC=Fortified structure
+FRPARE=Free port area
+GATCON=Gate
+GRIDRN=Gridiron
+HRBARE=Harbour area
+HRBFAC=Harbour
+HULKES=Hulk
+ICEARE=Ice area
+ICNARE=Incineration zone
+ISTZNE=Inshore traffic zone
+LAKARE=Lake
+LAKSHR=Lake shore
+LNDARE=Land area
+LNDELV=Land elevation
+LNDRGN=Land region
+LNDMRK=Landmark
+LIGHTS=Light
+LITFLT=Light float
+LITVES=Light vessel
+LOCMAG=Local magnetic anomaly
+LOKBSN=Lock basin
+LOGPON=Log pond
+MAGVAR=Magnetic variation
+MARCUL=Marine farm
+MIPARE=Military practice area
+MORFAC=Mooring
+NAVLNE=Navigation line
+OBSTRN=Obstruction
+OFSPLF=Offshore platform
+OSPARE=Offshore production area
+OILBAR=Oil barrier
+PILPNT=Pile
+PILBOP=Pilot boarding place
+PIPARE=Pipeline area
+PIPOHD=Overhead pipeline
+PIPSOL=Submarine pipeline
+PONTON=Pontoon
+PRCARE=Precautionary area
+PRDARE=Land production area
+PYLONS=Pylon
+RADLNE=Radar line
+RADRNG=Radar range
+RADRFL=Radar reflector
+RADSTA=Radar station
+RTPBCN=Radar transponder
+RDOCAL=Calling-in point
+RDOSTA=Radio station
+RAILWY=Railway
+RAPIDS=Rapids
+RCRTCL=Recommended route centreline
+RECTRC=Recommended track
+RCTLPT=Recommended traffic lane
+RSCSTA=Rescue station
+RESARE=Restricted area
+RETRFL=Retro reflector
+RIVERS=River
+RIVBNK=River bank
+ROADWY=Road
+RUNWAY=Runway
+SNDWAV=Sand waves
+SEAARE=Sea area
+SPLARE=Seaplane landing area
+SBDARE=Seabed area
+SLCONS=Shoreline construction
+SISTAT=Traffic signal station
+SISTAW=Warning signal station
+SILTNK=Tank/Silo
+SLOTOP=Slope topline
+SLOGRD=Sloping ground
+SMCFAC=Small craft facility
+SOUNDG=Sounding
+SPRING=Spring
+SQUARE=Square
+STSLNE=Territorial baseline
+SUBTLN=Submarine transit lane
+SWPARE=Swept area
+TESARE=Territorial area
+TIDEWY=Tideway
+TOPMAR=Topmark
+TSELNE=Separation line
+TSSBND=Separation boundary
+TSSCRS=Separation crossing
+TSSLPT=Separation lane
+TSSRON=Separation roundabout
+TSEZNE=Separation zone
+TUNNEL=Tunnel
+TWRTPT=Two-way route
+UWTROC=Rock
+UNSARE=Unsurveyed area
+VEGATN=Vegetation
+WATTUR=Water turbulence
+WATFAL=Waterfall
+WEDKLP=Weed
+WRECKS=Wreck
+TS_FEB=Tidal stream
+NOTMRK=Notice
+WTWAXS=Waterway axis
+WTWPRF=Waterway profile
+BRGARE=Bridge area
+BUNSTA=Bunker station
+COMARE=Communication area
+HRBBSN=Harbour basin
+LOKARE=Lock area
+LKBSPT=Lock basin part
+PRTARE=Port area
+BCNWTW=Waterway beacon
+BOYWTW=Waterway buoy
+REFDMP=Refuse dump
+RTPLPT=Route planning point
+TERMNL=Terminal
+TRNBSN=Turning basin
+WTWARE=Waterway area
+WTWGAG=Waterway gauge
+TISDGE=Time schedule
+VEHTRF=Vehicle transfer
+EXCNST=Exceptional structure
+LITMAJ=Major light
+LITMIN=Minor light
+
+UNKATT=Unknown attribute
+AGENCY=Agency
+BCNSHP=Beacon shape
+BUISHP=Building shape
+BOYSHP=Buoy shape
+BURDEP=Buried depth
+CALSGN=Callsign
+CATAIR=Airfield category
+CATACH=Anchorage category
+CATBRG=Bridge category
+CATBUA=Built-up area category
+CATCBL=Cable category
+CATCAN=Canal category
+CATCAM=Cardinal mark category
+CATCHP=Checkpoint category
+CATCOA=Coastline category
+CATCTR=Control point category
+CATCON=Conveyor category
+CATCRN=Crane category
+CATDAM=Dam category
+CATDIS=Distance mark category
+CATDOC=Dock category
+CATDPG=Dumping ground category
+CATFNC=Fenceline category
+CATFRY=Ferry category
+CATFIF=Fishing facility category
+CATFOG=Fog signal category
+CATFOR=Fortified structure category
+CATGAT=Gate category
+CATHAF=Harbour category
+CATHLK=Hulk category
+CATICE=Ice category
+CATINB=Installation buoy category
+CATLND=Land region category
+CATLMK=Landmark category
+CATLAM=Lateral mark category
+CATLIT=Light category
+CATMFA=Marine farm category
+CATMPA=Military practice area category
+CATMOR=Morring category
+CATNAV=Navigation line category
+CATOBS=Obstruction category
+CATOFP=Offshore platform category
+CATOLB=Oil barrier category
+CATPLE=Pile category
+CATPIL=Pilot boarding category
+CATPIP=Pipeline category
+CATPRA=Production area category
+CATPYL=Pylon category
+CATRAS=Radar station category
+CATRTB=Radar transponder category
+CATROS=Radio station category
+CATTRK=Recommended track category
+CATRSC=Rescue station category
+CATREA=Restricted area category
+CATROD=Road category
+CATRUN=Runway category
+CATSEA=Sea area category
+CATSLC=Shoreline construction category
+CATSIT=Traffic signal station category
+CATSIW=Warning signal station category
+CATSIL=Silo/tank category
+CATSLO=Slope category
+CATSCF=Small craft facility category
+CATSPM=Special purpose mark category
+CATTSS=Traffic separation scheme category
+CATVEG=Vegetation category
+CATWAT=Water turbulence category
+CATWED=Weed category
+CATWRK=Wreck category
+CATZOC=Zone of confidence category
+COLOUR=Colour
+COLPAT=Colour pattern
+COMCHA=VHF channel
+CONDTN=Condition
+CONRAD=Radar reflectivity
+CONVIS=Visual conspicuity
+CURVEL=Current velocity
+DATEND=End date
+DATSTA=Start date
+DRVAL1=Minimum depth
+DRVAL2=Maximum depth
+DUNITS=Depth units
+ELEVAT=Elevation
+ESTRNG=Estimated range
+EXCLIT=Light exhibition
+EXPSOU=Light exposition
+FUNCTN=Function
+HEIGHT=Height
+HUNITS=Height/length units
+HORACC=Horizontal accuracy
+HORCLR=Horizontal clearance
+HORLEN=Horizontal length
+HORWID=Horizontal width
+ICEFAC=Ice factor
+INFORM=Information
+JRSDTN=Jurisdiction
+LIFCAP=Maximum load
+LITCHR=Light character
+LITVIS=Light visibility
+MARSYS=Buoyage system
+MLTYLT=Multiplicity of lights
+NATION=Nationality
+NATCON=Nature of construction
+NATSUR=Nature of surface
+NATQUA=Nature of surface qualification
+NMDATE=Notice to mariners date
+OBJNAM=Object name
+ORIENT=Orientation
+PEREND=End date
+PERSTA=Start date
+PICREP=Pictorial representation
+PILDST=Pilot district
+PRCTRY=Producing country
+PRODCT=Product
+PUBREF=Publication reference
+QUASOU=Quality of sounding
+RADWAL=Radar wavelength
+RADIUS=Radius
+RECDAT=Recording date
+RECIND=Recording indication
+RYRMGV=Magnetic variation reference year
+RESTRN=Restriction
+SECTR1=First sector limit
+SECTR2=Second sector limit
+SHIPAM=Shift parameters
+SIGFRQ=Signal frequency
+SIGGEN=Signal generation
+SIGGRP=Signal group
+SIGPER=Signal period
+SIGSEQ=Signal sequence
+SOUACC=Sounding accuracy
+SDISMX=Maximum sounding distance
+SDISMN=Minimum sounding distance
+SORDAT=Source date
+SORIND=Source
+STATUS=Status
+SURATH=Survey authority
+SUREND=Survey end date
+SURSTA=Survey start date
+SURTYP=Survey type
+TECSOU=Sounding technique
+TXTDSC=Textual description
+TIMEND=End time
+TIMSTA=Start time
+TOPSHP=Topmark/daymark shape
+TRAFIC=Traffic flow
+VALACM=Magnetic variation annual change
+VALDCO=Value of depth contour
+VALLMA=Value of local magnetic anomaly
+VALMAG=Value of magnetic variation
+VALMXR=Maximum range
+VALNMR=Nominal range
+VALSOU=Value of sounding
+VERACC=Vertical accuracy
+VERCLR=Vertical clearance
+VERCCL=Vertical clearance, closed
+VERCOP=Vertical clearance, open
+VERCSA=Vertical clearance, safe
+VERDAT=Vertical datum
+VERLEN=Vertical length
+WATLEV=Water level effect
+CAT_TS=Tidal stream category
+PUNITS=Positional units
+NINFOM=National information
+NOBJNM=National name
+NPLDST=National pilot district
+NTXTDS=National textual description
+HORDAT=Horizontal datum
+POSACC=Positional accuracy
+QUAPOS=Quality of position
+ADDMRK=Notice mark addition
+BNKWTW=Side of Waterway
+CATBNK=Waterway bank category
+CATNMK=Notice mark category
+CLSDNG=Dangerous cargo class
+DIRIMP=Direction of impact
+DISBK1=First distance from notice
+DISBK2=Second distance from notice
+DISIPU=Upstream distance of impact
+DISIPD=Downstream distance of impact
+ELEVA1=Minimum elevation
+ELEVA2=Maximum elevation
+FNCTNM=Notice mark function
+WTWDIS=Waterway distance
+BUNVES=Bunker vessel availability
+CATBRT=Berth category
+CATBUN=Bunker station category
+CATCCL=CEMT class category
+CATHBR=Harbour area category
+CATRFD=Refuse dump category
+CATTML=Terminal category
+COMCTN=Communication
+HORCLL=Horizontal clearance length
+HORCLW=Horizontal clearance width
+TRSHGD=Transshipping goods
+UNLOCD=UN location code
+CATGAG=Waterway gauge category
+HIGWAT=Value at high water
+HIGNAM=Name of high water level
+LOWWAT=Value at low water
+LOWNAM=Name of lowwater level
+MEAWAT=Value at mean water level
+MEANAM=Name of mean water level
+OTHWAT=Value at local water level
+OTHNAM=Name of local water level
+REFLEV=Reference gravitational level
+SDRLEV=Name of sounding reference level
+VCRLEV=Name of vertical datum level
+CATVTR=Vehicle transfer category
+CATTAB=Time and behaviour category
+SCHREF=Time schedule reference
+USESHP=Use of ship
+CURVHW=high water current velocity
+CURVLW=low water current velocity
+CURVMW=mean level current velocity
+CURVOW=local level current velocity
+APTREF=Average passing time reference
+CATEXS=Exceptional structure category
+CATWWM=Waterway mark category
+SHPTYP=Ship type
+UPDMSG=Update message
+LITRAD=Light sector radius
+
Index: /applications/editors/josm/plugins/smed2/src/panels/PanelMain.java
===================================================================
--- /applications/editors/josm/plugins/smed2/src/panels/PanelMain.java	(revision 29995)
+++ /applications/editors/josm/plugins/smed2/src/panels/PanelMain.java	(revision 29996)
@@ -12,11 +12,10 @@
 import javax.swing.*;
 
+import messages.Messages;
+
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
 
 import s57.S57att.Att;
 import s57.S57obj.Obj;
-import s57.S57val;
-import seamap.SeaMap;
 import seamap.SeaMap.*;
 import smed2.S57en;
@@ -96,11 +95,11 @@
 	public void parseMark(Feature feature) {
 		decode.setText("Selected feature:\n");
-		decode.append("\tType: " + S57en.ObjEN.get(feature.type) + "\n");
+		decode.append("\t" + tr("Type") + ": " + Messages.getString(feature.type.name()) + "\n");
 		if (feature.atts.get(Att.OBJNAM) != null) {
-			decode.append("\tName: " + feature.atts.get(Att.OBJNAM).val + "\n");
+			decode.append("\t" + tr("Name") + ": " + feature.atts.get(Att.OBJNAM).val + "\n");
 		}
 		decode.append("\tObjects:\n");
 		for (Obj obj : feature.objs.keySet()) {
-			decode.append("\t\t" + S57en.ObjEN.get(obj) + "\n");
+			decode.append("\t\t" + Messages.getString(obj.name()) + "\n");
 			if (feature.objs.get(obj).size() != 0) {
 				for (AttMap atts : feature.objs.get(obj).values()) {
@@ -109,8 +108,8 @@
 						switch (item.conv) {
 						case E:
-							decode.append("\t\t\t" + S57en.AttEN.get(att) + ": " + S57en.enums.get(att).get(item.val) + "\n");
+							decode.append("\t\t\t" + Messages.getString(att.name()) + ": " + S57en.enums.get(att).get(item.val) + "\n");
 							break;
 						case L:
-							decode.append("\t\t\t" + S57en.AttEN.get(att) + ": ");
+							decode.append("\t\t\t" + Messages.getString(att.name()) + ": ");
 							Iterator it = ((ArrayList)item.val).iterator();
 							while (it.hasNext()) {
@@ -124,5 +123,5 @@
 							break;
 						default:
-							decode.append("\t\t\t" + S57en.AttEN.get(att) + ": " + item.val + "\n");
+							decode.append("\t\t\t" + Messages.getString(att.name()) + ": " + item.val + "\n");
 						}
 					}
@@ -130,4 +129,8 @@
 			}
 		}
+	}
+	
+	public void clearMark() {
+		decode.setText(tr("No feature selected"));
 	}
 	
Index: plications/editors/josm/plugins/smed2/src/smed2/S57en.java
===================================================================
--- /applications/editors/josm/plugins/smed2/src/smed2/S57en.java	(revision 29995)
+++ 	(revision )
@@ -1,158 +1,0 @@
-package smed2;
-
-import java.util.EnumMap;
-
-import s57.S57obj.Obj;
-import s57.S57att.Att;
-import s57.S57val.*;
-
-public class S57en {
-
-	public static final EnumMap<Obj, String> ObjEN = new EnumMap<Obj, String>(Obj.class);
-	static {
-		ObjEN.put(Obj.UNKOBJ, "Unkown object");	ObjEN.put(Obj.ADMARE, "Administrative area");	ObjEN.put(Obj.AIRARE, "Airfield");	ObjEN.put(Obj.ACHBRT, "Anchor berth");
-		ObjEN.put(Obj.ACHARE, "Anchorage"); ObjEN.put(Obj.BCNCAR, "Cardinal beacon");	ObjEN.put(Obj.BCNISD, "Isolated danger beacon	");
-		ObjEN.put(Obj.BCNLAT, "Lateral beacon");	ObjEN.put(Obj.BCNSAW, "Safe water beacon"); ObjEN.put(Obj.BCNSPP, "Special purpose beacon");
-		ObjEN.put(Obj.BERTHS, "Berth"); ObjEN.put(Obj.BRIDGE, "Bridge"); ObjEN.put(Obj.BUISGL, "Building"); ObjEN.put(Obj.BUAARE, "Built-up area");
-		ObjEN.put(Obj.BOYCAR, "Cardinal buoy"); ObjEN.put(Obj.BOYINB, "Installation buoy");	ObjEN.put(Obj.BOYISD, "Isolated danger buoy");
-		ObjEN.put(Obj.BOYLAT, "Lateral buoy");	ObjEN.put(Obj.BOYSAW, "Safe water buoy"); ObjEN.put(Obj.BOYSPP, "Special purpose buoy");
-		ObjEN.put(Obj.CBLARE, "Cable area");	ObjEN.put(Obj.CBLOHD, "Overhead cable");	ObjEN.put(Obj.CBLSUB, "Submarine cable"); ObjEN.put(Obj.CANALS, "Canal");
-		ObjEN.put(Obj.CANBNK, "Canal bank");	ObjEN.put(Obj.CTSARE, "Cargo area");	ObjEN.put(Obj.CAUSWY, "Causeway");	ObjEN.put(Obj.CTNARE, "Caution area");
-		ObjEN.put(Obj.CHKPNT, "Checkpoint");	ObjEN.put(Obj.CGUSTA, "Coastguard station");	ObjEN.put(Obj.COALNE, "Coastline"); ObjEN.put(Obj.CONZNE, "Contiguous zone");
-		ObjEN.put(Obj.COSARE, "Continental shelf"); ObjEN.put(Obj.CTRPNT, "Control point");	ObjEN.put(Obj.CONVYR, "Conveyor");	ObjEN.put(Obj.CRANES, "Crane");
-		ObjEN.put(Obj.CURENT, "Current"); ObjEN.put(Obj.CUSZNE, "Custom zone");	ObjEN.put(Obj.DAMCON, "Dam"); ObjEN.put(Obj.DAYMAR, "Daymark");
-		ObjEN.put(Obj.DWRTCL, "Deep water route centreline"); ObjEN.put(Obj.DWRTPT, "Deep water route"); ObjEN.put(Obj.DEPARE, "Depth area");
-		ObjEN.put(Obj.DEPCNT, "Depth contour"); ObjEN.put(Obj.DISMAR, "Distance mark");	ObjEN.put(Obj.DOCARE, "Dock");	ObjEN.put(Obj.DRGARE, "Dredged area");
-		ObjEN.put(Obj.DRYDOC, "Dry dock");	ObjEN.put(Obj.DMPGRD, "Dumping ground");	ObjEN.put(Obj.DYKCON, "Dyke");	ObjEN.put(Obj.EXEZNE, "Exclusive economic zone");
-		ObjEN.put(Obj.FAIRWY, "Fairway"); ObjEN.put(Obj.FNCLNE, "Fenceline/Wall"); ObjEN.put(Obj.FERYRT, "Ferry route");	ObjEN.put(Obj.FSHZNE, "Fishery zone");
-		ObjEN.put(Obj.FSHFAC, "Fishing facility");	ObjEN.put(Obj.FSHGRD, "Fishing ground");	ObjEN.put(Obj.FLODOC, "Floating dock"); ObjEN.put(Obj.FOGSIG, "Fog signal");
-		ObjEN.put(Obj.FORSTC, "Fortified structure"); ObjEN.put(Obj.FRPARE, "Free port area"); ObjEN.put(Obj.GATCON, "Gate"); ObjEN.put(Obj.GRIDRN, "Gridiron");
-		ObjEN.put(Obj.HRBARE, "Harbour area");	ObjEN.put(Obj.HRBFAC, "Harbour"); ObjEN.put(Obj.HULKES, "Hulk"); ObjEN.put(Obj.ICEARE, "Ice area");
-		ObjEN.put(Obj.ICNARE, "Incineration zone"); ObjEN.put(Obj.ISTZNE, "Inshore traffic zone"); ObjEN.put(Obj.LAKARE, "Lake"); ObjEN.put(Obj.LAKSHR, "Lake shore");
-		ObjEN.put(Obj.LNDARE, "Land area"); ObjEN.put(Obj.LNDELV, "Land elevation"); ObjEN.put(Obj.LNDRGN, "Land region");	ObjEN.put(Obj.LNDMRK, "Landmark");
-		ObjEN.put(Obj.LIGHTS, "Light"); ObjEN.put(Obj.LITFLT, "Light float");	ObjEN.put(Obj.LITVES, "Light vessel");	ObjEN.put(Obj.LOCMAG, "Local magnetic anomaly");
-		ObjEN.put(Obj.LOKBSN, "Lock basin");	ObjEN.put(Obj.LOGPON, "Log pond");	ObjEN.put(Obj.MAGVAR, "Magnetic variation");	ObjEN.put(Obj.MARCUL, "Marine farm");
-		ObjEN.put(Obj.MIPARE, "Military practice area"); ObjEN.put(Obj.MORFAC, "Mooring");	ObjEN.put(Obj.NAVLNE, "Navigation line"); ObjEN.put(Obj.OBSTRN, "Obstruction");
-		ObjEN.put(Obj.OFSPLF, "Offshore platform");	ObjEN.put(Obj.OSPARE, "Offshore production area"); ObjEN.put(Obj.OILBAR, "Oil barrier");	ObjEN.put(Obj.PILPNT, "Pile");
-		ObjEN.put(Obj.PILBOP, "Pilot boarding place");	ObjEN.put(Obj.PIPARE, "Pipeline area"); ObjEN.put(Obj.PIPOHD, "Overhead pipeline");	ObjEN.put(Obj.PIPSOL, "Submarine pipeline");
-		ObjEN.put(Obj.PONTON, "Pontoon"); ObjEN.put(Obj.PRCARE, "Precautionary area"); ObjEN.put(Obj.PRDARE, "Land production area");ObjEN.put(Obj.PYLONS, "Pylon");
-		ObjEN.put(Obj.RADLNE, "Radar line");	ObjEN.put(Obj.RADRNG, "Radar range"); ObjEN.put(Obj.RADRFL, "Radar reflector");	ObjEN.put(Obj.RADSTA, "Radar station");
-		ObjEN.put(Obj.RTPBCN, "Radar transponder"); ObjEN.put(Obj.RDOCAL, "Calling-in point"); ObjEN.put(Obj.RDOSTA, "Radio station");	ObjEN.put(Obj.RAILWY, "Railway");
-		ObjEN.put(Obj.RAPIDS, "Rapids");	ObjEN.put(Obj.RCRTCL, "Recommended route centreline");	ObjEN.put(Obj.RECTRC, "Recommended track");
-		ObjEN.put(Obj.RCTLPT, "Recommended traffic lane");	ObjEN.put(Obj.RSCSTA, "Rescue station");	ObjEN.put(Obj.RESARE, "Restricted area");
-		ObjEN.put(Obj.RETRFL, "Retro reflector"); ObjEN.put(Obj.RIVERS, "River");	ObjEN.put(Obj.RIVBNK, "River bank");	ObjEN.put(Obj.ROADWY, "Road");
-		ObjEN.put(Obj.RUNWAY, "Runway");	ObjEN.put(Obj.SNDWAV, "Sand waves");	ObjEN.put(Obj.SEAARE, "Sea area");	ObjEN.put(Obj.SPLARE, "Seaplane landing area");
-		ObjEN.put(Obj.SBDARE, "Seabed area"); ObjEN.put(Obj.SLCONS, "Shoreline construction"); ObjEN.put(Obj.SISTAT, "Traffic signal station");
-		ObjEN.put(Obj.SISTAW, "Warning signal station");	ObjEN.put(Obj.SILTNK, "Tank/Silo");	ObjEN.put(Obj.SLOTOP, "Slope topline"); ObjEN.put(Obj.SLOGRD, "Sloping ground");
-		ObjEN.put(Obj.SMCFAC, "Small craft facility");	ObjEN.put(Obj.SOUNDG, "Sounding");	ObjEN.put(Obj.SPRING, "Spring");	ObjEN.put(Obj.SQUARE, "Square");
-		ObjEN.put(Obj.STSLNE, "Territorial baseline");	ObjEN.put(Obj.SUBTLN, "Submarine transit lane");	ObjEN.put(Obj.SWPARE, "Swept area");
-		ObjEN.put(Obj.TESARE, "Territorial area");	ObjEN.put(Obj.TS_PRH, "");	ObjEN.put(Obj.TS_PNH, "");	ObjEN.put(Obj.TS_PAD, "");	ObjEN.put(Obj.TS_TIS, "");
-		ObjEN.put(Obj.T_HMON, "");	ObjEN.put(Obj.T_NHMN, "");	ObjEN.put(Obj.T_TIMS, "");	ObjEN.put(Obj.TIDEWY, "Tideway"); ObjEN.put(Obj.TOPMAR, "Topmark");
-		ObjEN.put(Obj.TSELNE, "Separation line"); ObjEN.put(Obj.TSSBND, "Separation boundary");	ObjEN.put(Obj.TSSCRS, "Separation crossing");
-		ObjEN.put(Obj.TSSLPT, "Separation lane"); ObjEN.put(Obj.TSSRON, "Separation roundabout");	ObjEN.put(Obj.TSEZNE, "Separation zone"); ObjEN.put(Obj.TUNNEL, "Tunnel");
-		ObjEN.put(Obj.TWRTPT, "Two-way route"); ObjEN.put(Obj.UWTROC, "Rock"); ObjEN.put(Obj.UNSARE, "Unsurveyed area");	ObjEN.put(Obj.VEGATN, "Vegetation");
-		ObjEN.put(Obj.WATTUR, "Water turbulence");	ObjEN.put(Obj.WATFAL, "Waterfall"); ObjEN.put(Obj.WEDKLP, "Weed"); ObjEN.put(Obj.WRECKS, "Wreck");
-		ObjEN.put(Obj.TS_FEB, "Tidal stream");	ObjEN.put(Obj.NOTMRK, "Notice");	ObjEN.put(Obj.WTWAXS, "Waterway axis"); ObjEN.put(Obj.WTWPRF, "Waterway profile");
-		ObjEN.put(Obj.BRGARE, "Bridge area"); ObjEN.put(Obj.BUNSTA, "Bunker station");	ObjEN.put(Obj.COMARE, "Communication area");	ObjEN.put(Obj.HRBBSN, "Harbour basin");
-		ObjEN.put(Obj.LOKARE, "Lock area"); ObjEN.put(Obj.LKBSPT, "Lock basin part"); ObjEN.put(Obj.PRTARE, "Port area");	ObjEN.put(Obj.BCNWTW, "Waterway beacon");
-		ObjEN.put(Obj.BOYWTW, "Waterway buoy"); ObjEN.put(Obj.REFDMP, "Refuse dump"); ObjEN.put(Obj.RTPLPT, "Route planning point"); ObjEN.put(Obj.TERMNL, "Terminal");
-		ObjEN.put(Obj.TRNBSN, "Turning basin"); ObjEN.put(Obj.WTWARE, "Waterway area"); ObjEN.put(Obj.WTWGAG, "Waterway gauge"); ObjEN.put(Obj.TISDGE, "Time schedule");
-		ObjEN.put(Obj.VEHTRF, "Vehicle transfer"); ObjEN.put(Obj.EXCNST, "Exceptional structure"); ObjEN.put(Obj.LG_SDM, ""); ObjEN.put(Obj.LG_VSP, "");
-		ObjEN.put(Obj.LITMAJ, "Major light"); ObjEN.put(Obj.LITMIN, "Minor light");
-	}
-
-	public static final EnumMap<Att, String> AttEN = new EnumMap<Att, String>(Att.class);
-	static {
-		AttEN.put(Att.UNKATT, "Unknown attribute"); AttEN.put(Att.AGENCY, "Agency"); AttEN.put(Att.BCNSHP, "Beacon shape"); AttEN.put(Att.BUISHP, "Building shape");
-		AttEN.put(Att.BOYSHP, "Buoy shape"); AttEN.put(Att.BURDEP, "Buried depth"); AttEN.put(Att.CALSGN, "Callsign"); AttEN.put(Att.CATAIR, "Airfield category");
-		AttEN.put(Att.CATACH, "Anchorage category"); AttEN.put(Att.CATBRG, "Bridge category"); AttEN.put(Att.CATBUA, "Built-up area category");
-		AttEN.put(Att.CATCBL, "Cable category"); AttEN.put(Att.CATCAN, "Canal category"); AttEN.put(Att.CATCAM, "Cardinal mark category"); AttEN.put(Att.CATCHP, "Checkpoint category");
-		AttEN.put(Att.CATCOA, "Coastline category"); AttEN.put(Att.CATCTR, "Control point category"); AttEN.put(Att.CATCON, "Conveyor category"); AttEN.put(Att.CATCRN, "Crane category");
-		AttEN.put(Att.CATDAM, "Dam category"); AttEN.put(Att.CATDIS, "Distance mark category"); AttEN.put(Att.CATDOC, "Dock category"); AttEN.put(Att.CATDPG, "Dumping ground category");
-		AttEN.put(Att.CATFNC, "Fenceline category"); AttEN.put(Att.CATFRY, "Ferry category"); AttEN.put(Att.CATFIF, "Fishing facility category"); AttEN.put(Att.CATFOG, "Fog signal category");
-		AttEN.put(Att.CATFOR, "Fortified structure category"); AttEN.put(Att.CATGAT, "Gate category"); AttEN.put(Att.CATHAF, "Harbour category"); AttEN.put(Att.CATHLK, "Hulk category");
-		AttEN.put(Att.CATICE, "Ice category"); AttEN.put(Att.CATINB, "Installation buoy category"); AttEN.put(Att.CATLND, "Land region category"); AttEN.put(Att.CATLMK, "Landmark category");
-		AttEN.put(Att.CATLAM, "Lateral mark category"); AttEN.put(Att.CATLIT, "Light category"); AttEN.put(Att.CATMFA, "Marine farm category");
-		AttEN.put(Att.CATMPA, "Military practice area category"); AttEN.put(Att.CATMOR, "Morring category"); AttEN.put(Att.CATNAV, "Navigation line category");
-		AttEN.put(Att.CATOBS, "Obstruction category"); AttEN.put(Att.CATOFP, "Offshore platform category"); AttEN.put(Att.CATOLB, "Oil barrier category");
-		AttEN.put(Att.CATPLE, "Pile category"); AttEN.put(Att.CATPIL, "Pilot boarding category"); AttEN.put(Att.CATPIP, "Pipeline category"); AttEN.put(Att.CATPRA, "Production area category");
-		AttEN.put(Att.CATPYL, "Pylon category"); AttEN.put(Att.CATRAS, "Radar station category"); AttEN.put(Att.CATRTB, "Radar transponder category");
-		AttEN.put(Att.CATROS, "Radio station category"); AttEN.put(Att.CATTRK, "Recommended track category"); AttEN.put(Att.CATRSC, "Rescue station category");
-		AttEN.put(Att.CATREA, "Restricted area category"); AttEN.put(Att.CATROD, "Road category"); AttEN.put(Att.CATRUN, "Runway category"); AttEN.put(Att.CATSEA, "Sea area category");
-		AttEN.put(Att.CATSLC, "Shoreline construction category"); AttEN.put(Att.CATSIT, "Traffic signal station category"); AttEN.put(Att.CATSIW, "Warning signal station category");
-		AttEN.put(Att.CATSIL, "Silo/tank category"); AttEN.put(Att.CATSLO, "Slope category"); AttEN.put(Att.CATSCF, "Small craft facility category");
-		AttEN.put(Att.CATSPM, "Special purpose mark category"); AttEN.put(Att.CATTSS, "Traffic separation scheme category"); AttEN.put(Att.CATVEG, "Vegetation category");
-		AttEN.put(Att.CATWAT, "Water turbulence category"); AttEN.put(Att.CATWED, "Weed category"); AttEN.put(Att.CATWRK, "Wreck category"); AttEN.put(Att.CATZOC, "Zone of confidence category");
-		AttEN.put(Att.COLOUR, "Colour"); AttEN.put(Att.COLPAT, "Colour pattern"); AttEN.put(Att.COMCHA, "VHF channel"); AttEN.put(Att.CONDTN, "Condition");
-		AttEN.put(Att.CONRAD, "Radar reflectivity"); AttEN.put(Att.CONVIS, "Visual conspicuity"); AttEN.put(Att.CURVEL, "Current velocity"); AttEN.put(Att.DATEND, "End date");
-		AttEN.put(Att.DATSTA, "Start date"); AttEN.put(Att.DRVAL1, "Minimum depth"); AttEN.put(Att.DRVAL2, "Maximum depth"); AttEN.put(Att.DUNITS, "Depth units");
-		AttEN.put(Att.ELEVAT, "Elevation"); AttEN.put(Att.ESTRNG, "Estimated range"); AttEN.put(Att.EXCLIT, "Light exhibition"); AttEN.put(Att.EXPSOU, "Light exposition");
-		AttEN.put(Att.FUNCTN, "Function"); AttEN.put(Att.HEIGHT, "Height"); AttEN.put(Att.HUNITS, "Height/length units"); AttEN.put(Att.HORACC, "Horizontal accuracy");
-		AttEN.put(Att.HORCLR, "Horizontal clearance"); AttEN.put(Att.HORLEN, "Horizontal length"); AttEN.put(Att.HORWID, "Horizontal width"); AttEN.put(Att.ICEFAC, "Ice factor");
-		AttEN.put(Att.INFORM, "Information"); AttEN.put(Att.JRSDTN, "Jurisdiction"); AttEN.put(Att.LIFCAP, "Maximum load"); AttEN.put(Att.LITCHR, "Light character");
-		AttEN.put(Att.LITVIS, "Light visibility"); AttEN.put(Att.MARSYS, "Buoyage system");	AttEN.put(Att.MLTYLT, "Multiplicity of lights"); AttEN.put(Att.NATION, "Nationality");
-		AttEN.put(Att.NATCON, "Nature of construction"); AttEN.put(Att.NATSUR, "Nature of surface"); AttEN.put(Att.NATQUA, "Nature of surface qualification");
-		AttEN.put(Att.NMDATE, "Notice to mariners date"); AttEN.put(Att.OBJNAM, "Object name"); AttEN.put(Att.ORIENT, "Orientation"); AttEN.put(Att.PEREND, "End date");
-		AttEN.put(Att.PERSTA, "Start date"); AttEN.put(Att.PICREP, "Pictorial representation"); AttEN.put(Att.PILDST, "Pilot district");	AttEN.put(Att.PRCTRY, "Producing country");
-		AttEN.put(Att.PRODCT, "Product"); AttEN.put(Att.PUBREF, "Publication reference"); AttEN.put(Att.QUASOU, "Quality of sounding");	AttEN.put(Att.RADWAL, "Radar wavelength");
-		AttEN.put(Att.RADIUS, "Radius"); AttEN.put(Att.RECDAT, "Recording date"); AttEN.put(Att.RECIND, "Recording indication");	AttEN.put(Att.RYRMGV, "Magnetic variation reference year");
-		AttEN.put(Att.RESTRN, "Restriction"); AttEN.put(Att.SECTR1, "First sector limit"); AttEN.put(Att.SECTR2, "Second sector limit");	AttEN.put(Att.SHIPAM, "Shift parameters");
-		AttEN.put(Att.SIGFRQ, "Signal frequency"); AttEN.put(Att.SIGGEN, "Signal generation"); AttEN.put(Att.SIGGRP, "Signal group"); AttEN.put(Att.SIGPER, "Signal period");
-		AttEN.put(Att.SIGSEQ, "Signal sequence"); AttEN.put(Att.SOUACC, "Sounding accuracy"); AttEN.put(Att.SDISMX, "Maximum sounding distance");	AttEN.put(Att.SDISMN, "Minimum sounding distance");
-		AttEN.put(Att.SORDAT, "Source date"); AttEN.put(Att.SORIND, "Source"); AttEN.put(Att.STATUS, "Status");	AttEN.put(Att.SURATH, "Survey authority"); AttEN.put(Att.SUREND, "Survey end date");
-		AttEN.put(Att.SURSTA, "Survey start date"); AttEN.put(Att.SURTYP, "Survey type");	AttEN.put(Att.TECSOU, "Sounding technique"); AttEN.put(Att.TXTDSC, "Textual description");
-		AttEN.put(Att.TIMEND, "End time"); AttEN.put(Att.TIMSTA, "Start time");	AttEN.put(Att.TOPSHP, "Topmark/daymark shape"); AttEN.put(Att.TRAFIC, "Traffic flow");
-		AttEN.put(Att.VALACM, "Magnetic variation annual change"); AttEN.put(Att.VALDCO, "Value of depth contour"); AttEN.put(Att.VALLMA, "Value of local magnetic anomaly");
-		AttEN.put(Att.VALMAG, "Value of magnetic variation"); AttEN.put(Att.VALMXR, "Maximum range"); AttEN.put(Att.VALNMR, "Nominal range");	AttEN.put(Att.VALSOU, "Value of sounding");
-		AttEN.put(Att.VERACC, "Vertical accuracy"); AttEN.put(Att.VERCLR, "Vertical clearance");	AttEN.put(Att.VERCCL, "Vertical clearance, closed");
-		AttEN.put(Att.VERCOP, "Vertical clearance, open"); AttEN.put(Att.VERCSA, "Vertical clearance, safe"); AttEN.put(Att.VERDAT, "Vertical datum"); AttEN.put(Att.VERLEN, "Vertical length");
-		AttEN.put(Att.WATLEV, "Water level effect"); AttEN.put(Att.CAT_TS, "Tidal stream category");	AttEN.put(Att.PUNITS, "Positional units"); AttEN.put(Att.NINFOM, "National information");
-		AttEN.put(Att.NOBJNM, "National name"); AttEN.put(Att.NPLDST, "National pilot district"); AttEN.put(Att.NTXTDS, "National textual description"); AttEN.put(Att.HORDAT, "Horizontal datum");
-		AttEN.put(Att.POSACC, "Positional accuracy"); AttEN.put(Att.QUAPOS, "Quality of position"); AttEN.put(Att.ADDMRK, "Notice mark addition"); AttEN.put(Att.BNKWTW, "Side of Waterway");
-		AttEN.put(Att.CATBNK, "Waterway bank category");	AttEN.put(Att.CATNMK, "Notice mark category"); AttEN.put(Att.CLSDNG, "Dangerous cargo class"); AttEN.put(Att.DIRIMP, "Direction of impact");
-		AttEN.put(Att.DISBK1, "First distance from notice");	AttEN.put(Att.DISBK2, "Second distance from notice");AttEN.put(Att.DISIPU, "Upstream distance of impact");
-		AttEN.put(Att.DISIPD, "Downstream distance of impact"); AttEN.put(Att.ELEVA1, "Minimum elevation"); AttEN.put(Att.ELEVA2, "Maximum elevation"); AttEN.put(Att.FNCTNM, "Notice mark function");
-		AttEN.put(Att.WTWDIS, "Waterway distance"); AttEN.put(Att.BUNVES, "Bunker vessel availibility");	AttEN.put(Att.CATBRT, "Berth category"); AttEN.put(Att.CATBUN, "Bunker station category");
-		AttEN.put(Att.CATCCL, "CEMT class category"); AttEN.put(Att.CATHBR, "Harbour area category");	AttEN.put(Att.CATRFD, "Refuse dump category"); AttEN.put(Att.CATTML, "Terminal category");
-		AttEN.put(Att.COMCTN, "Communication"); AttEN.put(Att.HORCLL, "Horizontal clearance length");	AttEN.put(Att.HORCLW, "Horizontal clearance width");
-		AttEN.put(Att.TRSHGD, "Transshipping goods"); AttEN.put(Att.UNLOCD, "UN location code"); AttEN.put(Att.CATGAG, "Waterway gauge category");	AttEN.put(Att.HIGWAT, "Value at high water");
-		AttEN.put(Att.HIGNAM, "Name of high water level"); AttEN.put(Att.LOWWAT, "Value at low water"); AttEN.put(Att.LOWNAM, "Name of lowwater level");
-		AttEN.put(Att.MEAWAT, "Value at mean water level"); AttEN.put(Att.MEANAM, "Name of mean water level"); AttEN.put(Att.OTHWAT, "Value at local water level");
-		AttEN.put(Att.OTHNAM, "Name of local water level");	AttEN.put(Att.REFLEV, "Reference gravitational level"); AttEN.put(Att.SDRLEV, "Name of sounding reference level");
-		AttEN.put(Att.VCRLEV, "Name of vertical datum level"); AttEN.put(Att.CATVTR, "Vehicle transfer category");	AttEN.put(Att.CATTAB, "Time and behaviour category");
-		AttEN.put(Att.SCHREF, "Time schedule reference"); AttEN.put(Att.USESHP, "Use of ship"); AttEN.put(Att.CURVHW, "high water current velocity");
-		AttEN.put(Att.CURVLW, "low water current velocity"); AttEN.put(Att.CURVMW, "mean level current velocity"); AttEN.put(Att.CURVOW, "local level current velocity");
-		AttEN.put(Att.APTREF, "Average passing time reference"); AttEN.put(Att.CATEXS, "Exceptional structure category"); AttEN.put(Att.CATWWM, "Waterway mark category");
-		AttEN.put(Att.SHPTYP, "Ship type"); AttEN.put(Att.UPDMSG, "Update message"); AttEN.put(Att.LITRAD, "Light sector radius");
-	}
-	
-	private static final EnumMap<BcnSHP, String> Bcnshp = new EnumMap<BcnSHP, String>(BcnSHP.class); static { Bcnshp.put(BcnSHP.BCN_UNKN, "");
-	Bcnshp.put(BcnSHP.BCN_STAK, "Stake"); Bcnshp.put(BcnSHP.BCN_WTHY, "Withy"); Bcnshp.put(BcnSHP.BCN_TOWR, "Tower"); Bcnshp.put(BcnSHP.BCN_LATT, "Lattice"); Bcnshp.put(BcnSHP.BCN_PILE, "Pile");
-	Bcnshp.put(BcnSHP.BCN_CARN, "Cairn"); Bcnshp.put(BcnSHP.BCN_BUOY, "Buoyant"); Bcnshp.put(BcnSHP.BCN_POLE, "Pole"); Bcnshp.put(BcnSHP.BCN_PRCH, "Perch"); Bcnshp.put(BcnSHP.BCN_POST, "Post");
-}
-	private static final EnumMap<BuiSHP, String> Buishp = new EnumMap<BuiSHP, String>(BuiSHP.class); static { Buishp.put(BuiSHP.BUI_UNKN, "");
-	Buishp.put(BuiSHP.BUI_HIRS, "High-rise"); Buishp.put(BuiSHP.BUI_PYRD, "Pyramid"); Buishp.put(BuiSHP.BUI_CYLR, "Cylindrical"); Buishp.put(BuiSHP.BUI_SPHR, "Spherical"); Buishp.put(BuiSHP.BUI_CUBE, "Cubic");
-	}
-	private static final EnumMap<BoySHP, String> Boyshp = new EnumMap<BoySHP, String>(BoySHP.class); static { Boyshp.put(BoySHP.BOY_UNKN, "");
-	Boyshp.put(BoySHP.BOY_CONE, "Conical"); Boyshp.put(BoySHP.BOY_CAN, "Can"); Boyshp.put(BoySHP.BOY_SPHR, "Spherical"); Boyshp.put(BoySHP.BOY_PILR, "Pillar"); Boyshp.put(BoySHP.BOY_SPAR, "Spar");
-	Boyshp.put(BoySHP.BOY_BARL, "Barrel"); Boyshp.put(BoySHP.BOY_SUPR, "Super-buoy"); Boyshp.put(BoySHP.BOY_ICE, "Ice buoy");
-}
-	private static final EnumMap<CatCAM, String> Catcam = new EnumMap<CatCAM, String>(CatCAM.class); static { Catcam.put(CatCAM.CAM_UNKN, "");
-		Catcam.put(CatCAM.CAM_NORTH, "North"); Catcam.put(CatCAM.CAM_EAST, "East"); Catcam.put(CatCAM.CAM_SOUTH, "South"); Catcam.put(CatCAM.CAM_WEST, "West");
-	}
-	private static final EnumMap<ColCOL, String> Colour = new EnumMap<ColCOL, String>(ColCOL.class); static { Colour.put(ColCOL.COL_UNK, "");
-	Colour.put(ColCOL.COL_WHT, "White"); Colour.put(ColCOL.COL_BLK, "Black"); Colour.put(ColCOL.COL_RED, "Red"); Colour.put(ColCOL.COL_GRN, "Green"); Colour.put(ColCOL.COL_BLU, "Blue");
-	Colour.put(ColCOL.COL_YEL, "Yellow"); Colour.put(ColCOL.COL_GRY, "Grey"); Colour.put(ColCOL.COL_BRN, "Brown"); Colour.put(ColCOL.COL_AMB, "Amber"); Colour.put(ColCOL.COL_VIO, "Violet");
-	Colour.put(ColCOL.COL_ORG, "Orange"); Colour.put(ColCOL.COL_MAG, "Magenta"); Colour.put(ColCOL.COL_PNK, "Pink");
-}
-	private static final EnumMap<ColPAT, String> Colpat = new EnumMap<ColPAT, String>(ColPAT.class); static { Colpat.put(ColPAT.PAT_UNKN, ""); Colpat.put(ColPAT.PAT_HORI, "Horizontal");
-	Colpat.put(ColPAT.PAT_VERT, "Vertical"); Colpat.put(ColPAT.PAT_DIAG, "Diagonal"); Colpat.put(ColPAT.PAT_SQUR, "Squared"); Colpat.put(ColPAT.PAT_STRP, "Stripes");
-	Colpat.put(ColPAT.PAT_BRDR, "Border"); Colpat.put(ColPAT.PAT_CROS, "Cross"); Colpat.put(ColPAT.PAT_SALT, "Saltire");
-}
-	
-	public static final EnumMap<Att, EnumMap> enums = new EnumMap<Att, EnumMap>(Att.class);
-	static {
-		enums.put(Att.BCNSHP, Bcnshp); enums.put(Att.BUISHP, Buishp); enums.put(Att.BOYSHP, Boyshp); enums.put(Att.CATCAM, Catcam); enums.put(Att.COLOUR, Colour); enums.put(Att.COLPAT, Colpat);
-	}
-	
-}
Index: /applications/editors/josm/plugins/smed2/src/smed2/Smed2Action.java
===================================================================
--- /applications/editors/josm/plugins/smed2/src/smed2/Smed2Action.java	(revision 29995)
+++ /applications/editors/josm/plugins/smed2/src/smed2/Smed2Action.java	(revision 29996)
@@ -18,4 +18,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import messages.Messages;
+
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.MapView;
@@ -125,5 +127,5 @@
 		editFrame.add(panelS57);
 
-		showFrame = new ShowFrame("Seamark Inspector");
+		showFrame = new ShowFrame(tr("Seamark Inspector"));
 		showFrame.setSize(new Dimension(300, 300));
 		Rectangle rect = Main.map.mapView.getBounds();
@@ -187,8 +189,11 @@
 				} else {
 					showFrame.setVisible(false);
+					PanelMain.messageBar.setText(tr("Select only one feature"));
 				}
 			}
 		if (nextFeature == null) {
 			feature = null;
+			panelMain.clearMark();
+			PanelMain.messageBar.setText(tr("Select a map feature"));
 		}
 	}
