diff --git a/web/client/translations/data.de-DE b/web/client/translations/data.de-DE
new file mode 100644
index 0000000000..c9250b0ca5
--- /dev/null
+++ b/web/client/translations/data.de-DE
@@ -0,0 +1,732 @@
+{
+ "locale": "en-US",
+ "messages": {
+ "Language": "Language",
+ "msgId0": "{name} took {numPhotos, plural, =0 {no photos} =1 {one photo} other {# photos}} on {takenDate, date, long}.",
+ "htmlTest": "{name} {surname}",
+ "about_title": "About this app...",
+ "aboutLbl": "About",
+ "about_p0-0": "MapStore 2 is a framework to build web mapping applications using standard mapping libraries, such as",
+ "about_p0-1": "and",
+ "about_p1": "MapStore 2 has several example applications:",
+ "about_ul0_li0": "MapViewer is a simple viewer of preconfigured maps (optionally stored in a database using GeoStore)",
+ "about_ul0_li1": "MapPublisher has been developed to create, save and share in a simple and intuitive way maps and mashups created selecting contents coming from well-known sources like Google Maps and OpenStreetMap or from services provided by organizations using open protocols like OGC WMS, WFS, WMTS or TMS and so on.. For more information check the",
+ "about_h20": "License",
+ "about_p3": "MapStore 2 is Free and Open Source software, it is based on OpenLayers 3, Leaflet and ReactJS, and is licensed under the Simplified BSD License.",
+ "about_p5-0": "For more information check",
+ "about_a0": "this",
+ "about_p5-1": "page.",
+ "about_h21": "Credits",
+ "about_p6": "MapStore2 is made by:",
+ "enable": "Enable",
+ "layers": "Layers",
+ "layerProperties": {
+ "windowTitle": "Layer Properties",
+ "title": "Title",
+ "name": "Name",
+ "group": "Group",
+ "general": "General",
+ "display": "Display",
+ "style": "Style",
+ "format": "Format",
+ "delete": "Delete",
+ "deleteLayer":"Delete Layer",
+ "deleteLayerMessage": "Do you really want to delete this Layer?",
+ "confirmDelete": "Are you sure?"
+ },
+ "background": "Background",
+ "language": "Language",
+ "mousePositionCoordinates": "Coordinates indicator",
+ "showMousePositionCoordinates": "Show Coordinates",
+ "menu": "Menu",
+ "options": "Options",
+ "settings": "Settings",
+ "help": "Help",
+ "gohome": "Go home",
+ "back": "Back to the Importer",
+ "printbutton": "Print",
+ "noresultfound": "No Result found",
+ "save": "Save",
+ "saveAs": "Save As...",
+ "opacity": "Opacity",
+ "close": "Close",
+ "cancel": "Cancel",
+ "confirm": "Confirm",
+ "confirmTitle": "Do you Confirm?",
+ "pageInfo": "{total, plural, =0 {No items} =1 {{total} Item of {total}} other {Items {start}-{end} of {total}}}",
+ "loading": "Loading...",
+ "group": "Group",
+ "groups": "Groups",
+ "permission": "Permission",
+ "permissions": "Permissions",
+ "home":{
+ "open": "Open",
+ "description": "MapStore 2 has been developed to create, save and share in a simple and intuitive way maps and mashups created selecting contents coming from well-known sources like Google Maps and OpenStreetMap or from services provided by organizations using open protocols like OGC WMS, WFS, WMTS or TMS and so on.
Visit the home page for more details.",
+ "Applications": "Applications",
+ "Examples": "Examples",
+ "ml": {
+ "title": "Keep in touch and stay up-to-date with the mailing lists",
+ "subscribe_users": "Subscribe Users Mailing List",
+ "subscribe_devel": "Subscribe Developers Mailing List",
+ "visit_group": "Visit this group",
+ "subscribe": "Subscribe",
+ "email": "Email:"
+ },
+ "examples":{
+ "viewer":{
+ "html":"
Simple Viewer
" + }, + "3dviewer":{ + "html":"Simple CesiumJS based 3D Viewer
" + }, + "manager":{ + "html":"Browse MapStore Maps
" + }, + "mouseposition":{ + "html":"Custom examples
" + }, + "scalebar":{ + "html":"Custom examples
" + }, + "layertree":{ + "html":"Custom examples
" + }, + "queryform":{ + "html":"Custom examples
" + }, + "featuregrid":{ + "html":"Custom examples
" + }, + "print":{ + "html":"Custom examples
" + }, + "plugins":{ + "html":"Build your own application
" + }, + "rasterstyler":{ + "html":"Style your raster layer
" + } + } + }, + "manager": { + "openInANewTab":"Open map", + "deleteMap":"Delete Map", + "deleteMapMessage": "Do you really want to delete this map?", + "editMapMetadata":"Edit Map Metadata", + "mapTypes_combo": "Select Map Viewer: ", + "maps_title": "Maps", + "locales_combo": "Language:" + }, + "newMap": "New Map", + "maps": { + "search": "search for maps..." + }, + "map": { + "loading": "Loading...", + "loadingerror": "Error in loading", + "name": "Name", + "description": "Description", + "namePlaceholder": "Map Name", + "descriptionPlaceholder": "Map Description", + "saveTitle": "Save map", + "saveText": "Save current map?", + "thumbnail": "Thumbnail", + "message": "Drop or click to import an image", + "suggestion": "(best 300px X 180px, max 500kb)", + "errorFormat": "Supported formats: png/jpg", + "errorSize": "Max allowed size: 500kb", + "error": "The provided image is not valid", + "thumbnailError": { + "error403": "You are not allowed to update the thumbnail", + "error404": "An error occurred while creating the thumbnail", + "error409": "A thumbnail with this name already exists", + "errorDefault": "Network error" + }, + "mapError": { + "error403": "You are not allowed to update the map", + "error404": "An error occurred while creating the map", + "error409": "A map with this name already exists", + "errorDefault": "Network error" + }, + "permissions": { + "noRules": "No rules", + "addRule": "Add a rule...", + "selectGroup": "Select a group...", + "canView": "can view", + "canWrite": "can edit", + "noResult": "no results found", + "title": "Permissions Groups" + } + }, + "toc": { + "loadingerror": "The layer has not been loaded correctly" + }, + "print":{ + "paneltitle": "Print", + "layout": "Layout", + "sheetsize": "Sheet size:", + "legendoptions": "Legend options", + "submit": "Print", + "title": "Title", + "titleplaceholder": "Enter a title...", + "description": "Description", + "descriptionplaceholder": "Enter a description...", + "resolution": "Resolution:", + "defaultBackground": "Use OSM as a background", + "printtooltip": "Print", + "alternatives": { + "legend": "Include legend", + "2pages": "Legend on distinct page", + "landscape": "Landscape", + "portrait": "Portrait" + }, + "legend": { + "font": "Labels Config:", + "forceLabels": "Force Labels:", + "antiAliasing": "Font Anti Aliasing:", + "iconsSize": "Icons size:", + "dpi": "Dpi:" + }, + "layoutWarning": "Not allowed layout" + }, + "backgroundSwither":{ + "tooltip": "Select Background" + }, + "info":{ + "tooltip": "Query objects on map" + }, + "expandtoolbar": { + "tooltip": "Expand / Collapse" + }, + "getFeatureInfoTitle": "Feature Info", + "identifyTitle": "Feature Info", + "identifyRevGeocodeHeader": "Coordinates", + "identifyRevGeocodeModalTitle": "Address", + "identifyRevGeocodeSubmitText": "More Info", + "identifyRevGeocodeCloseText": "Close", + "identifyRevGeocodeError": "Unable to geocode", + "getFeatureInfoError": { + "title": "Ooops! Something's wrong", + "text": "An error has occurred during this GetFeatureInfo request" + }, + "noFeatureInfo": "There is no information available for the point you clicked", + "noInfoForLayers": "There are no features for the following layers: ", + "history":{ + "barLabel": "Map history", + "undoBtnTooltip": "Go back", + "redoBtnTooltip": "Go forward" + }, + "infoFormatLbl": "Identify response format", + "measureComponent": { + "Measure": "Measure", + "MeasureLength": "Measure Distance", + "MeasureArea": "Measure Area", + "MeasureBearing": "Measure Bearing", + "tooltip": "Measure length and area", + "title": "Measure", + "lengthButtonText": "Line", + "areaButtonText": "Area", + "resetButtonText": "Reset", + "lengthLabel": "Length", + "areaLabel": "Area", + "bearingLabel": "Bearing" + }, + "search":{ + "placeholder": "Search by location name or coordinates ..." + }, + "drawLocal": { + "draw": { + "toolbar": { + "actions": { + "title": "Cancel drawing", + "text": "Cancel" + }, + "undo": { + "title": "Delete last point drawn", + "text": "Delete last point" + }, + "buttons": { + "polyline": "Draw a polyline", + "polygon": "Draw a polygon", + "rectangle": "Draw a rectangle", + "circle": "Draw a circle", + "marker": "Draw a marker" + } + }, + "handlers": { + "circle": { + "tooltip": { + "start": "Click and drag to draw circle." + } + }, + "marker": { + "tooltip": { + "start": "Click map to place marker." + } + }, + "polygon": { + "tooltip": { + "start": "Click to start drawing shape.", + "cont": "Click to continue drawing shape.", + "end": "Click first point to close this shape." + } + }, + "polyline": { + "error": "Error: shape edges cannot cross!", + "tooltip": { + "start": "Click to start drawing line.", + "cont": "Click to continue drawing line.", + "end": "Click last point to finish line." + } + }, + "rectangle": { + "tooltip": { + "start": "Click and drag to draw rectangle." + } + }, + "simpleshape": { + "tooltip": { + "end": "Release mouse to finish drawing." + } + } + } + }, + "edit": { + "toolbar": { + "actions": { + "save": { + "title": "Save changes.", + "text": "Save" + }, + "cancel": { + "title": "Cancel editing, discards all changes.", + "text": "Cancel" + } + }, + "buttons": { + "edit": "Edit layers.", + "editDisabled": "No layers to edit.", + "remove": "Delete layers.", + "removeDisabled": "No layers to delete." + } + }, + "handlers": { + "edit": { + "tooltip": { + "text": "Drag handles, or marker to edit feature.", + "subtext": "Click cancel to undo changes." + } + }, + "remove": { + "tooltip": { + "text": "Click on a feature to remove" + } + } + } + } + }, + "locate": { + "tooltip": "Locate me", + "metersUnit": "meters", + "feetUnit": "feet", + "popup": "You are within {distance} {unit} from this point", + "outsideMapBoundsMsg": "You seem located outside the boundaries of the map" + }, + "zoombuttons": { + "zoomInTooltip": "Increase Zoom", + "zoomOutTooltip": "Decrease Zoom", + "zoomAllTooltip": "Zoom To Max Extent" + }, + "helptexts": { + "scaleBox": "This is the helptext for the ScaleBox", + "zoomToMaxExtentButton": "This is the helptext for the ZoomToMaxExtentButton", + "zoomIn": "This is the helptext for the ZoomIn", + "zoomOut": "This is the helptext for the ZoomOut", + "searchBar": "Write the address of a place to find. e.g. '1st avenue, new york'. You can even insert coordinates in this format: 43.87,10.20", + "layerSwitcher": "This is the helptext for the LayerSwitcher", + "metadataExplorer": "This is the helptext for the MetadataExplorer", + "settingsPanel": "This is the helptext for the SettingsPanel", + "gohome": "This is the helptext for Home", + "measureComponent": "This is the helptext for the MeasureComponent", + "backgroundSwitcher": "This is the helptext for the BackgroundSwitcher", + "layerSwitcher": "This is the helptext for the LayerSwitcher", + "infoButton": "This is the helptext for the InfoButton", + "locateBtn": "This is the helptext for the LocateBtn", + "snapshot": "This is the helptext for the Snapshot", + "print": "This is the helptext for Print", + "shapefile": "This is the helptext for the Shapefile", + "rasterstyler": "Define min value, max value, number of classes and color ramp and generate new classified raster layer", + "expandToolbar": "This is the helptext for Expand / Collapse", + "historyundo": "Use this button to go to the previous map zoom and location", + "historyredo": "Use this button to go to the next map zoom and location", + "vectorstyler": "Add rule, and generate new styled vector layer", + "styler": "Add rule, and generate new styled layer" + }, + "queryform": { + "query": "Search", + "reset": "Reset", + "query_request_exception": "Request Error", + "config": { + "load_config_exception": "Error Loading Configuration" + }, + "form": { + "header": "Find in the dataset", + "dataset_header": "Dataset" + }, + "attributefilter":{ + "add_condition": " Add Condition", + "add_group": " Add Group", + "group_label_a": "Match", + "group_label_b": "of the following conditions:", + "combo_placeholder": "Select", + "text_placeholder": "Type text to search", + "attribute_filter_header": "Attribute Filter", + "groupField": { + "any": "any", + "all": "all", + "none": "none" + }, + "numberfield": { + "isRequired": "Field value required", + "wrong_range": "Lower boundary must be lower upper boundary" + }, + "datefield": { + "wrong_date_range": "Start date must be lower than end date" + } + }, + "spatialfilter": { + "selection_method": "Selection Method", + "geometric_operation": "Geometric Operation", + "spatial_filter_header": "Spatial Filter", + "draw_start_label": "Draw the region on interest in the map", + "dwithin_label": "meters", + "details": { + "detail_button_label": "Details", + "details_header": "Selection Details", + "details_bbox_label": "Edit the coordinates to modify the area", + "details_circle_label": "Edit the numeric fields to modify the radius and center of the circle", + "reset_bbox": "Reset", + "save_bbox": "Save BBOX modifications", + "save_radius": "Save the radius/center modifications", + "radius": "Radius" + }, + "methods": { + "zone": "Zone", + "box": "BoundingBox", + "buffer": "Buffer", + "circle": "Circle", + "poly": "Polygon" + }, + "operations": { + "intersects": "INTERSECTS", + "bbox": "BBOX", + "contains": "CONTAINS", + "dwithin": "DWITHIN", + "within": "WITHIN" + } + } + }, + "user":{ + "login": "Login", + "logout": "Logout", + "info": " Account Info", + "details": " User Details", + "noAttributesMessage": "There is no information related to your account", + "changePwd": "Change Password", + "newPwd": "New Password", + "retypePwd": "Retype Password", + "passwordMinlenght": "Your password must be at least {minSize} character", + "passwordCheckFail": "Passwords do not match!", + "username": "Username", + "password": "Password", + "signIn":"Sign-in", + "loginFail":"Login Fail", + "loginFailedStatusMessages": { + "usernamePwdInsert": "Please insert username and password", + "usernamePwdIncorrect":"Username or password incorrect" + } + }, + "users": { + "title": "Manage Accounts", + "searchUsers": "search for users...", + "newUser": "New User", + "editUser": "Edit user", + "deleteUser": "Delete User", + "statusTitle": "status", + "enabled": "Enabled", + "groupTitle": "Groups:", + "roleTitle": "Role", + "saveUser": "Save", + "savingUser": "Saving...", + "userSaved": "Saved!", + "createUser": "Create", + "creatingUser": "Creating...", + "userCreated": "Created!", + "deleting": "Deleting...", + "delete": "Delete", + "confirmDeleteUser": "Are you sure you want to delete this user?", + "errorDelete": "There was an error deleting this user:", + "errorSaving": "There was an error saving the user:", + "selectedGroups": "SELECTED GROUPS" + }, + "share":{ + "title": "Share", + "titlePanel": "Share the map", + "socialIntro": "In your favourite social network", + "directLinkTitle": "Via a direct link", + "embeddedLinkTitle": "Via the embedded code", + "QRCodeLinkTitle": "qr code", + "msgCopiedUrl":"Copied", + "msgToCopyUrl":"Click to copy" + }, + "snapshot": { + "title": "Snapshot Preview", + "save": "Save", + "tooltip": "Save a snapshot of the map.", + "googleBingError": "Google and Bing layers aren't available for the snapshot, due to copyright restrictions.", + "downloadingSnapshots": "pending snapshot generation", + "date": "Date", + "layers": "Layers", + "size": "Size", + "notsupported": "Snapshot not supported" + }, + "shapefile": { + "title": "Add Local Shapefile", + "tooltip": "Add a local shapefile to the map.", + "placeholder": "Drop your files here or click to select the shapefiles to import. (shapefiles must be contained in zip archives)", + "defaultStyle": "Default style", + "zoom": "Zoom on the shapefiles", + "error": {"select": "Select one or more zip file"}, + "add": "Add", + "cancel": "Cancel", + "success": " correctly imported" + }, + "catalog": { + "title": "Catalog", + "tooltip": "Browse Catalog", + "addToMap": "Add To Map", + "getWMSLink": "Get WMS Link", + "error": "There was an error loading records from the catalog", + "pageInfo": "Results {start}-{end} of {total}", + "noRecordsMatched": "No record matched", + "wmsGetCapLink": "WMS", + "wfsGetCapLink": "WFS", + "share": "Share", + "copyToClipboard": "Copy to clipboard", + "copied": "Copied!", + "catalogUrlPlaceholder": "Enter catalog URL...", + "textSearchPlaceholder": "text to search...", + "search": "Search", + "srs_not_allowed": "The map coordinate system is not supported by this service" + }, + "uploader": { + "filename": "File Name", + "type": "Type", + "lastModified": "Last Modified", + "filesize": "Size", + "beforeUpload": " Doing pre-upload operations... ", + "uploadingFiles": "Uploading Files...", + "dropfile": "drop files here to upload", + "dropfileImport": "drop here files to add it to this process" + }, + "importer": { + "title": "Import Data", + "imports": "Import Sessions", + "importN": "Session {id}", + "creatingImportProcess": " Creating Import Session... ", + "dropfile": "drop files here to create a new importing session", + "dropfileImport": "drop here files to add it to this session", + "process": "Session", + "number": "#", + "workspace": { + "create": "Create", + "createWS": "create a new workspace: ", + "target": "target workspace: ", + "failure": "Error creating workspace: {statusWS}", + "success": "Workspace {statusWS} successfully created", + "select": "Select TargetWorkspace", + "new": "New workspace name..." + }, + "import": { + "actions": "Actions", + "tasks": "Packages", + "runImport": "Run", + "deleteImport": "Delete Session", + "deleteTask": "Delete", + "status": "Status", + "archive": "Archive", + "deleting": "Deleting...", + "analyzing": "Analyzing package...", + "applyingPreset": "Applying Presets..." + }, + "task": { + "panelTitle": "Import Package {id}", + "general": "General Info", + "status": "Status", + "updateMode": "Update Mode", + "originalData": "Original File", + "file": "File Name", + "format": "Format", + "targetStore": "Target Store", + "storeType": "Store Type", + "storeName": "Store Name", + "layer": "Layer", + "transforms": "Trasformations Chain", + "update": "Update", + "run": "Import This Package", + "edit": "Edit Default Style", + "delete": "Delete This Package" + }, + "transform": { + "panelTitle": "Transformation {id}", + "type": "Transformation Type", + "actions": "Actions", + "options": "Transformation Options", + "overviewlevels": "Overview Levels", + "delete": "Delete this transformation" + } + }, + "rasterstyler": { + "tooltip": "Create and edit raster layer style", + "paneltitle": "Raster Styler", + "layerlabel": "Layer", + "typelabel": "Style Type", + "opacitylabel": "Opacity", + "redtitle": "Red", + "greentitle": "Green", + "bluetitle": "Blue", + "graytitle": "Gray", + "pseudobandtitle": "Band Selection", + "eqinttitle": "Equal Interval Classification", + "pseudotitle": "PseudoColor Settings", + "applybtn": "Apply Style" + }, + "bandselector": { + "band": "Band", + "enhancement": "Enhancement", + "algorithmTitle": "Optional Algorithm", + "value": "Value", + "min": "Min", + "max": "Max", + "enha": { + "none": "None", + "Normalize": "Normalize", + "Histogram": "Histogram", + "GammaValue": "Gamma Correction" + }, + "algorithm": { + "none": "None", + "StretchToMinimumMaximum": "Stretch", + "ClipToMinimumMaximum": "Clip", + "ClipToZero": "Clip To Zero" + } + }, + "equalinterval": { + "min": "Min", + "max": "Max", + "classes": "Classes", + "ramp": "Color Ramp", + "classify": "Classify", + "maxerror": "Max value should be greater then min value", + "minerror": "Min value should be less then max value" + }, + "colormapgrid": { + "color": "Color", + "quantity": "Quantity", + "label": "Label", + "minmaxerror": "The value must be between the values of the previous and next cell" + }, + "pseudocolorsettings": { + "type": "Type", + "extended": "Extended", + "colormap": "Color Map", + "add": "Add Entry", + "remove": "Remove Entry" + }, + "rasterstyletype": { + "rgb": "Red Green Blue", + "gray": "GrayScale", + "pseudo": "PseudoColor", + "multi": "Multi Band", + "single": "Single Band" + }, + "featuregrid": { + "header": "Search results list", + "tools": "Tool Panel", + "export": "Export", + "selectall": "Select All", + "deselectall": "Clear Selection", + "pagination": { + "page": "Page", + "of": "of", + "to": "to", + "more": "more" + } + }, + "vectorstyler": { + "tooltip": "Create and edit vector layer style", + "paneltitle": "Vector Styler", + "layerlabel": "Layer", + "rulelabel": "Rules", + "namelabel": "Rule Name", + "symboltitle": "Symbol", + "labeltitle": "Label", + "conditiontitle": "Conditions", + "applybtn": "Apply Style", + "addrulebtn": "Add Rule", + "removerulebtn": "Remove Rule" + }, + "scaledenominator": { + "minlabel": "Min Scale Denominator", + "maxlabel": "Max Scale Denominator", + "maxerror": "Max value should be greater then min value", + "minerror": "Min value should be less then max value", + "none": "None" + }, + "markNameSelector": { + "circle": "Circle", + "square": "Square", + "triangle": "Triangle", + "star": "Star", + "cross": "Cross", + "x": "X" + }, + "styler": { + "tooltip": "Create and edit layer style", + "paneltitle": "Styler", + "layerlabel": "Layer" + }, + "rulesmanager": { + "title": "Access Rules", + "role": "Role", + "user": "User", + "service": "Service", + "request": "Request", + "workspace": "Workspace", + "layer": "Layer", + "filters": "Filters", + "rules": "Rules", + "access": "Access", + "newModal": "New Rule", + "editModal": "Edit Rule", + "newButton": "Create", + "editButton": "Save", + "close": "Close", + "previous": "previous", + "next": "next", + "errorLoadingRoles": "Error loading roles.", + "errorLoadingUsers": "Error loading users.", + "errorLoadingWorkspaces": "Error loading workspaces.", + "errorLoadingLayers": "Error loading layers.", + "errorLoadingRules": "Error loading rules.", + "errorMovingRules": "Error moving rules.", + "errorDeletingRules": "Error deleting rules.", + "errorAddingRule": "Error adding rule.", + "errorUpdatingRule": "Error updating rule.", + "deleteModal": "Delete Rules", + "selectedRulesDelete": "Delete selected rules ?", + "deleteButton": "Delete", + "cancelButton": "Cancel" + } + } +}