diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1444e05d69..9cf30f9b7d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -199,7 +199,7 @@
# [16.0.0-rc.1](https://github.com/infra-geo-ouverte/igo2-lib/compare/16.0.0-rc.0...16.0.0-rc.1) (2023-09-22)
-### Bug Fixes
+### Reverts
* **InteractiveTour:** add Placement types from [@floating-ui](https://github.com/floating-ui) ([#1407](https://github.com/infra-geo-ouverte/igo2-lib/issues/1407)) ([44b3d4a](https://github.com/infra-geo-ouverte/igo2-lib/commit/44b3d4ac88a23a83bc4704dde03a563230b90c53))
* **InteractiveTour:** options migration from popperJS to floatingUI ([#1399](https://github.com/infra-geo-ouverte/igo2-lib/issues/1399)) ([fbc4ff7](https://github.com/infra-geo-ouverte/igo2-lib/commit/fbc4ff7a26f501c8d42e28760440d4b45b99cbc6))
diff --git a/demo/src/locale/libs_locale/en.json b/demo/src/locale/libs_locale/en.json
new file mode 100644
index 0000000000..93bb73f6e8
--- /dev/null
+++ b/demo/src/locale/libs_locale/en.json
@@ -0,0 +1,1207 @@
+{
+ "igo": {
+ "auth": {
+ "accessAnonymous": "Access as anonymous",
+ "connection": "Connection",
+ "login": "Login",
+ "password": "Password",
+ "signOut": "Sign out",
+ "user": "User",
+ "welcome": "Welcome {{name}}!",
+ "deconnection": "You are logged out.",
+ "home": "Return to the home page",
+ "error": {
+ "Password expired": "Password expired",
+ "Maximun logins exceeded": "Maximum logins exceeded",
+ "Login lockout": "Maximum number of attempts exceeded. Your account is locked.",
+ "Wrong password": "Wrong password",
+ "Invalid username": "Invalid username"
+ },
+ "microsoft": {
+ "login": "Sign in with Azure account"
+ },
+ "microsoftb2c": {
+ "login": "Sign in"
+ }
+ },
+ "common": {
+ "confirmDialog": {
+ "cancelBtn": "Cancel",
+ "confirmBtn": "Confirm",
+ "title": "Confirm"
+ },
+ "table": {
+ "filter": "Filter"
+ },
+ "entity-table": {
+ "targetHtmlUrl": "Open the external link"
+ },
+ "form": {
+ "errors": {
+ "required": "This field is required"
+ }
+ },
+ "actionbar": {
+ "scrollUp": "Scroll up",
+ "scrollDown": "Scroll down",
+ "icon": "Action list"
+ },
+ "interactiveTour": {
+ "tooltipTourToolButton": "Interactive tour of the application",
+ "disaledTooltipTourToolButton": "To have access to this tool's tour, add contexts or layers",
+ "buttonTitle": "Discover",
+ "exitButton": "Exit",
+ "backButton": "Back",
+ "nextButton": "Next"
+ },
+ "paginator": {
+ "firstPageLabel": "First page",
+ "itemsPerPageLabel": "Items per page:",
+ "lastPageLabel": "Last page",
+ "nextPageLabel": "Next page",
+ "previousPageLabel": "Previous page",
+ "of": "of"
+ }
+ },
+ "context": {
+ "bookmarkButton": {
+ "create": "Create a new context",
+ "dialog": {
+ "createMsg": "The context '{{value}}' was created",
+ "createTitle": "Context created",
+ "placeholder": "Title",
+ "title": "New context"
+ }
+ },
+ "contextManager": {
+ "clone": "Clone this context",
+ "delete": "Delete this context",
+ "dialog": {
+ "cloneMsg": "The context '{{value}}' was cloned",
+ "cloneTitle": "Context cloned",
+ "copyMsg": "Text copied",
+ "copyTitle": "Context ID",
+ "confirmDelete": "Are you sure you want to delete this context?",
+ "deleteMsg": "The context '{{value}}' was deleted",
+ "deleteTitle": "Context deleted",
+ "favoriteMsg": "The context '{{value}}' was set as favorite",
+ "favoriteTitle": "Favorite saved",
+ "saveMsg": "The context '{{value}}' was saved",
+ "saveTitle": "Context saved"
+ },
+ "edit": "Edit this context",
+ "errors": {
+ "uncaught": {
+ "message": "Sorry, service is currently not available. Please try again later",
+ "title": "Error server"
+ },
+ "addPermission": "The permission you are trying to add is already in the context.",
+ "addPermissionEmpty": "The permission you are trying to add is not valid",
+ "addPermissionTitle": "Add permission error"
+ },
+ "favorite": "Set as favorite context",
+ "form": {
+ "copy": "Copy the context ID",
+ "edit": "Save",
+ "title": "Title",
+ "titleRequired": "Title required",
+ "uri": "ID",
+ "uriRequired": "ID required"
+ },
+ "invalid": {
+ "text": "Context '{{value}}' is invalid. The default context was loaded.",
+ "title": "Invalid context"
+ },
+ "managePermissions": "Manage permissions context",
+ "manageTools": "Manage tools context",
+ "ourContexts": "Our contexts",
+ "publicContexts": "Public contexts",
+ "save": "Save this context",
+ "sharedContexts": "Shared contexts",
+ "filterPlaceHolder": "Filter by name",
+ "sortAlphabetically": "Sort alphabetically",
+ "sortContextOrder": "Replace according to the creation date",
+ "userAccount": "User account",
+ "filterUser": "Filter by user group",
+ "emptyContext": "Empty context",
+ "emptyContextTooltip": "Create a new empty context",
+ "contextMap": "Context from map",
+ "contextMapTooltip": "Create a new context from map layers",
+ "hide": "Hide this context",
+ "show": "Show up this context",
+ "showHidden": "Show hidden contexts"
+ },
+ "contextImportExport": {
+ "export": {
+ "exportPlaceHolder": "Layers",
+ "exportContextName": "Context name",
+ "exportSelectAll": "Select all",
+ "success": {
+ "text": "Context has been exported.",
+ "title": "Context export success"
+ },
+ "nothing": {
+ "text": "No context could be exported.",
+ "title": "Nothing to export"
+ },
+ "failed": {
+ "text": "Failed to export",
+ "title": "Failed to export context"
+ }
+ },
+ "import": {
+ "success": {
+ "title": "Imported context",
+ "text": "The context '{{value}}' was added to the map"
+ },
+ "empty": {
+ "text": "The context '{{value}}' contained nothing that could be imported.",
+ "title": "Nothing to import"
+ },
+ "invalid": {
+ "text": "The context '{{value}}' is invalid.",
+ "title": "Invalid context"
+ },
+ "unreadable": {
+ "title": "Unreadable context",
+ "text": "The context '{{value}}' is unreadable"
+ },
+ "tooLarge": {
+ "text": "The context '{{value}}' is too large (Max: {{size}} MB)",
+ "title": "Context too large"
+ }
+ }
+ },
+ "permission": {
+ "addBtn": "Add",
+ "delete": "Remove permission",
+ "dialog": {
+ "addMsg": "The permission '{{value}}' was added",
+ "addTitle": "Permission added",
+ "deleteMsg": "The permission '{{value}}' was removed",
+ "deleteTitle": "Permission removed",
+ "scopeChangedMsg": "The scope was changed to {{value}}",
+ "scopeChangedTitle": "Scope changed"
+ },
+ "profil": "Profil",
+ "user": "User or group",
+ "profilRequired": "Profil required",
+ "read": "Read only",
+ "readOnlyTitle": "Read-only context",
+ "readOnlyMsg": "You can only revoke permission if the context is shared directly to your username.",
+ "scope": {
+ "private": "Private",
+ "protected": "Protected",
+ "shared": "Shared",
+ "public": "Public"
+ },
+ "write": "Read and Write"
+ },
+ "poiButton": {
+ "create": "Create a new zone of interest",
+ "dialog": {
+ "confirmDelete": "Are you sure you want to delete this zone of interest?",
+ "createMsg": "The zone of interest '{{value}}' was created",
+ "createTitle": "Zone of interest created",
+ "deleteMsg": "The zone of interest '{{value}}' was deleted",
+ "deleteTitle": "Zone of interest deleted",
+ "placeholder": "Title",
+ "title": "New zone of interest"
+ },
+ "placeholder": "Zones of interest"
+ },
+ "sidenav": {
+ "goBack": "Go Back",
+ "mainMenu": "Main Menu"
+ },
+ "shareMap": {
+ "button": "Share map",
+ "refreshBtn": "Refresh sharing",
+ "copy": "Copy to clipboard",
+ "shareWithApi": "Share by context",
+ "shareWithUrl": "Share by url",
+ "dialog": {
+ "copyMsg": "Link copied to clipboard",
+ "copyTitle": "Link"
+ },
+ "htmlClarifications": "",
+ "errorTitle": "Share Map error",
+ "placeholderLink": "Link",
+ "included": "Included in shared URL :",
+ "context": "The context when creating the sharing link.",
+ "center": "The coordinates of the center of the map (longitude, latitude).",
+ "zoom": "The zoom level of the map.",
+ "addedLayers": "The layers added by the catalog or by the search bar.",
+ "visibleInvisible": "Visibility status of layers.",
+ "excluded": "Excluded in the shared URL :",
+ "order": "The order of the layers.",
+ "opacity": "Modifications made to the opacity of the layers.",
+ "filterOgc": "Additions / modifications made to filters by attribute.",
+ "filterTime": "The current value for time filters."
+ },
+ "tool": {
+ "dialog": {
+ "addMsg": "The tool '{{value}}' was added",
+ "addTitle": "Tool added",
+ "deleteMsg": "The tool '{{value}}' was removed",
+ "deleteTitle": "Tool removed"
+ }
+ },
+ "userButton": {
+ "dialog": {
+ "email": "Email",
+ "expiration": "Expiration",
+ "user": "User",
+ "clearPreferences": "Clear my preferences"
+ },
+ "infoTitle": "User info",
+ "logout": "Logout"
+ }
+ },
+ "core": {
+ "message": {
+ "success": "Success",
+ "error": "Error",
+ "info": "Info",
+ "alert": "Alert"
+ },
+ "errors": {
+ "uncaught": {
+ "message": "Sorry, service is currently not available. Please try again later",
+ "title": "Error server"
+ }
+ },
+ "network": {
+ "online": {
+ "message": "Online",
+ "title": "Status:"
+ },
+ "offline": {
+ "message": "Offline",
+ "title": "Status:"
+ }
+ }
+ },
+ "geo": {
+ "catalog": {
+ "layer.addToMap": "Add to map",
+ "layer.addToMapOutRange": "Add to map. The layer is not visible at the current scale. Please zoom in/out",
+ "layer.removeFromMap": "Remove from map",
+ "layer.removeFromMapOutRange": "Remove from map. The layer is not visible at the current scale. Please zoom in/out",
+ "layer.removeFromMapNotVisible": "Remove from map. The layer is visible at the current scale but is not active. Toggle the map tool to adjust layer visibility.",
+ "group.addToMap": "Add all layers from this group to map",
+ "group.removeFromMap": "Remove all layers from this group to map",
+ "baseLayers": "Baselayers",
+ "unavailableTitle": "Catalog unavailable",
+ "unavailable": "The catalog '{{value}}' is unavailable at the moment or you don't have the required permissions.",
+ "someUnavailable": "Some of the layers from the current catalog are unavailable at the moment or you don't have the required permissions.",
+ "externalProvider": {
+ "catalog": "This catalog comes from an external organization.",
+ "group": "This layers comes from an external organization.",
+ "layer": "This layer comes from an external organization.",
+ "unavailableWithEmail": "The catalog '{{value}}' is unavailable at the moment. To add an external service to the predefined list, please contact us at {{emailAddress}}. Delays can apply if problems occurs with the provider."
+ },
+ "library.add": "Add this catalog to the list",
+ "library.cancel": "Cancel",
+ "library.remove": "Remove this catalog from the list",
+ "library.inlist": {
+ "title": "Catalog already contained",
+ "message": "The catalog is already contained in the list."
+ },
+ "library.addTitle": "Adding a catalog",
+ "library.addBtn": "Add a catalog"
+ },
+ "clickOnMap": {
+ "clickedFeature": "Clicked Feature"
+ },
+ "baselayersSwitcher": {
+ "title": "Basemaps"
+ },
+ "dataSource": {
+ "unavailableTitle": "Layer unavailable",
+ "optionsApiUnavailable": "Layer information could not be retrieved. Some layers may not present the correct information.",
+ "unavailable": "The layer '{{value}}' is unavailable at the moment or you don't have the required permissions."
+ },
+ "dropGeoFile": {
+ "invalid": {
+ "text": "The file '{{value}}' is invalid ({{mimeType}})",
+ "title": "Invalid file"
+ },
+ "empty": {
+ "text": "The file '{{value}}' contained nothing that could be imported.",
+ "title": "Nothing to import"
+ },
+ "success": {
+ "text": "The layer '{{value}}' was added to the map",
+ "title": "Imported file"
+ },
+ "unreadable": {
+ "text": "The file '{{value}}' is unreadable",
+ "title": "Unreadable file"
+ },
+ "tooLarge": {
+ "text": "The file '{{value}}' is too large (Max: {{size}} MB)",
+ "title": "File too large"
+ },
+ "invalidSRS": {
+ "text": "The projection is valid. It must start with EPSG:",
+ "title": "Invalid projection"
+ },
+ "ogreServer": {
+ "title": "Ogre server error 500",
+ "text": "Error in convert to geojson. Maybe file is too big, try to import that file in geojson format"
+ }
+ },
+ "export": {
+ "customList": {
+ "text": "Some of the selected layers ( {{value}} ) limit the format's list",
+ "title": "Restricted list of formats"
+ },
+ "nothing": {
+ "text": "No feature could be exported.",
+ "title": "Nothing to export"
+ },
+ "noFormat": {
+ "text": "No export format valid for all selected layers. Please export the layers one at a time.",
+ "title": "No valid format"
+ },
+ "failed": {
+ "text": "Failed to export",
+ "title": "Failed to export features"
+ },
+ "popupBlocked": {
+ "text": "Enable the popup in your browser. For Chrome and Edge, on the right into the Address Bar.{{extraMessage}}",
+ "selectAgain": "Fix it and re-select an output format.",
+ "retry": "Please retry to export",
+ "title": "Popup blocked by your browser"
+ },
+ "success": {
+ "text": "Features have been exported.",
+ "title": "Features export success"
+ },
+ "format": {
+ "GeoJSON": "GeoJSON",
+ "GML": "GML",
+ "GPX": "GPX",
+ "KML": "KML",
+ "Shapefile": "Shapefile",
+ "CSVcomma": "CSV (comma delimited)",
+ "CSVsemicolon": "CSV (Excel compatible)",
+ "URL": "External link"
+ },
+ "gpx.error.poly": {
+ "title": "GPX error",
+ "text": "GPX format do now allow polygon features"
+ },
+ "encoding": {
+ "LATIN1": "LATIN-1",
+ "UTF8": "UTF-8"
+ },
+ "combinedLayers": "combinedLayers"
+ },
+ "import": {
+ "promptStoreToIdb": "Do you want to save this layer to be used later in another session?"
+ },
+ "importExportForm": {
+ "exportButton": "Export",
+ "exportButtonLink": "Open the link",
+ "exportButtonLinks": "Open the links",
+ "exportCombineResults": "Combine layers into one file",
+ "exportFormatPlaceholder": "Format",
+ "exportLayerPlaceholder": "Layer",
+ "exportFileNamePlaceholder": "Filename",
+ "exportSeparator": "Insert separator (empty row) between layers",
+ "encodingPlaceholder": "Encoding",
+ "exportTabTitle": "Export",
+ "exportFeatureInExtent": "Export only features in map extent",
+ "exportNoLayersExportable": "There is no exportable layer in your map",
+ "exportSelectedFeature": "Export only selected features",
+ "importButton": "Import",
+ "importProjPlaceholder": "Coordinate system of the file to import",
+ "importTabTitle": "Import",
+ "importClarifications": "Clarifications",
+ "importSizeMax": "The file size limit is {{size}} Mb",
+ "importFormatAuthorized": "Formats authorized: geojson, kml, gpx, gml, shapefile",
+ "importShpZip": "Shapefiles must be zipped AND geometries stored in Latitude Longitude coordinate (EPSG:4326/WGS:84)",
+ "importHtmlClarifications": "",
+ "exportHtmlClarifications": "",
+ "other": "other",
+ "others": "others",
+ "projections": {
+ "mtm": "MTM zone {{zone}} ({{code}})",
+ "utm": "UTM zone {{zone}} ({{code}})",
+ "webMercator": "Web Mercator ({{code}})",
+ "nad83": "Lat-Long NAD83 ({{code}})",
+ "wgs84": "Lat-Long WGS84 ({{code}})",
+ "choose": "You must choose a projection for your input file."
+ }
+ },
+ "operators": {
+ "caseSensitive": "Case sensitive",
+ "And": "And",
+ "Or": "Or",
+ "PropertyIsEqualTo": "=",
+ "PropertyIsNotEqualTo": "!=",
+ "PropertyIsLike": "≈",
+ "PropertyIsGreaterThan": ">",
+ "PropertyIsGreaterThanOrEqualTo": ">=",
+ "PropertyIsLessThan": "<",
+ "PropertyIsLessThanOrEqualTo": "<=",
+ "PropertyIsBetween": "between",
+ "During": "during (temporal)",
+ "PropertyIsNull": "is null",
+ "Intersects": "intersects (spatial)",
+ "Within": "within (spatial)",
+ "Contains": "contains (spatial)",
+ "tooltip": {
+ "And": "Logical operator between filters where both conditions must be true",
+ "Or": "Logical operator between filters where at least one (1) condition must be true",
+ "PropertyIsEqualTo": "Identical (case sensitive)",
+ "PropertyIsNotEqualTo": "Different(case sensitive)",
+ "PropertyIsLike": "Like Example: *road* Finds any values that have 'road' in any position. road* Finds any values that begin by 'road'. wildCard ='*', singleChar = '.' escapeChar = '!' (case sensitive)",
+ "PropertyIsGreaterThan": "Greater than",
+ "PropertyIsGreaterThanOrEqualTo": "Greater than or equal to ",
+ "PropertyIsLessThan": "Lesser than",
+ "PropertyIsLessThanOrEqualTo": "Lesser than or equal to",
+ "PropertyIsBetween": "Apply a range check between the lower and upper boundary (values are included)",
+ "During": "Apply a range check for time attributes",
+ "PropertyIsNull": "Return features where the attribute is null",
+ "Intersects": "Return features in geometric intersection with the provided geometry",
+ "Within": "Return feature which are completely contained by the provided geometry",
+ "Contains": "Return feature completely containing by the provided geometry"
+ }
+ },
+ "sourceFields": {
+ "selectField": "Choose a field"
+ },
+ "filter": {
+ "resetFilters": "Reset default values",
+ "addFilter": "Add an empty filter to the current list",
+ "removeFilter": "Remove the current filter from the filters's list",
+ "toggleFilterState": "Enable/disable the current filter",
+ "refreshFilters": "Update this datasource with the active filter(s). To enable this button, the layer must be visible (or in the defined scale ranges) or you must modify the current filter.",
+ "layerFiltered": "This layer is currently filtered",
+ "layerFilterable": "This layer is filterable",
+ "filterBy": "Filter by",
+ "advancedOgcFilters": "Advanced filters",
+ "displayMoreResults": "Display more (+)",
+ "displayLessResults": "Display less (-)",
+ "placeholder": "Enter a value",
+ "placeholderSnrc": "Ex: 21L14",
+ "selectOperator": "Select an operator",
+ "sliderModeTitle": "Time slider",
+ "reportingDate": "Reporting date",
+ "noFilterableLayer": "No layer can be filtered in the current map"
+ },
+ "spatialSelector": {
+ "fixedExtent": "Fixed extent",
+ "btnSetExtent": "Define the extent of the spatial filter to the current view",
+ "snrc": "SNRC",
+ "selectFeature": "",
+ "drawFeature": ""
+ },
+ "layer": {
+ "hideLayer": "Hide Layer",
+ "lowerLayer": "Bring layer backward",
+ "hideSelectedLayers": "Hide selected layers",
+ "notInResolution": "Layer isn't visible at the active scale. Zoom in or out to display.",
+ "filterLowerLayer": "The backward movement is always done according to the order of the map!",
+ "filterPlaceholder": "Filter the layers list",
+ "activateSelectionMode": "Activate multiple selection mode",
+ "deactivateSelectionMode": "Deactivate multiple selection mode",
+ "tools": "Tools",
+ "selectAll": "Select all layers",
+ "deselectAll": "Deselect all layers",
+ "zoomLayer": "Zoom To Layer Extents",
+ "zoomLayers": "Zoom To Selected Layers Extents",
+ "opacity": "Opacity",
+ "raiseLayer": "Bring layer forward",
+ "filterRaiseLayer": "The forward movement is always done according to the order of the map!",
+ "moreOptions": "Layer's tools",
+ "removeLayer": "Remove this layer from the map",
+ "removeSelectedLayers": "Remove selected layers from the map",
+ "removeSelectedLayersRestriction": "Some selected layers cannot be removed",
+ "showFeaturesList": "Show features list",
+ "showLayer": "Show Layer",
+ "showSelectedLayers": "Show selected layers",
+ "subsetLayersListKeyword": "Subset the layers's list by title or type (wms, wfs,...)",
+ "deleteKeyword": "Delete the keyword",
+ "subsetLayersListOnlyVisible": "Subset the layers's list by visibility",
+ "subsetLayersListOnlyInRange": "Subset the layers's list by resolution range",
+ "sortAlphabetically": "Sort the layers's list alphabetically",
+ "sortMapOrder": "Sort the layers's list based on layer's order on the map",
+ "resetLayersList": "Remove the current applied filter to layers's list",
+ "trackFeature": "Track the feature",
+ "legend": {
+ "default": "Default",
+ "loadingLegendText": "Loading legend",
+ "noLegendText": "No legend available for this layer",
+ "noLegendScale": "No legend available for this scale",
+ "selectStyle": "Select the style of the legend",
+ "showAll": "Show all legends (non visible and out of range)",
+ "noLayersVisibleWithShowAllButton": "No layer currently visible. Activate the button above to see all the legends.",
+ "noLayersVisibleWithShowAllButtonButZoom": "No layer currently visible. If you zoom in the map, some layers will appear OR activate the button above to see all the legends.",
+ "noLayersVisible": "No layers currently visible.",
+ "noLayersVisibleButZoom": "No layers currently visible. However, if you zoom in the map, some layers will appear."
+ },
+ "style": {
+ "styleModal": "Edit style",
+ "styleModalTooltip": "Edit the style of the selected entities "
+ },
+ "saveBtn": "Save",
+ "cancelBtn": "Cancel",
+ "saveFeatureInLayer": "Save selection in layer",
+ "chooseOrSet": "Choose a layer or set a new layer name"
+ },
+ "style": {
+ "styleModal": "Edit style",
+ "styleModalTooltipLayer": "Edit the style of the layer.",
+ "styleModalTooltipSelected": "Edit the style of the selected entities",
+ "colorPicker": "Click to open the color selector",
+ "cancel": "Cancel",
+ "fill": "Fill",
+ "stroke": "Stroke",
+ "fontSize": "Font size",
+ "fontStyle": "Font style",
+ "offsetX": "Horizontal offset",
+ "offsetY": "Vertical offset"
+ },
+ "download": {
+ "action": "Download data",
+ "title": "Downloading file",
+ "start": "Started. Check the download progression in your browser",
+ "end": "Completed"
+ },
+ "mapButtons": {
+ "baselayerSwitcher": "Change base layer",
+ "geolocate": "Show geolocation",
+ "geolocateInactive": "Hide geolocation",
+ "home-extent": "Go to the home map extent",
+ "offline": "Offline mode",
+ "online": "Online mode",
+ "zoomIn": "Zoom in ({{zoom}})",
+ "zoomOut": "Zoom out ({{zoom}})",
+ "resetRotation": "Azimuth: {{azimuth}}°N. Rotation: {{rotation}}°. Set map to north",
+ "tipRotation": "Hold Alt and SHIFT while dragging on map to rotate the map.",
+ "preventScreenLock": "Prevent the screen to enter in lock mode.",
+ "letScreenLock": "Allow the screen to enter in lock mode."
+ },
+ "metadata": {
+ "show": "Show metadata"
+ },
+ "printForm": {
+ "corsErrorMessageBody": "Unable to print due to non-owned access rights",
+ "corsErrorMessageHeader": "Print",
+ "comment": "Comment",
+ "doZipFile": "Zip file",
+ "outputFormat": "Output format",
+ "paperFormat": "Paper format",
+ "paperFormats": {
+ "A0": "33.1 X 46.8\" (A0)",
+ "A1": "23.4 X 33.1\" (A1)",
+ "A2": "16.5 X 23.5\" (A2)",
+ "A3": "11.7 X 16.5\" (A3)",
+ "A4": "8.3 X 11.7\" (A4)",
+ "A5": "5.8 X 8.3\" (A5)",
+ "Letter": "Letter",
+ "Legal": "Legal"
+ },
+ "imageFormat": "Image format",
+ "orientation": "Orientation",
+ "landscape": "Landscape",
+ "portrait": "Portrait",
+ "projection": "Projection",
+ "resolution": "Resolution",
+ "saveBtn": "Save",
+ "scale": "Scale",
+ "showProjection": "Show projection",
+ "showScale": "Show scale",
+ "title": "Title",
+ "subtitle": "Subtitle",
+ "legendPosition": "Legend Position",
+ "legendPositions": {
+ "none": "No legend",
+ "topleft": "Top left corner of the map",
+ "topright": "Top right corner of the map",
+ "bottomleft": "Bottom left corner of the map",
+ "bottomright": "Bottom right corner of the map",
+ "newpage": "On a new page",
+ "newimage": "On a new image"
+ }
+ },
+ "directionsForm": {
+ "stopLayer": "Directions - stops",
+ "routeLayer": "Directions - route",
+ "start": "Start",
+ "intermediate": "Intermediate",
+ "end": "End",
+ "directionsBtn": "Get route",
+ "resetDirectionsBtn": "Reset",
+ "zoomRoute": "Zoom on route",
+ "null": "",
+ "directions": "Directions",
+ "raiseStop": "Raise stop's priority",
+ "lowerStop": "Lower stop's priority",
+ "addStop": "Add a stop",
+ "clearStop": "Clear this stop",
+ "moveStop": "Move this stop",
+ "removeStop": "Remove this stop",
+ "drivingOptions": "Options",
+ "summary": "Direction's summary",
+ "stopsList": "Stops's list",
+ "instructions": "Instructions",
+ "copy": "Copy directions",
+ "geolocate": "Use current localisation as stop",
+ "link": "Link",
+ "dialog": {
+ "copyMsg": "Directions copied to clipboard",
+ "copyMsgLink": "Link for directions copied to clipboard",
+ "copyTitle": "Directions"
+ }
+ },
+ "directions": {
+ "uturn": "u-turn",
+ "sharp right": "sharp right",
+ "right": "right",
+ "slight right": "slightly on right",
+ "sharp left": "sharp left",
+ "left": "left",
+ "slight left": "slightly on left",
+ "straight": "forward",
+ "turn": {
+ "straight": "Continue on {{route}}",
+ "uturn": "Make u-turn on {{route}}",
+ "else": "Turn {{translatedModifier}} onto {{route}}"
+ },
+ "new name": "Head {{translatedDirection}} on {{route}}",
+ "depart": "Head {{translatedDirection}} on {{route}}",
+ "arrive": {
+ "lastStep": "You have reached your destination {{coma}} {{aggregatedDirection}}",
+ "intermediate": "You have reached the intermediate stop onto {{route}}"
+ },
+ "merge": "Continue on {{route}}",
+ "on ramp": "Take the ramp {{aggregatedDirection}}",
+ "off ramp": "Take exit {{aggregatedDirection}}",
+ "fork": {
+ "left": "Merge left onto {{route}}",
+ "right": "Merge right onto {{route}}",
+ "else": "Continue on {{route}}"
+ },
+ "end of road": "At the end of the road, turn {{translatedModifier}} onto {{route}}",
+ "use lane": "Take the lane ...",
+ "continue": {
+ "notUturn": "Continue on {{route}}"
+ },
+ "roundabout": "At the roundabout, take the {{exit}}{{cntSuffix}} exit towards {{route}}",
+ "rotary": "Roundabout rotary ...",
+ "roundabout turn": "Roundabout, take the ...",
+ "exit roundabout": "Continue to {{route}}",
+ "notification": "notification ...",
+ "uturnText": "Make u-turn and head {{translatedDirection}} on {{route}}",
+ "unknown": "???",
+ "cntSuffix": {
+ "first": "st",
+ "secondAndMore": "rd"
+ },
+ "modifier": {
+ "prefix": "on the "
+ }
+ },
+ "cardinalPoints": {
+ "n": "north",
+ "ne": "northeast",
+ "e": "east",
+ "se": "southeast",
+ "s": "south",
+ "sw": "southwest",
+ "w": "west",
+ "nw": "northwest"
+ },
+ "search": {
+ "placeholder": "Search for a localisation or a layer",
+ "emptyType.placeholder": "Please choose a search type",
+ "feature.title": "Localisation",
+ "feature.placeholder": "Search for a place localisation",
+ "layer.title": "Layer",
+ "layer.placeholder": "Search for a layer",
+ "ichercheReverse.name": "Search by coordinates",
+ "clearSearch": "Clear search",
+ "addToLayer": "Add to layer",
+ "ilayer": {
+ "name": "Layers",
+ "properties": {
+ "abstract": "Abstract",
+ "groupTitle": "Group",
+ "title": "Title",
+ "type": "Type",
+ "url": "URL",
+ "metadataUrl": "Metadata",
+ "name": "Layer name",
+ "urlInfo": "URL - WMS/WFS",
+ "downloadUrl": "Data download"
+ },
+ "type": {
+ "layer": "Layer",
+ "groupLayer": "Group of layers"
+ }
+ },
+ "nominatim": {
+ "type": {
+ "food": "Food",
+ "health": "Health",
+ "entertainment": "Entertainment",
+ "finance": "Finance"
+ },
+ "country": {
+ "all": "The world",
+ "canada": "Canada"
+ }
+ },
+ "workspace": {
+ "name": "Imported data (vector)",
+ "restrictExtent": {
+ "map": "Map extent",
+ "whole": "Whole dataset"
+ }
+ },
+ "icherche": {
+ "name": "iCherche",
+ "type": {
+ "address": "Address",
+ "oldAddress": "Old address",
+ "district": "District",
+ "postalCode": "Postal Code",
+ "city": "City",
+ "oldCity": "Old city",
+ "mrc": "MRC",
+ "regadmin": "Administrative Region",
+ "road": "Road",
+ "intersection": "Intersection",
+ "place": "Place",
+ "exit": "Highway exit",
+ "cn": "CN mark",
+ "gcc": "Coast Guard mark (CCG)",
+ "sumi": "SUMI mark",
+ "km": "Mileage mark",
+ "hq": "Hydro-Quebec",
+ "entreprise": "Entreprise",
+ "cadastre": "Cadastre",
+ "restArea": "Rest area",
+ "cycleStop": "Cycle stop"
+ },
+ "restrictExtent": {
+ "map": "Map extent",
+ "quebec": "Whole Quebec"
+ }
+ },
+ "coordinates": {
+ "name": "Coordinates",
+ "coord": "Geographic (longitude, latitude)",
+ "reversedCoord": "Geographic (latitude, longitude)",
+ "coordDMS": "Geographic (longitude, latitude) (DMS)",
+ "reversedCoordDMS": "Geographic (latitude, longitude) (DMS)",
+ "radius": "Radius",
+ "conf": "Confidence"
+ },
+ "menu.tooltip": "Search Options",
+ "settings": {
+ "title": "Settings"
+ },
+ "pointerSearchSummary": {
+ "title": "Pointer position",
+ "tooltip": "Based on every search source, show the summary of the pointer location. Use F2 to activate/deactivate."
+ },
+ "searchResultsGeometry": {
+ "title": "Show results geometries",
+ "tooltip": "Hide/ show the results geometries "
+ },
+ "reverseCoordFormat": {
+ "title": "Display data in latitude/longitude",
+ "tooltipLonLat": "Display data in latitude/longitude",
+ "tooltipLatLon": "Display data in longitude/latitude"
+ },
+ "searchSources": {
+ "selectAll": "Select All",
+ "unselectAll": "Unselect All",
+ "settings": {
+ "datasets": "Datasets",
+ "results type": "Results type",
+ "ecmax": "Maximum deviation",
+ "radius": "Search radius",
+ "results limit": "Number of results",
+ "multiple object": "Multiple object",
+ "restrictExtent": "Restrict the extent",
+ "selectAll": "Select All",
+ "unselectAll": "Unselect All",
+ "true": "Yes",
+ "false": "No"
+ }
+ },
+ "displayMoreResults": "Display more results"
+ },
+ "geometry": {
+ "geometry": "Geometry",
+ "point": "Point",
+ "line": "Line",
+ "polygon": "Polygon"
+ },
+ "targetHtmlUrl": "Open the external link",
+ "targetHtmlUrlUnauthorizedTitle": "Unauthorized",
+ "targetHtmlUrlUnauthorized": "You do not have the credentials to open this external link.",
+ "searchByCoord": "Search by coordinates",
+ "searchByName": "Search by name",
+ "seeRouting": "See routing",
+ "timeFilter": {
+ "date": "Date",
+ "endDate": "End Date",
+ "startDate": "Start Date",
+ "hour": "Hour",
+ "minute": "Minute",
+ "endYear": "End Year",
+ "startYear": "Start Year"
+ },
+ "spatialFilter": {
+ "spatialFilter": "Spatial filter",
+ "predefined": "Predefined Zone",
+ "draw": "Draw",
+ "polygon": "Polygon",
+ "point": "Circle",
+ "drawPolygon": "Draw a polygon",
+ "drawCircle": "Draw a circle",
+ "searchLabel": "Search by",
+ "buffer": "Buffer",
+ "search": "Search",
+ "drawControl": "Activate draw control",
+ "listLabel": "Zone",
+ "layer": "Layer",
+ "goSearch": "Launch research",
+ "removeLayer": "Remove results",
+ "exportLayer": "Export results",
+ "clearForm": "Remove draw",
+ "clearSearch": "Reset field",
+ "Address": "Addresses",
+ "Thematics": "Thematics",
+ "searchResults": "Search Results",
+ "showSearchResults": "Show search results",
+ "hideSearchResults": "Hide search results",
+ "type": "Type",
+ "radius": "Radius",
+ "radiusAlert": "Radius must be between 0 and 100 kilometers (or 100 000 meters)",
+ "bufferAlert": "Buffer must be between 0 and 100 kilometers (or 100 000 meters)",
+ "maxSizeAlert": "Search results number exceeds 10000. Some may be missing.",
+ "zeroResults": "There are no results for this search.",
+ "warning": "Warning",
+ "freehandControl": "Freehand",
+ "group": {
+ "toponyme": "Toponym",
+ "culturel": "Cultural",
+ "education": "Education",
+ "sante": "Health",
+ "securite": "Security",
+ "sepaq": "SEPAQ",
+ "transport": "Transportation"
+ }
+ },
+ "terrapi": {
+ "AdmRegion": "Administratives region",
+ "Mun": "Municipalities",
+ "Arrond": "Boroughs",
+ "CircFed": "Federals districts",
+ "CircProv": "Provincials districts",
+ "DirReg": "Regionals directorates",
+ "MRC": "RCM",
+ "RegTour": "Touristics regions",
+ "limites": "Administrative boundaries",
+ "bornes": "Landmarks",
+ "hydro": "Hydrography",
+ "routes": "Roads",
+ "bati": "Buildings",
+ "batiment": "Buildings",
+ "camping": "Camping",
+ "equipement": "Equipment",
+ "commun": "Public",
+ "geographie": "Natural sites",
+ "parc": "Parks",
+ "secteur": "Sector",
+ "immeubles": "Tenement",
+ "sites": "Cultural sites",
+ "service-garde": "Child care",
+ "public": "Public schools",
+ "prive": "Private school",
+ "gouvernemental": "Government schools",
+ "colleges": "Colleges",
+ "universites": "University",
+ "aine": "Residences for seniors",
+ "ambulance": "Ambulance zones",
+ "clinique": "Clinics",
+ "etabl": "Health institutions",
+ "gmf": "Family doctors group",
+ "naissance": "Birth house",
+ "pharmacie": "Pharmacy",
+ "casernes": "Fire stations",
+ "correctionnel": "Correctional centres",
+ "organisme": "Security organization",
+ "palais-justice": "Courthouses",
+ "penitencier-fed": "Federal penitentiaries",
+ "penitencier-prov": "Provincial penitentiaries",
+ "polices": "Police station"
+ },
+ "measure": {
+ "dialog": {
+ "title": "Sum of the selection",
+ "length.title": "Length",
+ "area.title": "Area",
+ "lengthInMeters": "m",
+ "lengthInKilometers": "km",
+ "lengthInMiles": "mi",
+ "lengthInFeet": "ft",
+ "areaInSquareMeters": "m²",
+ "areaInSquareKilometers": "km²",
+ "areaInSquareMiles": "mi²",
+ "areaInHectares": "ha",
+ "areaInAcres": "ac",
+ "perimeterInMeters": "Perimeter in meters"
+ },
+ "layerTitle": "Measure on map",
+ "area": "Area",
+ "areaHeader": "Area",
+ "length": "Length",
+ "lengthHeader": "Length / Perimeter",
+ "perimeter": "Perimeter",
+ "meters": "m",
+ "m": "m",
+ "kilometers": "km",
+ "km": "km",
+ "miles": "mi",
+ "mi": "mi",
+ "feet": "ft",
+ "ft": "ft",
+ "squareMeters": "m²",
+ "m²": "m²",
+ "squareKilometers": "km²",
+ "km²": "km²",
+ "squareMiles": "mi²",
+ "mi²": "mi²",
+ "squareFeet": "ft²",
+ "ft²": "ft²",
+ "hectares": "ha",
+ "ha": "ha",
+ "acres": "ac",
+ "ac": "ac",
+ "toggleActive": "Activate measures",
+ "toggleDisplayLines": "Display distances of lines",
+ "toggleDisplayDistance": "Display distances of areas",
+ "toggleDisplayAreas": "Display areas",
+ "toggleAutoUnits": "Auto Units",
+ "actionbar": {
+ "calculate.tooltip": "Totals & Conversions",
+ "delete.tooltip": "Delete",
+ "modify.tooltip": "Modify"
+ }
+ },
+ "draw": {
+ "abort": "Abort current drawing",
+ "cancel": "Cancel",
+ "Circle": "Circle",
+ "dialogInstruction": "Enter your drawing's label",
+ "dialogTitle": "Label",
+ "delete": "Remove Drawings from map",
+ "drawing": "Drawings",
+ "finish": "Finish current drawing",
+ "freehandMode": "Freehand drawing",
+ "icon": "Icons",
+ "InsertvalueRadius": "Use a predefined radius",
+ "labels": "Labels",
+ "LineString": "Line",
+ "move": "Center view on cursor",
+ "noIcon": "No icon",
+ "noLabel": "No label",
+ "Point": "Point",
+ "Polygon": "Polygon",
+ "radius": "Radius",
+ "shortcuts": "Keyboard shortcuts",
+ "styleSelect": "Select style",
+ "toggleMapTooltips": "Show map tooltips",
+ "undo": "Remove last vertex",
+ "layer": {
+ "title": "Title",
+ "createNewLayer": "Create new drawing layer",
+ "layerDialogInstruction": "Enter your drawing layer's title"
+ },
+ "builtInInstructions": "Select an option",
+ "labelType": {
+ "Coordinates": "Coordinates",
+ "Length": "Length",
+ "Area": "Area",
+ "predefined": "Predefined",
+ "custom": "Customized",
+ "A": "A: "
+ },
+ "popupTitle": "Drawing label"
+ },
+ "network": {
+ "online": {
+ "message": "Online",
+ "title": "Status:"
+ },
+ "offline": {
+ "message": "Offline",
+ "title": "Status:"
+ }
+ },
+ "workspace": {
+ "deleteConfirmation": "Do you really want to delete this entity?",
+ "addConfirmation": "Do you really wish to add an entity?",
+ "modifyConfirmation": "Do you really wish to modify this entity?",
+ "deleteSuccess": "Entity has been deleted.",
+ "addSuccess": "Entity has been added.",
+ "modifySuccess": "Entity has been modified.",
+ "deleteError": "An error has occured. Entity could not be deleted.",
+ "addError": "An error has occured. Entity could not be added.",
+ "modifyError": "An error has occured. Entity could not be modified.",
+ "cancel": "Cancel",
+ "inMapExtent.active.tooltip": "Ne montrer que les entités contenues dans la carte",
+ "inMapExtent.inactive.tooltip": "Montrer tous les entités"
+ },
+ "formValidation": {
+ "mandatory": "{{column}} is mandatory",
+ "minValue": "{{column}} is smaller than {{value}}",
+ "maxValue": "{{column}} is bigger than {{value}}",
+ "minLength": "{{column}} is shorter than {{value}} characters",
+ "maxLength": "{{column}} is longer than {{value}} characters"
+ },
+ "query": {
+ "featureCountMax": "You may have more feature queryable on {{value}}. Zoom in to ensure you have access to all features.",
+ "link": {
+ "message": "Hyperlink copied to clipboard"
+ }
+ },
+ "indexedDb": {
+ "data-download-start": "Downloading data. Please don't leave the current app.",
+ "data-download-completed": "Data download completed"
+ }
+ },
+ "integration": {
+ "tools": {
+ "catalog": "Catalog",
+ "contexts": "Contexts",
+ "directions": "Directions",
+ "draw": "Draw",
+ "importExport": "Import & Export",
+ "ogcFilter": "Filter by",
+ "map": "Map",
+ "layers": "Layers",
+ "legend": "Legend",
+ "measurer": "Measure",
+ "print": "Print",
+ "searchResults": "Search Results",
+ "shareMap": "Share",
+ "timeFilter": "Time Filter",
+ "about": "About",
+ "spatialFilter": "Spatial Filter",
+ "advancedMap": "Advanced map tools",
+ "closestFeature": "Closest feature tool"
+ },
+ "searchResultsTool": {
+ "noResults": "No results",
+ "doSearch": "",
+ "examples": "Search for addresses, locations, coordinates and layers using the search bar.
Address searches can be made with a combination of:
IGO2 is a open source geospatial solution developed by collaborators and specialists from several departments and agencies of the Government of Quebec.
Version: {{version.lib}}
IGO2 est une solution Web libre géomatique développée en mode collaboratif par des spécialistes provenant de plusieurs ministères et organismes du gouvernement du Québec.
Version: {{version.lib}}