From 9bde893d9b05db998a859e7f135d2445f200c1dd Mon Sep 17 00:00:00 2001 From: Lorenzo Natali Date: Thu, 23 May 2019 18:02:41 +0200 Subject: [PATCH 1/7] Update release.md --- docs/developer-guide/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developer-guide/release.md b/docs/developer-guide/release.md index cc0c892b62..4cb60d2cca 100644 --- a/docs/developer-guide/release.md +++ b/docs/developer-guide/release.md @@ -7,7 +7,7 @@ Add an entry in the changelog like this: ``` ## [2018.02.00](https://github.com/geosolutions-it/MapStore2/tree/2018.02.00) (2018-09-11) - - **[Full Changelog](https://github.com/geosolutions-it/MapStore2/compare/tv2018.01.00...v2018.02.00)** + - **[Full Changelog](https://github.com/geosolutions-it/MapStore2/compare/v2018.01.00...v2018.02.00)** - **[Implemented enhancements](https://github.com/geosolutions-it/MapStore2/issues?q=is%3Aissue+milestone%3A%222018.02.00%22+is%3Aclosed+label%3Aenhancement)** From 8b4686270bb7c6d60ae5d4a6d0559545ef3b4edb Mon Sep 17 00:00:00 2001 From: Lorenzo Natali Date: Thu, 23 May 2019 18:08:00 +0200 Subject: [PATCH 2/7] Update release.md --- docs/developer-guide/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developer-guide/release.md b/docs/developer-guide/release.md index 4cb60d2cca..37613d2854 100644 --- a/docs/developer-guide/release.md +++ b/docs/developer-guide/release.md @@ -5,7 +5,7 @@ Then you can check each entry on the GitHub issue when done until the release is ## Changelog generation Add an entry in the changelog like this: ``` -## [2018.02.00](https://github.com/geosolutions-it/MapStore2/tree/2018.02.00) (2018-09-11) +## [2018.02.00](https://github.com/geosolutions-it/MapStore2/tree/v2018.02.00) (2018-09-11) - **[Full Changelog](https://github.com/geosolutions-it/MapStore2/compare/v2018.01.00...v2018.02.00)** From e81bd73208e3583116ef0a26fca0307e38d2e225 Mon Sep 17 00:00:00 2001 From: Edouard Date: Fri, 24 May 2019 14:16:22 +0200 Subject: [PATCH 3/7] Fix browse typo (#3800) --- web/client/components/TOC/Toolbar.jsx | 4 ++-- web/client/components/map/cesium/Map.jsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client/components/TOC/Toolbar.jsx b/web/client/components/TOC/Toolbar.jsx index 492ba5637e..3e248fde76 100644 --- a/web/client/components/TOC/Toolbar.jsx +++ b/web/client/components/TOC/Toolbar.jsx @@ -200,7 +200,7 @@ class Toolbar extends React.Component { key="featuresGrid" placement="top" overlay={{this.props.text.featuresGridTooltip}}> - @@ -270,7 +270,7 @@ class Toolbar extends React.Component { ) : null; } - brosweData = () => { + browseData = () => { this.props.onToolsActions.onBrowseData({ url: this.props.selectedLayers[0].search.url || this.props.selectedLayers[0].url, name: this.props.selectedLayers[0].name, diff --git a/web/client/components/map/cesium/Map.jsx b/web/client/components/map/cesium/Map.jsx index c9b949a6cc..6252339584 100644 --- a/web/client/components/map/cesium/Map.jsx +++ b/web/client/components/map/cesium/Map.jsx @@ -63,7 +63,7 @@ class CesiumMap extends React.Component { componentWillMount() { /* this prevent the Safari browser to zoom and mess up with the view. - added only for Safari's broswers (mobile and not) bescause from safari 10 it + added only for Safari's browsers (mobile and not) bescause from safari 10 it won't allow you to disable pinch to zoom with the user-scalable attribute. see https://stackoverflow.com/questions/4389932/how-do-you-disable-viewport-zooming-on-mobile-safari/39711930#39711930 */ From 11e392862f0e6caa14c53630fa10c53916dc4f98 Mon Sep 17 00:00:00 2001 From: Edouard Date: Fri, 24 May 2019 15:41:17 +0200 Subject: [PATCH 4/7] Fix typo toExlude (#3802) --- .../data/identify/viewers/row/PropertiesViewer.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client/components/data/identify/viewers/row/PropertiesViewer.jsx b/web/client/components/data/identify/viewers/row/PropertiesViewer.jsx index e77c53b09d..3896016957 100644 --- a/web/client/components/data/identify/viewers/row/PropertiesViewer.jsx +++ b/web/client/components/data/identify/viewers/row/PropertiesViewer.jsx @@ -44,10 +44,9 @@ class PropertiesViewer extends React.Component { } }; - getBodyItems = () => { return Object.keys(this.props) - .filter(this.toExlude) + .filter(this.toExclude) .map((key) => { const val = this.renderProperty(this.props[key]); return

{key} {containsHTML(val) ? : val}

; @@ -87,6 +86,7 @@ class PropertiesViewer extends React.Component { } return JSON.stringify(prop); }; + render() { return (
@@ -96,7 +96,7 @@ class PropertiesViewer extends React.Component { ); } - toExlude = (propName) => { + toExclude = (propName) => { return alwaysExcluded .concat(this.props.exclude) .indexOf(propName) === -1; From cc513714501c8bf30d54d66ea009f0de11b68a19 Mon Sep 17 00:00:00 2001 From: Tobia Di Pisa Date: Fri, 24 May 2019 17:19:55 +0200 Subject: [PATCH 5/7] Removing 'Stories in Ready' tag from README (#3803) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index da27635dea..33637a82fb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -[![Stories in Ready](https://badge.waffle.io/geosolutions-it/MapStore2.png?label=ready&title=Ready)](https://waffle.io/geosolutions-it/MapStore2) [![Build Status](https://travis-ci.org/geosolutions-it/MapStore2.svg?branch=master)](https://travis-ci.org/geosolutions-it/MapStore2) [![Coverage Status](https://coveralls.io/repos/geosolutions-it/MapStore2/badge.svg?branch=master&service=github)](https://coveralls.io/github/geosolutions-it/MapStore2?branch=master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/1648d484427346e2877006dc287379b6)](https://app.codacy.com/app/geosolutions/MapStore2?utm_source=github.com&utm_medium=referral&utm_content=geosolutions-it/MapStore2&utm_campaign=badger) From 7fb4e666058c115f863b0c20b5fe2c82dd3acbc0 Mon Sep 17 00:00:00 2001 From: stefano bovio Date: Mon, 27 May 2019 12:21:12 +0200 Subject: [PATCH 6/7] Fix 3776 L&F review for user/group form (#3804) --- .../components/manager/users/GroupCard.jsx | 34 ++++++++++-- .../components/manager/users/GroupDialog.jsx | 17 +++--- .../components/manager/users/UserDialog.jsx | 52 ++++++++++-------- .../components/manager/users/UserGroups.jsx | 5 +- .../users/__tests__/GroupCard-test.jsx | 8 +++ .../users/__tests__/GroupDialog-test.jsx | 25 +++++++-- .../users/__tests__/UserDialog-test.jsx | 53 ++++++++++++++++--- .../manager/users/style/usercard.css | 3 -- .../manager/users/style/userdialog.css | 5 +- web/client/translations/data.de-DE | 4 +- web/client/translations/data.en-US | 4 +- web/client/translations/data.es-ES | 4 +- web/client/translations/data.fr-FR | 4 +- web/client/translations/data.hr-HR | 4 +- web/client/translations/data.it-IT | 4 +- web/client/translations/data.nl-NL | 4 +- web/client/translations/data.pt-PT | 4 +- web/client/translations/data.zh-ZH | 4 +- 18 files changed, 175 insertions(+), 63 deletions(-) diff --git a/web/client/components/manager/users/GroupCard.jsx b/web/client/components/manager/users/GroupCard.jsx index 2c2688b076..228244664a 100644 --- a/web/client/components/manager/users/GroupCard.jsx +++ b/web/client/components/manager/users/GroupCard.jsx @@ -24,6 +24,8 @@ class GroupCard extends React.Component { style: PropTypes.object, group: PropTypes.object, innerItemStyle: PropTypes.object, + avatarStyle: PropTypes.object, + nameStyle: PropTypes.object, actions: PropTypes.array }; @@ -34,7 +36,22 @@ class GroupCard extends React.Component { backgroundPosition: "center", backgroundRepeat: "repeat-x" }, - innerItemStyle: {"float": "left", margin: "10px"} + innerItemStyle: { + marginTop: "35px", + marginLeft: "9px" + }, + avatarStyle: { + margin: "10px" + }, + nameStyle: { + position: "absolute", + left: "80px", + top: "30px", + width: "75%", + borderBottom: "1px solid #ddd", + fontSize: 18, + fontWeight: "bold" + } }; renderStatus = () => { @@ -47,26 +64,33 @@ class GroupCard extends React.Component { }; renderAvatar = () => { - return (
); }; renderDescription = () => { - return (
+ return (
{this.props.group.description ? this.props.group.description : }
); }; + renderName = () => { + return (
{this.props.group.groupName}
); + }; + render() { return ( - {this.renderAvatar()} +
+ {this.renderAvatar()} + {this.renderName()} + {this.renderDescription()} +
{this.renderStatus()} - {this.renderDescription()}
); } diff --git a/web/client/components/manager/users/GroupDialog.jsx b/web/client/components/manager/users/GroupDialog.jsx index 4f355db361..16124d597b 100644 --- a/web/client/components/manager/users/GroupDialog.jsx +++ b/web/client/components/manager/users/GroupDialog.jsx @@ -85,9 +85,9 @@ class GroupDialog extends React.Component { }; renderGeneral = () => { - return (
+ return (
- + {' '}* +
); }; @@ -168,7 +169,7 @@ class GroupDialog extends React.Component { renderMembersTab = () => { let availableUsers = this.props.availableUsers.filter((user) => findIndex(this.getCurrentGroupMembers(), member => member.id === user.id) < 0).map(u => ({value: u.id, label: u.name})); - return (
+ return (
{this.renderMembers()}
-
+
- + {this.props.onChange("enabled", evt.target.checked ? true : false); }} /> -
); +
+
); }; renderAttributes = () => { return this.props.attributes.map((attr, index) => { - return ( + return ( {attr.name} {(this.props.user && this.props.user.name) || }
- { this.setState({key}); }} key="tab-panel" id="userDetails-tabs"> - } > + { this.setState({key}); }} key="tab-panel" id="userDetails-tabs"> + } > {this.renderGeneral()} - } > + } > {this.renderAttributes()} - } > + } > {this.renderGroups()} @@ -244,7 +252,7 @@ class UserDialog extends React.Component { isMainPasswordValid = (password) => { let p = password || this.props.user.newPassword || ""; // Empty password field will signal the GeoStoreDAO not to change the password - if (p === "") { + if (p === "" && this.props.user && this.props.user.id) { return true; } return (p.length >= this.props.minPasswordSize) && !(/[^a-zA-Z0-9\!\@\#\$\%\&\*]/.test(p)); diff --git a/web/client/components/manager/users/UserGroups.jsx b/web/client/components/manager/users/UserGroups.jsx index fa4455bd4e..d6f5f8119d 100644 --- a/web/client/components/manager/users/UserGroups.jsx +++ b/web/client/components/manager/users/UserGroups.jsx @@ -63,13 +63,14 @@ class UserCard extends React.Component { value={ (this.props.user && this.props.user.groups ? this.props.user.groups : this.getDefaultGroups() ).map(group => group.id) } options={this.getOptions()} onChange={this.onChange} + style={{marginTop: "10px"}} />); }; render() { return this.props.groups ? ( -
- +
+ {this.renderGroupsSelector()}
) : null; diff --git a/web/client/components/manager/users/__tests__/GroupCard-test.jsx b/web/client/components/manager/users/__tests__/GroupCard-test.jsx index faf2a18808..8e6e157222 100644 --- a/web/client/components/manager/users/__tests__/GroupCard-test.jsx +++ b/web/client/components/manager/users/__tests__/GroupCard-test.jsx @@ -47,4 +47,12 @@ describe("Test GroupCard Component", () => { "group-thumb-description" ).length).toBe(1); }); + it('Test groupname rendering inside the card', () => { + let comp = ReactDOM.render( + , document.getElementById("container")); + expect(comp).toExist(); + let items = document.querySelectorAll('#container .gridcard .user-data-container > div'); + let renderName = items[1]; + expect(renderName.innerHTML).toBe(group1.groupName); + }); }); diff --git a/web/client/components/manager/users/__tests__/GroupDialog-test.jsx b/web/client/components/manager/users/__tests__/GroupDialog-test.jsx index 2f095f30d8..2b763e22bf 100644 --- a/web/client/components/manager/users/__tests__/GroupDialog-test.jsx +++ b/web/client/components/manager/users/__tests__/GroupDialog-test.jsx @@ -82,11 +82,26 @@ describe("Test GroupDialog Component", () => { document.getElementById("container")); expect(comp).toExist(); - let buttons = ReactTestUtils.scryRenderedDOMComponentsWithTag(comp, "button"); - expect(buttons[1].className).toBe("square-button btn btn-lg btn-success"); - let groupGroupButton = buttons[2]; + const tabs = document.querySelectorAll('.nav.nav-justified > li'); + expect(tabs[0].getAttribute('class')).toBe('active'); + const groupGroupButton = tabs[1].children[0]; ReactTestUtils.Simulate.click(groupGroupButton); - expect(groupGroupButton.className).toBe("square-button btn btn-lg btn-success"); - expect(buttons[2].className).toBe("square-button btn btn-lg btn-success"); + expect(tabs[1].getAttribute('class')).toBe('active'); + }); + + it('Testing asterisk inside mandatory field', () => { + let comp = ReactDOM.render( + , + document.getElementById("container")); + + expect(comp).toExist(); + const labels = document.querySelectorAll('.control-label'); + const [ groupName, description ] = labels; + expect(groupName.children.length).toBe(2); + expect(groupName.children[0].innerHTML).toBe('usergroups.groupName'); + expect(groupName.children[1].innerHTML).toBe('*'); + + expect(description.children.length).toBe(1); + expect(description.children[0].innerHTML).toBe('usergroups.groupDescription'); }); }); diff --git a/web/client/components/manager/users/__tests__/UserDialog-test.jsx b/web/client/components/manager/users/__tests__/UserDialog-test.jsx index fe32e9647f..90b260308a 100644 --- a/web/client/components/manager/users/__tests__/UserDialog-test.jsx +++ b/web/client/components/manager/users/__tests__/UserDialog-test.jsx @@ -106,6 +106,11 @@ describe("Test UserDialog Component", () => { , document.getElementById("container")); expect(comp).toExist(); expect(comp.isValidPassword()).toBe(false); + // New user, empty password + comp = ReactDOM.render( + , document.getElementById("container")); + expect(comp).toExist(); + expect(comp.isValidPassword()).toBe(false); }); it('Test without password fields', () => { let comp = ReactDOM.render( @@ -168,7 +173,7 @@ describe("Test UserDialog Component", () => { }} onSave={handlers.onSave} />, document.getElementById("container")); expect(comp).toExist(); let domnode = ReactDOM.findDOMNode(comp); - domnode.getElementsByTagName("button").item(4).click(); + domnode.getElementsByTagName("button").item(1).click(); expect(spy.calls.length).toBe(1); }); @@ -183,7 +188,7 @@ describe("Test UserDialog Component", () => { }} />, document.getElementById("container")); expect(comp).toExist(); let domnode = ReactDOM.findDOMNode(comp); - expect(domnode.getElementsByClassName("btn-primary")[2].disabled).toBe(true); + expect(domnode.getElementsByClassName("btn-primary")[0].disabled).toBe(true); expect(domnode.getElementsByClassName("spinner").length).toNotBe(0); }); it('displays the success style', () => { @@ -197,7 +202,7 @@ describe("Test UserDialog Component", () => { }} />, document.getElementById("container")); expect(comp).toExist(); let domnode = ReactDOM.findDOMNode(comp); - expect(domnode.getElementsByClassName("btn-success").length).toBe(2); + expect(domnode.getElementsByClassName("btn-success").length).toBe(1); }); it('Testing selected user-dialog-tab is highlighted', () => { let comp = ReactDOM.render( @@ -210,11 +215,43 @@ describe("Test UserDialog Component", () => { }} />, document.getElementById("container")); expect(comp).toExist(); - let buttons = ReactTestUtils.scryRenderedDOMComponentsWithTag(comp, "button"); - expect(buttons[1].className).toBe("square-button btn btn-lg btn-success"); - let userGroupButton = buttons[3]; + + const tabs = document.querySelectorAll('.nav.nav-justified > li'); + expect(tabs[0].getAttribute('class')).toBe('active'); + const userGroupButton = tabs[2].children[0]; ReactTestUtils.Simulate.click(userGroupButton); - expect(userGroupButton.className).toBe("square-button btn btn-lg btn-success"); - expect(buttons[3].className).toBe("square-button btn btn-lg btn-success"); + expect(tabs[2].getAttribute('class')).toBe('active'); + }); + + it('Testing asterisk inside mandatory fields', () => { + let comp = ReactDOM.render( + , + document.getElementById("container")); + + expect(comp).toExist(); + const labels = document.querySelectorAll('.control-label'); + const [ + username, + password, + retypePassword + ] = labels; + expect(username.children.length).toBe(2); + expect(username.children[0].innerHTML).toBe('user.username'); + expect(username.children[1].innerHTML).toBe('*'); + + expect(password.children.length).toBe(3); + expect(password.children[0].innerHTML).toBe('user.password'); + expect(password.children[1].innerHTML).toBe('*'); + expect(password.children[2].getAttribute('class')).toBe('glyphicon glyphicon-info-sign'); + + expect(retypePassword.children.length).toBe(2); + expect(retypePassword.children[0].innerHTML).toBe('user.retypePwd'); + expect(retypePassword.children[1].innerHTML).toBe('*'); }); }); diff --git a/web/client/components/manager/users/style/usercard.css b/web/client/components/manager/users/style/usercard.css index 82013ee6d0..926a9025f9 100644 --- a/web/client/components/manager/users/style/usercard.css +++ b/web/client/components/manager/users/style/usercard.css @@ -39,14 +39,11 @@ } .group-thumb .group-thumb-description { /* ellipsis for description */ - margin: 10px; display: block; /* Fallback for non-webkit */ display: -webkit-box; - padding: 5px; magin: 0 auto; height: 75px; /* font-size * webkit-line-clamp + padding */ font-size: 12px; - line-height: 1; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; diff --git a/web/client/components/manager/users/style/userdialog.css b/web/client/components/manager/users/style/userdialog.css index 1d865b9123..1567dbe724 100644 --- a/web/client/components/manager/users/style/userdialog.css +++ b/web/client/components/manager/users/style/userdialog.css @@ -3,7 +3,10 @@ } .user-edit-dialog,.group-edit-dialog { - max-width: 300px; + width: 300px; + margin-left: calc(50% - 150px); + margin-top: 100px; + transform: translate(-50%, 0); } .user-edit-dialog .modal-body .nav-tabs li a, .group-edit-dialog .modal-body .nav-tabs li a { diff --git a/web/client/translations/data.de-DE b/web/client/translations/data.de-DE index 16973cd577..11484b41b1 100644 --- a/web/client/translations/data.de-DE +++ b/web/client/translations/data.de-DE @@ -816,6 +816,7 @@ "passwordInvalid": "Ungültiges Passwort", "username": "Benutzername", "password": "Passwort", + "passwordMessage": "Das Passwort muss aus mindestens 6 Zeichen bestehen", "passwordChanged": "Passwort geändert", "passwordError": "Fehler beim Ändern des Passworts", "signIn":"Anmelden", @@ -878,7 +879,8 @@ "confirmDeleteUser": "Bist du sicher, das du diesen Benutzer löschen möchtest?", "errorDelete": "Es gab einen Fehler beim Löschen von Benutzer:", "errorSaving": "Es gab einen Fehler beim Speichern von Benutzer:", - "selectedGroups": "Ausgewählte Gruppen" + "selectedGroups": "Ausgewählte Gruppen", + "requiredFiedsMessage": "Felder, welche mit einem Sternchen (*) markiert sind, sind Pflichtfelder" }, "usergroups": { "searchGroups": "Suche Gruppen...", diff --git a/web/client/translations/data.en-US b/web/client/translations/data.en-US index fb95c64a35..1fdc5a2ea8 100644 --- a/web/client/translations/data.en-US +++ b/web/client/translations/data.en-US @@ -816,6 +816,7 @@ "passwordInvalid": "Invalid password", "username": "Username", "password": "Password", + "passwordMessage": "Password must contain at least 6 characters", "passwordChanged": "Password changed", "passwordError": "Error changing password", "signIn":"Sign-in", @@ -878,7 +879,8 @@ "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" + "selectedGroups": "SELECTED GROUPS", + "requiredFiedsMessage": "Fields marked with asterisk (*) are required" }, "usergroups": { "searchGroups": "Search Groups...", diff --git a/web/client/translations/data.es-ES b/web/client/translations/data.es-ES index 8f1029b08a..28f402ffc1 100644 --- a/web/client/translations/data.es-ES +++ b/web/client/translations/data.es-ES @@ -817,6 +817,7 @@ "passwordInvalid": "Clave incorrecta", "username": "Nombre de usuario", "password": "Clave", + "passwordMessage": "La contraseña debe contener al menos 6 caracteres", "passwordChanged": "Clave cambiada", "passwordError": "Error en el cambio de clave", "signIn":"Login", @@ -879,7 +880,8 @@ "confirmDeleteUser": "¿Está seguro de borrar el usuario?", "errorDelete": "A ocurrido un error al borrar el usuario:", "errorSaving": "A ocurrido un error al guardar el usuario:", - "selectedGroups": "GRUPOS SELECCIONADOS" + "selectedGroups": "GRUPOS SELECCIONADOS", + "requiredFiedsMessage": "Se requiere llenar campos marcados con asterisco (*)" }, "usergroups": { "searchGroups": "buscar grupo ...", diff --git a/web/client/translations/data.fr-FR b/web/client/translations/data.fr-FR index 82d1b9cfe3..c8a1dc7eab 100644 --- a/web/client/translations/data.fr-FR +++ b/web/client/translations/data.fr-FR @@ -841,6 +841,7 @@ "passwordInvalid": "Mot de passe incorrect", "username": "Nom d'utilisateur", "password": "Mot de passe", + "passwordMessage": "Le mot de passe doit contenir au moins 6 caractères", "passwordChanged": "Mot de passe changé", "passwordError": "Erreur de changement de mot de passe", "signIn":"S'authentifier", @@ -879,7 +880,8 @@ "confirmDeleteUser": "Êtes-vous sûr de vouloir supprimer cet utilisateur?", "errorDelete": "Une erreur s'est produite lors de la suppression de cet utilisateur:", "errorSaving": "Une erreur s'est produite lors de l'enregistrement de cet utilisateur:", - "selectedGroups": "CERTAINS GROUPES" + "selectedGroups": "CERTAINS GROUPES", + "requiredFiedsMessage": "Les champs marqués d'un astérisque (*) sont obligatoires" }, "usergroups": { "searchGroups": "rechercher des groupes...", diff --git a/web/client/translations/data.hr-HR b/web/client/translations/data.hr-HR index 322d14195b..bd8ee986a5 100644 --- a/web/client/translations/data.hr-HR +++ b/web/client/translations/data.hr-HR @@ -813,6 +813,7 @@ "passwordInvalid": "Neispravna zaporka", "username": "Korisničko ime", "password": "Zaporka", + "passwordMessage": "Password must contain at least 6 characters", "passwordChanged": "Zaporka je promijenjena", "passwordError": "Greška prilikom izmjene zaporke", "signIn": "Prijava", @@ -875,7 +876,8 @@ "confirmDeleteUser": "Želite li zaista izbrisati ovoga korisnika?", "errorDelete": "Došlo je do greške prilikom brisanja ovoga korisnika:", "errorSaving": "Došlo je do greške prilikom spremanja ovoga korisnika:", - "selectedGroups": "ODABRANE GRUPE" + "selectedGroups": "ODABRANE GRUPE", + "requiredFiedsMessage": "Fields marked with asterisk (*) are required" }, "usergroups": { "searchGroups": "Pretraži grupe...", diff --git a/web/client/translations/data.it-IT b/web/client/translations/data.it-IT index 9d142e4864..fc25bad8b6 100644 --- a/web/client/translations/data.it-IT +++ b/web/client/translations/data.it-IT @@ -816,6 +816,7 @@ "passwordInvalid": "Password non valida", "username": "Username", "password": "Password", + "passwordMessage": "La password deve contenere almeno 6 caratteri", "passwordChanged": "La password è stata cambiata", "passwordError": "Errore nel cambio della password", "signIn":"Accedi", @@ -878,7 +879,8 @@ "confirmDeleteUser": "Sei sicuro di voler cancellare questo utente?", "errorDelete": "Si è verificato un errore rimuovendo l'utente:", "errorSaving": "Si è verificato un errore salvando questo utente:", - "selectedGroups": "GRUPPI SELEZIONATI" + "selectedGroups": "GRUPPI SELEZIONATI", + "requiredFiedsMessage": "I campi contrassegnati con l'asterisco (*) sono obbligatori" }, "usergroups": { "searchGroups": "Cerca gruppi...", diff --git a/web/client/translations/data.nl-NL b/web/client/translations/data.nl-NL index 27565c2487..8a9d9dbab5 100644 --- a/web/client/translations/data.nl-NL +++ b/web/client/translations/data.nl-NL @@ -779,6 +779,7 @@ "passwordInvalid": "Verkeerd wachtwoord", "username": "Gebruikersnaam", "password": "Paswoord", + "passwordMessage": "Password must contain at least 6 characters", "passwordChanged": "Wachtwoord gewijzigd", "passwordError": "Fout bij het wijzigen van het wachtwoord", "signIn":"Certificeer", @@ -817,7 +818,8 @@ "confirmDeleteUser": "Weet u zeker dat u deze gebruiker wilt verwijderen?", "errorDelete": "Er is een fout opgetreden bij het wissen van deze gebruiker:", "errorSaving": "Er is een fout opgetreden bij het opslaan van deze gebruiker", - "selectedGroups": "BEPAALDE GROEPEN" + "selectedGroups": "BEPAALDE GROEPEN", + "requiredFiedsMessage": "Fields marked with asterisk (*) are required" }, "usergroups": { "searchGroups": "groepen opzoeken...", diff --git a/web/client/translations/data.pt-PT b/web/client/translations/data.pt-PT index 396caa1169..1acf50ea1b 100644 --- a/web/client/translations/data.pt-PT +++ b/web/client/translations/data.pt-PT @@ -812,6 +812,7 @@ "passwordInvalid": "Invalid password", "username": "Username", "password": "Password", + "passwordMessage": "Password must contain at least 6 characters", "passwordChanged": "Password changed", "passwordError": "Error changing password", "signIn":"Sign-in", @@ -874,7 +875,8 @@ "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" + "selectedGroups": "SELECTED GROUPS", + "requiredFiedsMessage": "Fields marked with asterisk (*) are required" }, "usergroups": { "searchGroups": "Search Groups...", diff --git a/web/client/translations/data.zh-ZH b/web/client/translations/data.zh-ZH index 5a945acae0..5a2e38064a 100644 --- a/web/client/translations/data.zh-ZH +++ b/web/client/translations/data.zh-ZH @@ -790,6 +790,7 @@ "passwordInvalid": "无效的密码", "username": "用户名", "password": "密码", + "passwordMessage": "Password must contain at least 6 characters", "passwordChanged": "密码已更改", "passwordError": "更改密码时出错", "signIn":"签到", @@ -851,7 +852,8 @@ "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" + "selectedGroups": "SELECTED GROUPS", + "requiredFiedsMessage": "Fields marked with asterisk (*) are required" }, "usergroups": { "searchGroups": "Search Groups...", From 410fb7d19de77f1452de8d995ac428f3131a8b39 Mon Sep 17 00:00:00 2001 From: antonio rubio Date: Mon, 27 May 2019 16:47:40 +0200 Subject: [PATCH 7/7] fixed some spanish translations (#3807) fixed some spanish translations --- web/client/translations/data.es-ES | 715 ++++++++++++++--------------- 1 file changed, 357 insertions(+), 358 deletions(-) diff --git a/web/client/translations/data.es-ES b/web/client/translations/data.es-ES index 28f402ffc1..58c7f5c406 100644 --- a/web/client/translations/data.es-ES +++ b/web/client/translations/data.es-ES @@ -1,18 +1,18 @@ { "locale": "es-ES", "messages": { - "Language": "Lengua", - "msgId0": "{name} a tomado {numPhotos, plural, =0 {ninguna foto} =1 {una foto} other {# fotos}} el {takenDate, date, long}.", + "Language": "Idioma", + "msgId0": "{name} ha tomado {numPhotos, plural, =0 {ninguna foto} =1 {una foto} other {# fotos}} el {takenDate, date, long}.", "htmlTest": "{name} {surname}", - "about_title": "About", - "aboutLbl": "A proposito", - "about_p0-0": "MapStore es un marco de trabajo para el desarrollo de aplicaciones cartográficas con la ayuda de librerias cartográficas estandar, tales como:", + "about_title": "Acerca de", + "aboutLbl": "Acerca de", + "about_p0-0": "MapStore es un marco de trabajo para el desarrollo de aplicaciones cartográficas con la ayuda de librerías cartográficas estándar, tales como:", "about_p0-1": "y", "about_p1": "MapStore tiene varias aplicaciones de ejemplo:", - "about_ul0_li0": "MapViewer es un visualizador simple de mapas preconfugurados (almacenados opcionalmente en una base de datos GeoStore)", - "about_ul0_li1": "MapPublisher está hecho para crear, guardar y compartir de forma simple e intuitiva mapas y composiciones creados a partir de contenidos de servidores tales como OpenStreetMap, Google Maps, MapQuest o cualquier otro servidor que propocionone protocolos estandar tales como OGC WMS, WFS, WMTS o TMS y otros. Para más información: ", + "about_ul0_li0": "MapViewer es un visualizador simple de mapas preconfigurados (almacenados opcionalmente en una base de datos GeoStore)", + "about_ul0_li1": "MapPublisher está hecho para crear, guardar y compartir de forma simple e intuitiva mapas y composiciones creados a partir de contenidos de servidores tales como OpenStreetMap, Google Maps, MapQuest o cualquier otro servidor que proporcione protocolos estándar tales como OGC WMS, WFS, WMTS o TMS y otros. Para más información: ", "about_h20": "Licencia", - "about_p3": "MapStore es un software libre y de código abiertas, basado en OpenLayers 3, Leaflet y ReactJS, y está disponible bajo Licence Simplifiicada BSD.", + "about_p3": "MapStore es un software libre y de código abiertas, basado en OpenLayers 3, Leaflet y ReactJS, y está disponible bajo licencia BSD.", "about_p5-0": "Para más información, consulte", "about_a0": "esta", "about_p5-1": "página.", @@ -29,9 +29,9 @@ "label": "Versión" }, "autorefresh": { - "of": "of", - "updating": "Updating...", - "layers": "layers" + "of": "de", + "updating": "actualizando...", + "layers": "capas" }, "localeErrors": { "404": "Archivo de traducción no encontrado" @@ -54,35 +54,33 @@ "styleCustom": "Use un estilo llamado \"{value} \"", "styleListLoadError": "Se ha producido un error al cargar la lista de estilos", "stylesRefreshList": "Actualizar la lista de estilos", - "format": "Format", + "format": "Formato", "delete": "Borrar", "deleteLayer":"Borrar el mapa", - "deleteLayerMessage": "Está totalmente seguro de querer borrar este mapa?", - "confirmDelete": "Está seguro?", + "deleteLayerMessage": "¿Está totalmente seguro de querer borrar este mapa?", + "confirmDelete": "¿Está seguro?", "featureTypeError": "Imposible cargar los atributos del mapa", "featureTypeErrorInvalidJSON": "Imposible cargar los atributos del mapa. La respuesta no es válida", "elevation": "Elevación", "titleTranslations": "Traducciones de títulos", "groupProperties": "Propiedades del grupo", - "featureInfo": "Feature Info", - "featureInfoFormatLbl": "Indentificar el formato de respuesta", + "featureInfo": "Información de la capa", + "featureInfoFormatLbl": "Identificar el formato de respuesta", "legenderror": "La leyenda no está disponible", "editCustomFormat": "Editar formato personalizado", "exampleOfResponse": "Ejemplo", "changedSettings": "Configuraciones modificadas", "changedSettingsAlert": "Está cerrando el panel de configuraciones sin guardar sus cambios", - "textFormatTitle": "TEXT", - "textFormatDescription": "Muestra resultados de información de funciones como texto sin formato", + "textFormatTitle": "TEXTO", + "textFormatDescription": "Muestra resultados de información de la capa como texto sin formato", "htmlFormatTitle": "HTML", - "htmlFormatDescription": "Muestra resultados de información de funciones como html", + "htmlFormatDescription": "Muestra resultados de información de la capa como html", "propertiesFormatTitle": "PROPIEDADES", - "propertiesFormatDescription": "Muestra resultados de información de características como lista de propiedades", - "templateFormatTitle": "TEMPLATE", - "templateFormatDescription": "Personalizar formato de resultados de información de funciones", + "propertiesFormatDescription": "Muestra resultados de información de la capa como lista de propiedades", + "templateFormatTitle": "PLANTILLA", + "templateFormatDescription": "Personalizar el formato de resultados de información de la capa", "templateFormatInfoAlert1": "Haga clic en el botón Editar para agregar una nueva plantilla.", "templateFormatInfoAlert2": "Use ${ attribute } para ajustar las propiedades que necesita visualizar", - "templateFormatInfoAlertExample": "La identificación de la función es ${ properties }", - "templatePreview": "Vista previa de template", "tooltip": { "label": "Información sobre herramientas", "title": "Título", @@ -93,22 +91,24 @@ "right": "Derecha", "bottom": "Bottom", "top": "Cima" - } + }, + "templateFormatInfoAlertExample": "La identificación de la característica es ${ properties }", + "templatePreview": "Vista previa de la plantilla" }, "longitude": "Longitud", "latitude": "Latitud", "notification": { - "update": "Update", - "warning": "Warning", - "success": "Success", - "backgroundLayerNotSupported": "The previously selected background is not supported for this type of map. The first one available is then used.", - "noBackgroundLayerSupported": "There are no supported background layers for this type of map.", - "updateOldMap": "This is an old map, thus not all the functionalities can be enabled. Click on update button in order to update the map or simply dismiss this notification if you don't want to update it.", - "warningSaveUpdatedMap": "Some layers haven't been updated correctly", - "saveUpdatedMap": "All the layers have been successfully updated" + "update": "Actualizar", + "warning": "Aviso", + "success": "Éxito", + "backgroundLayerNotSupported": "El mapa de fondo seleccionado no está soportado para este tipo de mapa. Se usará el primero disponible.", + "noBackgroundLayerSupported": "No hay capas de fondo soportadas para este tipo de mapa.", + "updateOldMap": "Este es un mapa antiguo, de modo que no todas las funcionalidades pueden ser habilitadas. Pinche en el botón de actulizar el mapa o ignore este aviso si no quiere actualizarlo.", + "warningSaveUpdatedMap": "Algunas capas no han sido actualizadas correctamente", + "saveUpdatedMap": "Todas las capas han sido actulizadas correctamente" }, "dock": { - "row": "{rowsSelected} fila selecccionada", + "row": "{rowsSelected} fila seleccionada", "rows": "{rowsSelected} filas seleccionadas" }, "globeswitcher": { @@ -116,15 +116,15 @@ "tooltipActivate": "Entrar en el modo 3D" }, "cookie":{ - "info": "This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.", - "moreDetailsButton": "More Details", - "leave": "Leave", - "accept": "Accept" + "info": "Esta sitio utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo, si no puede optar por salir.", + "moreDetailsButton": "Más detalles", + "leave": "Abandonar", + "accept": "Aceptar" }, - "background": "Background", - "language": "Language", - "mousePositionCoordinates": "Coordinates indicator", - "mouseCoordinates": "Coordinates:", + "background": "Fondo", + "language": "Idioma", + "mousePositionCoordinates": "Indicador de coordenadas", + "mouseCoordinates": "Coordenadas:", "mousePositionCRS": "CRS:", "mousePositionElevation": "Elev.:", "mousePositionNoElevation": "N/P", @@ -132,7 +132,7 @@ "elevationLoadingError": "Error", "elevationNotAvailable": "N/P", "mapScale": "Escala:", - "showMousePositionCoordinates": "Mostrar/esconder las coordenadas", + "showMousePositionCoordinates": "Mostrar/ocultar las coordenadas", "menu": "Menú", "options": "Opciones", "settings": "Ajustes", @@ -153,7 +153,7 @@ "yes": "Sí", "confirm": "Confirmar", "confirmTitle": "¿Lo confirma?", - "pageInfo": "{total, plural, =0 {ningún item} =1 {{total} item de {total}} other {objets {start}-{end} de {total}}}", + "pageInfo": "{total, plural, =0 {ningún ítem} =1 {{total} ítem de {total}} other {elementos {start}-{end} de {total}}}", "loading": "Cargando...", "group": "Grupo", "groups": "Grupos", @@ -171,9 +171,9 @@ }, "home":{ "open": "Abrir", - "shortDescription": "Modern webmapping con OpenLayers, Leaflet y React
visite la página de documentación", + "shortDescription": "Webmapping moderno con OpenLayers, Leaflet y React
visite la página de documentación", "forkMeOnGitHub": "Fork me on GitHub", - "description": "MapStore está hecho para crear, guardar y compartir de forma simple e intuitiva mapas y composiciones creados a partir de contenidos de servidores tales como OpenStreetMap, Google Maps, MapQuest o cualquier otro servidor que propocionone protocolos estandar tales como OGC WMS, WFS, WMTS o TMS y otros.
Visite nuestra página principal para más detalles.", + "description": "MapStore está hecho para crear, guardar y compartir de forma simple e intuitiva mapas y composiciones creados a partir de contenidos de servidores tales como OpenStreetMap, Google Maps, MapQuest o cualquier otro servidor que proporcione protocolos estándar tales como OGC WMS, WFS, WMTS o TMS y otros.
Visite nuestra página principal para más detalles.", "Applications": "Aplicaciones", "Examples": "Ejemplos", "LinkedinGroup": "Grupo Linkedin de Mapstore", @@ -183,16 +183,16 @@ "title": "Esté informado a la última sobre los cambios en el desrrollo via listas de correo", "subscribe_users": "Suscribirse a las listas de correo de usuarios", "subscribe_devel": "Suscribirse a las listas de correo de desarrolladores", - "visit_group": "Visiste este grupo", + "visit_group": "Visite este grupo", "subscribe": "Suscribir", "email": "Correo:" }, "examples":{ "viewer":{ - "html":"

Visor

Visualiseur simple

" + "html":"

Visor

Visualizador simple

" }, "3dviewer":{ - "html":"

Visor 3D

Visualiseur 3D simple basé sur CesiumJS

" + "html":"

Visor 3D

Visualizador 3D simple basado en CesiumJS

" }, "manager":{ "html":"

Administrador

Mostrar los mapas Mapstore

" @@ -210,7 +210,7 @@ "html":"

Constructor de consultas

Ejemplo personalizado

" }, "featuregrid":{ - "html":"

Editor de features

Ejemplo personalizado

" + "html":"

Editor de características

Ejemplo personalizado

" }, "print":{ "html":"

Impresión

Ejemplo personalizado

" @@ -222,7 +222,7 @@ "html":"

API

Use las API para incluir un mapa de MapStore2 en su aplicación

" }, "rasterstyler":{ - "html":"

Estilista raster

Estile su raster

" + "html":"

Estilos ráster

Estilo ráster

" } } }, @@ -239,7 +239,7 @@ "mapTypes_combo": "Seleccione un visor:", "theme_combo": "Seleccione un tema:", "maps_title": "Mapa", - "locales_combo": "Lengua:", + "locales_combo": "Idioma:", "featuredMaps": "Mapas Destacados" }, "newMap": "Nuevo mapa", @@ -262,7 +262,7 @@ }, "thumbnail": { "deletedSuccesfully": "La miniatura ha sido eliminada correctamente", - "savedSuccesfully": "La miniatura ha sido eliminada correctamente", + "savedSuccesfully": "La miniatura se ha guardado correctamente", "updatedSuccesfully": "La miniatura se ha actualizado correctamente" }, "errorWhenSaving": "Se produjo un error durante el proceso de guardado", @@ -281,21 +281,21 @@ "deleteResource": "Eliminar", "editResource": "Editar propiedades", "addToFeatured": "Agregar a destacados", - "removeFromFeatured": "Eliminar de la función", + "removeFromFeatured": "Eliminar de destacados", "showDetails": "Mostrar detalles" }, "contents": { "title": "Contenido" }, "dashboards": { - "newDashboard": "Nuevo tablero de instrumentos", - "title": "Tableros ({count})", - "titleNoCount": "Dashboards", - "create": "Crear panel", - "noDashboardAvailable": "No hay tablero disponible", + "newDashboard": "Nuevo panel de control", + "title": "Paneles de control ({count})", + "titleNoCount": "Paneles de control", + "create": "Crear panel de control", + "noDashboardAvailable": "No hay panel de control disponible", "createANewOne": "Crea uno nuevo", "deleteError": "Hubo un error al eliminar el recurso", - "errorLoadingDashboards": "Hubo un error al cargar los paneles" + "errorLoadingDashboards": "Hubo un error al cargar los paneles de control" }, "maps": { "title": "Mapas ({count})" @@ -311,19 +311,19 @@ "namePlaceholder": "Nombre del mapa", "descriptionPlaceholder": "Descripción del mapa", "saveTitle": "Guardar el mapa", - "saveText": "¿Guadar el mapa actual", - "thumbnail": "Viñetas", + "saveText": "¿Guardar el mapa actual", + "thumbnail": "Miniatura", "message": "Soltar o pinchar para importar un imagen", "suggestion": "(mejor 300px X 180px, max 500kb)", "errorFormat": "Formatos soportados: png/jpg", "errorSize": "Tamaño máximo admitido: 500kb", - "error": "La imagen proporcionada es inválida", - "savedMapTitle": "Mapa Guardado", + "error": "La imagen proporcionada no es válida", + "savedMapTitle": "Mapa guardado", "savedMapMessage": "El mapa se ha guardado correctamente", "thumbnailError": { - "error403": "Error al modificar la viñeta", - "error404": "Error al crear la viñeta", - "error409": "Nombre de viñeta repetido", + "error403": "Error al modificar la miniatura", + "error404": "Error al crear la miniatura", + "error409": "Nombre de miniatura repetido", "errorDefault": "Error de red" }, "mapError": { @@ -338,26 +338,26 @@ "noRules": "Sin reglas", "addRule": "Añadir regla...", "selectGroup": "Escoger un grupo...", - "canView": "puedo ver", - "canWrite": "puedo editar", - "noResult": "nigún resultado encontrado", + "canView": "puede ver", + "canWrite": "puede editar", + "noResult": "No se han encontrado resultados", "title": "Grupos de permisos" }, "details": { - "back": "Espalda", - "save": "Salvar", + "back": "Atrás", + "save": "Guardar", "show": "Mostrar hoja de detalles", "add": "Agregar nuevos detalles", "edit": "Editar detalles", "rowTitle": "Hoja de detalles", "title": "Hoja de detalles - {name}", - "undo": "Deshacer quitar", + "undo": "Deshacer eliminar", "showPreview": "Mostrar vista previa", "hidePreview": "Ocultar vista previa", "delete": "Eliminar hoja de detalles", - "titleUnsavedChanges": "Estás seguro de cerrar sin guardar los cambios?", - "sureToClose": "Estás seguro de cerrar sin guardar los cambios?", - "fieldsChanged": "Algunos campos han sido cambiados" + "titleUnsavedChanges": "¿Estás seguro de cerrar sin guardar los cambios?", + "sureToClose": "¿Estás seguro de cerrar sin guardar los cambios?", + "fieldsChanged": "Algunos campos han sido modificados" }, "errors": { "loading": { @@ -373,55 +373,55 @@ "hideLegend": "Ocultar leyenda" }, "toc": { - "toggleLayerVisibility": "Activar / desactivar la visibilidad del mapa", - "displayLegendAndTools": "Mostrar la leyenda y las herramientas", - "zoomToLayerExtent": "Zoom sobre la extensión del mapa", + "toggleLayerVisibility": "Activar/desactivar visibilidad de la capa", + "displayLegendAndTools": "Mostrar la leyenda", + "zoomToLayerExtent": "Zoom a la extensión de la capa", "addLayer": "Añadir capa", - "toolZoomToLayerTooltip": "Zoom a la extensión de capa seleccionada", - "toolZoomToLayersTooltip": "Zoom a la extensión de capas seleccionadas", - "toolLayerSettingsTooltip": "Configuración de capa seleccionada", - "toolGroupSettingsTooltip": "Configuraciones de grupos seleccionados", + "toolZoomToLayerTooltip": "Zoom a la extensión de la capa seleccionada", + "toolZoomToLayersTooltip": "Zoom a la extensión de las capas seleccionadas", + "toolLayerSettingsTooltip": "Configuración de la capa seleccionada", + "toolGroupSettingsTooltip": "Configuración del grupo seleccionado", "toolTrashLayerTooltip": "Eliminar la capa seleccionada", - "toolTrashLayersTooltip": "Eliminar capas seleccionadas", + "toolTrashLayersTooltip": "Eliminar las capas seleccionadas", "toolFeaturesGridTooltip": "Abrir la tabla de atributos", - "toolDownloadTooltip": "Exportar datos de capa", - "noFilteredResults": "Capas de filtro", - "filterPlaceholder": "Capas de filtro", - "clearFilter": "Filtro claro", + "toolDownloadTooltip": "Exportar datos de la capa", + "noFilteredResults": "Ningún resultado", + "filterPlaceholder": "Filtrar capas", + "clearFilter": "Quitar filtro", "toolReloadLayerTooltip": "Fuerza la recarga de la capa seleccionada", "toolReloadLayersTooltip": "Fuerza la recarga de las capas seleccionadas", - "statusIconOpen": "Grupo cerrado", - "statusIconClose": "Grupo abierto", - "grabLayerIcon": "Coge y clasifica la capa", - "grabGroupIcon": "Coge y ordenar grupo", + "statusIconOpen": "Cerrar Grupo", + "statusIconClose": "Abrir Grupo", + "grabLayerIcon": "Arrastra para ordenar la capa", + "grabGroupIcon": "Arrastra para ordenar el grupo", "toggleLayerVisibilityWarning": "Alternar la visibilidad de la capa, Advertencia: la capa no se cargó correctamente", "createWidget": "Crea un widget para la capa seleccionada", "editLayerProperties": "Modificar las propiedades de la capa", "browseData": "Abrir la tabla de atributos", "removeLayer": "Borrar la capa", "loadingerror": "La capa no se ha cargado correctamente o no está disponible", - "measure": "Medidor", + "measure": "Medir", "backgroundSwitcher": "Fondos", "layers": "Capas", "drawerButton": "Capas", - "refreshTitle": "Refreascar capas", + "refreshTitle": "Refrescar capas", "refreshConfirm": "Refrescar", - "refreshMessage": "Recargue la configuración de las capas WMS a partir del/delos servidor(es)", - "refreshError": "Error refrescando los mapas: ", + "refreshMessage": "Recargue la configuración de las capas WMS a partir del servidor(es)", + "refreshError": "Error actualizando las capas: ", "epsgNotSupported": "CRS {epsg} no es compatible con el zoom a la capa", "refreshOptions": { - "bbox": "Refrecar BBOX", - "search": "Refrescar las optiones de búsqueda", + "bbox": "Refrescar BBOX", + "search": "Refrescar las opciones de búsqueda", "title": "Refrescar el título", "dimensions": "Refrescar las dimensiones" }, "layerMetadata": { "identifier": "Identificador", "title": "Título", - "abstract": "Abstracto", + "abstract": "Resumen", "subject": "Asunto", "type": "Tipo", - "creator": "Creador", + "creator": "Autor", "toolLayerMetadataTooltip": "Mostrar los metadatos de la capa seleccionada", "layerMetadataPanelTitle": "Metadatos de capa", "notification": { @@ -429,17 +429,17 @@ } }, "thematic": { - "classification_field": "Campo de clasificación:", + "classification_field": "Campo para clasificar:", "classification_method": "Método de clasificación:", "classification_aggregate": "Función agregada:", "classification_colors": "Rampa de color:", "classification_intervals": "Intervalos:", - "preview": "Avance", + "preview": "Vista previa", "remove_thematic": "Volver al estilo simple", "values": { "equalInterval": "Intervalos iguales", - "quantile": "Quantile", - "jenks": "Escapadas naturales", + "quantile": "Cuantiles", + "jenks": "Rupturas naturales", "sum": "Suma", "avg": "Promedio", "count": "Contar", @@ -450,7 +450,7 @@ "apply": "Aplicar clasificación", "restore": "Restablecer personalizaciones", "go_to_cfg": "Configurar ...", - "go_to_thema": "Usa esta configuración", + "go_to_thema": "Utilizar esta configuración", "cfgError": "Error en la configuración JSON", "classify": "Clasificar", "remove": "Eliminar clasificación", @@ -459,50 +459,50 @@ "classification_error": "Error al llamar al servicio de clasificación: {message}", "fields_error": "Error al cargar la lista de campos: {message}", "interval_limit": "Los intervalos deben ser un número entre {min} y {max}", - "invalid_object": "Respuesta de servicio inválida", + "invalid_object": "Respuesta de servicio no válida", "invalid_geometry": "El tipo de geometría no es válido, no es un punto, línea o polígono", "invalid_classes": "Max debe ser mayor que min en todas las clases" } }, "print":{ "paneltitle": "Imprimir", - "layout": "Layout", - "sheetsize": "Tamaño del papelr:", - "legendoptions": "Optiones de la leyenda", + "layout": "Lienzo", + "sheetsize": "Tamaño del papel:", + "legendoptions": "Opciones de la leyenda", "submit": "Imprimir", "title": "Título", "titleplaceholder": "Introduzca un título...", - "description": "Descripcción", - "descriptionplaceholder": "Introduzca una descripición...", + "description": "Descripción", + "descriptionplaceholder": "Introduzca una descripción...", "resolution": "Resolución:", "defaultBackground": "Utilizar OSM como fondo", "printtooltip": "Impresión", "alternatives": { - "legend": "Inclir la leyenda", + "legend": "Incluir la leyenda", "2pages": "Leyenda sobre una página separada", - "landscape": "Apaisado", - "portrait": "Retrato" + "landscape": "Horizontal", + "portrait": "Vertical" }, "legend": { "font": "Configuración de las etiquetas:", "forceLabels": "Forzar las etiquetas:", "antiAliasing": "Fuentes Anti Aliasing:", - "iconsSize": "Tamaño del icono:", + "iconsSize": "Tamaño de los iconos:", "dpi": "ppp:" }, - "layoutWarning": "Layout no permitido" + "layoutWarning": "Lienzo no permitido" }, "backgroundSwither":{ "tooltip": "Selección del fondo" }, "info":{ - "tooltip": "Buscar los objectos en el mapa" + "tooltip": "Buscar los objetos en el mapa" }, "expandtoolbar": { "tooltip": "Expandir / Replegar" }, - "getFeatureInfoTitle": "Informatición de la feature", - "identifyTitle": "Informaciones de las features", + "getFeatureInfoTitle": "Información de la característica", + "identifyTitle": "Información de las características", "identifyNoQueryableLayers": "Noy hay capas a las que poder preguntar", "identifyRevGeocodeHeader": "Coordenadas", "identifyShowCoordinateEditor": "Mostrar editor de coordenadas", @@ -515,32 +515,32 @@ "title": "Ooops! Algo va mal", "text": "Un error se ha producido durante esta GetFeatureInfo petición" }, - "noFeatureInfo": "No hay información disponible para el punto clicado", - "noInfoForLayers": "No hay features para las siguientes capas: ", + "noFeatureInfo": "No hay información disponible en el punto señalado", + "noInfoForLayers": "No hay características para las siguientes capas: ", "history":{ - "barLabel": "Historico del mapa", + "barLabel": "Histórico del mapa", "undoBtnTooltip": "Ir hacia atrás", "redoBtnTooltip": "Ir hacia adelante" }, - "infoFormatLbl": "Indentificar el formato de respuesta", + "infoFormatLbl": "Identificar el formato de respuesta", "measureSupport": { "continueLine": "Haga clic para seguir dibujando la línea", "continuePolygon": "Haga clic para continuar dibujando el polígono", "startDrawing": "Haga clic para comenzar a dibujar" }, "measureComponent": { - "Measure": "Medidas", - "MeasureLength": "Medias de distancia", - "MeasureArea": "Medidas de área", - "MeasureBearing": "Medias de rumbo", - "tooltip": "Medidas de distancias, áreas y coordenadas", - "title": "Medidas", + "Measure": "Medir", + "MeasureLength": "Medir distancia", + "MeasureArea": "Medir área", + "MeasureBearing": "Medir azimut", + "tooltip": "Medir distancias, áreas y azimut", + "title": "Medir", "lengthButtonText": "Línea", "areaButtonText": "Área", "resetButtonText": "Reset", "lengthLabel": "Longitud", "areaLabel": "Área", - "bearingLabel": "Rumbo", + "bearingLabel": "Azimut", "formula": "Fórmula para cálculo de distancia", "showLabel": "Mostrar etiqueta de medición" }, @@ -551,7 +551,7 @@ "addressSearch": "Buscar por nombre de ubicación", "coordinatesSearch": "buscar por coordenadas", "searchservicesbutton": "Configurar los servicios de búsqueda", - "configpaneltitle": "Crear / modificar un sercio de búsqueda", + "configpaneltitle": "Crear / modificar un servicio de búsqueda", "serviceslistlabel": "Servicios disponibles", "overriedservice": "Servicios por defecto excedentarios", "addbtn": "Añadir", @@ -569,59 +569,58 @@ "s_layer": "Capa", "s_attributes": "Atributos", "s_sort": "Ordenado por", - "s_max_features": "Max features", - "s_wfs_props_label" : "WFS propiedades del servicio", + "s_max_features": "Máximo de características", + "s_wfs_props_label" : "Propiedades del servicio WFS", "s_wfs_opt_props_label" : "Propiedades opcionales", "s_result_props_label": "Resultados de la visualización de las propiedades", - "s_priority_info": "Usado para ordenar los resultados de búsqueda, de mayor a menor. Les resultados Nominatim tienen prioridad = 5", - "serviceslistempty": "Ningún servicio personalizado definido", + "s_priority_info": "Usado para ordenar los resultados de búsqueda, de mayor a menor. Los resultados Nominatim tienen prioridad = 5", + "serviceslistempty": "No se ha definido ningún servicio personalizado", "service_missing": "el servicio {serviceType} no está configurado", "generic_error": "Se ha producido un error durante la búsqueda. Error de detalles: {message}" - }, "drawLocal": { "draw": { "toolbar": { "actions": { - "title": "Cancelar lo pintado", + "title": "Cancelar lo dibujado", "text": "Cancelar" }, "undo": { - "title": "Borrar el último punto pintado", + "title": "Borrar el último punto dibujado", "text": "Borrar el último punto" }, "buttons": { - "polyline": "Trazar una línea", - "polygon": "Trazer un polígono", - "rectangle": "Trazar un rectangulo", - "circle": "Trazar un círculo", - "marker": "Pintar un punto" + "polyline": "Dibujar una línea", + "polygon": "Dibujar un polígono", + "rectangle": "Dibujar un rectángulo", + "circle": "Dibujar un círculo", + "marker": "Dibujar un marcador" } }, "handlers": { "circle": { "tooltip": { - "start": "Pinchar y arrastrar para trazar un círculo." + "start": "Pinchar y arrastrar para dibujar un círculo." } }, "marker": { "tooltip": { - "start": "Pichar para pintar un punto." + "start": "Pichar para dibujar un marcador." } }, "polygon": { "tooltip": { - "start": "Pinchar para comenzar a pintar una figura.", - "cont": "Pinchar para continuar pintando la figura.", - "end": "Pinchar en el último punto para acabar la figura." + "start": "Pinchar para comenzar a dibujar un polígono.", + "cont": "Pinchar para continuar el polígono.", + "end": "Pinchar en el último punto para acabar el polígono." } }, "polyline": { - "error": "Error: Los bodes de la figura no se pueden cruzar!", + "error": "Error: ¡Los bordes de la línea no se pueden cruzar!", "tooltip": { - "start": "Pinchar para empezar a trazar une línea.", - "cont": "Pinchar continuar pintando la línea.", - "end": "Pinchar el último punto para terminar la traza." + "start": "Pinchar para empezar a dibujar una línea.", + "cont": "Pinchar para continuar la línea.", + "end": "Pinchar el último punto para terminar la línea." } }, "rectangle": { @@ -631,7 +630,7 @@ }, "simpleshape": { "tooltip": { - "end": "Soltar el ratón para terminar de pintar." + "end": "Soltar el ratón para terminar de dibujar." } } } @@ -644,7 +643,7 @@ "text": "Guardar" }, "cancel": { - "title": "Cancelar la edición, descartar todos los cambios.", + "title": "Cancelar la edición, y descartar todos los cambios.", "text": "Cancelar" } }, @@ -658,13 +657,13 @@ "handlers": { "edit": { "tooltip": { - "text": "Desplazar las líneas de puntos, o el punto para modificar la feature.", + "text": "Desplazar las líneas de puntos, o el punto para modificar la característica.", "subtext": "Pinchar en deshacer para anular los cambios" } }, "remove": { "tooltip": { - "text": "Pinchar en la feature para borrarla." + "text": "Pinchar en la característica para borrarla." } } } @@ -678,44 +677,44 @@ "outsideMapBoundsMsg": "Parece que está situado fuera del mapa" }, "zoombuttons": { - "zoomInTooltip": "Aumentar", - "zoomOutTooltip": "Disminuir", - "zoomAllTooltip": "Ajustar la máxima extensión" + "zoomInTooltip": "Acercar", + "zoomOutTooltip": "Alejar", + "zoomAllTooltip": "Ajustar a la máxima extensión" }, "fullscreen": { "tooltipActivate": "Cambiar a pantalla completa", - "tooltipDeactivate": "Quitar pantalla completa", - "viewLargerMap": "Vista de mapa grande" + "tooltipDeactivate": "Salir de pantalla completa", + "viewLargerMap": "Vista de mapa en grande" }, "helptexts": { "scaleBox": "Esta es la ayuda para ScaleBox", "zoomToMaxExtentButton": "Este es helptext para ZoomToMaxExtentButton", "zoomIn": "Esta es la ayuda para ZoomIn", "zoomOut": "Esta es la ayuda para ZoomOut", - "searchBar": "Escriba la dirección de un lugar para encontrar. pe: '1st avenue, new york'. A si mismo, puede introduccir las coordenadas en este formato: 43.87,10.20", + "searchBar": "Escriba la dirección de un lugar para encontrar. pe: '1st avenue, new york'. También, puede introducir las coordenadas en este formato: 43.87,10.20", "metadataexplorer": "Esta es la ayuda para MetadataExplorer", - "settingsPanel": "Esta es la ayuda para SettingsPanel", - "gohome": "Esta es la ayuda Home", - "measureComponent": " MeasureComponent", - "backgroundSwitcher": "Esta es la ayuda para BackgroundSwitcher", - "layerSwitcher": "Esta es la ayuda para LayerSwitcher", - "infoButton": "Esta es la ayuda para InfoButton", - "locateBtn": "Esta es la ayuda para LocateBtn", + "settingsPanel": "Esta es la ayuda para el panel de configuración", + "gohome": "Esta es la ayuda Inicio", + "measureComponent": " Herramientas para medir", + "backgroundSwitcher": "Esta es la ayuda para el selector de capa de fondo", + "layerSwitcher": "Esta es la ayuda para el selector de capa", + "infoButton": "Esta es la ayuda para el botón de Información", + "locateBtn": "Esta es la ayuda para el botón Localízame", "snapshot": "Esta es la ayuda para Snapshot", - "print": "Esta es la ayuda para Print", + "print": "Esta es la ayuda para imprimir", "shapefile": "Esta es la ayuda para Shapefile", "rasterstyler": "Definir un valor mínimo, máximo, número de classe y una gama de color para generar un nueva clasificación de raster", "expandToolbar": "Esta es la ayuda para Expand / Collapse", - "historyundo": "Utilize este botón para volver a la extensión y posición anterior", - "historyredo": "Utilize este botón para volver a la extensión y posición siguiente", - "vectorstyler": "Añadir regla y crear un stilo pour la capa vectorielle sélectionnée", - "styler": "Añadir regla y crar un stilo para la capa seleccionada" + "historyundo": "Utilice este botón para volver a la extensión y posición anterior", + "historyredo": "Utilice este botón para volver a la extensión y posición siguiente", + "vectorstyler": "Añadir regla y crear un estilo para la capa vectorial seleccionada", + "styler": "Añadir regla y crear un estilo para la capa seleccionada" }, "queryform": { "title": "Búsqueda avanzada", - "query": "Bésqueda", - "reset": "Reset", - "query_request_exception": "Error de búsqueda", + "query": "Búsqueda", + "reset": "Eliminar filtros", + "query_request_exception": "Error en la búsqueda", "config": { "load_config_exception": "Error cargando configuración" }, @@ -727,48 +726,48 @@ "header": "Buscar en el conjunto de datos", "dataset_header": "Conjunto de datos" }, - "emptyfilter": "Sin filtro. La cosulta puede expirar si la páginición no está activada en el servidor.", + "emptyfilter": "Sin filtro. La consulta puede expirar si la páginición no está activada en el servidor.", "attributefilter":{ "add_condition": " Añadir una condición", "delete": " Borrar", "add_group": " Añadir un grupo", - "group_label_a": "Match", + "group_label_a": "Coincidencia con", "group_label_b": "de las siguientes condiciones:", "combo_placeholder": "Atributo", - "text_placeholder": "Introduza el texto para buscar", + "text_placeholder": "Introduzca el texto para buscar", "attribute_filter_header": "Filtro por atributo", "tooltipTextField": "utiliza * para cualquier carácter
utiliza . para un solo carácter
utiliza ! para caracteres especiales (* y .)
", "groupField": { - "any": "alguno", - "all": "todos", - "none": "ninguno" + "any": "alguna", + "all": "todas", + "none": "ninguna" }, "numberfield": { "isRequired": "campo requerido", - "wrong_range": "El límite inferior a de ser más pequeño que el superior" + "wrong_range": "El límite inferior ha de ser más pequeño que el superior" }, "datefield": { "wrong_date_range": "La fecha de comienzo ha de ser anterior a la de fin" }, "autocomplete": { "emptyList": "Ningún resultado", - "emptyFilter": "El filtro no ha devulto resultado", + "emptyFilter": "El filtro no ha devuelto ningún resultado", "open": "Abrir el menú" } }, "spatialfilter": { "filterType": "Tipo de filtro", "geometric_operation": "Operación geométrica", - "combo_placeholder": "Select...", - "spatial_filter_header": "Region de interes", - "remove": "Retirar", + "combo_placeholder": "Seleccionar...", + "spatial_filter_header": "Región de interés", + "remove": "Quitar", "draw_start_label": "Dibuje la región de interés en el mapa", "dwithin_label": "metros", "details": { "detail_button_label": "Detalles", - "details_header": "Detalles de la seleción", - "details_bbox_label": "Editar las coordenadas para modidicar el área", - "details_circle_label": "Editar los campos numéricos para modificar el rádio y el centro del círculo", + "details_header": "Detalles de la selección", + "details_bbox_label": "Editar las coordenadas para modificar el área", + "details_circle_label": "Editar los campos numéricos para modificar el radio y el centro del círculo", "reset_bbox": "Reset", "save_bbox": "Guardar los cambios", "save_radius": "Guardar los cambios", @@ -776,7 +775,7 @@ }, "methods": { "zone": "Zona", - "viewport": "Viewport", + "viewport": "Vista actual", "regions": "Regiones", "box": "Rectángulo", "buffer": "Buffer", @@ -785,8 +784,8 @@ "cql": "CQL" }, "operations": { - "intersects": "intersecciona", - "bbox": "BoundingBox", + "intersects": "Intersecta", + "bbox": "Caja límite", "contains": "Está contenido", "dwithin": "Distancia desde", "within": "Contiene" @@ -804,27 +803,27 @@ } }, "user":{ - "login": "Login", - "logout": "Logout", + "login": "Iniciar sesión", + "logout": "Cerrar sesión", "info": "Información sobre la cuenta", "details": "Detalles del usuario", "noAttributesMessage": "No hay información sobre la cuenta", "changePwd": "Cambiar la contraseña", "newPwd": "Nueva contraseña", "retypePwd": "Confirme la contraseña", - "passwordMinlenght": "La clave ha de ser de almenos {minSize} carácteres", - "passwordCheckFail": "!Las claves no se corresponden!", + "passwordMinlenght": "La clave tiene que tener al menos {minSize} carácteres", + "passwordCheckFail": "¡Las claves no coinciden!", "passwordInvalid": "Clave incorrecta", "username": "Nombre de usuario", "password": "Clave", "passwordMessage": "La contraseña debe contener al menos 6 caracteres", - "passwordChanged": "Clave cambiada", + "passwordChanged": "Clave actualizada", "passwordError": "Error en el cambio de clave", "signIn":"Login", "loginFail":"Error de autenticación", "loginFailedStatusMessages": { - "usernamePwdInsert": "Por favor, intoduzca su clave y contraseña", - "usernamePwdIncorrect":"Ususario o clave incorrectos" + "usernamePwdInsert": "Por favor, introduzca su clave y contraseña", + "usernamePwdIncorrect":"Usuario o clave incorrectos" }, "detailsName": "Nombre", "detailsRole": "Rol", @@ -838,7 +837,7 @@ "remove": "Borrar", "save": "Guardar", "cancel": "Cancelar", - "back": "Espalda", + "back": "Volver", "addMarker": "Añadir un nuevo punto en el mapa", "styleGeometry": "Elige un estilo diferente para los puntos", "deleteGeometry": "Eliminar puntos existentes", @@ -871,15 +870,15 @@ "roleTitle": "Rol", "saveUser": "Guardar", "savingUser": "guardando...", - "userSaved": "!Guardado!", + "userSaved": "¡Guardado!", "createUser": "Crear", "creatingUser": "Creando...", - "userCreated": "!Creado!", + "userCreated": "¡Creado!", "deleting": "Borrando...", "delete": "Borrar", "confirmDeleteUser": "¿Está seguro de borrar el usuario?", - "errorDelete": "A ocurrido un error al borrar el usuario:", - "errorSaving": "A ocurrido un error al guardar el usuario:", + "errorDelete": "Ha ocurrido un error al borrar el usuario:", + "errorSaving": "Ha ocurrido un error al guardar el usuario:", "selectedGroups": "GRUPOS SELECCIONADOS", "requiredFiedsMessage": "Se requiere llenar campos marcados con asterisco (*)" }, @@ -903,22 +902,22 @@ "groupMembers": "Miembros:", "addMember": "Añadir un miembro:", "noUsers": "El grupo no tiene usuarios", - "errorSaving": "A ocurrido un error al guardar el grupo", - "errorDelete": "A ocurrido un error al borrar el grupo", + "errorSaving": "Ha ocurrido un error al guardar el grupo", + "errorDelete": "Ha ocurrido un error al borrar el grupo", "confirmDeleteGroup": "¿Está seguro de borrar el grupo?" }, "share":{ "title": "Compartir", "titlePanel": "Compartir el mapa", - "socialIntro": "via su red social favorita", - "directLinkTitle": "Via un enlace directo", + "socialIntro": "A través de su red social favorita", + "directLinkTitle": "A través de un enlace directo", "social": "Social", "direct": "Enlace", "code": "Embebido", - "embeddedLinkTitle": "Via le código embebido", + "embeddedLinkTitle": "A través de código embebido", "forceDrawer": "Mostrar el contenido", - "apiLinkTitle": "Via APIs", - "QRCodeLinkTitle": "código qr", + "apiLinkTitle": "A través de APIs", + "QRCodeLinkTitle": "Código QR", "msgCopiedUrl": "Url Copiada", "msgToCopyUrl": "Pinche para copiar", "sharedTitle": "Mira mi nuevo mapa: ", @@ -928,26 +927,26 @@ "wrongBboxParamMessage": "bbox params debe estar en EPSG:4326 y escrito como bbox=minx,miny,maxx,maxy" }, "snapshot": { - "title": "Previsualisación de la captura del mapa", + "title": "Previsualización de la captura del mapa", "save": "Guardar", "tooltip": "Guardar una imagen del mapa.", - "googleBingError": "las capas Google y Bing no estan disponibles para la captura de imagen por razones legales.", + "googleBingError": "las capas Google y Bing no están disponibles para la captura de imagen por razones legales.", "downloadingSnapshots": "esperando la generación de la imagen", "date": "Fecha", "layers": "Capas", - "size": "Tamañon", - "notsupported": "Captura de imagen no supportada", - "taintedMessage": "La funcionalidad de guardar está limitada por las restricciones de seguridad del navegador. Para un mejor resultado, clique con el botón derecho del ratón en la vista previa y selecionar 'Guardar como ...' (en firefox y chrome)" + "size": "Tamaño", + "notsupported": "Captura de imagen no soportada", + "taintedMessage": "La funcionalidad de guardar está limitada por las restricciones de seguridad del navegador. Para un mejor resultado, clique con el botón derecho del ratón en la vista previa y seleccionar 'Guardar como ...' (en firefox y chrome)" }, "shapefile": { - "title": "Añadir fichero archivo local", - "tooltip": "Añadir fichero archivo local al mapa.", - "placeholder": "Ponga aqui sus fichero o clique para selecionar los archivo local a importar. (archivos compatibles: Shapefiles deben estar dentro de un zip, KML/KMZ e GPX)", + "title": "Añadir fichero en local", + "tooltip": "Añadir fichero en local al mapa.", + "placeholder": "Arrastre aquí sus ficheros o haga clic aquí para seleccionar los archivos locales a importar. Archivos compatibles: Shapefiles (que deben estar dentro de un zip), KML/KMZ y GPX", "defaultStyle": "Estilo por defecto", "zoom": "Zoom sobre el fichero shape", "error": { - "select": "Seleccionar uno o más archivo local. (archivos compatibles: Shapefiles deben estar dentro de un zip, KML/KMZ e GPX)", - "shapeFileParsingError": "No se puede cargar el archivo local El archivo podría dañarse o no estar bien formado", + "select": "Seleccionar uno o más archivos locales. (archivos compatibles: Shapefiles deben estar dentro de un zip, KML/KMZ e GPX)", + "shapeFileParsingError": "No se puede cargar el archivo local. El archivo podría estar dañado o no estar bien formado", "genericLoadError": "No se puede cargar el archivo local en el mapa", "missingPrj": "Falta información de proyección (.prj), se supone que el sistema de coordenadas es EPSG: 4326" }, @@ -963,8 +962,8 @@ "tooltip": "Buscar en el catálogo", "addToMap": "Añadir al mapa", "getWMSLink": "Enlace WMS", - "error": "A ocurrido un error cargando los datos del catálogo", - "pageInfo": "{start}-{end} resultados desde {total}", + "error": "Ha ocurrido un error cargando los datos del catálogo", + "pageInfo": "{start}-{end} resultados de {total}", "resultInfo": "{total, plural, =0 No hay artículos} =1 {{total} artículo de {total}} other {{start}-{end} de {total}}}", "pageInfoInfinite": "{total, plural, =undefined {} =0 {No hay resultados} =1 {{total} de {total} emparejados} other {Cargado {loaded} de {total} emparejados}}", "noRecordsMatched": "Ningún resultado encontrado", @@ -972,7 +971,7 @@ "wfsGetCapLink": "WFS", "share": "Compartir", "copyToClipboard": "Copiar en el portapapeles", - "copied": "!Copiado!", + "copied": "¡Copiado!", "textSearchPlaceholder": "texto a buscar...", "search": "Buscar", "delete": "Borrar", @@ -987,11 +986,11 @@ "type": "Tipo", "serviceTitle": "Título", "serviceTitlePlaceholder": "escribe un título", - "missingReference": "Metadatos de referencia OGC faltantes", + "missingReference": "Faltan metadatos de referencia OGC", "showDescription": "Mostrar descripción completa", "hideDescription": "Ocultar descripción completa", "notification": { - "warningAddCatalogService": "Insertar una url y un título válidos", + "warningAddCatalogService": "Introduzca una url y un título válidos", "addCatalogService": "Servicio añadido correctamente", "duplicatedServiceTitle": "Ya existe un servicio con ese título, Por favor, cambie el título", "serviceDeletedCorrectly": "El servicio se ha eliminado correctamente", @@ -1005,78 +1004,78 @@ "filesize": "Tamaño", "beforeUpload": "Haciendo operaciones de precarga ... ", "uploadingFiles": "Cargando Ficheros ...", - "dropfile": "deje caer los ficheris aquí para subirlos", - "dropfileImport": "deje caer aquí los ficheros para añadir a este proceso" + "dropfile": "Arrastre aquí los ficheros para subirlos", + "dropfileImport": "Arrastre aquí los ficheros para añadirlos a este proceso" }, "importer": { - "title": "Importar los datos", - "imports": "Proceso de importación", - "importN": "Proceso {id}", - "creatingImportProcess": "Creacion de importación ...", - "dropfile": "deje caer los ficheros aqui para un proceso de importación", - "dropfileImport": "deje caer aquí los ficheros para añadir a este proceso", - "process": "Proceso", + "title": "Importar datos", + "imports": "Importar sesiones", + "importN": "Sesión {id}", + "creatingImportProcess": "Creando sesión de importación ...", + "dropfile": "Arrastre aquí los ficheros para crear una sesión de importación", + "dropfileImport": "Arrastre aquí los ficheros para añadirlos a esta sesión", + "process": "Sesión", "number": "#", "workspace": { "create": "Crear", "createWS": "crear un nuevo espacio de trabajo:", - "target": "Objetivo espacio de trabajo", + "target": "Espacio de trabajo destino:", "failure": "Error en la creación del espacio de trabajo: {statusWS}", "success": "Espacio de trabajo {statusWS} creado satisfactoriamente", - "select": "Seleccione el espacio de trabajo objectivo", + "select": "Seleccione el espacio de trabajo destino", "new": "Nuevo..." }, "import": { "actions": "Acciones", - "tasks": "tarea", - "runImport": "Empezar", - "deleteImport": "Borrar proceso", + "tasks": "Paquetes", + "runImport": "Ejecutar", + "deleteImport": "Borrar sesión", "deleteTask": "Borrar", "status": "Estado", "archive": "Archivos", "deleting": "Borrando ...", - "analyzing": "Analizando tarea...", + "analyzing": "Analizando paquetes...", "applyingPreset": "Estableciendo predeterminado ..." }, "task": { - "panelTitle": "Tarea {id}", - "general": "General Info", + "panelTitle": "Importar paquete {id}", + "general": "Información General", "status": "Estado", - "updateMode": "Mode de actualización", - "originalData": "fichero original", + "updateMode": "Modo de actualización", + "originalData": "Fichero original", "file": "Nombre del fichero", "format": "Formato", - "targetStore": "almacen objetivo", - "storeType": "Tipo de objectivo", + "targetStore": "Almacén de destino", + "storeType": "Tipo de destino", "storeName": "Nombre del almacén", "layer": "Capa", "transforms": "Cadena de transformaciones", "update": "Actualizar", - "run": "Ejecutar", + "run": "Importar este paquete", "edit": "Modificar el estilo por defecto", - "delete": "Borrar la tarea" + "delete": "Borrar este paquete" }, "transform": { "panelTitle": "Transformación {id}", "type": "Tipo de transformación", "actions": "Acciones", - "options": "opciones de transformacion", + "options": "Opciones de transformación", "overviewlevels": "Vista de los niveles", "delete": "Borrar esta transformación" } }, "rasterstyler": { - "tooltip": "Crear y editar un estilo para una capa raster", - "paneltitle": "Editor de estilo para raster", + "tooltip": "Crear y editar un estilo para una capa ráster", + "paneltitle": "Editor de estilo para ráster", "layerlabel": "Capa", - "typelabel": "Tipo de stilo", + "typelabel": "Tipo de estilo", "opacitylabel": "Opacidad", "redtitle": "Rojo", "greentitle": "Verde", "bluetitle": "Azul", "graytitle": "Gris", "pseudobandtitle": "Selección de banda", - "eqinttitle": "Clasifiación por intervalo regular", + "eqinttitle": "Clasificación por intervalos iguales", "pseudotitle": "Ajustes pseudo-colores", "applybtn": "Aplicar el estilo" }, @@ -1103,8 +1102,8 @@ "equalinterval": { "min": "Min", "max": "Max", - "classes": "Classes", - "ramp": "Gama de colorees", + "classes": "Clases", + "ramp": "Gama de colores", "classify": "Clasificación", "maxerror": "El valor máximo debe ser superior al mínimo", "minerror": "El valor mínimo ha de ser inferior al máximo" @@ -1117,8 +1116,8 @@ }, "pseudocolorsettings": { "type": "Tipo", - "extended": "Entendido", - "colormap": "Taba de colores", + "extended": "Extendido", + "colormap": "Tabla de colores", "add": "Añadir entrada", "remove": "Quitar una entrada" }, @@ -1126,7 +1125,7 @@ "rgb": "Rojo Verde Azul", "gray": "Escala de gris", "pseudo": "Color Falso", - "multi": "Bandas multiples", + "multi": "Bandas múltiples", "single": "Banda simple" }, "featuregrid": { @@ -1139,7 +1138,7 @@ "backtosearch": "Volver a la búsqueda", "resultInfo": "{total, plural, =0 {nada} =1 {{total} de {total}} other {{start}-{end} de {total}}}", "resultInfoVirtual": "{total, plural, =0 {nada} =1 {{total} de {total}} other { {total}}}", - "pageInfo": "{totalPages, plural, =0 {ningúna Página} =1 {Página {totalPages} de {totalPages}} other {Seite {page} de {totalPages}}}", + "pageInfo": "{totalPages, plural, =0 {ninguna Página} =1 {Página {totalPages} de {totalPages}} other {Página {page} de {totalPages}}}", "pagination": { "page": "Página", "of": "de", @@ -1149,15 +1148,15 @@ "noFeaturesAvailable": "No hay resultados disponibles", "errorSaving": "Se ha producido un error al guardar la operación", "errorProjFetch": "Error al recuperar la definición de la cadena proj4 de spatialreference.org. La herramienta de sincronización no puede aplicar el filtro espacial.", - "notSupportedGeometryTitle": "Geometry type not supported ", - "notSupportedGeometry": "Current layer geometry type is not supported by editing but you can still edit attributes", + "notSupportedGeometryTitle": "Tipo de geometría no soportada ", + "notSupportedGeometry": "El tipo de geometría de la capa actual no está soportado para editar, pero sí es posible editar los atributos.", "yesButton": "Si", "noButton": "No", "deleteButton": "Borrar", - "clear": "Seguro que desea deshacer todos los cambios realizados?", - "featureClose": "Realmente desea cerrar la parrilla?", - "delete": "Confirmar para eliminar los elementos?", - "missingGeometry": "Missing geometry", + "clear": "¿Seguro que desea deshacer todos los cambios realizados?", + "featureClose": "¿Realmente desea cerrar la tabla?", + "delete": "¿Confirma la eliminación de {count} características?", + "missingGeometry": "Geometría no encontrada", "filter": { "placeholders": { "default": "Buscar...", @@ -1174,8 +1173,8 @@ }, "toolbar": { "synchPopoverTitle": "Sincronizar mapa con filtro ", - "synchPopoverText": "Use esta herramienta para sincronizar el mapa con el filtro seleccionado", - "notShowAgain": " No mostrar este mensaje otra vez", + "synchPopoverText": "Utilice esta herramienta para sincronizar el mapa con el filtro seleccionado", + "notShowAgain": " No mostrar este mensaje de nuevo", "editMode": "Modo de edición", "advancedFilter": "Búsqueda avanzada", "quitEditMode": "Salir del modo de edición", @@ -1200,7 +1199,7 @@ "title": "Exportar los datos", "format": "Formato de fichero", "srs": "Sistema de referencia espacial", - "export": "Exportaciones", + "export": "Exportar", "downloadonlycurrentpage": "Descargar la página actual", "error": { "title": "Error en la exportación", @@ -1215,19 +1214,19 @@ }, "legend": { "title": "Leyenda", - "caption": "add a legend" + "caption": "agregar una leyenda" }, "chart": { "title": "Gráfico", - "caption": "agregar una leyenda" + "caption": "agregar un gráfico" }, "text": { "title": "Texto", "caption": "agregar un área de texto" }, "table": { - "title": "Mesa", - "caption": "agregar una mesa" + "title": "Tabla", + "caption": "agregar una tabla" }, "counter": { "title": "Contador", @@ -1256,7 +1255,7 @@ "noLegend": "No hay elementos de leyenda para mostrar", "noLegendDescription": "El mapa conectado no tiene capas para mostrar en la leyenda", "nodatainviewport": "Sin datos en la ventana gráfica actual", - "timeoutExpired": "El servicio tomó demasiado tiempo para responder. Tal vez la consulta es demasiado compleja o el servidor está ocupado", + "timeoutExpired": "El servicio tardó demasiado tiempo para responder. Tal vez la consulta es demasiado compleja o el servidor está ocupado", "genericError": "Hubo un error durante la recuperación de datos" }, "builder": { @@ -1266,7 +1265,7 @@ "wizard": { "backToTypeSelection": "Volver a la selección de tipo", "backToWidgetTypeSelection": "Volver a la selección del tipo de widget", - "backToFeatureGrid": "Volver a la grilla de características", + "backToFeatureGrid": "Volver a la tabla de atributos", "backToLayerSelection": "Volver a la selección de capas", "backToMapSelection": "Volver a la selección del mapa", "backToPreview": "Volver a vista previa", @@ -1275,13 +1274,13 @@ "selectAMap": "Seleccionar un mapa", "configureChartOptions": "Configurar opciones de gráfico", "configureWidgetOptions": "Configurar las opciones del widget", - "backToTableOptions": "Volver a las opciones de mesa", + "backToTableOptions": "Volver a las opciones de tabla", "configureTableOptions": "Configurar opciones de tabla", "resetColumnsSizes": "Restablecer todos los cambios en los tamaños de columna", "updateWidget": "Actualiza el widget", "addTheWidget": "Agrega el widget", - "titlePlaceholder": "Ingrese el título...", - "textPlaceholder": "Ingresar texto...", + "titlePlaceholder": "Introduzca el título...", + "textPlaceholder": "Introduzca texto...", "useThisMap": "Usar este mapa", "configureMapOptions": "Configurar opciones de mapa", "preview": "Vista previa", @@ -1309,7 +1308,7 @@ "edit": "Editar", "delete": "Borrar", "collapse": "Contraer", - "confirmDelete": "Está seguro?", + "confirmDelete": "¿Está seguro?", "downloadData": "Descargar datos", "exportImage": "Exportar imagen", "pin": "Alfiler", @@ -1332,14 +1331,14 @@ "caption": "circular" }, "line": { - "title": "Gráfico de linea", + "title": "Gráfico de línea", "description": "Crea un gráfico de líneas para agregar al mapa", "caption": "linea" }, "gauge": { - "title": "Indicatores", - "description": "Crea una tabla de indicadores para agregar a la ma", - "caption": "indicatores" + "title": "Indicadores", + "description": "Crea una tabla de indicadores para agregar al mapa", + "caption": "indicadores" } }, "chartOptionsTitle": "Configurar Datos", @@ -1387,7 +1386,7 @@ "counter": "Unidad de medida", "default": "Unidad de medida" }, - "mapSync": "Filtro en vivo por la Viewport", + "mapSync": "Filtro dinámico por extensión de la vista actual", "displayLegend": { "line": "Mostrar leyenda", "pie": "Mostrar leyenda", @@ -1425,38 +1424,38 @@ } }, "dashboard": { - "loadingSpinner": "Panel de carga", + "loadingSpinner": "Cargando panel de control", "saveDialog": { - "title": "Editar propiedades del tablero", + "title": "Editar propiedades del panel de control", "name": "Nombre", "description": "Descripción", "namePlaceholder": "Escriba un nombre ...", "descriptionPlaceholder": "Escriba una descripción ...", - "confirmCloseText": "Hay cambios pendientes, ¿está seguro de que quiere cerrar sin guardar?", - "close": "Cerca", + "confirmCloseText": "Hay cambios pendientes, ¿está seguro que quiere cerrar sin guardar?", + "close": "Cerrar", "cancel": "Cancelar", "saveSuccessTitle": "éxito", "saveSuccessMessage": "Panel de control guardado con éxito" }, "errors":{ "loading": { - "title": "Error al cargar el tablero", + "title": "Error al cargar el panel de control", "dashboardNotAccessible": "No tiene permiso para acceder a este panel. Póngase en contacto con el propietario del recurso", "pleaseLogin": "Este panel no es público. Intente iniciar sesión", "dashboardDoesNotExist": "El panel al que intenta acceder no existe", "unknownError": "Hubo un error al cargar el panel. Póngase en contacto con el administrador", - "notFound": "Tablero no encontrado", - "notAccessible": "Tablero no accesible" + "notFound": "Panel de control no encontrado", + "notAccessible": "Panel de control no accesible" }, "resourceAlreadyExists": "Ya existe un recurso con este nombre. try '{data}'" }, "editor": { - "save": "Guardar el tablero", - "addACardToTheDashboard": "Agregar un widget al tablero", + "save": "Guardar el panel de control", + "addACardToTheDashboard": "Agregar un widget al panel de control", "showConnections": "Mostrar conexiones", "hideConnections": "Ocultar conexiones" }, - "emptyTitle": "El tablero está vacío" + "emptyTitle": "El panel de control está vacío" }, "wizard": { "next": "Siguiente", @@ -1468,7 +1467,7 @@ "paneltitle": "Estilo de la capa", "layerlabel": "Capa", "rulelabel": "Reglas", - "namelabel": "Nombe de la regla", + "namelabel": "Nombre de la regla", "symboltitle": "Símbolo", "labeltitle": "Etiqueta", "conditiontitle": "Condiciones", @@ -1478,7 +1477,7 @@ }, "scaledenominator": { "minlabel": "Denominador de escala mínima", - "maxlabel": "Denominador de escala máximum", + "maxlabel": "Denominador de escala máxima", "maxerror": "El valor máximo debe ser superior al mínimo", "minerror": "El valor mínimo debe ser inferior al máximo", "none": "Ninguno" @@ -1500,11 +1499,11 @@ "styleListfilterPlaceholder": "Filtrar estilos por nombre, título o resumen.", "templateFilterPlaceholder": "Filtrar plantillas de estilos por título", "createStyleFromTemplate": "Seleccione una plantilla para crear un nuevo estilo", - "titleRequired": "
¡Se requiere título!
El título y el resumen deben ser alfanuméricos
", + "titleRequired": "
¡Se requiere un título!
El título y el resumen deben ser alfanuméricos
", "titleSettings": "Título", "titleSettingsplaceholder": "Introduzca el título (alfanumérico)", "abstractSettings": "Resumen", - "abstractSettingsplaceholder": "Introduzca resumen (alfanumérico)", + "abstractSettingsplaceholder": "Introduzca un resumen (alfanumérico)", "createStyleModalTitle": "Crear nuevo estilo", "filterMatchNotFound": "No hay estilos que coincidan con el filtro de texto introducido", "backToList": "Volver a la lista de estilos", @@ -1518,12 +1517,12 @@ "deleteStyleAlertTitle": "Eliminar estilo", "deleteStyleAlert": "El estilo seleccionado será eliminado permanentemente", "delete": "Borrar", - "defaultStyle": "Estilo por Defecto", + "defaultStyle": "Estilo por defecto", "availableStyle": "Estilo disponible", "styleNotFound": "Estilo no encontrado", "noPermission": "El usuario no puede editar estilos", "deletedStyleSuccessTitle": "Eliminar estilo", - "deletedStyleSuccessMessage": "El estilo ha sido eliminado exitosamente.", + "deletedStyleSuccessMessage": "El estilo ha sido eliminado.", "deletedStyleErrorTitle": "Eliminar error de estilo", "deletedStyleErrorMessage": "No se pudo eliminar el estilo actual", "savedStyleTitle": "Estilo guardado", @@ -1552,17 +1551,17 @@ "title": "Ajustes de reproducción", "frameDuration": "Duración del marco", "range": { - "title": "Rabia de animacion", - "zoomTooltip": "Zoom al rango de animación actual", - "animationStart": "Inicio de animacion", - "animationEnd": "Fin de la animacion", - "zoomToCurrentPlayackRange": "Zoom al rango de reproducción actual", - "setToCurrentViewRange": "Establecer en el rango de vista actual", - "fitToSelectedLayerRange": "Ajustar al rango de la capa seleccionada" + "title": "Intervalo de animación", + "zoomTooltip": "Zoom al intervalo actual", + "animationStart": "Inicio de animación", + "animationEnd": "Fin de la animación", + "zoomToCurrentPlayackRange": "Zoom al intervalo de reproducción actual", + "setToCurrentViewRange": "Establecer en el intervalo de vista actual", + "fitToSelectedLayerRange": "Ajustar al intervalo de la capa seleccionada" }, "step": { "tooltip": "Cuando la opción 'Ajustar a la capa de guía' está deshabilitada, puede personalizar el paso de animación", - "label": "Paso de animacion", + "label": "Paso de animación", "year": "{number, plural, =0 {Año} =1 {Año} other {Años}}", "week": "{number, plural, =0 {Semana} =1 {Semana} other {Semanas}}", "day": "{number, plural, =0 {Día} =1 {Día} other {Días}}", @@ -1572,7 +1571,7 @@ }, "mode": { "title": "Modo", - "following": "Sigue la animación", + "following": "Continuar la animación", "followingDescription": "Cuando la animación está activa, sigue el cursor." } }, @@ -1592,17 +1591,17 @@ "hide": "Esconder la línea de tiempo", "show": "Mostrar la línea de tiempo", "currentTime": "Ir a la hora actual", - "rangeStart": "Ir al rango de tiempo actual", - "rangeEnd": "Ir al rango de tiempo actual", + "rangeStart": "Ir al intervalo de tiempo actual", + "rangeEnd": "Ir al intervalo de tiempo actual", "hideLayerName": "Ocultar nombres de capas", "showLayerName": "Mostrar nombres de capas", - "enableRange": "Habilitar rango de tiempo", - "disableRange": "Rango de tiempo de desactivación", + "enableRange": "Activar intervalo de tiempo", + "disableRange": "Desactivar intervalo de tiempo", "enablePlayBack": "Habilitar controles de reproducción", - "disablePlayBack": "Deshabilita los controles de reproducción", + "disablePlayBack": "Deshabilitar los controles de reproducción", "expand" : "Expandir el control deslizante de tiempo", - "collapse" : "colapsar el control deslizante de tiempo", - "collapsed": { + "collapse" : "Minimizar el control deslizante de tiempo", + "collapsed": { "title": "La línea de tiempo ha sido colapsada", "tooltip": "Haga clic aquí para ampliarlo de nuevo." }, @@ -1616,17 +1615,17 @@ "remove": "Eliminar geometría", "resetconstraints": "Restablece las restricciones", "constraintsmsg": "Cambiando concesión, área de trabajo o capa, los detalles serán eliminados. ¿Estás seguro de que quieres hacer eso?", - "defstyle": "Estilo por Defecto", + "defstyle": "Estilo por defecto", "avstyle": "Estilos disponibles", "clearbtn": "Limpiar Todo", "selectbtn": "Seleccionar Todo", "placeholders": { "filter": "Buscar...", "role": "Escriba para buscar Roles", - "user": "Escriba para buscar usuarios", + "user": "Escriba para buscar Usuarios", "service": "Escriba para buscar Servicios", "request": "Escriba para buscar Solicitudes", - "workspace": "Escriba para buscar espacios de trabajo", + "workspace": "Escriba para buscar Espacios de trabajo", "layer": "Escriba para buscar Capas", "access": "Escriba para buscar Acceso", "ip": "###.###.###.###/##", @@ -1636,12 +1635,12 @@ "tooltip": { "addT": "Agregar una regla", "editT": "Editar la regla seleccionada", - "addBeT": "Agregar nueva regla antes de seleccionar", - "addAfT": "Agregar nueva regla después de seleccionar", + "addBeT": "Agregar nueva regla antes de la seleccionada", + "addAfT": "Agregar nueva regla después de la seleccionada", "deleteT": "Eliminar las reglas seleccionadas", "cacheT": "Limpiar cache", - "save": "Salir de crear regla", - "close": "Exit from create rule" + "save": "Guardar la regla actual", + "close": "Salir de crear regla" }, "navItems": { "main": "Regla general", @@ -1658,10 +1657,10 @@ "ip": "IP", "title": "Reglas de acceso", "role": "Rol", - "user": "Ususario", + "user": "Usuario", "priority": "Prioridad", "service": "Servicio", - "request": "Peticion", + "request": "Solicitud", "workspace": "Espacio de trabajo", "layer": "Capa", "filters": "Filtros", @@ -1673,10 +1672,10 @@ "editButton": "Editar", "close": "Cerrar", "previous": "previo", - "next": "próximo", + "next": "siguiente", "cacheCleaned": "Caché limpiada con éxito", "errorTitle": "Geofence", - "errorCQL": "Geometría no válida!", + "errorCQL": "¡Geometría no válida!", "errorCleaningCache": "Error al limpiar la memoria caché geofence.", "errorLoadingRoles": "Error al cargar los roles.", "errorLoadingUsers": "Error al cargar los usuarios.", @@ -1706,14 +1705,14 @@ "skip": "Saltar", "last": "Fin", "start": "Principio", - "checkbox": "No mostrar este mensaje otra vez", + "checkbox": "No volver a mostrar este mensaje", "error": "Error: destino no encontrado", "intro": { "title": "Bienvenido a MapStore2", - "text": "Marco de trabajo para construir aplicaciones de mapas usando librerias estandars, como OpenLayers3 y Leaflet." + "text": "Marco de trabajo para construir aplicaciones de mapas usando librerías estándar, como OpenLayers3 y Leaflet." }, "drawerMenu": { - "title": "Menú pricipal", + "title": "Menú principal", "text": "Puede encontrar información y herramientas para manejar la capa" }, "searchBar": { @@ -1721,8 +1720,8 @@ "text": "Escriba la dirección de un lugar pe:'1st avenue, new york'. Puede incluso introducir coordenadas con el formato: 43.87,10.20" }, "home": { - "title": "Home", - "text": "Click to go to homepage" + "title": "Inicio", + "text": "Hacer clic para ir a la página de inicio" }, "searchButton": { "title": "Buscar", @@ -1733,12 +1732,12 @@ "text": "Puede encontrar opciones, ajustes y ayuda" }, "zoomInButton": { - "title": "Zoom In", - "text": "Cliquea para expandir el mapa" + "title": "Zoom +", + "text": "Haga clic para acercarse en el mapa" }, "zoomOutButton": { - "title": "Zoom Out", - "text": "Clique para reducir el mapa" + "title": "Zoom -", + "text": "Haga clic para alejarse en el mapa" }, "fullscreen": { "title": "Cambiar a pantalla completa", @@ -1749,8 +1748,8 @@ "text": "Presione el botón para activar la herramienta, entonces pinche en el mapa para obtener la información de las capas" }, "mapType": { - "title": "Libreria", - "text": "Puede escoger Leaflet u OpenLayers para rendizar sus mapas" + "title": "Librería", + "text": "Puede escoger Leaflet u OpenLayers para renderizar sus mapas" }, "mapsGrid": { "title": "Mapas", @@ -1758,10 +1757,10 @@ }, "examples": { "title": "Aplicaciones personalizadas", - "text": "Ustes puede usar los componentes y plugins de Mapstore2 para contruir aplicacions personalizadas" + "text": "Pueden usar los componentes y plugins de Mapstore2 para construir aplicaciones personalizadas" }, "introCesium": { - "title": "Intrucciones mapa 3D", + "title": "Instrucciones mapa 3D", "text": "Pinche en el botón siguiente para empezar el tutorial" }, "cesium": { @@ -1769,7 +1768,7 @@ "pan": "Vista panorámica", "zoom": "Vista zoom", "tilt": "Vista inclinada", - "rotate": "Vista rotació", + "rotate": "Vista rotación", "oneDrag": "Arrastrar dedo", "twoPinch": "Pellizco de dos dedos", "twoDragSame": "Arrastre dos dedos, misma dirección", @@ -1781,14 +1780,14 @@ }, "cesiumCompass": { "title": "Brújula", - "text": "Puede usar la brújula para orbitar al rededor del globlo. Arrastre para rotar el mapa" + "text": "Puede usar la brújula para orbitar alrededor del globo. Arrastre para rotar el mapa" }, "cesiumNavigation": { "title": "Navegación", - "text": "Aquí puede encontrar los botones de zoom y zoom out" + "text": "Aquí puede encontrar los botones de zoom + y zoom -" }, "dashboardIntro": { - "title": "Tutorial del tablero", + "title": "Tutorial del panel de control", "text": "Descripción general de las funciones del panel" }, "dashboardNav": { @@ -1796,36 +1795,36 @@ "text": "Aquí puede encontrar el selector de idioma, el inicio de sesión, el enlace de la página de inicio y el menú de opciones" }, "dashboardContainer": { - "title": "Tablero", - "text": "

Un Tablero en MapStore2 proporciona un conjunto de información recopilada adecuadamente para mostrar datos agregados en una vista de un solo disparo. Los datos geoespaciales mostrados en un mapa se pueden colocar uno al lado del otro en tablas de atributos relacionados, cuadros y otros, con el objetivo de conectar diferentes tipos de información, mostrar detalles estadísticos y descripciones textuales relacionadas con un contexto específico.

Todos los usuarios pueden visualizar e interactuar con los paneles publicados, pero solo los usuarios a los que se les permite editar pueden agregar, organizar, cambiar el tamaño o eliminar todos los widgets dentro de un panel

" + "title": "Panel de control", + "text": "

Un panel de control en MapStore2 proporciona un conjunto de información recopilada adecuadamente para mostrar datos agregados en una vista de un solo disparo. Los datos geoespaciales mostrados en un mapa se pueden colocar uno al lado del otro en tablas de atributos relacionados, cuadros y otros, con el objetivo de conectar diferentes tipos de información, mostrar detalles estadísticos y descripciones textuales relacionadas con un contexto específico.

Todos los usuarios pueden visualizar e interactuar con los paneles publicados, pero solo los usuarios a los que se les permite editar pueden agregar, organizar, cambiar el tamaño o eliminar todos los widgets dentro de un panel

" }, "dashboardAddWidget": { "title": "Agregar Widget", - "text": "Para agregar un widget al tablero, puede hacer clic en el botón +" + "text": "Para agregar un widget al panel de control, puede hacer clic en el botón +" }, "dashboardBuilder": { "title": "Crea un nuevo widget", "text": "Puede seleccionar el tipo de widget que desea y luego agregarlo al panel seleccionando uno de los elementos de la lista" }, "dashboardAddChart": { - "title": "Widget de carta", - "text": "

Es un widget que muestra y agrega datos en gráficos circulares, de pie o de barras.

Pasos:

  • Seleccione una capa vectorial
  • Seleccione el tipo de gráfico
  • Configure los datos del gráfico
  • Guarde y agregue al tablero

" + "title": "Widget de gráfico circular", + "text": "

Es un widget que muestra y agrega datos en gráficos circulares, de tarta o de barras.

Pasos:

  • Seleccione una capa vectorial
  • Seleccione el tipo de gráfico
  • Configure los datos del gráfico
  • Guarde y agregue al panel de control

" }, "dashboardAddText": { "title": "Widget de texto", - "text": "

Agregue su propio texto al tablero.

Pasos:

  • Edite texto en el editor
  • Guárdelo y agréguelo al tablero

" + "text": "

Agregue su propio texto al panel de control.

Pasos:

  • Edite texto en el editor
  • Guárdelo y agréguelo al tablero

" }, "dashboardAddTable": { - "title": "Widget de mesa", - "text": "

Agregue una tabla de atributos al tablero que contenga datos de una capa vectorial seleccionada. También puede filtrar datos para personalizar su tabla.

Pasos:

  • Seleccione una capa vectorial
  • Configure table data
  • Guardar y agregar al tablero

" + "title": "Widget de tabla", + "text": "

Agregue una tabla de atributos al panel de control que contenga datos de una capa vectorial seleccionada. También puede filtrar datos para personalizar su tabla.

Pasos:

  • Seleccione una capa vectorial
  • Configure la tabla de datos
  • Guardar y agregar al panel de control

" }, "dashboardAddCounter": { - "title": "Contador Widget", - "text": "

Agregue un nuevo contador al tablero. El contador mostrará los datos de agregación de valores numéricos de una capa vectorial seleccionada.

Pasos:

  • Seleccione una capa vectorial
  • Configure los datos del contador
  • Guardar y agregar al tablero

" + "title": "Widget Contador", + "text": "

Agregue un nuevo contador al panel de control. El contador mostrará los datos de agregación de valores numéricos de una capa vectorial seleccionada.

Pasos:

  • Seleccione una capa vectorial
  • Configure los datos del contador
  • Guardar y agregar al panel de control

" }, "dashboardAddMap": { - "title": "Widget del mapa", - "text": "

Agregue un nuevo mapa interactivo al tablero. Puede agregar más de un mapa con la capacidad de conectar otros widgets a ellos. Después de guardar el primer mapa, el widget de leyenda se agregará a la lista. El widget de leyenda mostrará una leyenda relacionada con el mapa conectado.

Pasos:

  • Seleccione un mapa
  • Mejore el mapa agregando nuevas capas
  • Guarde y agregue al tablero

" + "title": "Widget de mapa", + "text": "

Agregue un nuevo mapa interactivo al panel de control. Puede agregar más de un mapa con la capacidad de conectar otros widgets a ellos. Después de guardar el primer mapa, el widget de leyenda se agregará a la lista. El widget de leyenda mostrará una leyenda relacionada con el mapa conectado.

Pasos:

  • Seleccione un mapa
  • Mejore el mapa agregando nuevas capas
  • Guarde y agregue al panel de control

" } } }