@goodfellow-cms/admin 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/admin-text-sources-BTZJPlVK.js +273 -0
- package/dist/custom-font-faces-DJ2AF2oN.js +526 -0
- package/dist/editor.js +858 -87
- package/dist/entry-values-FcVgwQkJ.js +5005 -0
- package/dist/es-ChxY0KVH.js +2071 -0
- package/dist/es-labels-DBu66eln.js +520 -0
- package/dist/index.d.ts +3 -1467
- package/dist/index.js +9571 -4516
- package/dist/plugin.js +43 -3
- package/dist/strings-CWaRN_0v.d.ts +1999 -0
- package/dist/strings-D94noZrv.js +2018 -0
- package/dist/text.d.ts +52 -0
- package/dist/text.js +22 -0
- package/package.json +16 -6
- package/styles.css +786 -25
- package/dist/entry-values-DO01xZ9L.js +0 -5414
- package/dist/plugin-protocol-DkvBDqsF.js +0 -119
|
@@ -0,0 +1,2071 @@
|
|
|
1
|
+
import { n as labels } from "./es-labels-DBu66eln.js";
|
|
2
|
+
//#endregion
|
|
3
|
+
//#region src/languages/es.ts
|
|
4
|
+
/** The admin panel in Spanish. */
|
|
5
|
+
const spanish = {
|
|
6
|
+
strings: {
|
|
7
|
+
"app.title": "Administración del sitio",
|
|
8
|
+
"app.viewSite": "Ver el sitio",
|
|
9
|
+
"nav.pages": "Páginas",
|
|
10
|
+
"nav.collections": "Colecciones",
|
|
11
|
+
"nav.media": "Multimedia",
|
|
12
|
+
"nav.blocks": "Bloques",
|
|
13
|
+
"nav.layout": "Encabezado y pie",
|
|
14
|
+
"nav.settings": "Ajustes del sitio",
|
|
15
|
+
"nav.menu": "Menú",
|
|
16
|
+
loading: "Cargando…",
|
|
17
|
+
"setup.noBackend": "Los ajustes de este sitio no dicen dónde se guarda, así que el panel de administración no puede abrirlo. Alguien que se ocupe del código tiene que añadir un backend a goodfellow.config.tsx.",
|
|
18
|
+
"signIn.title": "Inicia sesión para editar este sitio",
|
|
19
|
+
"signIn.intro": "El sitio se guarda en {host}. Inicia sesión con una cuenta de {host} que tenga permiso para cambiarlo.",
|
|
20
|
+
"signIn.redirect": "Iniciar sesión con {host}",
|
|
21
|
+
"signIn.orToken": "O inicia sesión con un token de acceso",
|
|
22
|
+
"signIn.token.title": "Iniciar sesión con un token de acceso",
|
|
23
|
+
"signIn.token.step1": "Crea un token de acceso en {host}. Este enlace abre {host} con los ajustes adecuados ya elegidos:",
|
|
24
|
+
"signIn.token.create": "Crear un token en {host}",
|
|
25
|
+
"signIn.token.createBroad": "Crear un token más amplio",
|
|
26
|
+
"signIn.token.createBroadHint": "Úsalo si el sitio pertenece a otra persona y el primer enlace no te deja elegirlo. Este tipo de token puede cambiar todo lo que puede cambiar tu cuenta.",
|
|
27
|
+
"signIn.token.apiTokenHint": "Úsalo si no puedes crear un token para el propio sitio. Pega el correo electrónico de tu cuenta de Atlassian, dos puntos y luego el token, como nombre@example.org:ATATT3x…, y dale al token permiso para leer y escribir el código, las solicitudes de revisión y los pipelines.",
|
|
28
|
+
"signIn.token.chooseSite": "Si {host} pregunta a qué puede acceder el token, elige este sitio.",
|
|
29
|
+
"signIn.token.step2": "Copia el token y pégalo aquí:",
|
|
30
|
+
"signIn.token.label": "Token de acceso",
|
|
31
|
+
"signIn.remember": "Mantener la sesión iniciada en este dispositivo",
|
|
32
|
+
"signIn.rememberHint": "Déjalo desactivado en equipos compartidos o públicos.",
|
|
33
|
+
"signIn.submit": "Iniciar sesión",
|
|
34
|
+
"signIn.checking": "Iniciando sesión…",
|
|
35
|
+
"signIn.error.invalid": "No se pudo iniciar sesión. Comprueba que copiaste el token entero y que no ha caducado.",
|
|
36
|
+
"signIn.error.no-access": "Esa cuenta no puede ver este sitio. Asegúrate de que el token tenga acceso a él.",
|
|
37
|
+
"signIn.error.cant-publish": "Esa cuenta puede ver el sitio, pero no tiene permiso para cambiarlo. Pide a quien sea propietario del sitio que le dé permiso.",
|
|
38
|
+
"signIn.error.redirect-failed": "El inicio de sesión no terminó. Inténtalo de nuevo.",
|
|
39
|
+
"signIn.error.not-installed": "Goodfellow todavía no está instalado en este sitio en {host}, así que no se puede iniciar sesión con {host}. Si el sitio es tuyo, instálalo ahora, lo que también inicia tu sesión. Si no, pídeselo a alguien propietario o inicia sesión con un token de acceso.",
|
|
40
|
+
"signIn.error.no-address": "Para iniciar sesión con {host} hace falta la dirección del sitio en los Ajustes del sitio. Por ahora, inicia sesión con un token de acceso y añade allí la dirección.",
|
|
41
|
+
"signIn.error.wrong-address": "Iniciar sesión con {host} solo funciona en la propia dirección del sitio, la de los Ajustes del sitio. Inicia sesión allí, o aquí con un token de acceso.",
|
|
42
|
+
"signIn.error.local-address": "Iniciar sesión con {host} solo funciona en el sitio publicado. Inicia sesión aquí con un token de acceso.",
|
|
43
|
+
"signIn.error.not-owner": "Esa cuenta no es propietaria de este sitio en {host}.",
|
|
44
|
+
"signIn.error.unavailable": "Ahora mismo no se puede iniciar sesión con {host}, quizá porque hoy ya se ha usado todo lo posible. Inicia sesión con un token de acceso.",
|
|
45
|
+
"signIn.install": "Instalar Goodfellow en {host}",
|
|
46
|
+
"signIn.error.expired": "Se cerró tu sesión porque caducó. Vuelve a iniciar sesión para seguir editando.",
|
|
47
|
+
"signIn.error.other": "No se pudo conectar con {host}. Comprueba tu conexión e inténtalo de nuevo.",
|
|
48
|
+
"signIn.app.intro": "Inicia sesión con tu cuenta de este sitio para editarlo.",
|
|
49
|
+
"signIn.app.button": "Iniciar sesión",
|
|
50
|
+
"signIn.app.expired": "Se cerró tu sesión. Vuelve a iniciarla para seguir editando.",
|
|
51
|
+
"signIn.app.notAllowed": "Has iniciado sesión, pero tu cuenta no tiene permiso para editar este sitio. Pide acceso a alguien propietario.",
|
|
52
|
+
"signIn.app.error": "No se pudo conectar con el sitio. Comprueba tu conexión e inténtalo de nuevo.",
|
|
53
|
+
"owners.only": "Solo quienes son propietarios del sitio pueden cambiar esto.",
|
|
54
|
+
"owners.onlyHint": "Pídeselo a alguno de ellos si hay que cambiar algo aquí.",
|
|
55
|
+
"account.signedInAs": "Sesión iniciada como {name}",
|
|
56
|
+
"account.signOut": "Cerrar sesión",
|
|
57
|
+
"deploy.building": "Actualizando el sitio publicado…",
|
|
58
|
+
"deploy.live": "El sitio publicado está al día",
|
|
59
|
+
"deploy.failed": "No se pudo actualizar el sitio publicado",
|
|
60
|
+
"build.why": "¿Qué ha fallado?",
|
|
61
|
+
"build.title": "Por qué no se actualizó el sitio publicado",
|
|
62
|
+
"build.saved": "Tus cambios están publicados y guardados. Los visitantes ven el sitio como estaba hasta que se vuelva a generar, algo que cada publicación intenta de nuevo.",
|
|
63
|
+
"build.notStarted": "{host} no empezó a generar el sitio. Eso suele significar que la cuenta a la que pertenece el sitio ha gastado sus minutos gratuitos de generación del mes, o que su facturación en {host} necesita atención. Alguien propietario del sitio puede revisar los ajustes de facturación de la cuenta en {host}.",
|
|
64
|
+
"build.install": "No se pudieron instalar los paquetes del sitio, así que no se pudo generar. A veces es un problema pasajero del servicio del que vienen los paquetes, así que volver a publicar más tarde puede funcionar. Si sigue pasando, alguien que se ocupe del código tiene que revisar los detalles.",
|
|
65
|
+
"build.pages": "{host} Pages no está configurado para el sitio, así que no hay dónde ponerlo en línea. Alguien propietario del sitio tiene que activarlo en los ajustes del sitio en {host}, en Pages.",
|
|
66
|
+
"build.deploy": "El sitio se generó, pero {host} no pudo ponerlo en línea. Suele ser un problema pasajero, así que la próxima publicación puede funcionar. Si sigue pasando, revisa los ajustes de Pages del sitio en {host}.",
|
|
67
|
+
"build.host": "Un problema de {host} detuvo la generación. Suele ser pasajero, así que la próxima publicación puede funcionar.",
|
|
68
|
+
"build.content": "No se pudo generar el sitio porque {file} tiene un problema. Corrígelo en el panel de administración, o recupera una versión que funcionaba desde su historial de versiones.",
|
|
69
|
+
"build.contentHistory": "Historial de versiones de {file}",
|
|
70
|
+
"build.codeChanged": "No se pudo generar el sitio después de cambiar sus bloques. Deshaz el cambio en Bloques, quitando lo que se acaba de añadir o volviendo a añadir lo que se quitó, y pide a alguien que se ocupe del código que revise los detalles.",
|
|
71
|
+
"build.blocks": "Ir a Bloques",
|
|
72
|
+
"build.codeFile": "No se pudo generar el código del sitio: hay un problema en {file}. Alguien que se ocupe del código tiene que revisar los detalles.",
|
|
73
|
+
"build.code": "No se pudo generar el sitio. Alguien que se ocupe del código tiene que revisar los detalles.",
|
|
74
|
+
"build.unknown": "{host} no dijo por qué falló la generación. Sus detalles pueden ayudar a quien se ocupe del código.",
|
|
75
|
+
"build.hostDetails": "Ver los detalles en {host}",
|
|
76
|
+
"loadError.title": "El panel de administración no pudo abrir este sitio",
|
|
77
|
+
"outdatedAdminPage.title": "La página de administración de este sitio necesita actualizarse",
|
|
78
|
+
"outdatedAdminPage.message": "La página de administración de este sitio es de antes de que el editor separara los bloques de tu sesión, así que el panel de administración no se abre en ella. La próxima actualización de Goodfellow la cambia, salvo que alguien haya modificado la página. Quien se ocupe del código del sitio también puede cambiarla ahora: los detalles explican cómo.",
|
|
79
|
+
"outdatedAdminPage.details": "Ejecuta npx goodfellow-next update, o sustituye estos archivos por los de la plantilla de Next.js, tal como aparecen abajo. Así los bloques del sitio funcionan en los marcos aislados del editor, en /admin/editor/.",
|
|
80
|
+
"loadError.contentProblems": "Algunos archivos del sitio tienen problemas, así que no se pueden editar hasta que se corrijan.",
|
|
81
|
+
"loadError.other": "Algo salió mal al cargar el sitio. Comprueba tu conexión e inténtalo de nuevo.",
|
|
82
|
+
"action.tryAgain": "Intentar de nuevo",
|
|
83
|
+
"action.cancel": "Cancelar",
|
|
84
|
+
"action.close": "Cerrar",
|
|
85
|
+
"action.reload": "Recargar",
|
|
86
|
+
"action.undo": "Deshacer",
|
|
87
|
+
"action.redo": "Rehacer",
|
|
88
|
+
"action.undoHint": "Deshacer el último cambio (Ctrl+Z, o ⌘Z en un Mac)",
|
|
89
|
+
"action.redoHint": "Rehacer lo que deshiciste (Ctrl+Mayús+Z, o ⇧⌘Z en un Mac)",
|
|
90
|
+
"details.show": "Detalles",
|
|
91
|
+
"publish.button": "Publicar",
|
|
92
|
+
"editor.leftSidebar": "Mostrar u ocultar bloques y esquema",
|
|
93
|
+
"editor.rightSidebar": "Mostrar u ocultar ajustes",
|
|
94
|
+
"editor.viewport": "Ancho de la vista previa",
|
|
95
|
+
"editor.viewport.full": "Ancho completo",
|
|
96
|
+
"editor.viewport.tablet": "Tableta",
|
|
97
|
+
"editor.viewport.phone": "Teléfono",
|
|
98
|
+
"editor.failed": "El editor dejó de funcionar. Recarga la página para volver a abrirlo.",
|
|
99
|
+
"editor.frame": "Editando {title}",
|
|
100
|
+
"editor.choose": "Editor",
|
|
101
|
+
"editor.blockSearch": "Buscar bloques",
|
|
102
|
+
"editor.blockSearchNone": "Ningún bloque coincide. Prueba con otra palabra, como «imagen» o «columnas».",
|
|
103
|
+
"editor.blockSearchFound": "Bloques encontrados",
|
|
104
|
+
"editor.standard": "Editor estándar",
|
|
105
|
+
"editor.plugin.switchLoses": "Parte de lo que cambiaste en {editor} no se puede conservar en el otro editor, así que cambiar ahora deja atrás todo lo que cambiaste desde que abriste {editor}. ¿Cambiar de todos modos?\n\n{problems}",
|
|
106
|
+
"editor.plugin.pageSettings": "Los ajustes de la página",
|
|
107
|
+
"editor.plugin.problem": "{block}: {message}",
|
|
108
|
+
"editor.plugin.problemField": "{block}, {field}: {message}",
|
|
109
|
+
"editor.plugin.loading": "Abriendo {editor}…",
|
|
110
|
+
"editor.plugin.failed": "{editor} no se abrió. Elige el editor estándar para seguir editando.",
|
|
111
|
+
"editor.invalid": "El editor devolvió algo que este sitio no puede publicar, así que no se publicó nada. Vuelve a cargar la página e inténtalo de nuevo.",
|
|
112
|
+
"editor.plugin.invalid": "{editor} devolvió algo que este sitio no puede publicar, así que no se publicó nada. Inténtalo de nuevo o elige el editor estándar.",
|
|
113
|
+
"publish.publishing": "Publicando…",
|
|
114
|
+
"publish.done": "Publicado.",
|
|
115
|
+
"publish.conflict": "Otra persona cambió el sitio desde que abriste esta página, así que tus cambios no se publicaron. Recarga para ver sus cambios y vuelve a hacer los tuyos.",
|
|
116
|
+
"publish.error": "No se pudieron publicar tus cambios. Comprueba tu conexión e inténtalo de nuevo.",
|
|
117
|
+
"publish.reloaded": "Esta es la página tal como la dejó la otra persona. Vuelve a hacer tus cambios o recupera los tuyos para publicarlos encima de los suyos.",
|
|
118
|
+
"publish.putMineBack": "Recuperar mis cambios",
|
|
119
|
+
"kept.found": "Tienes cambios aquí del {time} que no se publicaron.",
|
|
120
|
+
"kept.theirs": "Otra persona ha publicado cambios aquí desde entonces. Si recuperas los tuyos, al publicarlos sustituirán a los suyos.",
|
|
121
|
+
"kept.putBack": "Recuperarlos",
|
|
122
|
+
"kept.throwAway": "Descartarlos",
|
|
123
|
+
"kept.invalid": "Tus cambios del {time} no se pueden recuperar, porque los bloques del sitio han cambiado desde entonces.",
|
|
124
|
+
"publish.invalid": "Corrige los problemas marcados antes de publicar.",
|
|
125
|
+
"draft.label": "Borrador",
|
|
126
|
+
"draft.add": "Añadir al borrador",
|
|
127
|
+
"draft.addHint": "Guardar este cambio con otros para publicarlos juntos más tarde, en vez de publicarlo ahora",
|
|
128
|
+
"draft.adding": "Añadiendo al borrador…",
|
|
129
|
+
"draft.added": "Añadido al borrador.",
|
|
130
|
+
"draft.banner": "Estás trabajando en un borrador empezado el {date}. Lo que cambies va en él, y los visitantes lo verán cuando se publique.",
|
|
131
|
+
"draft.bannerKept": "Estás trabajando en un borrador empezado el {date}, guardado en este navegador. Lo que cambies va en él, y los visitantes lo verán cuando se publique.",
|
|
132
|
+
"draft.changes": "{count} archivos cambiados",
|
|
133
|
+
"draft.oneChange": "1 archivo cambiado",
|
|
134
|
+
"draft.publishAll": "Publicar todo",
|
|
135
|
+
"draft.publishing": "Publicando el borrador…",
|
|
136
|
+
"draft.published": "El borrador está publicado.",
|
|
137
|
+
"draft.submit": "Enviar a revisión",
|
|
138
|
+
"draft.submitted": "Enviado a revisión.",
|
|
139
|
+
"draft.seeReview": "Verlo",
|
|
140
|
+
"draft.discard": "Descartar",
|
|
141
|
+
"draft.discardTitle": "¿Descartar este borrador?",
|
|
142
|
+
"draft.discardBody": "Se perderá todo lo que contiene. El sitio publicado se queda como está.",
|
|
143
|
+
"draft.leave": "Volver al sitio publicado",
|
|
144
|
+
"draft.waiting": "Un borrador empezado el {date} espera a publicarse.",
|
|
145
|
+
"draft.waitingMany": "{count} borradores esperan a publicarse.",
|
|
146
|
+
"draft.reviewWaiting": "Un borrador espera revisión: {title}.",
|
|
147
|
+
"draft.reviewWaitingMany": "{count} borradores esperan revisión.",
|
|
148
|
+
"draft.inReview": "Enviado a revisión.",
|
|
149
|
+
"draft.choose": "Borrador que abrir",
|
|
150
|
+
"draft.started": "Empezado el {date}",
|
|
151
|
+
"draft.open": "Abrir",
|
|
152
|
+
"draft.gone": "Ese borrador ya se publicó o se descartó.",
|
|
153
|
+
"draft.conflict": "Otra persona ha publicado cambios en algunas de las mismas páginas o ajustes desde que empezó este borrador, así que no se puede publicar tal como está. Envíalo a revisión, o descártalo y vuelve a hacer los cambios.",
|
|
154
|
+
"draft.conflictKept": "Otra persona ha publicado cambios en algunas de las mismas páginas o ajustes desde que empezó este borrador, así que no se puede publicar tal como está. Descártalo y vuelve a hacer los cambios.",
|
|
155
|
+
"draft.error": "No se pudo publicar el borrador. Comprueba tu conexión e inténtalo de nuevo.",
|
|
156
|
+
"draft.submitError": "No se pudo enviar el borrador a revisión. Comprueba tu conexión e inténtalo de nuevo.",
|
|
157
|
+
"draft.discardError": "No se pudo descartar el borrador. Comprueba tu conexión e inténtalo de nuevo.",
|
|
158
|
+
"draft.message": "Publicar el borrador {name}",
|
|
159
|
+
"draft.reviewTitle": "Borrador {name}, desde el panel de administración",
|
|
160
|
+
"draft.reviewDescription": "Cambios hechos en el panel de administración:",
|
|
161
|
+
"checks.blocked.title": "Esto todavía no se puede publicar",
|
|
162
|
+
"checks.blocked.intro": "Publicarlo dejaría enlaces que no llevan a ninguna parte. Cámbialos o quítalos primero.",
|
|
163
|
+
"checks.warnings.title": "¿Publicar de todos modos?",
|
|
164
|
+
"checks.warnings.intro": "Hay algunas cosas que podrían mejorar. Puedes publicar de todos modos, o volver y corregirlas primero.",
|
|
165
|
+
"checks.alsoWarnings": "Esto también podría mejorar:",
|
|
166
|
+
"checks.publishAnyway": "Publicar de todos modos",
|
|
167
|
+
"checks.goBack": "Volver",
|
|
168
|
+
"limits.title": "Parte de esto queda fuera de lo que puedes cambiar",
|
|
169
|
+
"limits.intro": "Alguien propietario ha limitado lo que puedes cambiar en este sitio, y estos cambios quedan fuera:",
|
|
170
|
+
"limits.review": "Envíalos a revisión: se pedirá a quienes revisan el sitio que los miren, y pueden publicarlos por ti.",
|
|
171
|
+
"limits.noReview": "Pide a alguien propietario que haga estos cambios por ti, o que te deje hacerlos en la pantalla Editores de los Ajustes del sitio.",
|
|
172
|
+
"limits.goBack": "Volver",
|
|
173
|
+
"limits.submitting": "Enviando a revisión…",
|
|
174
|
+
"limits.submitted": "Enviado a revisión. El sitio publicado se queda como está hasta que alguien que revisa lo publique.",
|
|
175
|
+
"limits.submitError": "No se pudieron enviar los cambios a revisión. Comprueba tu conexión e inténtalo de nuevo.",
|
|
176
|
+
"limits.page": "La página {name}",
|
|
177
|
+
"limits.entry": "{name}, en {collection}",
|
|
178
|
+
"limits.media": "La biblioteca multimedia",
|
|
179
|
+
"limits.layout": "El encabezado y el pie",
|
|
180
|
+
"limits.menus": "Los menús",
|
|
181
|
+
"limits.other": "Los ajustes del sitio, u otras cosas que solo cambian quienes son propietarios",
|
|
182
|
+
"limits.readOnly": "Puedes ver esto, pero alguien propietario ha limitado lo que puedes cambiar, y esto queda fuera.",
|
|
183
|
+
"limits.mediaReadOnly": "Alguien propietario ha limitado lo que puedes cambiar, y la biblioteca multimedia queda fuera. Aun así, puedes usar sus archivos en las páginas que puedes cambiar.",
|
|
184
|
+
"checks.missing-page": "{place} enlaza a {target}, que no es una página del sitio.",
|
|
185
|
+
"checks.missing-item": "{place} enlaza a {target} en {collection}, que ya no está.",
|
|
186
|
+
"checks.missing-media": "{place} usa {target}, que no está en la biblioteca multimedia.",
|
|
187
|
+
"checks.unsafe-link": "{place} enlaza a {target}, una dirección que ejecutaría código en el sitio. Las páginas la omiten: usa una dirección que empiece por https:// o una de las páginas del sitio.",
|
|
188
|
+
"checks.no-title": "{place} no tiene título, así que las pestañas del navegador y los resultados de búsqueda solo muestran el nombre del sitio.",
|
|
189
|
+
"checks.missing-translation": "{place} todavía no tiene traducción al {language}. A quienes leen en {language} se les envía a su página de inicio.",
|
|
190
|
+
"checks.outdated-translation": "{place} ha cambiado desde que se hizo su traducción al {language}. Actualiza la traducción y márcala como al día.",
|
|
191
|
+
"checks.bad-translation": "{place} dice ser una traducción de {target}, pero solo las páginas y elementos en el idioma principal del sitio tienen traducciones.",
|
|
192
|
+
"checks.no-description": "{place} no tiene descripción para los resultados de búsqueda ni para las vistas previas de enlaces.",
|
|
193
|
+
"checks.low-contrast": "El texto en «{text}» se lee mal sobre «{background}»: su contraste es de {ratio} a 1, y el texto necesita al menos 4,5 a 1.",
|
|
194
|
+
"checks.low-contrast.dark": "En modo oscuro, el texto en «{text}» se lee mal sobre «{background}»: su contraste es de {ratio} a 1, y el texto necesita al menos 4,5 a 1.",
|
|
195
|
+
"checks.no-alt": "{place} tiene una imagen, {image}, sin descripción para quienes no pueden verla. Descríbela en los ajustes de la imagen, o indica que es solo decorativa.",
|
|
196
|
+
"checks.skipped-heading": "{place} tiene el título «{text}» en el nivel {level}, después de uno de nivel {previous}. Los títulos no deberían saltarse niveles, o quienes recorren una página por sus títulos creen que se han perdido algo.",
|
|
197
|
+
"checks.skipped-heading.first": "{place} empieza con el título «{text}», de nivel {level}. Empieza con el título de la página (nivel 1) o una sección (nivel 2).",
|
|
198
|
+
"checks.vague-link": "{place} tiene un enlace, «{text}», que no dice adónde lleva. Di qué encontrará la gente allí, como «Nuestros horarios de misa» en vez de «Haz clic aquí».",
|
|
199
|
+
"checks.empty-link": "{place} tiene un enlace a {target} sin texto, así que quienes no pueden ver la página no saben adónde lleva.",
|
|
200
|
+
"checks.accessibility": "{place}: {help}",
|
|
201
|
+
"checks.place.page": "La página «{title}»",
|
|
202
|
+
"checks.place.entry": "«{title}» en {collection}",
|
|
203
|
+
"checks.place.design": "El diseño de {collection}",
|
|
204
|
+
"checks.place.header": "El encabezado",
|
|
205
|
+
"checks.place.footer": "El pie de página",
|
|
206
|
+
"checks.place.menus": "Un menú",
|
|
207
|
+
"checks.place.settings": "Ajustes del sitio",
|
|
208
|
+
"checks.place.redirects": "Una redirección",
|
|
209
|
+
"checks.place.file": "{file}",
|
|
210
|
+
"unsaved.confirm": "Tienes cambios que todavía no están publicados. ¿Salir de todos modos y perderlos?",
|
|
211
|
+
"unsaved.label": "Cambios sin publicar",
|
|
212
|
+
"pages.title": "Páginas",
|
|
213
|
+
"pages.new": "Página nueva",
|
|
214
|
+
"pages.empty": "Este sitio todavía no tiene páginas.",
|
|
215
|
+
"pages.column.title": "Título",
|
|
216
|
+
"pages.column.address": "Dirección",
|
|
217
|
+
"pages.look": "Ver",
|
|
218
|
+
"pages.edit": "Editar",
|
|
219
|
+
"pages.move": "Cambiar la dirección",
|
|
220
|
+
"pages.duplicate": "Duplicar",
|
|
221
|
+
"pages.delete": "Eliminar",
|
|
222
|
+
"pages.view": "Ver",
|
|
223
|
+
"pages.homeCantDelete": "La página de inicio no se puede eliminar.",
|
|
224
|
+
"pages.schedule": "Programar",
|
|
225
|
+
"sharePreview.title": "Cuando se comparte un enlace a esta página",
|
|
226
|
+
"sharePreview.noImage": "Sin imagen",
|
|
227
|
+
"sharePreview.noAddress": "Las vistas previas de enlaces muestran la imagen cuando la dirección del sitio está en los Ajustes del sitio, porque necesitan su dirección completa.",
|
|
228
|
+
"sharePreview.hidden": "Esta página está oculta para los buscadores, así que no aparece en los resultados de búsqueda ni en el mapa del sitio.",
|
|
229
|
+
"schedulePage.title": "Cuándo está «{title}» en el sitio",
|
|
230
|
+
"schedulePage.submit": "Publicar",
|
|
231
|
+
"schedulePage.message": "Programar la página «{title}»",
|
|
232
|
+
"schedule.title": "Cuándo está en el sitio",
|
|
233
|
+
"schedule.showFrom": "Mostrar desde",
|
|
234
|
+
"schedule.showFromHint": "Déjalo vacío para mostrarlo en cuanto se publique.",
|
|
235
|
+
"schedule.hideAfter": "Ocultar después de",
|
|
236
|
+
"schedule.hideAfterHint": "Déjalo vacío para mantenerlo en el sitio.",
|
|
237
|
+
"schedule.zone": "Las horas están en la zona horaria del sitio, {zone}.",
|
|
238
|
+
"schedule.zoneNew": "Las horas están en la zona horaria de tu equipo, {zone}, que pasa a ser la del sitio.",
|
|
239
|
+
"schedule.zoneNone": "Las horas están en UTC, porque el sitio no tiene zona horaria. Elige una en los Ajustes del sitio.",
|
|
240
|
+
"schedule.invalid": "Escribe una fecha y una hora.",
|
|
241
|
+
"schedule.order": "Elige una hora posterior a la de inicio.",
|
|
242
|
+
"schedule.timing.exact": "El sitio se vuelve a generar a cada una de estas horas, así que los cambios aparecen entonces.",
|
|
243
|
+
"schedule.timing.hourly": "El sitio comprueba cada hora si hay cambios pendientes, así que aparecen como mucho una hora después de su hora.",
|
|
244
|
+
"schedule.timing.nightly": "El sitio se vuelve a generar cada noche, así que los cambios aparecen con la primera generación después de su hora.",
|
|
245
|
+
"schedule.timing.none": "Los cambios aparecen la próxima vez que se genere el sitio después de su hora, como cuando alguien publica.",
|
|
246
|
+
"schedule.timing.notAllowed": "{host} no te dejó programar que el sitio se genere a estas horas, así que los cambios aparecen con la generación de cada noche después de su hora, o a su hora cuando alguien propietario abra el panel de administración.",
|
|
247
|
+
"schedule.public": "Cualquiera puede leer lo programado antes de que se muestre, porque los archivos del sitio en {host} son públicos. No programes nada que deba seguir en secreto hasta entonces.",
|
|
248
|
+
"schedule.internal": "Cualquiera con sesión en {host} puede leer lo programado antes de que se muestre, porque los archivos del sitio son visibles para todos. No programes nada que deba seguir en secreto hasta entonces.",
|
|
249
|
+
"schedule.status.waiting": "Se muestra desde {time}",
|
|
250
|
+
"schedule.status.hides": "Se oculta después de {time}",
|
|
251
|
+
"schedule.status.hidden": "Oculto desde {time}",
|
|
252
|
+
"comingUp.title": "Próximamente",
|
|
253
|
+
"comingUp.show": "Se muestra",
|
|
254
|
+
"comingUp.hide": "Se oculta",
|
|
255
|
+
"comingUp.zone": "Las horas están en la zona horaria del sitio, {zone}.",
|
|
256
|
+
"newPage.title": "Página nueva",
|
|
257
|
+
"newPage.pageTitle": "Título de la página",
|
|
258
|
+
"newPage.address": "Dirección",
|
|
259
|
+
"newPage.addressHint": "La parte de la dirección web después del nombre del sitio, como /quienes-somos o /eventos/merienda.",
|
|
260
|
+
"newPage.create": "Crear página",
|
|
261
|
+
"newPage.message": "Añadir la página «{title}»",
|
|
262
|
+
"duplicatePage.title": "Duplicar «{title}»",
|
|
263
|
+
"duplicatePage.pageTitle": "{title} (copia)",
|
|
264
|
+
"duplicatePage.create": "Duplicar página",
|
|
265
|
+
"duplicatePage.message": "Añadir la página «{title}», copia de «{from}»",
|
|
266
|
+
"movePage.title": "Cambiar la dirección de {title}",
|
|
267
|
+
"movePage.address": "Dirección nueva",
|
|
268
|
+
"movePage.links": "Los enlaces a ella en cualquier parte de este sitio, menús incluidos, cambian a la dirección nueva.",
|
|
269
|
+
"movePage.redirect": "Mantener {from} funcionando, enviando a los visitantes a la página",
|
|
270
|
+
"movePage.redirectHint": "Los enlaces a la dirección antigua desde otros lugares, como otros sitios web, siguen funcionando. Aparece en Ajustes del sitio → Redirecciones.",
|
|
271
|
+
"movePage.warning": "Los enlaces a la dirección antigua desde otros sitios web dejarán de funcionar.",
|
|
272
|
+
"movePage.submit": "Cambiar la dirección",
|
|
273
|
+
"movePage.message": "Mover la página «{title}» de {from} a {to}",
|
|
274
|
+
"deletePage.title": "¿Eliminar {title}?",
|
|
275
|
+
"deletePage.body": "La página en {path} se quitará del sitio. Si algo del sitio enlaza a ella, primero hay que cambiar esos enlaces.",
|
|
276
|
+
"deletePage.submit": "Eliminar página",
|
|
277
|
+
"deletePage.message": "Eliminar la página «{title}»",
|
|
278
|
+
"address.invalid": "Usa letras minúsculas, números y guiones, con / entre las partes, como /quienes-somos.",
|
|
279
|
+
"address.reserved": "Esta dirección no se puede usar: la usa el panel de administración, o termina en /index, que es la página de arriba. Elige otra.",
|
|
280
|
+
"address.taken": "Otra página ya usa esta dirección.",
|
|
281
|
+
"field.required": "Esto no puede quedar vacío.",
|
|
282
|
+
"editPage.message": "Actualizar la página «{title}»",
|
|
283
|
+
"editPage.notFound": "Esta página no existe. Puede que se haya movido o eliminado.",
|
|
284
|
+
"editPage.backToPages": "Volver a las páginas",
|
|
285
|
+
"versions.button": "Historial de versiones",
|
|
286
|
+
"versions.title": "Historial de versiones: {title}",
|
|
287
|
+
"versions.back": "Volver a editar",
|
|
288
|
+
"versions.intro": "Todas las versiones que se han publicado, de la más reciente a la más antigua. Elige una para verla y restáurala para recuperarla. Lo que se movió a una dirección nueva empieza allí un historial nuevo.",
|
|
289
|
+
"versions.notFound": "Aquí no hay historial que mostrar. Puede que se haya movido o eliminado.",
|
|
290
|
+
"versions.local": "El historial de versiones está en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
291
|
+
"versions.demo": "En una demostración no se guarda el historial de versiones.",
|
|
292
|
+
"versions.loading": "Cargando las versiones…",
|
|
293
|
+
"versions.loadingVersion": "Cargando esta versión…",
|
|
294
|
+
"versions.error": "No se pudieron cargar las versiones. Comprueba tu conexión e inténtalo de nuevo.",
|
|
295
|
+
"versions.empty": "Aquí todavía no se ha publicado nada.",
|
|
296
|
+
"versions.current": "Versión actual",
|
|
297
|
+
"versions.by": "{date}, por {author}",
|
|
298
|
+
"versions.more": "Mostrar versiones anteriores",
|
|
299
|
+
"versions.preview": "La versión del {date}",
|
|
300
|
+
"versions.noPreview": "Este elemento no tiene página propia, así que no hay nada que previsualizar.",
|
|
301
|
+
"versions.restore": "Restaurar esta versión",
|
|
302
|
+
"versions.restoreTitle": "¿Restaurar la versión del {date}?",
|
|
303
|
+
"versions.restoreBody": "{title} vuelve a estar como entonces, y se publica enseguida. La versión actual se queda en el historial, así que puedes restaurarla después.",
|
|
304
|
+
"versions.restoring": "Restaurando…",
|
|
305
|
+
"versions.restoreMessage": "Restaurar «{title}» a la versión del {date}",
|
|
306
|
+
"versions.restored": "Se restauró la versión del {date}.",
|
|
307
|
+
"versions.readError": "No se pudo cargar esta versión. Comprueba tu conexión e inténtalo de nuevo.",
|
|
308
|
+
"versions.unfit": "Esta versión no se puede restaurar porque no encaja con el sitio tal como está ahora, por ejemplo porque han cambiado las opciones de uno de sus campos.",
|
|
309
|
+
"versions.unknownBlocks": "Esta versión no se puede restaurar porque usa bloques que el sitio ya no tiene: {blocks}.",
|
|
310
|
+
"layout.header": "Encabezado",
|
|
311
|
+
"layout.footer": "Pie de página",
|
|
312
|
+
"layout.headerWord": "encabezado",
|
|
313
|
+
"layout.footerWord": "pie de página",
|
|
314
|
+
"layout.headerMessage": "Actualizar el encabezado",
|
|
315
|
+
"layout.footerMessage": "Actualizar el pie de página",
|
|
316
|
+
"collections.title": "Colecciones",
|
|
317
|
+
"collections.intro": "Las colecciones son grupos de elementos parecidos, como vídeos, eventos o personal. Cada colección tiene sus propios campos, y puede dar a cada elemento una página con un mismo diseño.",
|
|
318
|
+
"collections.new": "Colección nueva",
|
|
319
|
+
"collections.empty": "Todavía no hay colecciones.",
|
|
320
|
+
"collections.column.name": "Nombre",
|
|
321
|
+
"collections.column.count": "Elementos",
|
|
322
|
+
"collections.column.address": "Páginas",
|
|
323
|
+
"collections.noPages": "Sin páginas propias",
|
|
324
|
+
"newCollection.title": "Colección nueva",
|
|
325
|
+
"newCollection.kind": "Empezar con",
|
|
326
|
+
"newCollection.kindBlank": "Un título y un texto",
|
|
327
|
+
"newCollection.kindEvents": "Eventos",
|
|
328
|
+
"newCollection.kindEventsHint": "Cada elemento tiene una fecha y hora, que puede repetirse, un lugar y un resumen. Los bloques Calendario los muestran, y los visitantes pueden añadirlos a sus propios calendarios.",
|
|
329
|
+
"newCollection.eventsName": "Eventos",
|
|
330
|
+
"newCollection.eventsEntryName": "Evento",
|
|
331
|
+
"newCollection.timeZone": "La zona horaria del sitio será {zone}. Puedes cambiarla en los Ajustes del sitio.",
|
|
332
|
+
"newCollection.name": "Nombre",
|
|
333
|
+
"newCollection.nameHint": "Cómo se llama la colección entera, como Vídeos o Eventos.",
|
|
334
|
+
"newCollection.nameTaken": "Ya hay otra colección con un nombre así. Elige otro.",
|
|
335
|
+
"newCollection.entryName": "Un elemento se llama",
|
|
336
|
+
"newCollection.entryNameHint": "Como Vídeo o Evento.",
|
|
337
|
+
"newCollection.pages": "Dar a cada elemento su propia página",
|
|
338
|
+
"newCollection.address": "Dirección de las páginas",
|
|
339
|
+
"newCollection.addressHint": "La página de cada elemento va dentro de esta dirección, como /videos/vigilia-pascual.",
|
|
340
|
+
"newCollection.create": "Crear colección",
|
|
341
|
+
"newCollection.message": "Añadir la colección «{name}»",
|
|
342
|
+
"collection.tab.entries": "Elementos",
|
|
343
|
+
"collection.tab.template": "Diseño de página",
|
|
344
|
+
"collection.tab.settings": "Ajustes",
|
|
345
|
+
"collection.notFound": "Esta colección no existe. Puede que se haya eliminado.",
|
|
346
|
+
"collection.back": "Volver a las colecciones",
|
|
347
|
+
"entries.add": "Añadir {entry}",
|
|
348
|
+
"entries.empty": "Todavía no hay nada en {name}.",
|
|
349
|
+
"entries.column.title": "Título",
|
|
350
|
+
"entries.column.address": "Dirección",
|
|
351
|
+
"newEntry.title": "Añadir {entry}",
|
|
352
|
+
"newEntry.entryTitle": "Título",
|
|
353
|
+
"newEntry.address": "Dirección",
|
|
354
|
+
"newEntry.addressHint": "La última parte de la dirección de la página, como en {example}.",
|
|
355
|
+
"newEntry.message": "Añadir {entry} «{title}»",
|
|
356
|
+
"entryName.invalid": "Usa solo letras minúsculas, números y guiones, como vigilia-pascual.",
|
|
357
|
+
"entryName.reserved": "Esta dirección no se puede usar: la usa el panel de administración, o termina en /index, que es la página de arriba. Elige otra.",
|
|
358
|
+
"entryName.taken": "Otra cosa del sitio ya usa esta dirección.",
|
|
359
|
+
"moveEntry.message": "Mover {entry} «{title}» de {from} a {to}",
|
|
360
|
+
"deleteEntry.body": "{title} se quitará de {name}.",
|
|
361
|
+
"deleteEntry.linked": "Estos elementos enlazan a él, y se quitarán sus enlaces:",
|
|
362
|
+
"deleteEntry.linkedMore": "y {count} más",
|
|
363
|
+
"deleteEntry.bodyPage": "{title} se quitará de {name}, y su página en {path} se quitará del sitio. Si algo del sitio enlaza a ella, primero hay que cambiar esos enlaces.",
|
|
364
|
+
"deleteEntry.message": "Eliminar {entry} «{title}»",
|
|
365
|
+
"editEntry.message": "Actualizar {entry} «{title}»",
|
|
366
|
+
"editEntry.invalidSchedule": "Revisa cuándo está en el sitio: cada hora necesita una fecha y una hora, y solo puede ocultarse después de mostrarse.",
|
|
367
|
+
"editEntry.notFound": "Este elemento no existe. Puede que se haya renombrado o eliminado.",
|
|
368
|
+
"editEntry.back": "Volver a {name}",
|
|
369
|
+
"editEntry.items.search": "Buscar en {name}",
|
|
370
|
+
"editEntry.items.none": "Nada en {name} coincide.",
|
|
371
|
+
"editEntry.items.empty": "{name} todavía no tiene nada a lo que enlazar.",
|
|
372
|
+
"editEntry.items.missing": "La colección a la que enlaza este campo ya no está en el sitio.",
|
|
373
|
+
"editEntry.items.remove": "Quitar {title}",
|
|
374
|
+
"editEntry.images.up": "Mover antes",
|
|
375
|
+
"editEntry.images.down": "Mover después",
|
|
376
|
+
"editEntry.images.remove": "Quitar",
|
|
377
|
+
"editEntry.required": "Rellena {fields} antes de publicar.",
|
|
378
|
+
"editEntry.invalidEvent": "Revisa {fields}: un evento tiene que terminar después de empezar.",
|
|
379
|
+
"editEntry.noPage": "Los elementos de {name} no tienen páginas propias. Aparecen allí donde un bloque Lista de la colección muestra {name}.",
|
|
380
|
+
"template.help": "La página de cada elemento usa este diseño. Para mostrar la información de un elemento, añade un bloque Campo del elemento, o escribe el nombre de un campo entre llaves en cualquier texto:",
|
|
381
|
+
"template.message": "Actualizar el diseño de página de {name}",
|
|
382
|
+
"template.noPages": "Los elementos de {name} no tienen páginas propias, así que no hay diseño de página. Para darles páginas, actívalo en Ajustes.",
|
|
383
|
+
"collectionSettings.markdown": "Guardar los elementos como archivos Markdown",
|
|
384
|
+
"collectionSettings.markdownHint": "El texto de cada elemento se guarda como Markdown, un formato de texto sencillo que quienes se ocupan del código también pueden editar con sus propias herramientas. Aquí se edita igual que antes.",
|
|
385
|
+
"collectionSettings.markdownNeedsText": "Para guardar los elementos como archivos Markdown, añade primero un campo de texto con formato.",
|
|
386
|
+
"collectionSettings.markdownBody": "Campo que se guarda como el texto Markdown",
|
|
387
|
+
"collectionSettings.markdownConverts": "Todos los elementos se convertirán al publicar.",
|
|
388
|
+
"collectionSettings.calendar": "Mostrar los elementos en calendarios",
|
|
389
|
+
"collectionSettings.calendarHint": "Los elementos pasan a ser eventos que muestran los bloques Calendario, y que los visitantes pueden añadir a sus propios calendarios o a los que pueden suscribirse.",
|
|
390
|
+
"collectionSettings.calendarNeedsDate": "Para mostrar los elementos en calendarios, añade primero un campo «Fecha y hora, para eventos».",
|
|
391
|
+
"collectionSettings.calendarWhen": "Cuándo ocurren los elementos",
|
|
392
|
+
"collectionSettings.calendarPlace": "Dónde",
|
|
393
|
+
"collectionSettings.calendarSummary": "Resumen",
|
|
394
|
+
"collectionSettings.calendarNone": "Ninguno",
|
|
395
|
+
"event.starts": "Empieza",
|
|
396
|
+
"event.ends": "Termina (opcional)",
|
|
397
|
+
"event.time": "Hora",
|
|
398
|
+
"event.allDay": "Todo el día",
|
|
399
|
+
"event.repeats": "Se repite",
|
|
400
|
+
"event.repeat.none": "No se repite",
|
|
401
|
+
"event.repeat.day": "Cada día",
|
|
402
|
+
"event.repeat.week": "Cada semana",
|
|
403
|
+
"event.repeat.month": "Cada mes",
|
|
404
|
+
"event.repeat.year": "Cada año",
|
|
405
|
+
"event.interval.days": "Cada cuántos días",
|
|
406
|
+
"event.interval.weeks": "Cada cuántas semanas",
|
|
407
|
+
"event.interval.months": "Cada cuántos meses",
|
|
408
|
+
"event.interval.years": "Cada cuántos años",
|
|
409
|
+
"event.onDays": "Los días",
|
|
410
|
+
"event.monthlyOn": "El",
|
|
411
|
+
"event.monthly.date": "El día {day} del mes",
|
|
412
|
+
"event.monthly.weekday": "El {nth} {weekday} del mes",
|
|
413
|
+
"event.monthly.last": "El último {weekday} del mes",
|
|
414
|
+
"event.nth.1": "primer",
|
|
415
|
+
"event.nth.2": "segundo",
|
|
416
|
+
"event.nth.3": "tercer",
|
|
417
|
+
"event.nth.4": "cuarto",
|
|
418
|
+
"event.nth.5": "quinto",
|
|
419
|
+
"event.until": "Hasta (opcional)",
|
|
420
|
+
"event.skip": "Fechas en que no ocurre",
|
|
421
|
+
"event.skipDate": "Una fecha en que no ocurre",
|
|
422
|
+
"event.addSkip": "Saltar esta fecha",
|
|
423
|
+
"event.next": "Próximo: {when}",
|
|
424
|
+
"event.when": "{when}",
|
|
425
|
+
"collectionSettings.general": "General",
|
|
426
|
+
"collectionSettings.path": "Dirección de la página de cada elemento",
|
|
427
|
+
"collectionSettings.pathHint": "{slug} representa la dirección propia de cada elemento, como en /videos/{slug}.",
|
|
428
|
+
"collectionSettings.pathWarning": "Cambiar esto cambia la dirección de la página de cada elemento, y los enlaces a ellas en este sitio cambian también. Los enlaces a las direcciones antiguas desde otros sitios web dejarán de funcionar.",
|
|
429
|
+
"collectionSettings.sortField": "Ordenar los elementos por",
|
|
430
|
+
"collectionSettings.sortOrder": "Sentido",
|
|
431
|
+
"collectionSettings.ascending": "De la A a la Z, primero lo más antiguo o pequeño",
|
|
432
|
+
"collectionSettings.descending": "De la Z a la A, primero lo más reciente o grande",
|
|
433
|
+
"collectionSettings.message": "Actualizar los ajustes de {name}",
|
|
434
|
+
"collectionSettings.addressClash": "Con esta dirección, {title} tendría la misma dirección que otra página.",
|
|
435
|
+
"collectionSettings.delete": "Eliminar colección",
|
|
436
|
+
"collectionSettings.deleteTitle": "¿Eliminar {name}?",
|
|
437
|
+
"collectionSettings.deleteBody": "{name} y todo lo que contiene ({count} elementos) se quitarán del sitio, junto con sus páginas. Las listas que la muestran quedarán vacías.",
|
|
438
|
+
"collectionSettings.deleteLinked": "{name} no se puede eliminar mientras otras colecciones enlacen a sus elementos: {collections}. Quita antes esos campos.",
|
|
439
|
+
"collectionSettings.deleteMessage": "Eliminar la colección «{name}»",
|
|
440
|
+
"fields.title": "Campos",
|
|
441
|
+
"fields.intro": "La información que tiene cada elemento. Todos los elementos tienen un título. El tipo de un campo no se puede cambiar una vez publicado, pero puedes añadir un campo nuevo.",
|
|
442
|
+
"fields.add": "Añadir campo",
|
|
443
|
+
"fields.label": "Etiqueta",
|
|
444
|
+
"fields.type": "Tipo de información",
|
|
445
|
+
"fields.required": "Obligatorio",
|
|
446
|
+
"fields.hint": "Texto de ayuda",
|
|
447
|
+
"fields.options": "Opciones",
|
|
448
|
+
"fields.option": "Opción {number}",
|
|
449
|
+
"fields.addOption": "Añadir opción",
|
|
450
|
+
"fields.optionsRequired": "Añade al menos una opción.",
|
|
451
|
+
"fields.placeholder": "Muéstralo en el diseño de página con {placeholder}",
|
|
452
|
+
"fields.remove": "Quitar campo",
|
|
453
|
+
"fields.removed": "Los campos que quites también se quitan de todos los elementos al publicar.",
|
|
454
|
+
"fields.newLabel": "Campo nuevo",
|
|
455
|
+
"fields.linksTo": "Enlaza a elementos de",
|
|
456
|
+
"fields.multiple": "Puede enlazar a varios",
|
|
457
|
+
"fields.collectionRequired": "Elige la colección a la que enlaza.",
|
|
458
|
+
"fields.groupFields": "Campos de cada fila",
|
|
459
|
+
"fields.addGroupField": "Añadir un campo a cada fila",
|
|
460
|
+
"fields.type.text": "Texto corto",
|
|
461
|
+
"fields.type.textarea": "Texto largo",
|
|
462
|
+
"fields.type.richtext": "Texto con formato",
|
|
463
|
+
"fields.type.number": "Número",
|
|
464
|
+
"fields.type.date": "Fecha",
|
|
465
|
+
"fields.type.event": "Fecha y hora, para eventos",
|
|
466
|
+
"fields.type.link": "Enlace",
|
|
467
|
+
"fields.type.image": "Imagen (URL)",
|
|
468
|
+
"fields.type.select": "Una opción de una lista",
|
|
469
|
+
"fields.type.tags": "Etiquetas (varias opciones de una lista)",
|
|
470
|
+
"fields.type.yesno": "Sí o no",
|
|
471
|
+
"fields.type.item": "Enlace a elementos de una colección",
|
|
472
|
+
"fields.type.images": "Varias imágenes",
|
|
473
|
+
"fields.type.file": "Archivo",
|
|
474
|
+
"fields.type.group": "Grupo que se repite (filas de unos pocos campos)",
|
|
475
|
+
"demo.banner": "Esto es una demostración. Prueba lo que quieras: tus cambios se ven aquí en el panel de administración y se guardan solo en este navegador. El sitio en sí nunca cambia.",
|
|
476
|
+
"demo.published": "Guardado en este navegador. En una demostración, el sitio en sí no cambia.",
|
|
477
|
+
"demo.startOver": "Empezar de nuevo",
|
|
478
|
+
"demo.startOverTitle": "¿Empezar de nuevo?",
|
|
479
|
+
"demo.startOverBody": "Se deshará todo lo que hayas cambiado en esta demostración, incluidos los archivos subidos.",
|
|
480
|
+
"blocks.contentOnly": "Los bloques de este sitio los añade quien se ocupa de su código.",
|
|
481
|
+
"blocks.contentOnlyHint": "Su código se guarda aparte de su contenido, así que añadir o quitar un bloque se hace donde está el código, y aparece aquí cuando el sitio se ha vuelto a generar.",
|
|
482
|
+
"blocks.demo": "En esta demostración puedes ver qué bloques hay, pero no añadirlos ni quitarlos: a un sitio real se le añade un bloque actualizando su código.",
|
|
483
|
+
"markdown.formatted": "Con formato",
|
|
484
|
+
"markdown.source": "Markdown",
|
|
485
|
+
"markdown.sourceOnly": "Este texto usa cosas que la vista con formato no puede mostrar, como tablas o imágenes, así que solo se puede editar como Markdown.",
|
|
486
|
+
"blocks.title": "Bloques",
|
|
487
|
+
"blocks.intro": "Añade bloques al editor o quita los que no uses. El cambio se ve en el editor cuando el sitio se ha actualizado, normalmente en unos minutos.",
|
|
488
|
+
"blocks.otherRegistries": "Los bloques de otros catálogos se pueden añadir cuando el panel de administración tenga una dirección propia, fuera del alcance de las páginas del sitio (Ajustes del sitio → Dominio).",
|
|
489
|
+
"blocks.installed": "Añadidos a este sitio",
|
|
490
|
+
"blocks.noneInstalled": "Todavía no se ha añadido ningún bloque. El editor ofrece los que vienen incluidos.",
|
|
491
|
+
"blocks.loading": "Cargando los bloques que puedes añadir…",
|
|
492
|
+
"blocks.recommended": "Recomendados",
|
|
493
|
+
"blocks.add": "Añadir",
|
|
494
|
+
"blocks.addLabel": "Añadir {name}",
|
|
495
|
+
"blocks.added": "Añadido",
|
|
496
|
+
"blocks.remove": "Quitar",
|
|
497
|
+
"blocks.removeLabel": "Quitar {name}",
|
|
498
|
+
"blocks.undo": "Deshacer",
|
|
499
|
+
"blocks.undoAddLabel": "No añadir {name}",
|
|
500
|
+
"blocks.undoRemoveLabel": "No quitar {name}",
|
|
501
|
+
"blocks.willAdd": "Se añadirá",
|
|
502
|
+
"blocks.willRemove": "Se quitará",
|
|
503
|
+
"blocks.pendingTitle": "Cambios por publicar",
|
|
504
|
+
"blocks.pendingAdd": "Añadir {name}",
|
|
505
|
+
"blocks.pendingRemove": "Quitar {name}",
|
|
506
|
+
"blocks.discard": "Descartar los cambios",
|
|
507
|
+
"blocks.publish": "Publicar",
|
|
508
|
+
"blocks.publishedNotice": "Publicado. Los bloques añadidos estarán en la lista de bloques del editor, y los quitados desaparecerán de ella, cuando el sitio se haya actualizado.",
|
|
509
|
+
"blocks.submit": "Enviar a revisión",
|
|
510
|
+
"blocks.reviewHint": "El código de los bloques se ejecuta en el servidor de este sitio, que guarda sus secretos, así que añadir y quitar bloques se envía a revisión para que alguien que se ocupe del código lo acepte.",
|
|
511
|
+
"blocks.reviewDescription": "Desde la pantalla Bloques del panel de administración. El código de los bloques se ejecuta en el servidor del sitio.",
|
|
512
|
+
"blocks.submittedNotice": "Enviado a revisión. Cuando alguien que se ocupe del código lo acepte y el sitio se haya actualizado, la lista de bloques del editor cambiará.",
|
|
513
|
+
"blocks.seeReview": "Verlo",
|
|
514
|
+
"blocks.addMessage": "Añadir el bloque {name}",
|
|
515
|
+
"blocks.removeMessage": "Quitar el bloque {name}",
|
|
516
|
+
"blocks.changeMessage": "Cambiar bloques: {changes}",
|
|
517
|
+
"blocks.addPart": "añadir {names}",
|
|
518
|
+
"blocks.removePart": "quitar {names}",
|
|
519
|
+
"blocks.inUseTitle": "{name} todavía no se puede quitar",
|
|
520
|
+
"blocks.inUse": "{name} se usa en: {places}. Sácalo de ahí primero y luego quítalo.",
|
|
521
|
+
"blocks.usedTemplate": "el diseño de página de {name}",
|
|
522
|
+
"blocks.error.record": "No se pudo leer la lista de bloques añadidos a este sitio. Avisa a quien se ocupe del sitio.",
|
|
523
|
+
"blocks.error.unreachable": "No se pudieron cargar los bloques que puedes añadir. Comprueba tu conexión a internet e inténtalo de nuevo.",
|
|
524
|
+
"blocks.error.invalid": "La lista de bloques que puedes añadir tiene un problema, así que no se pudo leer. Inténtalo más tarde.",
|
|
525
|
+
"blocks.error.untrusted": "Este bloque viene de un lugar en el que este sitio no confía, así que no se puede añadir.",
|
|
526
|
+
"blocks.error.not-a-block": "Esto no se puede añadir al editor como bloque.",
|
|
527
|
+
"blocks.error.already-installed": "{name} ya está añadido.",
|
|
528
|
+
"blocks.error.name-taken": "El sitio ya tiene un bloque con el mismo nombre que {name}, así que no se puede añadir.",
|
|
529
|
+
"blocks.error.packages": "Este bloque necesita programas que el sitio no tiene ({packages}). Pide a quien se ocupe del sitio que los añada.",
|
|
530
|
+
"blocks.error.unsupported-file": "Este bloque incluye un archivo que no se puede añadir desde aquí ({path}). Pide a quien se ocupe del sitio que lo añada.",
|
|
531
|
+
"blocks.error.file-exists": "El sitio ya tiene otro archivo donde va este bloque ({path}). Pide a quien se ocupe del sitio que lo añada.",
|
|
532
|
+
"blocks.error.not-installed": "{name} no está añadido, así que no hay nada que quitar.",
|
|
533
|
+
"blocks.error.in-use": "{name} todavía se usa en el sitio. Sácalo primero y luego quítalo.",
|
|
534
|
+
"media.title": "Multimedia",
|
|
535
|
+
"media.cloudflareVideo": "Este sitio se publica con Cloudflare Pages, cuyas condiciones limitan servir vídeo y otros archivos grandes en sus planes gratuitos sin uno de sus servicios de pago. Para ir sobre seguro, sube los vídeos a YouTube o Vimeo y muéstralos con el bloque Vídeo, que los reproduce desde allí.",
|
|
536
|
+
"media.cloudflareVideoTerms": "Condiciones de Cloudflare",
|
|
537
|
+
"media.intro": "Imágenes y archivos del sitio. Súbelos aquí, o mientras editas una página. Las fotos grandes se reducen, y se quitan los datos ocultos en las fotos, como dónde se hicieron.",
|
|
538
|
+
"media.upload": "Subir archivos",
|
|
539
|
+
"media.uploading": "Subiendo…",
|
|
540
|
+
"media.drop": "Suelta aquí los archivos para subirlos",
|
|
541
|
+
"media.empty": "Todavía no hay imágenes ni archivos.",
|
|
542
|
+
"media.search": "Buscar un archivo",
|
|
543
|
+
"media.noMatches": "Ningún archivo coincide.",
|
|
544
|
+
"media.copy": "Copiar la dirección",
|
|
545
|
+
"media.copied": "Copiada",
|
|
546
|
+
"media.replace": "Sustituir",
|
|
547
|
+
"media.delete": "Eliminar",
|
|
548
|
+
"media.uploaded": "Subido. Los visitantes ven los archivos nuevos cuando se actualiza el sitio publicado.",
|
|
549
|
+
"media.uploadMessage": "Añadir {names}",
|
|
550
|
+
"media.replaceMessage": "Sustituir {name}",
|
|
551
|
+
"media.replaceKind": "{name} es un tipo de archivo distinto de {target}. Sustitúyelo por un archivo del mismo tipo o sube {name} como archivo nuevo.",
|
|
552
|
+
"media.deleteMessage": "Eliminar {name}",
|
|
553
|
+
"media.deleteTitle": "¿Eliminar {name}?",
|
|
554
|
+
"media.deleteBody": "{name} se quitará del sitio.",
|
|
555
|
+
"media.deleteUsed": "Se usa en: {places}. Elige otro archivo allí primero, porque el sitio no se puede publicar usando un archivo que ya no está.",
|
|
556
|
+
"media.notUsed": "Nada del sitio lo usa.",
|
|
557
|
+
"media.select": "Seleccionar archivos",
|
|
558
|
+
"media.selection": "Archivos seleccionados",
|
|
559
|
+
"media.selected": "{count} seleccionados",
|
|
560
|
+
"media.selectShown": "Seleccionar todos los mostrados",
|
|
561
|
+
"media.selectFile": "Seleccionar {name}",
|
|
562
|
+
"media.selectDone": "Listo",
|
|
563
|
+
"media.deleteSelected": "Eliminar seleccionados ({count})",
|
|
564
|
+
"media.deleteManyMessage": "Eliminar {count} archivos",
|
|
565
|
+
"media.deleteManyTitle": "¿Eliminar {count} archivos?",
|
|
566
|
+
"media.deleteManyBody": "Estos {count} archivos se quitarán del sitio.",
|
|
567
|
+
"media.deleteManyUsed": "Algunos se usan en el sitio. Elige otros archivos allí primero, porque el sitio no se puede publicar usando archivos que ya no están:",
|
|
568
|
+
"media.usedIn": "{name}: {places}",
|
|
569
|
+
"media.noneUsed": "Nada del sitio los usa.",
|
|
570
|
+
"media.noDescription": "Aún sin descripción",
|
|
571
|
+
"media.describeHint": "Di qué muestra la imagen, para quienes no pueden verla, por ejemplo «Niños cantando en el coro en la misa de Navidad». Dondequiera que la descripción propia de la imagen quede vacía, se usa esta.",
|
|
572
|
+
"media.description": "Descripción",
|
|
573
|
+
"media.descriptionIn": "Descripción en {language}",
|
|
574
|
+
"media.describeLanguages": "Los idiomas que dejes vacíos usan la descripción en el idioma principal del sitio.",
|
|
575
|
+
"media.details": "Detalles",
|
|
576
|
+
"media.detailsTitle": "Detalles de {name}",
|
|
577
|
+
"media.detailsMessage": "Cambiar los detalles de {name}",
|
|
578
|
+
"media.focus": "Punto de interés",
|
|
579
|
+
"media.focusHint": "Haz clic en la parte de la imagen que debe verse siempre que se recorte para encajar, como una cara. Las flechas del teclado también la mueven.",
|
|
580
|
+
"media.focusNone": "Ninguno: la imagen se recorta alrededor de su centro.",
|
|
581
|
+
"media.focusClear": "Quitar el punto de interés",
|
|
582
|
+
"media.focusLabel": "{name}: elige su punto de interés",
|
|
583
|
+
"media.tags": "Etiquetas",
|
|
584
|
+
"media.tagsHint": "Palabras para encontrar archivos, como «Eventos» o «Personal». Los visitantes no las ven.",
|
|
585
|
+
"media.tagAdd": "Añadir una etiqueta",
|
|
586
|
+
"media.tagRemove": "Quitar {tag}",
|
|
587
|
+
"media.tagFilter": "Mostrar archivos con la etiqueta",
|
|
588
|
+
"media.tagAll": "Todos",
|
|
589
|
+
"media.tagSelected": "Etiquetar seleccionados ({count})",
|
|
590
|
+
"media.tagFilesTitle": "Etiquetar {count} archivos",
|
|
591
|
+
"media.tagFilesAdd": "Añadir estas etiquetas",
|
|
592
|
+
"media.tagFilesRemove": "Quitar estas etiquetas",
|
|
593
|
+
"media.tagMessage": "Etiquetar {count} archivos",
|
|
594
|
+
"media.crop": "Recortar o girar",
|
|
595
|
+
"media.cropTitle": "Recortar o girar {name}",
|
|
596
|
+
"media.cropHint": "Arrastra el recuadro para elegir qué conservar, y su esquina para cambiar su tamaño. Con el recuadro elegido, las flechas lo mueven, y con Mayúsculas cambian su tamaño.",
|
|
597
|
+
"media.cropBox": "La parte de la imagen que se conserva",
|
|
598
|
+
"media.cropShape": "Forma",
|
|
599
|
+
"media.cropFree": "Cualquier forma",
|
|
600
|
+
"media.cropSquare": "Cuadrada",
|
|
601
|
+
"media.cropPhoto": "Foto (4:3)",
|
|
602
|
+
"media.cropWide": "Panorámica (16:9)",
|
|
603
|
+
"media.rotateLeft": "Girar a la izquierda",
|
|
604
|
+
"media.rotateRight": "Girar a la derecha",
|
|
605
|
+
"media.cropSize": "{width} × {height} píxeles",
|
|
606
|
+
"media.cropReplaceHint": "Una imagen nueva solo se usa donde la elijas. Sustituir la original cambia la imagen en todos los sitios donde se usa, y borra su descripción y su punto de interés.",
|
|
607
|
+
"media.cropSaveNew": "Guardar como imagen nueva",
|
|
608
|
+
"media.cropReplace": "Sustituir la original",
|
|
609
|
+
"media.cropFailed": "No se pudo guardar la imagen. Inténtalo de nuevo, o recórtala en tu ordenador y súbela.",
|
|
610
|
+
"media.cropUnreadable": "No se pudo leer esta imagen, así que no se puede recortar aquí.",
|
|
611
|
+
"media.cropSaved": "Se guardó {name}.",
|
|
612
|
+
"media.error.type": "{name} no se puede subir. El sitio puede usar imágenes (JPEG, PNG, GIF, WebP, AVIF y SVG), PDF, documentos de oficina, audio MP3, vídeo MP4 y WebM, y subtítulos para vídeos (WebVTT).",
|
|
613
|
+
"media.error.size": "{name} es demasiado grande: los archivos pueden tener hasta 25 MB. Los vídeos largos, súbelos a YouTube o Vimeo y enlázalos desde aquí.",
|
|
614
|
+
"media.error.unreadable": "No se pudo leer {name}. Puede estar dañado, o en un formato que los navegadores no abren, como HEIC. Guárdalo como JPEG e inténtalo de nuevo.",
|
|
615
|
+
"media.error.font": "{name} es una fuente. Las fuentes se añaden en Ajustes del sitio, en Colores y fuentes.",
|
|
616
|
+
"media.choose": "Elegir imagen",
|
|
617
|
+
"media.chooseAudio": "Elegir archivo de sonido",
|
|
618
|
+
"media.chooseFile": "Elegir archivo",
|
|
619
|
+
"media.chooseVideo": "Elegir vídeo",
|
|
620
|
+
"media.pickerTitle": "Elige una imagen",
|
|
621
|
+
"media.pickerTitleAudio": "Elige un archivo de sonido",
|
|
622
|
+
"media.pickerTitleFile": "Elige un archivo",
|
|
623
|
+
"media.pickerTitleVideo": "Elige un vídeo",
|
|
624
|
+
"media.pickerEmpty": "Todavía no se ha subido nada. Sube un archivo para usarlo aquí.",
|
|
625
|
+
"media.clear": "Quitar",
|
|
626
|
+
"table.addRow": "Añadir una fila",
|
|
627
|
+
"table.addColumn": "Añadir una columna",
|
|
628
|
+
"table.removeRow": "Quitar esta fila",
|
|
629
|
+
"table.removeRowNumber": "Quitar la fila {row}",
|
|
630
|
+
"table.removeColumn": "Quitar esta columna",
|
|
631
|
+
"table.removeColumnNumber": "Quitar la columna {column}",
|
|
632
|
+
"table.cell": "Fila {row}, columna {column}",
|
|
633
|
+
"table.bold": "Negrita",
|
|
634
|
+
"table.italic": "Cursiva",
|
|
635
|
+
"table.link": "Enlace",
|
|
636
|
+
"table.unlink": "Quitar el enlace",
|
|
637
|
+
"table.linkAddress": "Adónde va el enlace",
|
|
638
|
+
"table.linkApply": "Añadir el enlace",
|
|
639
|
+
"table.linkSelect": "Primero selecciona unas palabras de una celda y luego elige Enlace.",
|
|
640
|
+
"style.align": "Alineación del texto",
|
|
641
|
+
"style.align.default": "Como lo tiene el bloque",
|
|
642
|
+
"style.align.left": "Izquierda",
|
|
643
|
+
"style.align.center": "Centrado",
|
|
644
|
+
"style.align.right": "Derecha",
|
|
645
|
+
"style.align.justify": "Justificado",
|
|
646
|
+
"style.fontSize": "Tamaño del texto",
|
|
647
|
+
"style.fontSize.xs": "Muy pequeño",
|
|
648
|
+
"style.fontSize.sm": "Pequeño",
|
|
649
|
+
"style.fontSize.base": "Normal",
|
|
650
|
+
"style.fontSize.lg": "Grande",
|
|
651
|
+
"style.fontSize.xl": "Muy grande",
|
|
652
|
+
"style.fontSize.2xl": "Enorme",
|
|
653
|
+
"style.fontSize.3xl": "Gigante",
|
|
654
|
+
"style.fontSize.4xl": "Muy gigante",
|
|
655
|
+
"style.fontSize.5xl": "Descomunal",
|
|
656
|
+
"style.fontSize.6xl": "Colosal",
|
|
657
|
+
"style.color": "Color del texto",
|
|
658
|
+
"style.background": "Color de fondo",
|
|
659
|
+
"style.colorDefault": "Como lo tiene el bloque",
|
|
660
|
+
"style.colorCustom": "Elegir un color",
|
|
661
|
+
"style.contrast": "Este texto puede leerse mal sobre este fondo. Prueba con colores más distintos.",
|
|
662
|
+
"style.padding": "Espacio interior",
|
|
663
|
+
"style.margin": "Espacio alrededor",
|
|
664
|
+
"style.eachSide": "Ajustar cada lado",
|
|
665
|
+
"style.side.top": "Arriba",
|
|
666
|
+
"style.side.right": "Derecha",
|
|
667
|
+
"style.side.bottom": "Abajo",
|
|
668
|
+
"style.side.left": "Izquierda",
|
|
669
|
+
"style.allSides": "Todos los lados",
|
|
670
|
+
"style.none": "Ninguno",
|
|
671
|
+
"style.radius": "Esquinas redondeadas",
|
|
672
|
+
"style.hiddenOn": "Ocultar en",
|
|
673
|
+
"style.hiddenOn.phones": "Teléfonos (menos de 640 px)",
|
|
674
|
+
"style.hiddenOn.tablets": "Tabletas (de 640 a 1023 px)",
|
|
675
|
+
"style.hiddenOn.computers": "Ordenadores (1024 px o más)",
|
|
676
|
+
"style.hiddenOnHint": "Elige un ancho de vista previa encima de la página para verla como la ve cada tamaño de pantalla. Un bloque oculto ahí sigue en el Esquema, donde puedes elegirlo.",
|
|
677
|
+
"style.hiddenOnAll": "Este bloque está oculto en todos los tamaños de pantalla, así que los visitantes nunca lo ven.",
|
|
678
|
+
"style.radius.none": "Cuadradas",
|
|
679
|
+
"style.radius.sm": "Ligeramente redondeadas",
|
|
680
|
+
"style.radius.md": "Redondeadas",
|
|
681
|
+
"style.radius.lg": "El redondeo del tema",
|
|
682
|
+
"style.radius.xl": "Muy redondeadas",
|
|
683
|
+
"style.radius.full": "Redondas",
|
|
684
|
+
"style.default": "Como lo tiene el bloque",
|
|
685
|
+
"style.custom": "Personalizado…",
|
|
686
|
+
"style.customLength": "Tu propio tamaño, como 12px o 1.5rem",
|
|
687
|
+
"style.customLengthInvalid": "Escribe un número con px, rem, em o %, como 12px.",
|
|
688
|
+
"style.other": "Otras clases CSS",
|
|
689
|
+
"style.otherHint": "Clases de Tailwind, o las tuyas del CSS propio, separadas por espacios.",
|
|
690
|
+
"style.reset": "Volver al aspecto propio del bloque",
|
|
691
|
+
"media.credit": "Crédito: {credit}",
|
|
692
|
+
"media.stored": "Guardado por {plugin}",
|
|
693
|
+
"media.error.storageSize": "{name} es demasiado grande: {plugin} admite archivos de hasta {size}.",
|
|
694
|
+
"media.storage.title": "Dónde se guarda el contenido multimedia",
|
|
695
|
+
"media.storage.intro": "{plugin} guarda el contenido multimedia del sitio en su almacenamiento, incluidos archivos grandes como vídeos largos. Ahora guarda {count} archivos. Las páginas los muestran desde allí, en las mismas direcciones.",
|
|
696
|
+
"media.storage.missing": "{plugin}, que el sitio ya no tiene, guarda {count} archivos en su almacenamiento. Las páginas todavía los muestran, pero los archivos nuevos van a los archivos propios del sitio.",
|
|
697
|
+
"media.storage.notReady": "{plugin} todavía no puede recibir archivos. {message}",
|
|
698
|
+
"media.storage.unavailable": "{plugin} no respondió. Recarga el panel de administración e inténtalo de nuevo.",
|
|
699
|
+
"media.storage.settings": "Abrir los ajustes de {plugin}",
|
|
700
|
+
"media.storage.failed": "{plugin} no pudo guardar {name}.",
|
|
701
|
+
"media.storage.uploading": "Subiendo a {plugin}… Tarda alrededor de un minuto.",
|
|
702
|
+
"media.storage.wait": "Cada grupo de archivos tarda alrededor de un minuto.",
|
|
703
|
+
"media.move.button": "Mover {count} archivos a {plugin}",
|
|
704
|
+
"media.move.title": "¿Mover el contenido multimedia del sitio a {plugin}?",
|
|
705
|
+
"media.move.body": "{plugin} guardará estos archivos, y las páginas los mostrarán desde su almacenamiento en las mismas direcciones, así que en ellas no cambia nada. Se quitan de los archivos propios del sitio; el historial de versiones los conserva.",
|
|
706
|
+
"media.move.moving": "Movidos {done} de {total}…",
|
|
707
|
+
"media.move.busy": "Moviendo…",
|
|
708
|
+
"media.move.nothing": "No se movió ningún archivo.",
|
|
709
|
+
"media.move.some": "Se movieron {count} archivos a {plugin} y luego se detuvo.",
|
|
710
|
+
"media.move.done": "Se movieron {count} archivos a {plugin}.",
|
|
711
|
+
"media.move.message": "Mover el contenido multimedia a {plugin}",
|
|
712
|
+
"media.back.button": "Devolver al sitio",
|
|
713
|
+
"media.back.title": "¿Devolver el contenido multimedia desde {plugin}?",
|
|
714
|
+
"media.back.body": "Los archivos que guarda {plugin} se copian de vuelta a los archivos propios del sitio, en las mismas direcciones, y los archivos nuevos también van allí. Cada uno puede tener hasta 25 MB.",
|
|
715
|
+
"media.back.empty": "{plugin} ya no guarda ningún archivo. Los archivos nuevos irán a los archivos propios del sitio.",
|
|
716
|
+
"media.back.large": "Estos superan los 25 MB, así que {plugin} los sigue guardando: {names}",
|
|
717
|
+
"media.back.failed": "No se pudo copiar {name} desde el almacenamiento de {plugin}, que quizá no lo permite.",
|
|
718
|
+
"media.back.done": "Se devolvieron {count} archivos desde {plugin}.",
|
|
719
|
+
"media.back.message": "Devolver el contenido multimedia desde {plugin}",
|
|
720
|
+
"ai.label": "IA",
|
|
721
|
+
"ai.title": "Escribir con IA",
|
|
722
|
+
"ai.mode.add": "Describe qué añadir a esta página, y la IA lo escribirá al final de la página.",
|
|
723
|
+
"ai.mode.edit": "Describe cómo cambiar el {block} seleccionado.",
|
|
724
|
+
"ai.mode.fill": "Describe este {item}, o pega tus notas, y la IA rellenará sus campos.",
|
|
725
|
+
"ai.instruction": "¿Qué debería escribir?",
|
|
726
|
+
"ai.placeholder.add": "Por ejemplo: una sección sobre el horario de misas de Navidad, con un título, una bienvenida breve y un botón a la página de contacto.",
|
|
727
|
+
"ai.placeholder.edit": "Por ejemplo: hazlo más breve y cercano, o tradúcelo al inglés.",
|
|
728
|
+
"ai.placeholder.fill": "Por ejemplo: la homilía del P. Pérez del domingo, sobre la esperanza. Pega aquí tus notas.",
|
|
729
|
+
"ai.photos": "Buscar fotos con licencia abierta cuando la biblioteca multimedia no tenga ninguna adecuada",
|
|
730
|
+
"ai.photosHint": "Las fotos vienen de Openverse y se añaden a la biblioteca multimedia. Las páginas que las usan citan a quien las hizo, como exigen sus licencias.",
|
|
731
|
+
"ai.photos.finding": "Buscando fotos…",
|
|
732
|
+
"ai.photos.message": "Añadir fotos de Openverse: {names}",
|
|
733
|
+
"ai.photos.added": "Fotos de Openverse añadidas a la biblioteca multimedia: {names}.",
|
|
734
|
+
"ai.photos.missing": "No se encontró foto para {count} de las imágenes, así que quedan vacías.",
|
|
735
|
+
"ai.photos.error.busy": "Openverse ha recibido demasiadas solicitudes desde este equipo, así que algunas imágenes quedan vacías. Inténtalo más tarde o elígelas de la biblioteca multimedia.",
|
|
736
|
+
"ai.photos.error.unreachable": "No se pudo conectar con Openverse, así que algunas imágenes quedan vacías. Comprueba tu conexión o elígelas de la biblioteca multimedia.",
|
|
737
|
+
"ai.photos.error.publish": "No se pudieron añadir a la biblioteca multimedia las fotos encontradas, así que sus imágenes quedan vacías.",
|
|
738
|
+
"ai.translate": "Traducir al {language}",
|
|
739
|
+
"ai.translate.hint": "Esta página está en {language}. La IA puede traducirla entera, bloques y ajustes, manteniendo su diseño. Lo que escribas abajo también se le pasa, como cuánta formalidad usar.",
|
|
740
|
+
"ai.translate.entryHint": "Este elemento está en {language}. La IA puede traducir todos sus campos. Lo que escribas abajo también se le pasa.",
|
|
741
|
+
"ai.write": "Escribirlo",
|
|
742
|
+
"ai.change": "Cambiarlo",
|
|
743
|
+
"ai.fill": "Rellenarlo",
|
|
744
|
+
"ai.stop": "Detener",
|
|
745
|
+
"ai.working": "Escribiendo…",
|
|
746
|
+
"ai.progress": "Escribiendo… {count} caracteres hasta ahora",
|
|
747
|
+
"ai.done": "Listo. Revísalo y publica cuando te guste. Deshacer lo revierte.",
|
|
748
|
+
"ai.check": "La IA puede equivocarse, así que lee lo que escribe antes de publicar. No se inventa horarios, nombres ni precios: deja [marcadores] para que los rellenes.",
|
|
749
|
+
"ai.needsKey": "Para usar {service}, añade una clave de API en los ajustes del servicio de IA, abajo, o elige otro servicio.",
|
|
750
|
+
"ai.settings": "Servicio de IA: {service}",
|
|
751
|
+
"ai.provider": "Servicio de IA",
|
|
752
|
+
"ai.provider.manual": "Copiar y pegar en una app de chat (gratis)",
|
|
753
|
+
"ai.provider.custom": "Otro servicio (compatible con OpenAI)",
|
|
754
|
+
"ai.noKey": "(gratis, sin clave)",
|
|
755
|
+
"ai.siteKey": "(lo ofrece este sitio)",
|
|
756
|
+
"ai.siteKeyHint": "Este sitio ofrece {service}, así que no necesitas una clave propia.",
|
|
757
|
+
"ai.baseUrl": "Dirección de la API del servicio",
|
|
758
|
+
"ai.baseUrlHint": "Como https://example.org/v1.",
|
|
759
|
+
"ai.key": "Clave de API",
|
|
760
|
+
"ai.keyHint": "Tu clave se queda en este navegador y solo se envía a {service}.",
|
|
761
|
+
"ai.getKey": "Conseguir una clave de {service}",
|
|
762
|
+
"ai.remember": "Recordar la clave en este dispositivo",
|
|
763
|
+
"ai.forget": "Olvidar la clave",
|
|
764
|
+
"ai.costHint": "{service} puede cobrar cada solicitud a la cuenta de la clave. Conviene fijar allí un límite de gasto.",
|
|
765
|
+
"ai.model": "Modelo",
|
|
766
|
+
"ai.modelHint": "Elige uno de la lista o escribe su nombre.",
|
|
767
|
+
"ai.model.claude-opus-5-5": "Claude Opus 5.5 (los mejores resultados)",
|
|
768
|
+
"ai.model.claude-sonnet-5-5": "Claude Sonnet 5.5 (más rápido, cuesta menos)",
|
|
769
|
+
"ai.model.claude-haiku-4-5": "Claude Haiku 4.5 (el más rápido, el que menos cuesta)",
|
|
770
|
+
"ai.manual.step1": "Copia esta solicitud en Claude.ai, ChatGPT u otra app de chat:",
|
|
771
|
+
"ai.manual.copy": "Copiar la solicitud",
|
|
772
|
+
"ai.manual.copied": "Copiada",
|
|
773
|
+
"ai.manual.step2": "Luego pega aquí la respuesta completa de la app de chat:",
|
|
774
|
+
"ai.manual.use": "Usar esta respuesta",
|
|
775
|
+
"ai.error.key": "{service} no aceptó la clave de API. Comprueba que se copió entera, que no se ha borrado y que puede usar este modelo.",
|
|
776
|
+
"ai.error.limit": "{service} está limitando las solicitudes ahora mismo, o la cuenta se ha quedado sin crédito. Espera un minuto e inténtalo de nuevo, o elige otro servicio.",
|
|
777
|
+
"ai.error.network": "No se pudo conectar con {service}. Comprueba tu conexión e inténtalo de nuevo.",
|
|
778
|
+
"ai.error.refused": "{service} prefirió no escribir esto. Prueba a pedirlo de otra manera.",
|
|
779
|
+
"ai.error.answer": "No se pudo usar la respuesta. Inténtalo de nuevo, o prueba con otro modelo o servicio.",
|
|
780
|
+
"ai.error.service": "{service} informó de un problema. Inténtalo de nuevo en un momento.",
|
|
781
|
+
"settings.title": "Ajustes del sitio",
|
|
782
|
+
"appearance.darkMode": "Modo oscuro",
|
|
783
|
+
"settings.tab.general": "General",
|
|
784
|
+
"settings.tab.languages": "Idiomas",
|
|
785
|
+
"settings.tab.theme": "Colores y fuentes",
|
|
786
|
+
"settings.tab.menus": "Menús",
|
|
787
|
+
"settings.tab.css": "CSS propio",
|
|
788
|
+
"settings.tab.code": "Código",
|
|
789
|
+
"settings.tab.redirects": "Redirecciones",
|
|
790
|
+
"settings.sidebar.collapse": "Ocultar nombres",
|
|
791
|
+
"settings.sidebar.expand": "Mostrar nombres",
|
|
792
|
+
"settings.tab.domain": "Dominio",
|
|
793
|
+
"settings.message": "Actualizar los ajustes del sitio",
|
|
794
|
+
"settings.preview": "Vista previa de la página de inicio",
|
|
795
|
+
"settings.previewEmpty": "Añade una página de inicio para ver aquí una vista previa.",
|
|
796
|
+
"domain.intro": "Conecta un dominio tuyo, como example.org, para que el sitio esté en esa dirección.",
|
|
797
|
+
"domain.current": "Ahora el sitio está en {address}.",
|
|
798
|
+
"domain.copy": "Este panel de administración es una copia del sitio, como un sitio de pruebas, en {address}. Esa dirección se fija donde se genera la copia, así que el dominio que conecta esta pantalla es el del sitio principal.",
|
|
799
|
+
"domain.connected": "Conectado a {domain}.",
|
|
800
|
+
"domain.signIn": "Para iniciar sesión, se va a {host} y se vuelve aquí. Añade {address} a las URI de redirección de la aplicación con la que se inicia sesión en {host}, o el inicio de sesión dejará de funcionar cuando el sitio cambie de dirección.",
|
|
801
|
+
"domain.local": "Los dominios se conectan en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
802
|
+
"domain.admin.title": "Dirección de administración",
|
|
803
|
+
"domain.admin.intro": "Una dirección propia para el panel de administración, como admin.example.org, impide que las páginas del sitio lleguen a lo que guarda el panel, como las sesiones de quienes editan. Entonces se inicia sesión allí. Los bloques de catálogos distintos del de Goodfellow solo se pueden añadir cuando el panel tiene una.",
|
|
804
|
+
"domain.admin.unsupported": "{host} sirve cada sitio en una sola dirección, así que aquí el panel de administración no puede tener una propia.",
|
|
805
|
+
"domain.admin.contentOnly": "La dirección del panel de administración se indica en el código del sitio, que se guarda aparte de su contenido, así que quien se ocupe del código termina de configurarla allí.",
|
|
806
|
+
"domain.admin.code.unknown": "Con esta sesión no se puede leer el código del sitio, así que esta pantalla no sabe si ya se ha hecho.",
|
|
807
|
+
"domain.admin.code.add": "Quien se ocupe del código indica la dirección en el código del sitio y luego publica el código:",
|
|
808
|
+
"domain.admin.code.check": "Cuando el sitio se haya generado y funcione en {address}, quien se ocupe del código comprueba la dirección. Desde la siguiente generación, el panel de administración solo se abre allí:",
|
|
809
|
+
"domain.admin.code.remove": "Para dejar de usarla, quien se ocupe del código la quita del código del sitio:",
|
|
810
|
+
"domain.admin.noConfig": "La dirección del panel de administración va en el archivo {file} del sitio, que no tiene el habitual defineConfig({ para ella, así que la indica allí quien se ocupe del código.",
|
|
811
|
+
"domain.admin.noSiteAddress": "Conecta primero el dominio propio del sitio: la dirección de administración va a su lado.",
|
|
812
|
+
"domain.admin.field": "Dirección de administración",
|
|
813
|
+
"domain.admin.fieldHint": "Una dirección del dominio del sitio que no use nada más, como admin.example.org.",
|
|
814
|
+
"domain.admin.connect": "Dar esta dirección al panel de administración",
|
|
815
|
+
"domain.admin.elsewhere": "Añade también esta dirección al proyecto del sitio en {host}, en sus dominios personalizados, para que también sirva el sitio allí. La generación del sitio escribe las reglas de {host} para ella.",
|
|
816
|
+
"domain.admin.elsewhereGuarded": "Añade también esta dirección al sitio en {host}, como alias de dominio, para que también sirva el sitio allí. {host} no puede enviar reglas para una sola dirección, así que el script con el que empieza cada página del sitio las mantiene fuera de ella, como en GitLab Pages.",
|
|
817
|
+
"domain.admin.message": "Dar al panel de administración su propia dirección, {domain}",
|
|
818
|
+
"domain.admin.connected": "La dirección del panel de administración es {domain}",
|
|
819
|
+
"domain.admin.ready": "El sitio responde en {address}. Abre allí el panel de administración para empezar a usarla.",
|
|
820
|
+
"domain.admin.pending": "Cuando el sitio se haya generado y funcione en {address}, abre allí el panel de administración: comprueba la dirección y luego puedes empezar a usarla.",
|
|
821
|
+
"domain.admin.open": "Abrir el panel de administración en {address}",
|
|
822
|
+
"domain.admin.signInAgain": "Allí volverás a iniciar sesión: es otra dirección, así que tiene su propia sesión.",
|
|
823
|
+
"domain.admin.checking": "Comprobando {address}…",
|
|
824
|
+
"domain.admin.check.ok": "Las páginas del sitio en esta dirección se van a la dirección propia del sitio antes de ejecutar nada.",
|
|
825
|
+
"domain.admin.check.no-guard": "Las páginas del sitio en esta dirección todavía no empiezan con el script que las envía fuera. Espera a que el sitio se genere y vuelve a comprobarlo.",
|
|
826
|
+
"domain.admin.check.no-sandbox": "{host} todavía no aísla las páginas del sitio en esta dirección. Espera a que el sitio se genere y vuelve a comprobarlo.",
|
|
827
|
+
"domain.admin.check.failed": "El panel de administración no pudo comprobar esta dirección. Inténtalo de nuevo en un momento.",
|
|
828
|
+
"domain.admin.use": "Empezar a usar {address}",
|
|
829
|
+
"domain.admin.useMessage": "Abrir el panel de administración solo en {domain}",
|
|
830
|
+
"domain.admin.using": "La dirección del panel de administración es {address}. Cuando el sitio se haya generado, el panel solo se abrirá allí.",
|
|
831
|
+
"domain.admin.stop": "Dejar de usar la dirección de administración",
|
|
832
|
+
"domain.admin.stopMessage": "Dejar de usar {domain} para el panel de administración",
|
|
833
|
+
"domain.admin.stopBody": "El panel de administración vuelve a la dirección propia del sitio cuando este se haya generado, y allí no se pueden añadir bloques de catálogos distintos del de Goodfellow.",
|
|
834
|
+
"domain.demo": "En una demostración no se pueden conectar dominios.",
|
|
835
|
+
"domain.loading": "Buscando dónde se publica el sitio…",
|
|
836
|
+
"domain.elsewhere": "Este sitio no se publica con {host} Pages, así que su dominio se conecta donde se publica.",
|
|
837
|
+
"domain.elsewhere.cloudflare": "En Cloudflare Pages: abre el proyecto del sitio, ve a Custom domains y configura el dominio. Para un dominio como www.example.org, Cloudflare muestra un registro CNAME que añadir en tu registrador. Para example.org en sí, el dominio tiene que usar los servidores de nombres de Cloudflare, que te guía paso a paso. Cuando el sitio funcione en su nueva dirección, ponla en General → Dirección del sitio y publica.",
|
|
838
|
+
"domain.elsewhere.netlify": "En Netlify: abre el sitio, ve a Domain management y añade el dominio. Netlify muestra los registros que añadir en tu registrador, u ofrece encargarse él mismo del DNS del dominio. Cuando el sitio funcione en su nueva dirección, ponla en General → Dirección del sitio y publica.",
|
|
839
|
+
"domain.elsewhere.other": "En cualquier otro alojamiento: conecta el dominio en los ajustes del propio alojamiento, como explica. Cuando el sitio funcione en su nueva dirección, pon la dirección en General → Dirección del sitio y publica.",
|
|
840
|
+
"domain.elsewhere.vercel": "En Vercel: abre el proyecto del sitio, ve a Settings → Domains y añade el dominio. Vercel muestra los registros que añadir en tu registrador. Cuando el sitio funcione en su nueva dirección, ponla en General → Dirección del sitio y publica.",
|
|
841
|
+
"domain.field": "Dominio",
|
|
842
|
+
"domain.fieldHint": "Como example.org o www.example.org. Cómpralo primero en un registrador, como Cloudflare, Namecheap o Porkbun. Para example.org, www.example.org también funciona.",
|
|
843
|
+
"domain.invalid": "Eso no es un dominio. Escríbelo como example.org.",
|
|
844
|
+
"domain.warning": "Una vez conectado, la dirección actual del sitio envía a los visitantes a la nueva, que solo funciona cuando los registros están puestos. Ten abiertos los ajustes de DNS de tu registrador y añade los registros enseguida.",
|
|
845
|
+
"domain.connect": "Conectar dominio",
|
|
846
|
+
"domain.connecting": "Conectando…",
|
|
847
|
+
"domain.message": "Usar el dominio {domain}",
|
|
848
|
+
"domain.records.title": "1. Añade estos registros en tu registrador",
|
|
849
|
+
"domain.records.hint": "Tu registrador es donde compraste el dominio. En sus ajustes de DNS, añade cada registro de abajo. Borra cualquier otro registro A, AAAA o CNAME con los mismos nombres, como una página que el registrador muestra en los dominios nuevos.",
|
|
850
|
+
"domain.records.type": "Tipo",
|
|
851
|
+
"domain.records.name": "Nombre",
|
|
852
|
+
"domain.records.value": "Valor",
|
|
853
|
+
"domain.records.state": "Encontrado",
|
|
854
|
+
"domain.records.ok": "Listo",
|
|
855
|
+
"domain.records.missing": "Todavía no está",
|
|
856
|
+
"domain.records.wrong": "Hay otra cosa: {found}",
|
|
857
|
+
"domain.records.optional": "opcional",
|
|
858
|
+
"domain.purpose.site": "Dirige el dominio al sitio.",
|
|
859
|
+
"domain.purpose.verification": "Demuestra a {host} que el dominio es tuyo. No lo quites.",
|
|
860
|
+
"domain.purpose.www": "También lleva www. al sitio.",
|
|
861
|
+
"domain.guides": "Cómo añadir registros en:",
|
|
862
|
+
"domain.cloudflare": "En Cloudflare, pon el estado de proxy de cada registro en Solo DNS, o {host} no podrá configurar HTTPS para el dominio.",
|
|
863
|
+
"domain.host.title": "2. {host} comprueba el dominio y configura HTTPS",
|
|
864
|
+
"domain.host.unverified": "Esperando a que {host} encuentre el registro que demuestra que el dominio es tuyo.",
|
|
865
|
+
"domain.host.pending": "Esperando el certificado HTTPS, que {host} pide cuando los registros están puestos. Puede tardar hasta un día.",
|
|
866
|
+
"domain.host.ready": "El certificado HTTPS está listo.",
|
|
867
|
+
"domain.host.failed": "No se pudo configurar el certificado HTTPS. Revisa los registros, luego quita el dominio y vuelve a conectarlo.",
|
|
868
|
+
"domain.site.title": "3. El sitio se abre en {address}",
|
|
869
|
+
"domain.site.waiting": "Todavía no. Los registros nuevos pueden tardar desde unos minutos hasta un día en llegar a todo el mundo.",
|
|
870
|
+
"domain.site.ok": "Sí.",
|
|
871
|
+
"domain.secure": "Enviar a todos a {address}",
|
|
872
|
+
"domain.secureHint": "Los visitantes siempre reciben la dirección segura, y la dirección antigua del sitio también los envía allí.",
|
|
873
|
+
"domain.done": "Listo: el sitio está en {address}.",
|
|
874
|
+
"domain.check": "Comprobar de nuevo",
|
|
875
|
+
"domain.checking": "Comprobando…",
|
|
876
|
+
"domain.checkFailed": "No se pudieron comprobar los registros ahora mismo. Inténtalo de nuevo en un momento.",
|
|
877
|
+
"domain.remove": "Quitar dominio",
|
|
878
|
+
"domain.removeTitle": "¿Quitar {domain}?",
|
|
879
|
+
"domain.removeBody": "El sitio vuelve a su dirección en {host}. Después, borra los registros en tu registrador, para que nadie más pueda usar el dominio para un sitio.",
|
|
880
|
+
"domain.removeMessage": "Dejar de usar el dominio {domain}",
|
|
881
|
+
"domain.error.not-allowed": "Tu cuenta no puede cambiar los ajustes de {host} Pages del sitio. Pide a alguien propietario que te haga propietario también, o que conecte el dominio por ti.",
|
|
882
|
+
"domain.error.taken": "Otro sitio de {host} ya usa este dominio. Si también es tuyo, quítalo allí primero.",
|
|
883
|
+
"domain.error.invalid": "{host} no acepta este dominio.",
|
|
884
|
+
"domain.error.not-ready": "El certificado HTTPS todavía no está listo. Inténtalo de nuevo dentro de un rato.",
|
|
885
|
+
"domain.error.other": "Algo salió mal.",
|
|
886
|
+
"owner.signIn.title": "Iniciar sesión como propietario",
|
|
887
|
+
"owner.signIn.intro": "Invitar y quitar a quienes editan, y conectar un dominio, necesita acceso de propietario en {host}, que el inicio de sesión de cada día no tiene. Inicia sesión como propietario solo para esta pestaña.",
|
|
888
|
+
"owner.signIn.button": "Iniciar sesión como propietario con {host}",
|
|
889
|
+
"owner.signIn.orToken": "O usa un token de propietario",
|
|
890
|
+
"owner.token.title": "Usar un token de propietario",
|
|
891
|
+
"owner.token.intro": "Invitar y quitar a quienes editan, y conectar un dominio, necesita más acceso en {host} del que tiene la sesión. Crea un segundo token para ello. Solo se guarda hasta que cierres esta pestaña y deja de funcionar al cabo de un día; puedes borrarlo antes en {host}.",
|
|
892
|
+
"owner.token.create": "Crear un token de propietario en {host}",
|
|
893
|
+
"owner.token.chooseSite": "Si {host} pregunta a qué puede acceder el token, elige solo este sitio.",
|
|
894
|
+
"owner.token.paste": "Copia el token y pégalo aquí:",
|
|
895
|
+
"settings.tab.security": "Seguridad",
|
|
896
|
+
"security.demo": "Una demostración no tiene sesión que proteger.",
|
|
897
|
+
"security.local": "La página de inicio de sesión se configura en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
898
|
+
"security.contentOnly": "La página de inicio de sesión se indica en el código del sitio, que se guarda aparte de su contenido, así que la configura allí quien se ocupe del código.",
|
|
899
|
+
"security.broker.title": "Página de inicio de sesión",
|
|
900
|
+
"security.broker.intro": "Una página de inicio de sesión propia, llamada intermediario de tokens, guarda las sesiones y las claves de IA de quienes editan en una dirección que no contiene nada más, y muestra el panel de administración desde allí, para que nada de las páginas del sitio pueda alcanzarlas. Pregunta a quien edita antes de publicar el código del sitio. Necesita una dirección propia, como signin.example.org, que no sirva nada más.",
|
|
901
|
+
"security.exposed": "Se inicia sesión en la propia dirección del sitio, donde sus páginas podrían alcanzar las sesiones: el código añadido en la pestaña Código, o por un bloque, podría actuar como cualquier persona con sesión iniciada. Una página de inicio de sesión propia, abajo, lo deja fuera de su alcance, y no necesita dominio en GitLab, Cloudflare Pages ni Vercel. Si tienes un dominio y el alojamiento lo permite, una dirección de administración propia, en la pantalla Dominio, también lo consigue.",
|
|
902
|
+
"security.broker.useTitle": "Iniciar sesión en una página de inicio de sesión que ya está en línea",
|
|
903
|
+
"security.add.title": "Añadir un intermediario de tokens",
|
|
904
|
+
"security.add.intro": "Crea un proyecto en {host} para la página de inicio de sesión, con los archivos publicados de Goodfellow y un archivo que nombra este sitio, y lo pone en línea donde elijas. Necesita un token que pueda crear proyectos, que solo se usa ahora y se guarda hasta que salgas de esta pantalla.",
|
|
905
|
+
"security.add.place": "Dónde ponerlo en línea",
|
|
906
|
+
"security.add.place.gitlab-pages": "GitLab Pages, en una dirección que le da GitLab",
|
|
907
|
+
"security.add.place.gitlab-domain": "GitLab Pages, en un dominio tuyo",
|
|
908
|
+
"security.add.place.github-domain": "GitHub Pages, en un dominio tuyo",
|
|
909
|
+
"security.add.place.cloudflare-pages": "Cloudflare Pages",
|
|
910
|
+
"security.add.place.vercel": "Vercel",
|
|
911
|
+
"security.add.placeHint.gitlab-pages": "GitLab da al proyecto una dirección propia, que no comparte con nada más. La encontrarás en Deploy → Pages cuando esté en línea. No hace falta dominio.",
|
|
912
|
+
"security.add.placeHint.gitlab-domain": "Un dominio, o parte de uno, como signin.example.org, que diriges a GitLab Pages como indican sus ajustes.",
|
|
913
|
+
"security.add.placeHint.github-domain": "Las direcciones propias de GitHub Pages las comparten todos los sitios de la misma cuenta, así que la página de inicio de sesión necesita un dominio, o parte de uno, como signin.example.org, que diriges a GitHub Pages como indican sus ajustes.",
|
|
914
|
+
"security.add.placeHint.cloudflare-pages": "Gratis, con una dirección propia. Cuando el proyecto esté creado, conéctalo a un proyecto de Cloudflare Pages, como explica su README.",
|
|
915
|
+
"security.add.placeHint.vercel": "Gratis para sitios no comerciales, con una dirección propia. Cuando el proyecto esté creado, impórtalo como proyecto de Vercel, como explica su README.",
|
|
916
|
+
"security.add.domain": "Su dominio",
|
|
917
|
+
"security.add.domainHint": "Como signin.example.org. Solo sirve la página de inicio de sesión.",
|
|
918
|
+
"security.add.problem.domain": "Eso no parece un dominio, como signin.example.org.",
|
|
919
|
+
"security.add.problem.shared": "Las direcciones github.io y gitlab.io se comparten con otros sitios, así que la página de inicio de sesión necesita un dominio tuyo.",
|
|
920
|
+
"security.add.problem.site": "Esa es la propia dirección del sitio. La página de inicio de sesión necesita una propia.",
|
|
921
|
+
"security.add.name": "Su nombre en {host}",
|
|
922
|
+
"security.add.nameHint": "Se crea junto al del sitio en {host}, público, porque solo contiene los archivos publicados de Goodfellow.",
|
|
923
|
+
"security.add.token": "Un token de {host} que pueda crear proyectos",
|
|
924
|
+
"security.add.tokenHint": "Solo se usa para crear el proyecto, y se olvida cuando sales de esta pantalla.",
|
|
925
|
+
"security.add.create": "Crear la página de inicio de sesión",
|
|
926
|
+
"security.add.creating": "Creando la página de inicio de sesión…",
|
|
927
|
+
"security.add.description": "La página de inicio de sesión de {site}",
|
|
928
|
+
"security.add.message": "Añadir la página de inicio de sesión",
|
|
929
|
+
"security.add.error.token": "{host} no aceptó ese token. Comprueba que esté entero y que pueda crear proyectos.",
|
|
930
|
+
"security.add.error.owner": "Ese token no puede crear proyectos en ningún sitio.",
|
|
931
|
+
"security.add.error.taken": "Ya hay un proyecto con ese nombre. Elige otro.",
|
|
932
|
+
"security.add.error.release": "No se pudo descargar la página de inicio de sesión de Goodfellow. Inténtalo de nuevo en un momento.",
|
|
933
|
+
"security.add.error.name-taken": "Ya hay un proyecto con ese nombre. Elige otro.",
|
|
934
|
+
"security.add.error.name-invalid": "{host} no puede usar eso como nombre de proyecto.",
|
|
935
|
+
"security.add.error.not-allowed": "Ese token no puede crear proyectos ni escribir su configuración de generación.",
|
|
936
|
+
"security.add.error.not-installed": "{host} necesita primero que se instale allí la app del servicio de inicio de sesión.",
|
|
937
|
+
"security.add.error.other": "No se pudo crear la página de inicio de sesión.",
|
|
938
|
+
"security.added.project": "El proyecto de la página de inicio de sesión está listo:",
|
|
939
|
+
"security.added.github-pages": "GitHub Pages lo está poniendo en línea. Dirige el dominio a GitHub Pages como indica Settings → Pages del proyecto, y espera a su certificado.",
|
|
940
|
+
"security.added.gitlab-pages": "GitLab Pages lo está poniendo en línea. Su dirección aparece en Deploy → Pages del proyecto nuevo cuando termine la primera generación.",
|
|
941
|
+
"security.added.cloudflare-pages": "Ahora conéctalo a Cloudflare Pages: crea un proyecto de Pages a partir del proyecto, sin comando de generación y con site como carpeta de salida.",
|
|
942
|
+
"security.added.vercel": "Ahora impórtalo como proyecto de Vercel, con site como carpeta raíz y sin comando de generación.",
|
|
943
|
+
"security.added.domainUnavailable": "No se le pudo asignar el dominio, quizá porque lo tiene otro sitio. Asígnalo en los ajustes de Pages del proyecto.",
|
|
944
|
+
"security.added.pagesUnavailable": "No se pudo activar Pages para él. Actívalo en los ajustes del proyecto.",
|
|
945
|
+
"security.added.address": "Cuando se abra en {address}, elige abajo Iniciar sesión allí a partir de ahora. Se iniciará sesión allí cuando el sitio se haya generado.",
|
|
946
|
+
"security.added.then": "Cuando esté en línea, escribe su dirección abajo y elige Iniciar sesión allí a partir de ahora. Se iniciará sesión allí cuando el sitio se haya generado.",
|
|
947
|
+
"security.broker.field": "La dirección de la página de inicio de sesión",
|
|
948
|
+
"security.broker.fieldHint": "Una dirección que solo sirva el intermediario de tokens, como https://broker.example.org.",
|
|
949
|
+
"security.broker.problem.invalid": "Tiene que ser una dirección https:// propia, sin nada después del dominio.",
|
|
950
|
+
"security.broker.problem.shared": "Las direcciones github.io las comparten todos los sitios de la misma cuenta, así que la página de inicio de sesión necesita un dominio propio.",
|
|
951
|
+
"security.broker.problem.same-as-site": "Esa es la propia dirección del sitio. La página de inicio de sesión necesita una propia.",
|
|
952
|
+
"security.broker.redirect": "Para iniciar sesión, se va a {host} y se vuelve, así que añade la dirección de la página de inicio de sesión a las URI de redirección de la aplicación con la que se inicia sesión en {host}.",
|
|
953
|
+
"security.broker.use": "Iniciar sesión allí a partir de ahora",
|
|
954
|
+
"security.broker.message": "Iniciar sesión en {address}",
|
|
955
|
+
"security.broker.error": "No se pudo publicar la dirección de la página de inicio de sesión.",
|
|
956
|
+
"security.broker.pending": "Cuando el sitio se haya generado, se iniciará sesión en {address}, y el panel de administración solo se abrirá allí.",
|
|
957
|
+
"security.broker.using": "Se inicia sesión en {address}, que guarda las sesiones y muestra el panel de administración.",
|
|
958
|
+
"security.broker.stop": "Dejar de usar la página de inicio de sesión",
|
|
959
|
+
"security.broker.stopMessage": "Dejar de iniciar sesión en {address}",
|
|
960
|
+
"security.broker.stopBody": "Cuando el sitio se haya generado, se volverá a iniciar sesión en el propio panel de administración, que guarda las sesiones donde las páginas del sitio podrían alcanzarlas, y allí no se pueden añadir bloques de catálogos distintos del de Goodfellow.",
|
|
961
|
+
"broker.elsewhere": "En este sitio se inicia sesión en su propia página de inicio de sesión, que guarda tu sesión donde las páginas del sitio no pueden alcanzarla, y muestra el panel de administración desde allí.",
|
|
962
|
+
"broker.open": "Ir a la página de inicio de sesión",
|
|
963
|
+
"broker.invalid": "Los ajustes del sitio indican una página de inicio de sesión cuya dirección no es propia, así que el panel de administración no puede abrirse. Pide a quien se ocupe del código que corrija la dirección del intermediario en goodfellow.config.tsx.",
|
|
964
|
+
"owner.token.pasteInBroker": "Copia el token, elige Usar este token y pégalo donde lo pida la página de inicio de sesión que rodea el panel de administración. Ella guarda el token, así que el panel de administración nunca lo ve.",
|
|
965
|
+
"owner.token.label": "Token de propietario",
|
|
966
|
+
"owner.token.use": "Usar este token",
|
|
967
|
+
"owner.token.checking": "Comprobando…",
|
|
968
|
+
"owner.token.error": "Ese token no puede administrar este sitio. Comprueba que lo creó alguien propietario del sitio, que tiene acceso a este sitio y que se copió entero.",
|
|
969
|
+
"owner.token.active": "Esta pestaña usa un token de propietario.",
|
|
970
|
+
"owner.token.forget": "Dejar de usarlo",
|
|
971
|
+
"settings.tab.editors": "Editores",
|
|
972
|
+
"settings.tab.updates": "Actualizaciones",
|
|
973
|
+
"settings.tab.history": "Historial del sitio",
|
|
974
|
+
"settings.tab.comments": "Comentarios",
|
|
975
|
+
"comments.intro": "Los comentarios de los visitantes se muestran en las páginas con el bloque Comentarios. Se guardan en GitHub, en un proyecto público propio, mediante Giscus, donde los visitantes inician sesión con una cuenta de GitHub para comentar, o en Disqus, donde inician sesión con Disqus u otra cuenta que ofrezca Disqus, o comentan como invitados si su configuración lo permite.",
|
|
976
|
+
"comments.demo": "Los comentarios no se pueden configurar en la demostración.",
|
|
977
|
+
"settings.tab.stats": "Visitas",
|
|
978
|
+
"stats.intro": "Cuenta cuántas personas visitan las páginas del sitio, y cuáles, con Plausible, Umami o GoatCounter. Cuentan sin cookies y guardan los números en sus propios sitios, donde los consultas. No se cuentan las visitas mientras pruebas el sitio en tu ordenador ni en el panel de administración.",
|
|
979
|
+
"stats.state.title": "Contando visitas",
|
|
980
|
+
"stats.state.counting": "Las visitas a las páginas del sitio se cuentan con {service}. Los cambios aparecen en el sitio cuando se vuelve a generar.",
|
|
981
|
+
"stats.dashboard": "Abrir el panel de {service}",
|
|
982
|
+
"stats.consent.label": "Contar solo a quienes lo acepten",
|
|
983
|
+
"stats.consent.hint": "En un sitio que pregunta primero a los visitantes (General → Consentimiento de los visitantes), el aviso pregunta por las estadísticas y las visitas solo se cuentan cuando el visitante lo permite. Desmárcalo solo si estás seguro de que la ley donde están tus visitantes te permite contar sin preguntar.",
|
|
984
|
+
"stats.consent.notAsking": "El sitio todavía no pregunta primero a los visitantes (General → Consentimiento de los visitantes), así que las visitas se cuentan desde el principio.",
|
|
985
|
+
"stats.consent.onMessage": "Contar visitas solo cuando los visitantes lo acepten",
|
|
986
|
+
"stats.consent.offMessage": "Contar visitas sin preguntar",
|
|
987
|
+
"stats.change": "Cambiar",
|
|
988
|
+
"stats.stop": "Dejar de contar",
|
|
989
|
+
"stats.stop.title": "¿Dejar de contar visitas?",
|
|
990
|
+
"stats.stop.body": "Las páginas del sitio dejarán de enviar las visitas a {service}. Los números que ya tienes se quedan en {service}.",
|
|
991
|
+
"stats.stop.message": "Dejar de contar visitas",
|
|
992
|
+
"stats.form.title": "Contar visitas",
|
|
993
|
+
"stats.service": "Servicio",
|
|
994
|
+
"stats.paste": "Código o datos",
|
|
995
|
+
"stats.paste.plausible": "Pega el script que te da Plausible en Site settings → Site installation, o solo el dominio de tu sitio en Plausible, como example.org.",
|
|
996
|
+
"stats.paste.umami": "Pega el código de seguimiento que te da Umami en Settings → Websites → Edit, o solo el ID del sitio web.",
|
|
997
|
+
"stats.paste.goatcounter": "Pega el script que te da GoatCounter en Settings → Site code, o solo el código de tu sitio, como mysite para mysite.goatcounter.com.",
|
|
998
|
+
"stats.domain": "El dominio de tu sitio en Plausible",
|
|
999
|
+
"stats.domainHint": "Tal como aparece en Plausible, como example.org. Su panel se llama así.",
|
|
1000
|
+
"stats.unreadable": "Esto no parece el código de ese servicio. Comprueba que elegiste el servicio correcto y que lo pegaste entero. Solo funcionan direcciones https:// de internet.",
|
|
1001
|
+
"stats.publish": "Empezar a contar",
|
|
1002
|
+
"stats.message": "Contar visitas con {service}",
|
|
1003
|
+
"comments.local": "Los comentarios en GitHub se configuran desde el panel de administración del sitio publicado, que inicia sesión en GitHub. Las páginas de aquí los muestran en cuanto estén configurados. Disqus se puede configurar aquí.",
|
|
1004
|
+
"comments.unavailable": "El panel de administración solo puede configurar los comentarios en GitHub donde inicia sesión en GitHub. Configúralos en GitHub como explica la página Comentarios de la documentación y pega el código de Giscus en el bloque Comentarios, o usa Disqus.",
|
|
1005
|
+
"comments.setup.title": "Configurar los comentarios",
|
|
1006
|
+
"comments.setup.new": "Crear un proyecto nuevo para los comentarios",
|
|
1007
|
+
"comments.setup.existing": "Usar un proyecto que ya tengo",
|
|
1008
|
+
"comments.setup.name": "Nombre del proyecto nuevo",
|
|
1009
|
+
"comments.setup.nameHint": "Se crea junto al del sitio en GitHub. Cualquiera puede leerlo, ya que los visitantes leen los comentarios desde allí.",
|
|
1010
|
+
"comments.setup.existingName": "El proyecto, como propietario/nombre o su dirección en GitHub",
|
|
1011
|
+
"comments.setup.existingHint": "Tiene que ser público. Sus Discussions se activan si están desactivadas.",
|
|
1012
|
+
"comments.setup.button": "Configurar los comentarios",
|
|
1013
|
+
"comments.setup.working": "Configurando…",
|
|
1014
|
+
"comments.setup.description": "Comentarios de los visitantes de {site}",
|
|
1015
|
+
"comments.setup.message": "Configurar los comentarios",
|
|
1016
|
+
"comments.install.title": "Último paso: instalar Giscus",
|
|
1017
|
+
"comments.install.intro": "Giscus es la aplicación de GitHub que muestra los comentarios en las páginas y publica lo que escriben los visitantes. Instálala en {project} y elige solo ese proyecto.",
|
|
1018
|
+
"comments.install.button": "Instalar Giscus",
|
|
1019
|
+
"comments.install.then": "Después añade el bloque Comentarios a una página o a la plantilla de una colección. Las páginas muestran los comentarios cuando el sitio se haya reconstruido.",
|
|
1020
|
+
"comments.place.title": "Dónde se guardan los comentarios",
|
|
1021
|
+
"comments.place.kept": "Los comentarios se guardan como discusiones de {category} en",
|
|
1022
|
+
"comments.place.install": "Si las páginas no muestran comentarios, comprueba que Giscus está instalado en el proyecto:",
|
|
1023
|
+
"comments.place.giscus": "Giscus en GitHub",
|
|
1024
|
+
"comments.stop.button": "Dejar de usar los comentarios",
|
|
1025
|
+
"comments.stop.title": "¿Dejar de usar los comentarios?",
|
|
1026
|
+
"comments.stop.body": "Las páginas dejan de mostrar comentarios cuando el sitio se haya reconstruido. Todo lo que escribieron los visitantes se queda en {project} en GitHub, así que puedes volver a configurar los comentarios con él más adelante.",
|
|
1027
|
+
"comments.stop.message": "Dejar de usar los comentarios",
|
|
1028
|
+
"comments.disqus.title": "Usar Disqus",
|
|
1029
|
+
"comments.disqus.intro": "Disqus guarda los comentarios en su propio servicio, donde los apruebas, ocultas y eliminas. Su plan gratuito muestra anuncios junto a ellos.",
|
|
1030
|
+
"comments.disqus.create": "Crea un sitio en Disqus",
|
|
1031
|
+
"comments.disqus.then": " y pega su nombre corto, que Disqus muestra en su configuración, o el código que te da para instalarlo.",
|
|
1032
|
+
"comments.disqus.label": "Nombre corto de Disqus, o su código",
|
|
1033
|
+
"comments.disqus.invalid": "Eso no es un nombre corto ni el código de Disqus. Un nombre corto solo tiene letras, números y guiones, como sanjose.",
|
|
1034
|
+
"comments.disqus.button": "Usar Disqus",
|
|
1035
|
+
"comments.disqus.message": "Usar Disqus para los comentarios",
|
|
1036
|
+
"comments.disqus.kept": "Disqus guarda los comentarios, para su sitio",
|
|
1037
|
+
"comments.disqus.moderateHint": "Aprueba, oculta y elimina comentarios, y bloquea a personas, en Disqus.",
|
|
1038
|
+
"comments.disqus.moderate": "Moderar los comentarios en Disqus",
|
|
1039
|
+
"comments.disqus.stopBody": "Las páginas dejan de mostrar comentarios cuando el sitio se haya reconstruido. Todo lo que escribieron los visitantes se queda en Disqus, así que puedes volver a usarlo más adelante.",
|
|
1040
|
+
"comments.garrul.title": "Usar Garrul",
|
|
1041
|
+
"comments.garrul.intro": "Garrul guarda los comentarios en una cuenta de Cloudflare propia, con el plan gratuito de Cloudflare y sin anuncios. Los visitantes comentan como invitados o inician sesión con GitHub, Google, Facebook, X o Discord. Antes hay que configurarlo en Cloudflare, algo que debe hacer alguien acostumbrado a escribir comandos en un ordenador.",
|
|
1042
|
+
"comments.garrul.start": "Las instrucciones de Garrul",
|
|
1043
|
+
"comments.garrul.then": " explican cómo configurarlo. Después pega su dirección, o el código que te da para una página.",
|
|
1044
|
+
"comments.garrul.label": "Dirección de Garrul, o su código",
|
|
1045
|
+
"comments.garrul.invalid": "Eso no es una dirección ni el código de Garrul. La dirección de Garrul empieza por https://, como https://comentarios.example.org.",
|
|
1046
|
+
"comments.garrul.button": "Usar Garrul",
|
|
1047
|
+
"comments.garrul.message": "Usar Garrul para los comentarios",
|
|
1048
|
+
"comments.garrul.kept": "Garrul guarda los comentarios, en",
|
|
1049
|
+
"comments.garrul.origins": "Garrul solo muestra comentarios en las direcciones que permite su configuración, así que su ALLOWED_ORIGINS debe incluir la dirección del sitio.",
|
|
1050
|
+
"comments.garrul.moderateHint": "Aprueba, oculta y elimina comentarios en las páginas de Garrul, con una sesión iniciada con una dirección de correo que su configuración nombra como administradora.",
|
|
1051
|
+
"comments.garrul.moderate": "Moderar los comentarios en Garrul",
|
|
1052
|
+
"comments.garrul.stopBody": "Las páginas dejan de mostrar comentarios cuando el sitio se haya reconstruido. Todo lo que escribieron los visitantes se queda en Garrul, así que puedes volver a usarlo más adelante.",
|
|
1053
|
+
"comments.moderate.title": "Lo que han escrito los visitantes",
|
|
1054
|
+
"comments.moderate.empty": "Todavía no ha comentado nadie.",
|
|
1055
|
+
"comments.moderate.more": "Mostrar más páginas",
|
|
1056
|
+
"comments.moderate.block": "Para que alguien no pueda comentar nada, bloquéalo en GitHub.",
|
|
1057
|
+
"comments.moderate.blockLink": "Cómo bloquear a alguien",
|
|
1058
|
+
"comments.thread.count": "Comentarios: {count}",
|
|
1059
|
+
"comments.thread.locked": "Cerrada a comentarios nuevos",
|
|
1060
|
+
"comments.thread.lock": "Cerrar a comentarios nuevos",
|
|
1061
|
+
"comments.thread.unlock": "Abrir a comentarios nuevos",
|
|
1062
|
+
"comments.openOnGitHub": "Abrir en GitHub",
|
|
1063
|
+
"comments.comment.hidden": "Oculto",
|
|
1064
|
+
"comments.comment.hiddenAs": "Oculto por {reason}",
|
|
1065
|
+
"comments.comment.hide": "Ocultar",
|
|
1066
|
+
"comments.comment.show": "Mostrar de nuevo",
|
|
1067
|
+
"comments.comment.delete": "Eliminar",
|
|
1068
|
+
"comments.hide.title": "¿Ocultar este comentario?",
|
|
1069
|
+
"comments.hide.body": "Sigue en la página, plegado y marcado con el motivo por el que se ocultó, hasta que lo vuelvas a mostrar.",
|
|
1070
|
+
"comments.hide.reason": "Motivo",
|
|
1071
|
+
"comments.reason.spam": "spam",
|
|
1072
|
+
"comments.reason.abuse": "abusivo",
|
|
1073
|
+
"comments.reason.off-topic": "no tener que ver con el tema",
|
|
1074
|
+
"comments.delete.title": "¿Eliminar este comentario?",
|
|
1075
|
+
"comments.delete.body": "Se elimina para siempre.",
|
|
1076
|
+
"comments.delete.bodyReplies": "Se elimina para siempre, con sus respuestas.",
|
|
1077
|
+
"comments.token.title": "Usar un token de GitHub para los comentarios",
|
|
1078
|
+
"comments.token.intro": "El inicio de sesión del panel de administración solo llega al proyecto del propio sitio en GitHub. Para configurar y moderar los comentarios, usa un token de GitHub propio. Se guarda solo en esta pestaña, hasta que cierres la sesión.",
|
|
1079
|
+
"comments.token.create": "Crear un token en GitHub",
|
|
1080
|
+
"comments.token.scope": "Viene con lo que necesitan los comentarios: deja las opciones como están.",
|
|
1081
|
+
"comments.token.paste": "Copia el token y pégalo aquí:",
|
|
1082
|
+
"comments.token.label": "Token de GitHub",
|
|
1083
|
+
"comments.token.active": "Esta pestaña usa un token de GitHub propio para los comentarios.",
|
|
1084
|
+
"comments.error.no-access": "GitHub no ha dejado que este inicio de sesión haga eso. Usa un token de GitHub propio, creado por alguien que pueda administrar el proyecto.",
|
|
1085
|
+
"comments.error.not-found": "GitHub no tiene ningún proyecto con ese nombre, o este inicio de sesión no puede verlo.",
|
|
1086
|
+
"comments.error.not-public": "Ese proyecto es privado, así que los visitantes no podrían leer sus comentarios. Hazlo público en GitHub y vuelve a intentarlo.",
|
|
1087
|
+
"comments.error.name-taken": "Ya hay un proyecto con ese nombre. Elige otro nombre o úsalo como un proyecto que ya tienes.",
|
|
1088
|
+
"comments.error.name-invalid": "El nombre de un proyecto solo puede tener letras, números, guiones, guiones bajos y puntos.",
|
|
1089
|
+
"comments.error.no-discussions": "Las Discussions están desactivadas en ese proyecto y este inicio de sesión no puede activarlas. Actívalas en la configuración del proyecto en GitHub y vuelve a intentarlo.",
|
|
1090
|
+
"comments.error.no-category": "Las Discussions de ese proyecto todavía no tienen categorías. Abre sus Discussions en GitHub una vez y vuelve a intentarlo.",
|
|
1091
|
+
"comments.error.other": "Algo ha fallado en GitHub. Vuelve a intentarlo dentro de un momento.",
|
|
1092
|
+
"comments.error.fix": "Abrirlo en GitHub",
|
|
1093
|
+
"settings.tab.import": "Importar",
|
|
1094
|
+
"settings.tab.themes": "Temas",
|
|
1095
|
+
"plugins.notFound": "El sitio no tiene ninguna pantalla de complemento en esta dirección.",
|
|
1096
|
+
"plugins.failed": "La pantalla de {plugin} no se pudo abrir. Si sigue pasando, puede que el complemento necesite actualizarse.",
|
|
1097
|
+
"themes.intro": "Un tema cambia el aspecto del sitio: sus colores, sus fuentes y los estilos de sus bloques, y a veces su encabezado y su pie. Los temas son solo ajustes y estilos, sin código, y después puedes cambiar todo lo que fija un tema en Colores y fuentes y en CSS propio.",
|
|
1098
|
+
"themes.installed": "Tema instalado",
|
|
1099
|
+
"themes.noneInstalled": "No hay ningún tema instalado. El sitio usa sus propios colores y fuentes.",
|
|
1100
|
+
"themes.installedBadge": "Instalado",
|
|
1101
|
+
"themes.release": "versión {version}",
|
|
1102
|
+
"themes.updateAvailable": "Ha salido la versión {version}",
|
|
1103
|
+
"themes.updateTo": "Actualizar a {version}",
|
|
1104
|
+
"themes.seeVersion": "Ver la versión {version}",
|
|
1105
|
+
"themes.upToDate": "Al día",
|
|
1106
|
+
"themes.show": "Ver",
|
|
1107
|
+
"themes.showLabel": "Ver {name}",
|
|
1108
|
+
"themes.find": "Buscar un tema",
|
|
1109
|
+
"themes.search": "Buscar temas",
|
|
1110
|
+
"themes.searchButton": "Buscar",
|
|
1111
|
+
"themes.loading": "Buscando temas…",
|
|
1112
|
+
"themes.noneFound": "No se encontró ningún tema.",
|
|
1113
|
+
"themes.byPublisher": "{name}, publicado por {publisher}",
|
|
1114
|
+
"themes.releaseDetails": "{name}, versión {version}, publicada el {date}",
|
|
1115
|
+
"themes.provenance": "Generado a partir de {source}, que npm comprobó al publicarse.",
|
|
1116
|
+
"themes.noProvenance": "No consta dónde se generó esta versión, así que nadie ha comprobado que viene del propio código de quien la publica.",
|
|
1117
|
+
"themes.waiting": "La versión {version} se podrá instalar cuando tenga {days} días, porque para entonces se descubren la mayoría de las versiones dañinas.",
|
|
1118
|
+
"themes.installNow": "Instalar {version} ahora",
|
|
1119
|
+
"themes.early": "{version} se compiló desde el mismo sitio que {installed}, la versión instalada ({source}), con la misma configuración de publicación, así que se puede instalar ahora, sin esperar. La compilación del sitio lo comprueba antes de usarla.",
|
|
1120
|
+
"themes.earlyNotice": "Se instala {version} antes de que tenga {days} días, porque se compiló donde {installed}.",
|
|
1121
|
+
"themes.incompatible": "La versión {version} no dice que funcione con Goodfellow {goodfellow}.",
|
|
1122
|
+
"themes.tooNew": "Las versiones de este tema son demasiado recientes para instalarlas. Se pueden instalar cuando tienen {days} días.",
|
|
1123
|
+
"themes.notCompatible": "Ninguna versión de este tema dice que funcione con Goodfellow {version}.",
|
|
1124
|
+
"themes.imageAlt": "Un sitio con el tema {title}",
|
|
1125
|
+
"themes.loads": "Este tema pide a los navegadores de los visitantes estos archivos de otros sitios, lo que puede decir a esos sitios quién visita el tuyo:",
|
|
1126
|
+
"themes.useLayout": "Usar el encabezado y el pie del tema en lugar de los tuyos. Tus menús, logotipo y datos de contacto se quedan como están.",
|
|
1127
|
+
"themes.layoutUnknown": "El encabezado y el pie del tema usan bloques que un tema no puede añadir, o que tu sitio no tiene ({blocks}), así que no se pueden usar.",
|
|
1128
|
+
"themes.kept": "Cambiaste esto desde la versión anterior, así que se queda como lo dejaste: {list}.",
|
|
1129
|
+
"themes.replaced": "Cambiaste esto, e instalar este tema sustituye tus cambios: {list}.",
|
|
1130
|
+
"themes.changed.css": "el CSS del tema",
|
|
1131
|
+
"themes.preview": "Tu sitio con {title}",
|
|
1132
|
+
"themes.previewPage": "Página que ver",
|
|
1133
|
+
"themes.install": "Instalar y publicar",
|
|
1134
|
+
"themes.installDemo": "Instalar",
|
|
1135
|
+
"themes.installMessage": "Instalar el tema {title}, versión {version}",
|
|
1136
|
+
"themes.updateMessage": "Actualizar el tema {title} a la versión {version}",
|
|
1137
|
+
"themes.installedNotice": "{title} está instalado. Tu sitio lo mostrará cuando se vuelva a generar.",
|
|
1138
|
+
"themes.updated": "{title} está actualizado a la versión {version}.",
|
|
1139
|
+
"themes.remove": "Quitar",
|
|
1140
|
+
"themes.removeTitle": "¿Quitar {title}?",
|
|
1141
|
+
"themes.removeBody": "Los colores, fuentes y estilos que fijó el tema vuelven a los de Goodfellow, y se quita su CSS. Lo que cambiaste tú, y tu encabezado y tu pie, se quedan como están.",
|
|
1142
|
+
"themes.removeReplaced": "Quitarlo también quita tus cambios en: {list}.",
|
|
1143
|
+
"themes.removeMessage": "Quitar el tema {title}",
|
|
1144
|
+
"themes.removed": "{title} se ha quitado.",
|
|
1145
|
+
"themes.error.record": "No se puede leer qué tema está instalado.",
|
|
1146
|
+
"themes.error.unreachable": "Ahora mismo no se pueden buscar temas. Comprueba tu conexión a internet e inténtalo de nuevo.",
|
|
1147
|
+
"themes.error.badFile": "Este tema tiene un problema en sus archivos, así que no se puede instalar. Quien lo publica tiene que corregirlo.",
|
|
1148
|
+
"themes.error.notATheme": "Este paquete no es un tema de Goodfellow.",
|
|
1149
|
+
"settings.tab.plugins": "Complementos",
|
|
1150
|
+
"plugins.intro": "Los complementos amplían lo que pueden hacer tu sitio y este panel de administración, como bloques, pantallas aquí y pasos al generar el sitio. A diferencia de los temas, tienen código, que se incluye al generar el sitio y se ejecuta en sus páginas, así que instala solo complementos de confianza. Antes de instalar uno, esta pantalla muestra lo que pide hacer y lee su código en busca de cosas que revisar.",
|
|
1151
|
+
"plugins.where.none": "Aquí se pueden instalar complementos cuando el panel de administración tenga una dirección propia, o un intermediario de tokens, fuera del alcance de las páginas del sitio: consulta las pestañas Dominio y Seguridad. Mientras tanto, quien se ocupe del código puede añadir complementos al código del sitio.",
|
|
1152
|
+
"plugins.where.contentOnly": "El código de este sitio se guarda aparte de su contenido, así que los complementos los añade allí quien se ocupe del código.",
|
|
1153
|
+
"plugins.where.demo": "En una demostración no se pueden instalar complementos.",
|
|
1154
|
+
"plugins.where.local": "En este equipo, quien se ocupe del código añade complementos con npm y los indica en goodfellow.config.tsx. El panel de administración publicado los instala.",
|
|
1155
|
+
"plugins.where.setup": "La generación de tu sitio todavía no anota las versiones de sus paquetes, que necesitan los complementos instalados aquí. Quien se ocupe del código tiene que actualizar primero su configuración de generación a la de la plantilla.",
|
|
1156
|
+
"plugins.installed": "Complementos instalados",
|
|
1157
|
+
"plugins.noneInstalled": "No hay complementos instalados.",
|
|
1158
|
+
"plugins.inCode": "Añadido en el código",
|
|
1159
|
+
"plugins.installedBadge": "Instalado",
|
|
1160
|
+
"plugins.release": "versión {version}",
|
|
1161
|
+
"plugins.updateAvailable": "Ha salido la versión {version}",
|
|
1162
|
+
"plugins.updateTo": "Actualizar a {version}",
|
|
1163
|
+
"plugins.seeVersion": "Ver la versión {version}",
|
|
1164
|
+
"plugins.upToDate": "Al día",
|
|
1165
|
+
"plugins.show": "Ver",
|
|
1166
|
+
"plugins.showLabel": "Ver {name}",
|
|
1167
|
+
"plugins.find": "Buscar un complemento",
|
|
1168
|
+
"plugins.search": "Buscar complementos",
|
|
1169
|
+
"plugins.searchButton": "Buscar",
|
|
1170
|
+
"plugins.loading": "Buscando complementos…",
|
|
1171
|
+
"plugins.noneFound": "No se encontró ningún complemento.",
|
|
1172
|
+
"plugins.byPublisher": "{name}, publicado por {publisher}",
|
|
1173
|
+
"plugins.releaseDetails": "{name}, versión {version}, publicada el {date}",
|
|
1174
|
+
"plugins.provenance": "Generado a partir de {source}, que npm comprobó al publicarse.",
|
|
1175
|
+
"plugins.noProvenance": "No consta dónde se generó esta versión, así que nadie ha comprobado que viene del propio código de quien la publica.",
|
|
1176
|
+
"plugins.waiting": "La versión {version} se podrá instalar cuando tenga {days} días, porque para entonces se descubren la mayoría de las versiones dañinas.",
|
|
1177
|
+
"plugins.installNow": "Instalar {version} ahora",
|
|
1178
|
+
"plugins.early": "{version} se compiló desde el mismo sitio que {installed}, la versión instalada ({source}), con la misma configuración de publicación, así que se puede instalar ahora, sin esperar. La compilación del sitio lo comprueba antes de usarla.",
|
|
1179
|
+
"plugins.earlyNotice": "Se instala {version} antes de que tenga {days} días, porque se compiló donde {installed}.",
|
|
1180
|
+
"plugins.earlyRefused": "El sitio no aceptó {version} antes de que tenga {days} días: {reasons}",
|
|
1181
|
+
"plugins.incompatible": "La versión {version} no dice que funcione con Goodfellow {goodfellow}.",
|
|
1182
|
+
"plugins.tooNew": "Las versiones de este complemento son demasiado recientes para instalarlas. Se pueden instalar cuando tienen {days} días.",
|
|
1183
|
+
"plugins.notCompatible": "Ninguna versión de este complemento dice que funcione con Goodfellow {version}.",
|
|
1184
|
+
"plugins.asks": "Lo que pide hacer",
|
|
1185
|
+
"plugins.asks.connect": "Conectar desde el panel de administración con estas direcciones: {list}",
|
|
1186
|
+
"plugins.asks.files": "Leer y publicar estos archivos: {list}",
|
|
1187
|
+
"plugins.asks.secrets": "Recibir estos secretos al generar tu sitio: {list}",
|
|
1188
|
+
"plugins.asks.read": "Leer estas partes de tu sitio al generarlo: {list}",
|
|
1189
|
+
"plugins.asks.write": "Escribir estas partes del sitio generado: {list}",
|
|
1190
|
+
"plugins.asks.blocks": "Añadir estos bloques: {list}",
|
|
1191
|
+
"plugins.asks.admin": "Ejecutarse en el panel de administración, en un marco propio que no puede alcanzar tu sesión",
|
|
1192
|
+
"plugins.asks.screens": "Añadir estas pantallas a los Ajustes del sitio: {list}",
|
|
1193
|
+
"plugins.asks.build": "Ejecutar estos pasos al generar tu sitio: {list}",
|
|
1194
|
+
"plugins.asks.tasks": "Ejecutar estas tareas con sus secretos cuando lo pida el panel de administración, cada una de alrededor de un minuto: {list}",
|
|
1195
|
+
"plugins.secrets.github.title": "Añádelos en GitHub",
|
|
1196
|
+
"plugins.secrets.github.link": "Abrir el formulario de GitHub para un secreto nuevo",
|
|
1197
|
+
"plugins.secrets.github.open": "Abre el formulario de GitHub para un secreto nuevo con el enlace de abajo. Añade allí cada clave, de una en una, volviendo a abrir el formulario para la siguiente.",
|
|
1198
|
+
"plugins.secrets.github.add": "Para {name}: escribe {name} en Name, pega su valor en Secret y elige Add secret.",
|
|
1199
|
+
"plugins.secrets.github.who": "Solo quienes son propietarios del sitio en GitHub pueden abrir el formulario.",
|
|
1200
|
+
"plugins.secrets.github.kind": "Este formulario añade secretos solo para este sitio, que es todo lo que necesita. Los secretos de entorno y de organización de GitHub son para otras cosas, así que puedes dejarlos como están.",
|
|
1201
|
+
"plugins.secrets.gitlab.title": "Añádelos en GitLab",
|
|
1202
|
+
"plugins.secrets.gitlab.link": "Abrir los ajustes de CI/CD del sitio en GitLab",
|
|
1203
|
+
"plugins.secrets.gitlab.open": "Abre los ajustes de CI/CD del sitio en GitLab con el enlace de abajo y despliega Variables. Añade allí cada clave, de una en una.",
|
|
1204
|
+
"plugins.secrets.gitlab.add": "Para {name}: elige Add variable, elige Masked en Visibility, deja marcado Protect variable, escribe goodfellow-tasks en Environments donde GitLab lo ofrezca, para que solo la tarea lo reciba, escribe {name} en Key, pega su valor en Value y elige Add variable.",
|
|
1205
|
+
"plugins.secrets.gitlab.who": "Solo quienes son propietarios del sitio (Maintainers) en GitLab pueden cambiar sus ajustes de CI/CD.",
|
|
1206
|
+
"plugins.secrets.bitbucket.title": "Añádelos en Bitbucket",
|
|
1207
|
+
"plugins.secrets.bitbucket.link": "Abrir las variables de Pipelines del sitio en Bitbucket",
|
|
1208
|
+
"plugins.secrets.bitbucket.open": "Abre las variables de Pipelines del sitio en Bitbucket con el enlace de abajo. Añade allí cada clave, de una en una. Si Bitbucket dice que Pipelines no está activado, actívalo primero en Settings.",
|
|
1209
|
+
"plugins.secrets.bitbucket.add": "Para {name}: escribe {name} en Name, pega su valor en Value, marca Secured y elige Add.",
|
|
1210
|
+
"plugins.secrets.bitbucket.who": "Solo quienes son propietarios del sitio (con permiso Admin) en Bitbucket pueden cambiar sus variables.",
|
|
1211
|
+
"plugins.secrets.development.title": "Añádelos en este equipo",
|
|
1212
|
+
"plugins.secrets.development.file": "En la carpeta del sitio, junto a package.json, abre el archivo .env.local, o créalo, y añade una línea para cada uno de {names}:",
|
|
1213
|
+
"plugins.secrets.development.values": "Pon cada valor después de su =, guarda el archivo e inténtalo de nuevo. No hace falta reiniciar el servidor de desarrollo.",
|
|
1214
|
+
"plugins.secrets.development.local": "Esto es solo para probar el sitio en este equipo: .env.local nunca se publica. El sitio publicado también los necesita en sus propios secretos.",
|
|
1215
|
+
"plugins.secrets.server.title": "Añádelos al servidor del sitio",
|
|
1216
|
+
"plugins.secrets.server.add": "Añade {names} como variables de entorno donde se ejecute el servidor del sitio, como en Settings → Environment Variables del proyecto en Vercel.",
|
|
1217
|
+
"plugins.secrets.server.deploy": "Luego vuelve a desplegar el sitio para que el servidor los tenga.",
|
|
1218
|
+
"plugins.secrets.server.who": "Quien configuró el servidor del sitio sabe dónde están sus variables de entorno. Si no están allí, se usan en su lugar los secretos del servicio de generación de abajo, lo que es más lento.",
|
|
1219
|
+
"plugins.task.missing": "La configuración de tu sitio todavía no puede ejecutar tareas de complementos. Quien se ocupe del código tiene que copiar al sitio la configuración plugin-task de la plantilla.",
|
|
1220
|
+
"plugins.task.not-allowed": "Tu sesión no puede ejecutar tareas de complementos. Pide a quien sea propietario del sitio que te deje publicar.",
|
|
1221
|
+
"plugins.task.timeout": "El servicio de generación del sitio no respondió a tiempo. Inténtalo de nuevo dentro de unos minutos.",
|
|
1222
|
+
"plugins.task.failed": "El servicio de generación del sitio no pudo ejecutar la tarea del complemento. Inténtalo de nuevo, o pide a quien se ocupe del código que revise las generaciones del sitio.",
|
|
1223
|
+
"plugins.asks.server": "Responder solicitudes en el servidor de tu sitio, con todo lo que puede hacer el servidor",
|
|
1224
|
+
"plugins.asks.mediaStorage": "Guardar el contenido multimedia de tu sitio en un servicio de almacenamiento, fuera de los archivos propios del sitio",
|
|
1225
|
+
"plugins.asks.editor": "Ofrecer su propio editor de páginas, {title}, que cualquiera que edite el sitio puede elegir en lugar del habitual, y que recibe lo que se edita en él",
|
|
1226
|
+
"plugins.asks.always": "Como cualquier complemento, su código se incluye al generar tu sitio, y sus bloques se ejecutan en las páginas de tu sitio, donde nada los limita a lo que piden.",
|
|
1227
|
+
"plugins.asks.new": "Esta versión pide más que la instalada:",
|
|
1228
|
+
"plugins.code": "Qué hace su código",
|
|
1229
|
+
"plugins.code.intro": "El código del complemento, y el de los paquetes que necesita, leído como texto en busca de cosas que revisar. El código puede ocultar lo que hace, así que esto es un punto de partida, no una garantía.",
|
|
1230
|
+
"plugins.code.reading": "Leyendo su código…",
|
|
1231
|
+
"plugins.code.via": "lo necesita {via}",
|
|
1232
|
+
"plugins.code.none": "No se encontró nada que revisar.",
|
|
1233
|
+
"plugins.code.summary": "Su código: {list}.",
|
|
1234
|
+
"plugins.code.nothing": "No se encontró nada que revisar en su código.",
|
|
1235
|
+
"plugins.code.unreadSummary": "{count} de sus paquetes no se pudieron leer enteros.",
|
|
1236
|
+
"plugins.note.network": "hace solicitudes por la red",
|
|
1237
|
+
"plugins.note.programs": "ejecuta otros programas en el equipo que genera tu sitio",
|
|
1238
|
+
"plugins.note.eval": "ejecuta código creado a partir de texto, que no se puede leer de antemano",
|
|
1239
|
+
"plugins.note.native": "incluye código nativo, que no se puede leer",
|
|
1240
|
+
"plugins.note.install-script": "tiene un script que npm ejecutaría al instalarlo, que la generación de tu sitio no ejecuta, porque instala los paquetes con los scripts desactivados",
|
|
1241
|
+
"plugins.unread.too-large": "Demasiado grande para leerlo entero.",
|
|
1242
|
+
"plugins.unread.too-many": "Sin leer: el complemento necesita demasiados paquetes para leerlos todos.",
|
|
1243
|
+
"plugins.unread.no-release": "Todavía no tiene ninguna versión con la antigüedad suficiente, así que tu sitio no podría generarse con este complemento.",
|
|
1244
|
+
"plugins.unread.range": "Viene de un lugar distinto de npm, así que no se leyó.",
|
|
1245
|
+
"plugins.unread.unavailable": "No se pudo leer.",
|
|
1246
|
+
"plugins.install": "Instalar",
|
|
1247
|
+
"plugins.confirmTitle": "¿Instalar {title}?",
|
|
1248
|
+
"plugins.confirmIntro": "{name} versión {version} pide:",
|
|
1249
|
+
"plugins.confirmConfig": "También se cambia el archivo de ajustes de tu sitio, para que indique los complementos instalados aquí, porque todavía no lo hacía.",
|
|
1250
|
+
"plugins.confirmBuild": "Luego la generación de tu sitio anota las versiones de los paquetes que necesita, sin ejecutar nada de su código, y vuelve a generar el sitio con él, lo que tarda unos minutos.",
|
|
1251
|
+
"plugins.confirmReview": "El servidor de tu sitio guarda sus secretos, así que instalar un complemento se envía a revisión para que alguien que se ocupe del código lo acepte.",
|
|
1252
|
+
"plugins.confirmInstall": "Instalar y publicar",
|
|
1253
|
+
"plugins.submit": "Enviar a revisión",
|
|
1254
|
+
"plugins.reviewIntro": "Instala {name} versión {version}, desde la pantalla Complementos del panel de administración. Pide:",
|
|
1255
|
+
"plugins.installMessage": "Instalar el complemento {title}, versión {version}",
|
|
1256
|
+
"plugins.updateMessage": "Actualizar el complemento {title} a la versión {version}",
|
|
1257
|
+
"plugins.installedNotice": "{title} está instalado. Tu sitio lo tendrá cuando se vuelva a generar, en unos minutos.",
|
|
1258
|
+
"plugins.updated": "{title} está actualizado a la versión {version}.",
|
|
1259
|
+
"plugins.submitted": "El cambio en {title} se ha enviado a revisión.",
|
|
1260
|
+
"plugins.seeReview": "Verlo",
|
|
1261
|
+
"plugins.remove": "Quitar",
|
|
1262
|
+
"plugins.removeReview": "Enviar a revisión",
|
|
1263
|
+
"plugins.removeTitle": "¿Quitar {title}?",
|
|
1264
|
+
"plugins.removeBody": "Su código se saca de tu sitio la próxima vez que se genere. Los archivos que guardó en el contenido del sitio se quedan donde están.",
|
|
1265
|
+
"plugins.removeUsed": "Hay páginas que usan sus bloques ({blocks}), así que no se puede quitar. Sácalos primero de esas páginas.",
|
|
1266
|
+
"plugins.removeKeepsMedia": "{title} guarda el contenido multimedia de tu sitio, que las páginas muestran desde su almacenamiento. Devuélvelo primero a los archivos propios del sitio en la pantalla Multimedia.",
|
|
1267
|
+
"plugins.removeMessage": "Quitar el complemento {title}",
|
|
1268
|
+
"plugins.removed": "{title} se ha quitado.",
|
|
1269
|
+
"plugins.error.record": "No se puede leer qué complementos están instalados.",
|
|
1270
|
+
"plugins.error.unreachable": "Ahora mismo no se pueden buscar complementos. Comprueba tu conexión a internet e inténtalo de nuevo.",
|
|
1271
|
+
"plugins.error.badFile": "Este complemento tiene un problema en sus archivos, así que no se puede instalar. Quien lo publica tiene que corregirlo.",
|
|
1272
|
+
"plugins.error.notAPlugin": "Este paquete no es un complemento de Goodfellow.",
|
|
1273
|
+
"plugins.error.config": "El archivo de ajustes de tu sitio indica complementos propios, así que quien se ocupe del código tiene que añadirle primero los instalados aquí.",
|
|
1274
|
+
"plugins.error.inCode": "Este complemento se añadió en el código del sitio, así que se cambia allí.",
|
|
1275
|
+
"plugins.error.blockClash": "Los bloques de este complemento se llaman igual que otros que tiene tu sitio: {blocks}.",
|
|
1276
|
+
"plugins.error.notInstalled": "Este complemento no se instaló aquí.",
|
|
1277
|
+
"updates.pluginRange": "{title}, un complemento instalado aquí, dice que funciona con Goodfellow {range}, así que puede que tu sitio no se genere con Goodfellow {version} hasta que el complemento tenga una versión más reciente.",
|
|
1278
|
+
"updates.themeRange": "Tu tema, {title}, dice que funciona con Goodfellow {range}. Goodfellow {version} puede cambiar su aspecto, así que después de actualizar busca en Temas una versión más reciente.",
|
|
1279
|
+
"siteHistory.intro": "Cada publicación que cambió las páginas, elementos, ajustes o contenido multimedia del sitio, de la más reciente a la más antigua. Elige una para ver cómo quedó el sitio después y qué ha cambiado desde entonces, y luego restaura el sitio entero como estaba.",
|
|
1280
|
+
"siteHistory.local": "El historial del sitio está en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
1281
|
+
"siteHistory.demo": "En una demostración no se guarda el historial del sitio.",
|
|
1282
|
+
"siteHistory.error": "No se pudo cargar el historial del sitio. Comprueba tu conexión e inténtalo de nuevo.",
|
|
1283
|
+
"siteHistory.current": "El sitio ahora",
|
|
1284
|
+
"siteHistory.preview": "El sitio el {date}",
|
|
1285
|
+
"siteHistory.loadingVersion": "Cargando el sitio como estaba…",
|
|
1286
|
+
"siteHistory.readError": "No se pudo cargar el sitio como estaba entonces. Comprueba tu conexión e inténtalo de nuevo.",
|
|
1287
|
+
"siteHistory.unfit": "El sitio como estaba entonces no se puede mostrar ni restaurar, porque no encaja con el sitio tal como está ahora.",
|
|
1288
|
+
"siteHistory.unknownBlocks": "El sitio como estaba entonces no se puede restaurar, porque usa bloques que el sitio ya no tiene: {blocks}.",
|
|
1289
|
+
"siteHistory.same": "No ha cambiado nada desde entonces: así está el sitio ahora.",
|
|
1290
|
+
"siteHistory.since": "Qué ha cambiado desde entonces",
|
|
1291
|
+
"siteHistory.changed": "Cambiado desde entonces (restaurar los deja como estaban):",
|
|
1292
|
+
"siteHistory.added": "Añadido desde entonces (restaurar los quita):",
|
|
1293
|
+
"siteHistory.removed": "Quitado desde entonces (restaurar los recupera):",
|
|
1294
|
+
"siteHistory.page": "Página que ver",
|
|
1295
|
+
"siteHistory.restore": "Restaurar el sitio como estaba",
|
|
1296
|
+
"siteHistory.restoreTitle": "¿Restaurar el sitio como estaba el {date}?",
|
|
1297
|
+
"siteHistory.restoreBody": "Todo lo listado ({count}) vuelve a estar como entonces, en una sola publicación. El sitio tal como está ahora se queda en el historial, así que puedes volver a restaurarlo más tarde. El código del sitio y sus ajustes de actualización se quedan como están.",
|
|
1298
|
+
"siteHistory.restoreMessage": "Restaurar el sitio como estaba el {date}",
|
|
1299
|
+
"siteHistory.restored": "Se restauró el sitio como estaba el {date}.",
|
|
1300
|
+
"siteHistory.subject.page": "{title} ({path})",
|
|
1301
|
+
"siteHistory.subject.entry": "{title}, en {collection}",
|
|
1302
|
+
"siteHistory.subject.collection": "Los ajustes y el diseño de página de {name}",
|
|
1303
|
+
"siteHistory.subject.settings": "Ajustes del sitio",
|
|
1304
|
+
"siteHistory.subject.menus": "Menús",
|
|
1305
|
+
"siteHistory.subject.redirects": "Redirecciones",
|
|
1306
|
+
"siteHistory.subject.credits": "Créditos y descripciones de las fotos",
|
|
1307
|
+
"siteHistory.subject.css": "CSS propio",
|
|
1308
|
+
"siteHistory.subject.theme": "Qué tema está instalado",
|
|
1309
|
+
"siteHistory.subject.code": "Código añadido a todas las páginas",
|
|
1310
|
+
"goTo.title": "Ir a…",
|
|
1311
|
+
"goTo.label": "Página, elemento o pantalla",
|
|
1312
|
+
"goTo.placeholder": "Escribe una página, un elemento o una pantalla",
|
|
1313
|
+
"goTo.empty": "No hay coincidencias.",
|
|
1314
|
+
"goTo.kind.screen": "Pantalla",
|
|
1315
|
+
"goTo.kind.settings": "Configuración del sitio",
|
|
1316
|
+
"goTo.kind.page": "Página",
|
|
1317
|
+
"goTo.kind.item": "Elemento",
|
|
1318
|
+
"goTo.kind.collection": "Colección",
|
|
1319
|
+
"goTo.kind.synced": "Bloque sincronizado",
|
|
1320
|
+
"shortcuts.title": "Atajos de teclado",
|
|
1321
|
+
"shortcuts.save": "Añadir tus cambios a un borrador, en un editor",
|
|
1322
|
+
"shortcuts.undo": "Deshacer",
|
|
1323
|
+
"shortcuts.redo": "Rehacer",
|
|
1324
|
+
"shortcuts.goTo": "Ir a una página, un elemento o una pantalla",
|
|
1325
|
+
"shortcuts.help": "Mostrar estos atajos",
|
|
1326
|
+
"shortcuts.or": "o",
|
|
1327
|
+
"shortcuts.typing": "Deshacer, Rehacer y ? funcionan fuera de los cuadros de texto, que tienen su propio deshacer.",
|
|
1328
|
+
"siteHistory.download.title": "Descargar una copia",
|
|
1329
|
+
"siteHistory.download.intro": "Un archivo zip con las páginas, los elementos, la configuración y la biblioteca multimedia del sitio tal como están aquí, con una lista de los bloques y complementos que se añadieron, para guardarlo en un lugar seguro. El código del sitio no está incluido.",
|
|
1330
|
+
"siteHistory.download.stored": "El contenido multimedia guardado en un servicio de almacenamiento no está en la copia: sigue en ese servicio, y la copia lo enumera.",
|
|
1331
|
+
"siteHistory.download.button": "Descargar una copia",
|
|
1332
|
+
"siteHistory.download.working": "Preparando la copia: {done} de {total} archivos…",
|
|
1333
|
+
"siteHistory.download.error": "No se pudo preparar la copia. Comprueba la conexión e inténtalo de nuevo.",
|
|
1334
|
+
"import.title": "Importar desde WordPress",
|
|
1335
|
+
"import.intro": "Trae a este sitio las páginas, entradas, categorías, etiquetas, menús y contenido multimedia de un sitio de WordPress. Las páginas mantienen sus direcciones, las entradas pasan a ser una colección, y las direcciones antiguas envían a los visitantes a las nuevas. Verás lo que se trae antes de que cambie nada.",
|
|
1336
|
+
"import.file": "Archivo de exportación de WordPress",
|
|
1337
|
+
"import.fileHint": "En WordPress, ve a Herramientas → Exportar, elige Todo el contenido y descarga el archivo. También trae los menús.",
|
|
1338
|
+
"import.address": "O la dirección del sitio de WordPress",
|
|
1339
|
+
"import.addressHint": "Como example.org. Solo se lee lo que pueden ver los visitantes, y los menús no se pueden leer.",
|
|
1340
|
+
"import.read": "Leer el sitio",
|
|
1341
|
+
"import.reading": "Leyendo el sitio de WordPress…",
|
|
1342
|
+
"import.ready": "Todo listo para importar {title}",
|
|
1343
|
+
"import.summary.pages": "Páginas: {count}",
|
|
1344
|
+
"import.summary.posts": "Entradas: {count}, en {path}, listadas en {list}",
|
|
1345
|
+
"import.summary.terms": "Categorías: {categories}. Etiquetas: {tags}.",
|
|
1346
|
+
"import.summary.menus": "Menús: {count}",
|
|
1347
|
+
"import.summary.synced": "Bloques sincronizados, de patrones sincronizados: {count}",
|
|
1348
|
+
"import.summary.redirects": "Direcciones antiguas que envían a las nuevas: {count}",
|
|
1349
|
+
"import.summary.media": "Archivos multimedia que copiar: {count}",
|
|
1350
|
+
"import.replaces": "Se sustituirán estas páginas: {pages}. El historial de versiones conserva las antiguas.",
|
|
1351
|
+
"import.check": "Revisa esto",
|
|
1352
|
+
"import.start": "Importar",
|
|
1353
|
+
"import.another": "Elegir otro sitio",
|
|
1354
|
+
"import.copying": "Copiando el contenido multimedia: {done} de {total}…",
|
|
1355
|
+
"import.publishing": "Publicando…",
|
|
1356
|
+
"import.done": "Se importó {title}.",
|
|
1357
|
+
"import.viewPages": "Ver las páginas",
|
|
1358
|
+
"import.message": "Importar {title} desde WordPress",
|
|
1359
|
+
"import.note.leftOut.drafts": "No se importan los borradores ni las páginas pendientes de revisión: {count}.",
|
|
1360
|
+
"import.note.leftOut.private": "No se importan las páginas y entradas privadas: {count}.",
|
|
1361
|
+
"import.note.leftOut.trash": "No se importan las páginas y entradas de la papelera: {count}.",
|
|
1362
|
+
"import.note.leftOut.comments": "No se importan los comentarios: {count}.",
|
|
1363
|
+
"import.note.leftOut.other": "No se importa el contenido de WordPress del tipo «{name}»: {count}.",
|
|
1364
|
+
"import.note.more": "{items} y {count} más",
|
|
1365
|
+
"import.note.block": "El bloque «{name}», de otro plugin, se trajo como su texto e imágenes: {items}.",
|
|
1366
|
+
"import.note.dropped": "El bloque «{name}» muestra algo que solo tiene WordPress, así que se dejó fuera: {items}.",
|
|
1367
|
+
"import.note.shortcode": "El shortcode [{name}] solo funciona en WordPress, así que se dejó fuera: {items}.",
|
|
1368
|
+
"import.note.embed": "Algo de {name} es ahora un enlace a él: {items}.",
|
|
1369
|
+
"import.note.form": "Se dejó fuera un formulario. Añade un bloque Formulario en su lugar: {items}.",
|
|
1370
|
+
"import.note.script": "Se dejó fuera un script: {items}.",
|
|
1371
|
+
"import.note.table": "Una tabla pasó a ser texto, porque el sitio no tiene bloque Tabla: {items}.",
|
|
1372
|
+
"import.note.posts": "Se dejó fuera de una entrada una lista de las últimas entradas: {items}.",
|
|
1373
|
+
"import.note.video": "Un vídeo es ahora un enlace a él, porque las entradas muestran los vídeos como enlaces: {items}.",
|
|
1374
|
+
"import.note.oldLinks": "Enlaces que todavía van al sitio de WordPress, a páginas que no se importaron: {count}, como {url}.",
|
|
1375
|
+
"import.note.notCopied": "Archivos multimedia que no se pudieron copiar, así que las páginas los muestran desde el sitio de WordPress hasta que los subas: {count}, como {url}. La mayoría de los sitios de WordPress no dejan que otros sitios descarguen sus archivos; importar desde la línea de comandos sí los copia.",
|
|
1376
|
+
"import.note.unusedMedia": "Archivos de la biblioteca multimedia que no usa ninguna página ni entrada, así que no se copiaron: {count}.",
|
|
1377
|
+
"import.note.noMenus": "Los menús no se pueden leer desde la dirección de un sitio, así que el menú principal lista las páginas de primer nivel. Importa un archivo de exportación para traer los menús.",
|
|
1378
|
+
"import.error.notExportFile": "Ese archivo no es un archivo de exportación de WordPress. En WordPress, ve a Herramientas → Exportar, elige Todo el contenido y descarga el archivo.",
|
|
1379
|
+
"import.error.unreachable": "No se pudo leer el sitio de WordPress en {address}. Revisa la dirección. Algunos sitios no dejan que otros los lean; en ese caso, importa un archivo de exportación.",
|
|
1380
|
+
"import.error.notWordPress": "{address} no parece un sitio de WordPress, o su API está desactivada. Importa un archivo de exportación.",
|
|
1381
|
+
"import.error.blocks": "Para importar hacen falta bloques que este sitio no tiene: {blocks}. Quien se ocupe del código puede añadir los bloques incluidos de Goodfellow a goodfellow.config.tsx.",
|
|
1382
|
+
"import.error.other": "No se pudo importar el sitio de WordPress.",
|
|
1383
|
+
"markdownImport.title": "Importar archivos Markdown",
|
|
1384
|
+
"markdownImport.intro": "Trae una carpeta de archivos Markdown, como el contenido de otro sitio web o tus notas. Eliges qué carpetas pasan a ser páginas y cuáles colecciones, y ves lo que se trae antes de que cambie nada. También se traen los enlaces entre los archivos y las imágenes que están junto a ellos.",
|
|
1385
|
+
"markdownImport.folder": "Carpeta de archivos Markdown",
|
|
1386
|
+
"markdownImport.folderHint": "Elige la carpeta en sí. Puede que el navegador pregunte antes de compartir sus archivos con esta página.",
|
|
1387
|
+
"markdownImport.reading": "Leyendo los archivos…",
|
|
1388
|
+
"markdownImport.ready": "Todo listo para importar {name}. Elige cómo se trae cada carpeta:",
|
|
1389
|
+
"markdownImport.folders": "Carpetas",
|
|
1390
|
+
"markdownImport.folderName": "{name} ({count} archivos)",
|
|
1391
|
+
"markdownImport.topFiles": "Archivos de primer nivel ({count})",
|
|
1392
|
+
"markdownImport.asCollection": "Una colección",
|
|
1393
|
+
"markdownImport.asPages": "Páginas",
|
|
1394
|
+
"markdownImport.replaceHome": "Sustituir la página de inicio por el archivo index de primer nivel",
|
|
1395
|
+
"markdownImport.replacePages": "Sustituir las páginas que el sitio ya tiene en las mismas direcciones",
|
|
1396
|
+
"markdownImport.drafts": "Importar también los borradores, en un borrador para que los revises",
|
|
1397
|
+
"markdownImport.menu": "Añadir las páginas de primer nivel al menú principal",
|
|
1398
|
+
"markdownImport.keepFields": "Conservar el resto del front matter como campos",
|
|
1399
|
+
"markdownImport.summary.collection": "{name}: {count} elementos, en {path}",
|
|
1400
|
+
"markdownImport.summary.menu": "Páginas añadidas al menú principal: {count}",
|
|
1401
|
+
"markdownImport.intoDraft": "Con {count} borradores, todo va a un borrador, así que nada se publica hasta que tú lo publiques.",
|
|
1402
|
+
"markdownImport.another": "Elegir otra carpeta",
|
|
1403
|
+
"markdownImport.done": "Se importó {name}.",
|
|
1404
|
+
"markdownImport.doneDraft": "Se importó {name} en un borrador. Publícalo desde la barra de arriba cuando esté listo.",
|
|
1405
|
+
"markdownImport.message": "Importar los archivos Markdown de {name}",
|
|
1406
|
+
"markdownImport.error.none": "Esa carpeta no tiene archivos Markdown. Elige la carpeta donde están los archivos .md.",
|
|
1407
|
+
"markdownImport.error.other": "No se pudieron importar los archivos.",
|
|
1408
|
+
"markdownImport.names.item": "Elemento",
|
|
1409
|
+
"markdownImport.names.all": "Ver todo",
|
|
1410
|
+
"markdownImport.note.drafts": "Los borradores no se importan a menos que lo pidas: {items}.",
|
|
1411
|
+
"markdownImport.note.taken": "Se dejaron fuera porque el sitio ya tiene páginas en sus direcciones: {items}.",
|
|
1412
|
+
"markdownImport.note.frontMatter": "No se pudo leer su front matter, así que se traen sin él: {items}.",
|
|
1413
|
+
"markdownImport.note.missingLinks": "Los enlaces a archivos o páginas que la importación no tiene ahora son solo su texto: {items}.",
|
|
1414
|
+
"markdownImport.note.missingMedia": "Se dejaron fuera imágenes o archivos que la carpeta no tiene: {items}.",
|
|
1415
|
+
"markdownImport.note.notCopied": "Se dejaron fuera archivos que no se pudieron copiar, como los demasiado grandes: {items}.",
|
|
1416
|
+
"markdownImport.note.templateCode": "El código de plantillas de otro sitio web, como {{< … >}}, se muestra tal cual: {items}.",
|
|
1417
|
+
"markdownImport.note.html": "El HTML de estos elementos se muestra como texto, ya que los elementos conservan su Markdown: {items}.",
|
|
1418
|
+
"markdownImport.note.fields": "Front matter que se dejó fuera: {names}. Marca «Conservar el resto del front matter como campos» para conservarlo.",
|
|
1419
|
+
"markdownImport.note.converted": "Algo de estas páginas se simplificó: {items}.",
|
|
1420
|
+
"import.names.posts": "Entradas",
|
|
1421
|
+
"import.names.post": "Entrada",
|
|
1422
|
+
"import.names.title": "Título",
|
|
1423
|
+
"import.names.date": "Fecha",
|
|
1424
|
+
"import.names.summary": "Resumen",
|
|
1425
|
+
"import.names.image": "Imagen",
|
|
1426
|
+
"import.names.categories": "Categorías",
|
|
1427
|
+
"import.names.tags": "Etiquetas",
|
|
1428
|
+
"import.names.text": "Texto",
|
|
1429
|
+
"import.names.allPosts": "Todas las entradas",
|
|
1430
|
+
"export.title": "Exportar a WordPress",
|
|
1431
|
+
"export.intro": "Descarga este sitio como archivo de exportación de WordPress, para llevarlo a WordPress o guardar una copia. Las páginas mantienen sus direcciones y los bloques pasan a ser los de WordPress, los elementos de colecciones con páginas pasan a ser entradas, y los menús también se incluyen. En WordPress, ve a Herramientas → Importar → WordPress, elige el archivo y marca «Descargar e importar los archivos adjuntos», que copia el contenido multimedia desde este sitio.",
|
|
1432
|
+
"export.download": "Descargar el archivo de exportación",
|
|
1433
|
+
"export.done": "Se descargó el archivo de exportación.",
|
|
1434
|
+
"export.error": "No se pudo crear el archivo de exportación.",
|
|
1435
|
+
"export.summary.pages": "Páginas: {count}",
|
|
1436
|
+
"export.summary.posts": "Entradas: {count}",
|
|
1437
|
+
"export.summary.media": "Archivos multimedia, que WordPress copia desde este sitio: {count}",
|
|
1438
|
+
"export.note.leftOutBlock": "WordPress no tiene nada parecido al bloque {name}, así que se dejó fuera: {items}.",
|
|
1439
|
+
"export.note.noPages": "Las colecciones sin páginas propias no están en el archivo, porque cada entrada de WordPress tiene una página: {collections}.",
|
|
1440
|
+
"export.note.hidden": "Ocultos por su programación, así que en el archivo son borradores: {items}.",
|
|
1441
|
+
"export.note.redirects": "Las redirecciones no están en el archivo, porque WordPress necesita un plugin para ellas: {count}.",
|
|
1442
|
+
"export.note.noAddress": "El sitio todavía no tiene dirección, así que WordPress no puede copiar su contenido multimedia. Indícala en la pestaña General y vuelve a descargar el archivo.",
|
|
1443
|
+
"export.note.layout": "El encabezado y el pie no están en el archivo. El tema de WordPress muestra los suyos, con los menús.",
|
|
1444
|
+
"updates.intro": "Goodfellow, el programa con el que funciona el sitio, recibe correcciones y versiones nuevas. Las correcciones se instalan solas cada noche, y solo después de comprobar que el sitio sigue generándose con ellas.",
|
|
1445
|
+
"updates.contentOnly": "El código de este sitio se guarda aparte de su contenido, así que las actualizaciones de Goodfellow se instalan donde está el código, con la propia configuración del sitio o por quien se ocupe de él.",
|
|
1446
|
+
"updates.code": "El código de este sitio se guarda aparte de su contenido, en {place}, donde se instalan las actualizaciones de Goodfellow.",
|
|
1447
|
+
"updates.code.link": "Verlo en {host}",
|
|
1448
|
+
"updates.noAccess": "Tu sesión no puede ver el código del sitio, en {place}, donde se instalan sus actualizaciones. Pide acceso a quien se ocupe del código. En GitHub, un token de acceso también tiene que llegar a él, o con Iniciar sesión con GitHub, la app de Goodfellow tiene que estar instalada allí.",
|
|
1449
|
+
"updates.back.skip": "No volver a instalar Goodfellow {version}",
|
|
1450
|
+
"updates.local": "Las actualizaciones se muestran en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
1451
|
+
"updates.demo": "En una demostración no se instalan actualizaciones.",
|
|
1452
|
+
"updates.loading": "Buscando actualizaciones…",
|
|
1453
|
+
"updates.current": "Este sitio usa Goodfellow {version}.",
|
|
1454
|
+
"updates.unknownVersion": "No se encontró la versión de Goodfellow de este sitio.",
|
|
1455
|
+
"updates.missing": "La configuración de generación de este sitio no instala actualizaciones por sí sola, por ejemplo porque se creó antes de que pudiera, o porque se publica con Vercel. Quien se ocupe del código puede añadirlo, como explica la documentación.",
|
|
1456
|
+
"updates.needsSetup": "Las actualizaciones automáticas todavía no están activadas. Necesitan que {host} deje a la generación del sitio publicar la actualización, y ejecutarla cada noche.",
|
|
1457
|
+
"updates.enable": "Activar las actualizaciones automáticas",
|
|
1458
|
+
"updates.fixes.title": "Correcciones",
|
|
1459
|
+
"updates.fixes.ready": "Las correcciones hasta Goodfellow {version} están listas. Se instalan solas esta noche, o puedes instalarlas ahora.",
|
|
1460
|
+
"updates.fixes.readyPaused": "Las correcciones hasta Goodfellow {version} están listas. Las correcciones automáticas están desactivadas, así que solo se instalan si las instalas ahora.",
|
|
1461
|
+
"updates.fixes.now": "Instalar las correcciones ahora",
|
|
1462
|
+
"updates.fixes.none": "El sitio tiene todas las correcciones de su versión.",
|
|
1463
|
+
"updates.newer.title": "Ha salido Goodfellow {version}",
|
|
1464
|
+
"updates.newer.body": "Las versiones más recientes pueden cambiar cómo funcionan algunas cosas, así que solo se instalan cuando lo decide alguien propietario del sitio. Lee primero las novedades.",
|
|
1465
|
+
"updates.newer.whatsNew": "Novedades",
|
|
1466
|
+
"updates.newer.install": "Actualizar a {version}",
|
|
1467
|
+
"updates.newer.onlyOwners": "Solo quienes son propietarios del sitio pueden instalar una versión más reciente.",
|
|
1468
|
+
"updates.automatic.label": "Instalar las correcciones automáticamente cada noche",
|
|
1469
|
+
"updates.automatic.hint": "Desactívalo para mantener el sitio en la versión que tiene ahora, por ejemplo mientras se estudia algo que cambió una actualización. Entonces las correcciones solo se instalan cuando alguien las instala aquí.",
|
|
1470
|
+
"updates.automatic.onlyOwners": "Solo quienes son propietarios del sitio pueden cambiar esto.",
|
|
1471
|
+
"updates.automatic.turnOff": "Desactivar las correcciones automáticas",
|
|
1472
|
+
"updates.automatic.turnOn": "Activar las correcciones automáticas",
|
|
1473
|
+
"updates.back.title": "¿Algo dejó de funcionar?",
|
|
1474
|
+
"updates.back.body": "Si algo dejó de funcionar al instalarse Goodfellow {current}, puedes volver a {version}. Primero se comprueba que el sitio sigue generándose con ella. Las actualizaciones no volverán a instalar {current}, pero sí las correcciones posteriores.",
|
|
1475
|
+
"updates.back.button": "Volver a {version}",
|
|
1476
|
+
"updates.back.confirm": "¿Volver a Goodfellow {version}? Tarda unos minutos.",
|
|
1477
|
+
"updates.skipped.title": "Versiones que no se instalarán",
|
|
1478
|
+
"updates.skipped.body": "El sitio volvió atrás desde estas versiones, así que las actualizaciones no las instalan.",
|
|
1479
|
+
"updates.skipped.allow": "Volver a permitir {version}",
|
|
1480
|
+
"updates.skipped.allowMessage": "Volver a permitir Goodfellow {version}",
|
|
1481
|
+
"updates.nightly.title": "Generar de nuevo por la noche",
|
|
1482
|
+
"updates.nightly.body": "Cada noche, el sitio puede comprobar si necesita generarse de nuevo: para instalar correcciones, por algo que muestra según la fecha de hoy, como la próxima fecha de un evento, o por un cambio que no llegó a publicarse.",
|
|
1483
|
+
"updates.nightly.changed": "Solo cuando algo cambió (recomendado)",
|
|
1484
|
+
"updates.nightly.always": "Cada noche",
|
|
1485
|
+
"updates.nightly.off": "Nunca",
|
|
1486
|
+
"updates.nightly.offWarning": "Sin generar de nuevo por la noche, lo que el sitio muestra según la fecha de hoy, como las listas de próximos eventos, se queda desfasado, y las correcciones no se instalan solas. El sitio se sigue generando cada vez que alguien publica.",
|
|
1487
|
+
"updates.nightly.unknown": "Inicia sesión como propietario para ver o cambiar esto.",
|
|
1488
|
+
"updates.nightly.onlyOwners": "Solo quienes son propietarios del sitio pueden cambiar esto.",
|
|
1489
|
+
"updates.nightly.old": "La configuración de generación de este sitio lo genera de nuevo cada noche. Una configuración más reciente de la plantilla de Goodfellow solo lo genera cuando algo cambió.",
|
|
1490
|
+
"updates.rebuild.title": "Generar el sitio de nuevo",
|
|
1491
|
+
"updates.rebuild.body": "Genera el sitio de nuevo ahora sin publicar nada, para que el sitio publicado se ponga al día, por ejemplo con los eventos de otro calendario o después de una generación que no funcionó.",
|
|
1492
|
+
"updates.rebuild.button": "Generar ahora",
|
|
1493
|
+
"updates.rebuild.started": "El sitio se está generando. Tarda unos minutos.",
|
|
1494
|
+
"updates.started": "La actualización ha empezado. Tarda unos minutos, y esta página muestra cómo fue.",
|
|
1495
|
+
"updates.last.title": "Última actualización",
|
|
1496
|
+
"updates.last.none": "Todavía no se ha hecho ninguna actualización.",
|
|
1497
|
+
"updates.last.running": "Hay una actualización en marcha. Tarda unos minutos.",
|
|
1498
|
+
"updates.last.updated": "El {date} se instaló Goodfellow {version}.",
|
|
1499
|
+
"updates.last.updatedSome": "El {date} se instaló una actualización.",
|
|
1500
|
+
"updates.last.wentBack": "El {date} el sitio volvió a Goodfellow {version}.",
|
|
1501
|
+
"updates.last.paused": "El {date} las correcciones automáticas estaban desactivadas, así que no se instaló nada.",
|
|
1502
|
+
"updates.last.upToDate": "El {date} no había nada nuevo que instalar.",
|
|
1503
|
+
"updates.last.failed": "El {date} la actualización no funcionó, así que no cambió nada y el sitio se quedó como estaba.",
|
|
1504
|
+
"updates.last.unknown": "El {date} se hizo una actualización.",
|
|
1505
|
+
"updates.last.details": "Ver los detalles en {host}",
|
|
1506
|
+
"updates.failed.build": "El sitio no se generó con Goodfellow {version}; puede que quien se ocupe del código tenga que revisar los detalles.",
|
|
1507
|
+
"updates.failed.install": "No se pudieron instalar sus paquetes. La noche siguiente se intenta de nuevo.",
|
|
1508
|
+
"updates.failed.blocks": "No se pudo actualizar uno de los bloques del sitio.",
|
|
1509
|
+
"updates.failed.publish": "Alguien publicó al mismo tiempo. La noche siguiente se intenta de nuevo.",
|
|
1510
|
+
"updates.kept": "Alguien cambió estos archivos de los bloques del sitio, así que la actualización los dejó como estaban. Quien se ocupe del código puede compararlos con las versiones nuevas:",
|
|
1511
|
+
"updates.error.load": "No se pudieron comprobar las actualizaciones. Comprueba tu conexión e inténtalo de nuevo.",
|
|
1512
|
+
"updates.error.not-allowed": "Tu cuenta no puede hacer eso en {host}. Pídeselo a alguien propietario del sitio.",
|
|
1513
|
+
"updates.error.missing": "La configuración de generación de este sitio no instala actualizaciones, así que no hay nada que ejecutar.",
|
|
1514
|
+
"updates.error.save": "No se pudo guardar el cambio. Inténtalo de nuevo en un momento.",
|
|
1515
|
+
"updates.error.other": "Algo salió mal. Inténtalo de nuevo en un momento.",
|
|
1516
|
+
"editors.intro": "Las personas que pueden editar este sitio.",
|
|
1517
|
+
"editors.roles": "Quienes editan pueden cambiar y publicar todo en el panel de administración, salvo que sus límites, abajo, digan otra cosa. Quienes son propietarios también pueden invitar y quitar a quienes editan, limitar lo que pueden cambiar y conectar un dominio.",
|
|
1518
|
+
"editors.local": "A quienes editan se les invita en el panel de administración del sitio publicado, donde inicias sesión con GitHub, GitLab o Bitbucket.",
|
|
1519
|
+
"editors.demo": "En una demostración no se puede invitar a nadie.",
|
|
1520
|
+
"editors.loading": "Cargando a quienes editan…",
|
|
1521
|
+
"editors.onlyOwners": "Solo quienes son propietarios del sitio pueden invitar y quitar a quienes editan.",
|
|
1522
|
+
"editors.cantPublish": "Quienes editan todavía no pueden publicar: {host} solo deja publicar en el sitio a quienes son propietarios hasta que se le indique que deje publicar también a quienes editan.",
|
|
1523
|
+
"editors.letPublish": "Dejar publicar a quienes editan",
|
|
1524
|
+
"editors.person": "Persona",
|
|
1525
|
+
"editors.role": "Puede",
|
|
1526
|
+
"editors.roleFor": "Lo que puede hacer {name}",
|
|
1527
|
+
"editors.actions": "Acciones",
|
|
1528
|
+
"editors.role.owner": "Propietario",
|
|
1529
|
+
"editors.role.editor": "Editor",
|
|
1530
|
+
"editors.role.viewer": "No puede publicar",
|
|
1531
|
+
"editors.you": "Tú",
|
|
1532
|
+
"editors.invited": "Invitación pendiente de aceptar",
|
|
1533
|
+
"editors.inherited": "A través de un grupo en {host}",
|
|
1534
|
+
"editors.remove": "Quitar",
|
|
1535
|
+
"editors.withdraw": "Retirar la invitación",
|
|
1536
|
+
"editors.removeTitle": "¿Quitar a {name}?",
|
|
1537
|
+
"editors.removeBody": "Ya no podrá editar el sitio. Su cuenta en {host} se queda como está.",
|
|
1538
|
+
"editors.withdrawTitle": "¿Retirar la invitación a {name}?",
|
|
1539
|
+
"editors.withdrawBody": "La invitación deja de funcionar. Puedes volver a invitarle más tarde.",
|
|
1540
|
+
"editors.invite.title": "Invitar a alguien",
|
|
1541
|
+
"editors.invite.field": "Su nombre de usuario en {host}",
|
|
1542
|
+
"editors.invite.hint": "Necesita una cuenta de {host}. {host} le envía una invitación por correo, que tiene que aceptar antes de poder iniciar sesión aquí.",
|
|
1543
|
+
"editors.invite.hintMembers": "Tiene que estar ya en el espacio de trabajo del sitio en {host}. Puede editar en cuanto lo añadas.",
|
|
1544
|
+
"editors.invite.fieldEmail": "Su correo electrónico o nombre de usuario en {host}",
|
|
1545
|
+
"editors.invite.hintEmail": "Con un correo electrónico, {host} le envía una invitación por correo, y se crea una cuenta si no tiene.",
|
|
1546
|
+
"editors.invite.submit": "Invitar",
|
|
1547
|
+
"editors.error.load": "No se pudo cargar a quienes editan. Comprueba tu conexión e inténtalo de nuevo.",
|
|
1548
|
+
"editors.error.not-allowed": "No puedes cambiar quién edita el sitio.",
|
|
1549
|
+
"editors.error.not-found": "No hay ninguna cuenta de {host} con ese nombre. Revisa cómo está escrito.",
|
|
1550
|
+
"editors.error.invalid": "Eso no es un nombre de usuario ni un correo electrónico que acepte {host}.",
|
|
1551
|
+
"editors.error.already": "Ya edita el sitio, o ya está invitado.",
|
|
1552
|
+
"editors.error.other": "Algo salió mal. Inténtalo de nuevo en un momento.",
|
|
1553
|
+
"permissions.title": "Límites",
|
|
1554
|
+
"permissions.intro": "Limita lo que alguien puede cambiar: algunas páginas, algunas colecciones, la biblioteca multimedia, el encabezado y el pie, o los menús. Quien no aparezca aquí puede cambiar todo lo que permite su función. Los cambios fuera de los límites de alguien van a una persona revisora, que los publica o no.",
|
|
1555
|
+
"permissions.where": "El panel de administración mantiene a cada cual dentro de sus límites, para que nadie cambie la página equivocada por error. Quien puede publicar en el sitio en {host} todavía podría cambiar otros archivos allí, así que solo un sitio con servidor propio impone los límites a todo el mundo.",
|
|
1556
|
+
"permissions.whereServer": "El servidor del sitio impone los límites a todo el mundo, intenten lo que intenten.",
|
|
1557
|
+
"permissions.host": "el alojamiento del sitio",
|
|
1558
|
+
"permissions.person": "Su nombre de usuario",
|
|
1559
|
+
"permissions.personHint": "El nombre con el que inicia sesión, tal como aparece en la lista de arriba.",
|
|
1560
|
+
"permissions.add": "Limitar lo que puede cambiar",
|
|
1561
|
+
"permissions.change": "Cambiar",
|
|
1562
|
+
"permissions.remove": "Quitar los límites",
|
|
1563
|
+
"permissions.nothing": "Nada todavía",
|
|
1564
|
+
"permissions.allPages": "Todas las páginas",
|
|
1565
|
+
"permissions.editTitle": "Lo que puede cambiar {name}",
|
|
1566
|
+
"permissions.editIntro": "Marca lo que puede cambiar. Puede ver todo lo demás y enviar cambios a revisión.",
|
|
1567
|
+
"permissions.pages": "Páginas",
|
|
1568
|
+
"permissions.pagesHint": "Cada una con las páginas que tiene debajo y sus traducciones.",
|
|
1569
|
+
"permissions.collections": "Elementos de las colecciones",
|
|
1570
|
+
"permissions.more": "También",
|
|
1571
|
+
"permissions.languages": "Idiomas",
|
|
1572
|
+
"permissions.everyLanguage": "Todos los idiomas",
|
|
1573
|
+
"permissions.save": "Publicar los límites",
|
|
1574
|
+
"permissions.message": "Cambiar lo que puede cambiar {name}",
|
|
1575
|
+
"permissions.removeMessage": "Dejar que {name} cambie todo",
|
|
1576
|
+
"permissions.reviewers": "Quién revisa los cambios fuera de los límites de alguien",
|
|
1577
|
+
"permissions.reviewersHint": "Nombres de usuario, separados por comas. Déjalo vacío para todos los propietarios.",
|
|
1578
|
+
"permissions.saveReviewers": "Publicar quién revisa",
|
|
1579
|
+
"permissions.reviewersMessage": "Cambiar quién revisa los cambios fuera de los límites de quienes editan",
|
|
1580
|
+
"general.siteTitle": "Nombre del sitio",
|
|
1581
|
+
"general.description": "Descripción",
|
|
1582
|
+
"general.descriptionHint": "La muestran los buscadores cuando una página no tiene descripción propia.",
|
|
1583
|
+
"general.url": "Dirección del sitio",
|
|
1584
|
+
"general.urlHint": "La dirección pública completa, como https://example.org. Se usa para los buscadores y las vistas previas de enlaces.",
|
|
1585
|
+
"general.externalLinksInNewTab": "Abrir los enlaces a otros sitios en una pestaña nueva",
|
|
1586
|
+
"general.externalLinksInNewTabHint": "Se aplica a todos los enlaces a otros sitios: menús, botones y texto. Los enlaces a las páginas de este sitio se abren en la misma pestaña.",
|
|
1587
|
+
"general.language": "Código de idioma",
|
|
1588
|
+
"general.languageHint": "Como en, es o fr.",
|
|
1589
|
+
"languages.intro": "Un sitio puede estar en varios idiomas. Las páginas del idioma principal están en la dirección del sitio; las de cada otro idioma están bajo su código, como /en/about para el inglés. Traduce una página desde la pantalla Páginas cuando su idioma esté publicado.",
|
|
1590
|
+
"languages.main": "Idioma principal",
|
|
1591
|
+
"languages.mainCodeHintUsed": "No puede cambiar mientras el sitio tenga páginas o elementos en otros idiomas.",
|
|
1592
|
+
"languages.name": "Nombre",
|
|
1593
|
+
"languages.nameHint": "Cómo lo llama el selector de idioma, en ese idioma.",
|
|
1594
|
+
"languages.new": "Idioma nuevo",
|
|
1595
|
+
"languages.add": "Añadir un idioma",
|
|
1596
|
+
"languages.remove": "Quitar este idioma",
|
|
1597
|
+
"languages.codeHint": "Como es, fr o pt-BR. Sus páginas van bajo su código, así que no puede cambiar una vez publicado.",
|
|
1598
|
+
"languages.codeHintPublished": "Sus páginas están bajo {prefix}.",
|
|
1599
|
+
"languages.codeInvalid": "Usa un código de idioma, como es, fr o pt-BR.",
|
|
1600
|
+
"languages.codeTaken": "El sitio ya tiene este idioma.",
|
|
1601
|
+
"languages.codeUsed": "El sitio ya tiene páginas bajo {prefix}. Muévelas primero, o elige otro código.",
|
|
1602
|
+
"languages.titleHint": "El título del sitio en este idioma. Si queda vacío, es el del idioma principal.",
|
|
1603
|
+
"languages.inUse": "Páginas y elementos en este idioma: {count}. Para quitar el idioma, elimínalos o sácalos de él primero.",
|
|
1604
|
+
"general.timeZone": "Zona horaria",
|
|
1605
|
+
"general.timeZoneHint": "La zona horaria en la que están las horas de los eventos. Los calendarios las muestran en ella, y los calendarios de los visitantes las pasan a la suya.",
|
|
1606
|
+
"general.timeZoneNone": "Sin indicar: las horas se muestran tal como están escritas",
|
|
1607
|
+
"general.timeZoneUseMine": "Usar {zone}",
|
|
1608
|
+
"general.titleTemplate": "Título de la pestaña del navegador",
|
|
1609
|
+
"general.titleTemplateHint": "%s se sustituye por el título de la página, así que «%s | Mi sitio» muestra «Quiénes somos | Mi sitio».",
|
|
1610
|
+
"general.favicon": "Icono de la pestaña del navegador",
|
|
1611
|
+
"general.logo": "Logotipo",
|
|
1612
|
+
"general.logoAlt": "Descripción del logotipo",
|
|
1613
|
+
"general.logoDark": "Logotipo en modo oscuro",
|
|
1614
|
+
"general.logoDarkHint": "Una versión del logotipo que se vea sobre fondos oscuros, como una blanca. Déjalo vacío para usar el mismo logotipo.",
|
|
1615
|
+
"general.socialImage": "Imagen al compartir en redes sociales",
|
|
1616
|
+
"general.aiTraining": "Permitir que las empresas de IA usen las páginas del sitio para entrenar sus modelos",
|
|
1617
|
+
"general.aiTrainingHint": "Desactivado, el sitio pide a los rastreadores con los que las empresas de IA entrenan sus modelos, como GPTBot de OpenAI, ClaudeBot de Anthropic y Google-Extended, que no lo visiten. Los buscadores lo siguen mostrando, y los asistentes pueden leer una página sobre la que alguien les pregunta. Los rastreadores respetuosos atienden la petición, pero no es un candado: cualquiera puede seguir leyendo las páginas del sitio.",
|
|
1618
|
+
"general.contact": "Datos de contacto",
|
|
1619
|
+
"general.contactHint": "Se muestran donde haya un bloque Datos de contacto, como en el pie de página.",
|
|
1620
|
+
"general.address": "Dirección",
|
|
1621
|
+
"general.phone": "Teléfono",
|
|
1622
|
+
"general.email": "Correo electrónico",
|
|
1623
|
+
"forms.title": "Formularios",
|
|
1624
|
+
"forms.hint": "Adónde van las respuestas a los formularios del sitio. El servicio de formularios te las envía por correo: nunca se guardan con las páginas del sitio.",
|
|
1625
|
+
"forms.service": "Servicio de formularios",
|
|
1626
|
+
"forms.service.web3forms": "Web3Forms: gratis hasta 250 respuestas al mes, sin cuenta",
|
|
1627
|
+
"forms.service.formspree": "Formspree",
|
|
1628
|
+
"forms.service.other": "Otro servicio",
|
|
1629
|
+
"forms.accessKey": "Clave de acceso de Web3Forms",
|
|
1630
|
+
"forms.accessKeyHint": "En el sitio de Web3Forms, escribe el correo electrónico al que deben ir las respuestas. Web3Forms te envía una clave por correo: pégala aquí.",
|
|
1631
|
+
"forms.accessKeyLink": "Conseguir una clave de acceso de Web3Forms",
|
|
1632
|
+
"forms.captcha": "Pedir a los visitantes que demuestren que no son robots (hCaptcha)",
|
|
1633
|
+
"forms.captchaHint": "Añade el hCaptcha de Web3Forms y su script a las páginas con un formulario. Para rechazar las respuestas sin él, activa también hCaptcha para el formulario en una cuenta de Web3Forms.",
|
|
1634
|
+
"consent.title": "Consentimiento de los visitantes",
|
|
1635
|
+
"consent.ask": "Preguntar a los visitantes antes de mostrar contenido de otros sitios",
|
|
1636
|
+
"consent.hint": "Los vídeos de YouTube y Vimeo, los formularios y mapas de Google, hCaptcha y el código de la pestaña Código esperan a que los visitantes acepten, con un aviso al pie de la página que se lo pregunta. Su respuesta se guarda en su navegador. Los enlaces a #consent, como en un menú, vuelven a abrir el aviso.",
|
|
1637
|
+
"consent.message": "Lo que dice el aviso",
|
|
1638
|
+
"consent.accept": "Botón para aceptar",
|
|
1639
|
+
"consent.decline": "Botón para no aceptar",
|
|
1640
|
+
"consent.held": "Lo que se muestra en lugar de un vídeo o formulario",
|
|
1641
|
+
"consent.heldHint": "{site} es de dónde viene, como youtube-nocookie.com.",
|
|
1642
|
+
"consent.show": "Botón que lo muestra ahí",
|
|
1643
|
+
"consent.policy": "Página de privacidad",
|
|
1644
|
+
"consent.policyHint": "La página que explica qué hacen el sitio y los sitios de los que muestra contenido, como /privacidad.",
|
|
1645
|
+
"consent.policyLabel": "Texto del enlace a ella",
|
|
1646
|
+
"consent.choose": "Botón que muestra las opciones",
|
|
1647
|
+
"consent.save": "Botón que guarda las opciones",
|
|
1648
|
+
"consent.kind.content": "Opción para el contenido de otros sitios",
|
|
1649
|
+
"consent.kind.statistics": "Opción para las estadísticas",
|
|
1650
|
+
"consent.kind.marketing": "Opción para la publicidad",
|
|
1651
|
+
"consent.days": "Volver a preguntar después de estos días",
|
|
1652
|
+
"consent.daysHint": "Las respuestas de los visitantes duran este tiempo; después, el aviso vuelve a preguntar. Lo habitual son 180 días, unos seis meses; los reguladores europeos aceptan hasta 395, 13 meses.",
|
|
1653
|
+
"forms.formspree": "Dirección del formulario de Formspree",
|
|
1654
|
+
"forms.formspreeHint": "Crea un formulario en Formspree y copia su dirección, como https://formspree.io/f/xyzabcde. En el plan gratuito de Formspree, los visitantes ven la página de agradecimiento del propio Formspree.",
|
|
1655
|
+
"forms.address": "Dirección a la que los formularios envían las respuestas",
|
|
1656
|
+
"forms.addressHint": "La dirección del servicio para formularios, que empieza por https://. Los formularios envían la dirección de la página de agradecimiento como _next, el asunto como _subject y un campo oculto _gotcha que solo rellenan los robots, como esperan Formspree, FormSubmit y Formcarry.",
|
|
1657
|
+
"forms.error.key": "Esto no es una clave de acceso de Web3Forms. Cópiala del correo de Web3Forms: se parece a 0b5c4f7e-1a2b-4c3d-8e9f-0123456789ab.",
|
|
1658
|
+
"forms.error.formspree": "Esto no es la dirección de un formulario de Formspree. Se parece a https://formspree.io/f/xyzabcde.",
|
|
1659
|
+
"forms.error.address": "La dirección tiene que ser completa y empezar por https://.",
|
|
1660
|
+
"theme.colors": "Colores",
|
|
1661
|
+
"theme.fonts": "Fuentes",
|
|
1662
|
+
"theme.fontsHint": "Elige entre las de Google Fonts o tus propias fuentes. La predeterminada del sitio usa la fuente habitual de cada visitante.",
|
|
1663
|
+
"font.own.group": "Tus fuentes",
|
|
1664
|
+
"font.google.group": "Google Fonts",
|
|
1665
|
+
"theme.ownFonts": "Tus propias fuentes",
|
|
1666
|
+
"theme.ownFontsHint": "Fuentes que has comprado o que tienes derecho a usar en un sitio web, en archivos WOFF2. Se guardan con el sitio, y los menús de fuentes de arriba las ofrecen.",
|
|
1667
|
+
"theme.noOwnFonts": "Todavía no tienes fuentes propias.",
|
|
1668
|
+
"theme.ownFontFiles": "Archivos: {count}",
|
|
1669
|
+
"theme.addFont": "Añadir una fuente",
|
|
1670
|
+
"theme.removeFont": "Quitar",
|
|
1671
|
+
"theme.removeFontLabel": "Quitar {family}",
|
|
1672
|
+
"font.add.title": "Añadir una fuente",
|
|
1673
|
+
"font.add.files": "Archivos de la fuente (WOFF2)",
|
|
1674
|
+
"font.add.filesHint": "Elige todos los archivos de la fuente a la vez: uno por cada grosor y estilo, como Regular, Bold e Italic, o un solo archivo de fuente variable. Hasta 5 MB cada uno.",
|
|
1675
|
+
"font.add.family": "Nombre de la fuente",
|
|
1676
|
+
"font.add.familyHint": "Como la muestran los menús de fuentes, por ejemplo Brandon Grotesque. Letras, números y espacios.",
|
|
1677
|
+
"font.add.category": "Tipo de fuente",
|
|
1678
|
+
"font.add.categoryHint": "Las páginas muestran una fuente del mismo tipo hasta que carga esta.",
|
|
1679
|
+
"font.add.file": "Archivo",
|
|
1680
|
+
"font.add.weight": "Grosor",
|
|
1681
|
+
"font.add.style": "Estilo",
|
|
1682
|
+
"font.add.upright": "Normal",
|
|
1683
|
+
"font.add.italic": "Cursiva",
|
|
1684
|
+
"font.add.removeFile": "Quitar {name}",
|
|
1685
|
+
"font.weight.variable": "Todos los grosores (fuente variable)",
|
|
1686
|
+
"font.weight.100": "Fina (100)",
|
|
1687
|
+
"font.weight.200": "Extraligera (200)",
|
|
1688
|
+
"font.weight.300": "Ligera (300)",
|
|
1689
|
+
"font.weight.400": "Regular (400)",
|
|
1690
|
+
"font.weight.500": "Media (500)",
|
|
1691
|
+
"font.weight.600": "Seminegrita (600)",
|
|
1692
|
+
"font.weight.700": "Negrita (700)",
|
|
1693
|
+
"font.weight.800": "Extranegrita (800)",
|
|
1694
|
+
"font.weight.900": "Negra (900)",
|
|
1695
|
+
"font.add.allowed": "Tengo permiso para usar esta fuente en un sitio web",
|
|
1696
|
+
"font.add.allowedInfo": "Sobre las licencias de las fuentes",
|
|
1697
|
+
"font.add.allowedTip": "La licencia de una fuente dice dónde puedes usarla. Muchas fuentes compradas para imprimir o para un ordenador no permiten sitios web, así que comprueba que la tuya sí (a menudo se llama licencia de fuente web). Elige para leer más.",
|
|
1698
|
+
"font.add.button": "Añadir fuente",
|
|
1699
|
+
"font.add.checking": "Comprobando los archivos…",
|
|
1700
|
+
"font.add.notWoff2": "{name} no es una fuente WOFF2. El creador o la tienda de la fuente suele ofrecer archivos WOFF2 para sitios web.",
|
|
1701
|
+
"font.add.tooLarge": "{name} pesa más de 5 MB.",
|
|
1702
|
+
"font.add.unreadable": "No se pudo leer {name} como fuente. Puede estar dañada.",
|
|
1703
|
+
"font.add.familyInvalid": "Usa letras, números y espacios, hasta 60 caracteres.",
|
|
1704
|
+
"font.add.familyTaken": "Ya tienes una fuente llamada {family}. Quítala primero o elige otro nombre.",
|
|
1705
|
+
"font.add.duplicate": "Dos archivos tienen el mismo grosor y estilo. Cambia uno o quítalo.",
|
|
1706
|
+
"font.add.tooMany": "Una fuente puede tener hasta {count} archivos.",
|
|
1707
|
+
"font.add.full": "Un sitio puede tener hasta {count} fuentes propias. Quita una para añadir otra.",
|
|
1708
|
+
"font.add.needAllowed": "Marca la casilla para confirmar que tienes permiso para usar esta fuente en un sitio web.",
|
|
1709
|
+
"font.default": "Predeterminada del sitio",
|
|
1710
|
+
"font.defaultHint": "La fuente habitual del visitante",
|
|
1711
|
+
"font.search": "Buscar fuentes",
|
|
1712
|
+
"font.searchHint": "Escribe para buscar en Google Fonts y luego usa las flechas y Intro para elegir.",
|
|
1713
|
+
"font.loading": "Cargando fuentes…",
|
|
1714
|
+
"font.noMatch": "Ninguna fuente coincide con «{query}».",
|
|
1715
|
+
"font.category.sans-serif": "Sin serifa",
|
|
1716
|
+
"font.category.serif": "Con serifa",
|
|
1717
|
+
"font.category.display": "Decorativa",
|
|
1718
|
+
"font.category.handwriting": "Manuscrita",
|
|
1719
|
+
"font.category.monospace": "Monoespaciada",
|
|
1720
|
+
"theme.headingFont": "Títulos",
|
|
1721
|
+
"theme.bodyFont": "Texto",
|
|
1722
|
+
"theme.radius": "Redondeo de las esquinas",
|
|
1723
|
+
"theme.radiusHint": "Como 0.5rem, o 0 para esquinas rectas.",
|
|
1724
|
+
"theme.parts": "Partes de los bloques",
|
|
1725
|
+
"theme.partsHint": "Da clases a una parte de todos los bloques de un tipo, como rounded-xl shadow-sm, para cambiar el aspecto de todos. Van después de las clases propias del bloque y antes de lo que se elija para cada bloque.",
|
|
1726
|
+
"theme.partsBlock": "Bloque",
|
|
1727
|
+
"theme.partsBlockStyled": "{block} ({count} con estilo)",
|
|
1728
|
+
"theme.partsName": "Se llama {name}, para el CSS propio.",
|
|
1729
|
+
"theme.partsNone": "Los bloques de este sitio no tienen partes con nombre.",
|
|
1730
|
+
"theme.color.background": "Fondo",
|
|
1731
|
+
"theme.color.foreground": "Texto",
|
|
1732
|
+
"theme.color.primary": "Color principal",
|
|
1733
|
+
"theme.color.primaryForeground": "Texto sobre el color principal",
|
|
1734
|
+
"theme.color.secondary": "Segundo color",
|
|
1735
|
+
"theme.color.secondaryForeground": "Texto sobre el segundo color",
|
|
1736
|
+
"theme.color.muted": "Fondo suave",
|
|
1737
|
+
"theme.color.mutedForeground": "Texto suave",
|
|
1738
|
+
"theme.color.accent": "Resaltado",
|
|
1739
|
+
"theme.color.accentForeground": "Texto sobre el resaltado",
|
|
1740
|
+
"theme.color.border": "Bordes",
|
|
1741
|
+
"theme.default": "Predeterminado",
|
|
1742
|
+
"theme.darkMode": "Modo oscuro",
|
|
1743
|
+
"theme.darkModeOn": "Seguir el ajuste claro u oscuro de cada visitante",
|
|
1744
|
+
"theme.darkModeHint": "Desactivado de forma predeterminada, así que el sitio siempre es claro. Si se activa, los visitantes con el equipo o el teléfono en modo oscuro ven el sitio con los colores de abajo.",
|
|
1745
|
+
"theme.darkColors": "Colores en modo oscuro",
|
|
1746
|
+
"theme.preview": "Vista previa",
|
|
1747
|
+
"theme.previewLight": "Claro",
|
|
1748
|
+
"theme.previewDark": "Oscuro",
|
|
1749
|
+
"theme.pickColor": "Elige un color para {name}",
|
|
1750
|
+
"theme.code": "Colores del código",
|
|
1751
|
+
"theme.codeHint": "Los colores del código en los bloques Código y en Markdown. El código que se ve como la página usa los colores claros, y los oscuros en modo oscuro.",
|
|
1752
|
+
"theme.codeLight": "Colores claros",
|
|
1753
|
+
"theme.codeDark": "Colores oscuros",
|
|
1754
|
+
"theme.codeBackground": "Mostrar el código sobre el color de fondo suave",
|
|
1755
|
+
"theme.codeBackgroundHint": "El código que se ve como la página queda sobre el color Fondo suave del sitio en vez del fondo de sus propios colores, para que combine con el resto del sitio. Comprueba que siga leyéndose bien.",
|
|
1756
|
+
"menus.intro": "Los menús son listas de enlaces. Muestra uno en cualquier parte con el bloque Menú, usando su nombre.",
|
|
1757
|
+
"menus.empty": "Todavía no hay menús.",
|
|
1758
|
+
"menus.add": "Añadir menú",
|
|
1759
|
+
"menus.newName": "Nombre del menú nuevo",
|
|
1760
|
+
"menus.nameInvalid": "Usa letras minúsculas, números y guiones, y un nombre que no use ningún otro menú.",
|
|
1761
|
+
"menus.deleteMenu": "Eliminar menú",
|
|
1762
|
+
"menus.addLink": "Añadir enlace",
|
|
1763
|
+
"menus.addSublink": "Añadir enlace debajo de este",
|
|
1764
|
+
"menus.label": "Texto",
|
|
1765
|
+
"menus.href": "Enlace a",
|
|
1766
|
+
"menus.moveUp": "Subir",
|
|
1767
|
+
"menus.moveDown": "Bajar",
|
|
1768
|
+
"menus.remove": "Quitar",
|
|
1769
|
+
"translations.add": "Traducir al {language}",
|
|
1770
|
+
"translations.current": "Al día",
|
|
1771
|
+
"translations.outdated": "Desfasada",
|
|
1772
|
+
"translations.optionOutdated": "{language} (desfasada)",
|
|
1773
|
+
"translations.optionAdd": "Traducir al {language}…",
|
|
1774
|
+
"translations.markCurrent": "Marcar como al día",
|
|
1775
|
+
"translations.markCurrentMessage": "Marcar {title} como al día",
|
|
1776
|
+
"translations.of": "Traducción de {title}",
|
|
1777
|
+
"translations.entryOf": "En {language}: traducción de {title}",
|
|
1778
|
+
"translations.inLanguage": "En {language}",
|
|
1779
|
+
"translations.addTitle": "Traducir {title} al {language}",
|
|
1780
|
+
"translations.addHint": "Esto crea una copia en {language} para que la traduzcas. La pantalla Páginas avisa cuando cambia el original, para que sepas que hay que actualizar la traducción.",
|
|
1781
|
+
"translations.addSubmit": "Crear la copia",
|
|
1782
|
+
"translations.addMessage": "Traducir {title} al {language}",
|
|
1783
|
+
"translations.addressLanguage": "Las páginas en {language} tienen direcciones que empiezan por {prefix}.",
|
|
1784
|
+
"menus.language": "Idioma",
|
|
1785
|
+
"layout.languageShared": "Las páginas en {language} muestran el {part} del idioma principal, con los menús y el nombre del sitio en {language}. Da a {language} un {part} propio para traducir lo que tiene escrito.",
|
|
1786
|
+
"layout.languageCopy": "Crear un {part} para {language}",
|
|
1787
|
+
"layout.languageCopyMessage": "Crear un {part} para {language}",
|
|
1788
|
+
"layout.languageRemove": "Usar el {part} del idioma principal",
|
|
1789
|
+
"layout.languageRemoveMessage": "Usar el {part} del idioma principal en {language}",
|
|
1790
|
+
"layout.languageMessage": "Actualizar el {part} en {language}",
|
|
1791
|
+
"newEntry.languageHint": "Para un elemento que solo está en este idioma. Para traducir un elemento, usa «Traducir al» en la lista, que mantiene los dos enlazados.",
|
|
1792
|
+
"menus.ownMenus": "{language} tiene menús propios",
|
|
1793
|
+
"menus.sameAsMain": "Las páginas en {language} muestran los menús del idioma principal. Dale menús propios para traducir los nombres de sus enlaces y dirigirlos a sus páginas.",
|
|
1794
|
+
"menus.newLink": "Enlace nuevo",
|
|
1795
|
+
"redirects.intro": "Envía a los visitantes de una dirección antigua a otra nueva, como cuando una página se ha movido o este sitio sustituye a uno anterior. Los buscadores pasan el puesto de la dirección antigua en sus resultados a la nueva.",
|
|
1796
|
+
"redirects.empty": "Todavía no hay redirecciones.",
|
|
1797
|
+
"redirects.from": "Dirección antigua",
|
|
1798
|
+
"redirects.to": "Enviar a los visitantes a",
|
|
1799
|
+
"redirects.add": "Añadir redirección",
|
|
1800
|
+
"redirects.remove": "Quitar",
|
|
1801
|
+
"redirects.message": "Mensaje mientras se envía a los visitantes",
|
|
1802
|
+
"redirects.messageHint": "Se muestra un momento en una dirección antigua, o siempre en navegadores sin JavaScript. {placeholder} se convierte en un enlace adonde van los visitantes. Déjalo vacío para el mensaje que se muestra aquí.",
|
|
1803
|
+
"redirects.unused": "Una página tiene esta dirección, así que los visitantes ven la página. Quita la redirección o mueve la página.",
|
|
1804
|
+
"redirects.problem.noFrom": "Añade la dirección antigua, como /quienes-somos.",
|
|
1805
|
+
"redirects.problem.badFrom": "Esta no es una dirección de este sitio. Empieza por /, como /quienes-somos, o pega la dirección completa de la página antigua.",
|
|
1806
|
+
"redirects.problem.query": "Las direcciones con ? no se pueden redirigir, porque el sitio no puede distinguirlas de la dirección anterior al ?.",
|
|
1807
|
+
"redirects.problem.home": "La página de inicio no se puede redirigir.",
|
|
1808
|
+
"redirects.problem.reserved": "Esta dirección la usa el propio sitio, así que no se puede redirigir.",
|
|
1809
|
+
"redirects.problem.noTo": "Añade adónde enviar a los visitantes, como /nosotros.",
|
|
1810
|
+
"redirects.problem.badTo": "Envía a los visitantes a una página de este sitio, que empiece por /, o a la dirección de otro sitio web, que empiece por https://.",
|
|
1811
|
+
"redirects.problem.loop": "Esto envía a los visitantes de vuelta a la misma dirección.",
|
|
1812
|
+
"redirects.problem.duplicate": "Otra redirección sale de la misma dirección. Quita una de las dos.",
|
|
1813
|
+
"css.intro": "El CSS de aquí se aplica a todas las páginas y se impone a los estilos propios de los bloques. El @apply de Tailwind también funciona.",
|
|
1814
|
+
"css.label": "CSS propio",
|
|
1815
|
+
"code.editorHint": "Tab sangra, y las sugerencias aparecen mientras escribes. Pulsa Escape y luego Tab para salir del editor. Ctrl+F busca y sustituye.",
|
|
1816
|
+
"code.intro": "Código de servicios como la analítica o la verificación del sitio, añadido a todas las páginas del sitio. Nunca se ejecuta en el panel de administración, así que compruébalo en el sitio cuando esté publicado. Pega solo código de confianza: puede cambiar cualquier cosa del sitio.",
|
|
1817
|
+
"code.exposed": "Se inicia sesión en la misma dirección que las páginas del sitio, así que el código de aquí se ejecuta donde podría actuar como cualquier persona con sesión en el panel de administración, y publicar cambios en su nombre.",
|
|
1818
|
+
"code.exposedFix": "Una página de inicio de sesión o una dirección de administración propia, en la pestaña Seguridad, deja las sesiones fuera de su alcance.",
|
|
1819
|
+
"code.head": "En la cabecera de la página",
|
|
1820
|
+
"code.headHint": "Etiquetas script, style, link, meta y noscript, como las que da Google Analytics.",
|
|
1821
|
+
"code.purpose.head": "Para qué es el código de la cabecera de la página",
|
|
1822
|
+
"code.purpose.body": "Para qué es el código del final de la página",
|
|
1823
|
+
"code.purposeHint": "Los visitantes eligen qué tipos permitir. El código necesario para que el sitio funcione se carga para todos sin preguntar, así que elígelo solo para código que no siga a los visitantes.",
|
|
1824
|
+
"code.purpose.needed": "Necesario para que el sitio funcione: se carga sin preguntar",
|
|
1825
|
+
"code.purpose.content": "Contenido de otros sitios, como un chat",
|
|
1826
|
+
"code.purpose.statistics": "Estadísticas, como Google Analytics",
|
|
1827
|
+
"code.purpose.marketing": "Publicidad",
|
|
1828
|
+
"code.body": "Al final de la página",
|
|
1829
|
+
"code.bodyHint": "Cualquier HTML, como un widget de chat, añadido justo antes del final de cada página.",
|
|
1830
|
+
"code.error.text": "El código de la cabecera de la página tiene texto fuera de una etiqueta: «{text}». Allí solo pueden ir etiquetas como <script> y <meta>.",
|
|
1831
|
+
"code.error.tag": "Una etiqueta <{tag}> no puede ir en la cabecera de la página. Ponla en «Al final de la página».",
|
|
1832
|
+
"code.error.unclosed": "Una etiqueta {tag} de la cabecera de la página no está cerrada.",
|
|
1833
|
+
"code.error.template": "Este código contiene </template>. Mientras el sitio pregunte a los visitantes antes de cargar contenido de otros sitios, eso haría que el código se ejecutara antes de que acepten. Quítalo.",
|
|
1834
|
+
"adminLanguage.label": "Idioma del panel de administración",
|
|
1835
|
+
"settings.tab.adminLanguages": "Idiomas del panel de administración",
|
|
1836
|
+
"adminText.intro": "El panel de administración viene en inglés y español. Añade aquí otro idioma y haz que tu servicio de IA lo traduzca; luego los editores lo eligen en el menú de idiomas de arriba. La traducción se guarda en el sitio, así que se hace una sola vez.",
|
|
1837
|
+
"adminText.machine": "La traducción automática puede equivocarse. Donde un error podría costar algo, como al iniciar sesión o al eliminar, el panel muestra el inglés junto a la traducción.",
|
|
1838
|
+
"adminText.empty": "El sitio aún no tiene idiomas propios para el panel de administración.",
|
|
1839
|
+
"adminText.edit": "Editar",
|
|
1840
|
+
"adminText.own.title": "Los idiomas propios de Goodfellow",
|
|
1841
|
+
"adminText.own.intro": "Cambia cualquiera de las palabras del panel de administración en inglés o en español. Lo que no cambies queda como lo escribe Goodfellow y sigue sus actualizaciones.",
|
|
1842
|
+
"adminText.own.change": "Cambiar palabras",
|
|
1843
|
+
"adminText.own.changed": "{count} cambiados",
|
|
1844
|
+
"adminText.editor.back": "Todos los idiomas",
|
|
1845
|
+
"adminText.editor.title": "{language}: las palabras del panel de administración",
|
|
1846
|
+
"adminText.editor.intro": "Cada texto muestra su inglés y lo que el panel muestra en su lugar. Cambia cualquiera y marca los que haya leído alguien que habla el idioma. Vacía un cuadro para volver a mostrar {fallback}. Deja tal cual las palabras entre llaves: el panel las completa.",
|
|
1847
|
+
"adminText.editor.introOwn": "Cada texto muestra su inglés. Escribe las palabras que prefieras que use el panel; vacía un cuadro para volver a mostrar {fallback}. Deja tal cual las palabras entre llaves: el panel las completa.",
|
|
1848
|
+
"adminText.editor.fallbackEnglish": "el inglés",
|
|
1849
|
+
"adminText.editor.fallbackOwn": "las palabras de Goodfellow",
|
|
1850
|
+
"adminText.editor.search": "Buscar",
|
|
1851
|
+
"adminText.editor.show": "Mostrar",
|
|
1852
|
+
"adminText.editor.show.all": "Todo",
|
|
1853
|
+
"adminText.editor.show.missing": "Aún sin escribir",
|
|
1854
|
+
"adminText.editor.show.outdated": "Desactualizados",
|
|
1855
|
+
"adminText.editor.show.unusable": "No se pueden usar",
|
|
1856
|
+
"adminText.editor.show.unreviewed": "Aún sin revisar",
|
|
1857
|
+
"adminText.editor.count": "Se muestran {shown} de {total}",
|
|
1858
|
+
"adminText.editor.none": "No hay coincidencias.",
|
|
1859
|
+
"adminText.editor.more": "Mostrar más",
|
|
1860
|
+
"adminText.editor.english": "Inglés",
|
|
1861
|
+
"adminText.editor.shown": "En {language}",
|
|
1862
|
+
"adminText.editor.reviewed": "Revisado por alguien que habla el idioma",
|
|
1863
|
+
"adminText.editor.state.outdated": "Desactualizado: el inglés cambió desde entonces.",
|
|
1864
|
+
"adminText.editor.state.unusable": "No se puede usar, así que se muestra {fallback}.",
|
|
1865
|
+
"adminText.editor.problems": "{count} textos necesitan arreglarse antes de publicarlos.",
|
|
1866
|
+
"adminText.editor.message": "Cambiar las palabras del panel de administración en {language}",
|
|
1867
|
+
"adminText.problem.placeholders": "Necesita las mismas palabras entre llaves que el inglés, ni más ni menos.",
|
|
1868
|
+
"adminText.problem.too-long": "Es demasiado largo.",
|
|
1869
|
+
"adminText.problem.empty": "Está vacío.",
|
|
1870
|
+
"adminText.table.strings": "El panel de administración",
|
|
1871
|
+
"adminText.table.puck": "Los controles del editor",
|
|
1872
|
+
"adminText.table.labels": "Las etiquetas de los bloques",
|
|
1873
|
+
"adminText.column.language": "Idioma",
|
|
1874
|
+
"adminText.column.translated": "Traducido",
|
|
1875
|
+
"adminText.status": "{current} de {total} textos traducidos",
|
|
1876
|
+
"adminText.outdated": "{count} desactualizados, porque el inglés cambió",
|
|
1877
|
+
"adminText.unusable": "{count} que no se pueden usar y se muestran en inglés",
|
|
1878
|
+
"adminText.reviewed": "{count} revisados por alguien que habla el idioma",
|
|
1879
|
+
"adminText.translate": "Traducir lo que falta",
|
|
1880
|
+
"adminText.translateOutdated": "Volver a traducir lo desactualizado",
|
|
1881
|
+
"adminText.translating": "Traduciendo… {done} de {total}",
|
|
1882
|
+
"adminText.stop": "Detener",
|
|
1883
|
+
"adminText.done": "Se tradujeron y publicaron {count} textos.",
|
|
1884
|
+
"adminText.nothing": "No hay nada que traducir.",
|
|
1885
|
+
"adminText.left": "{count} textos no se pudieron traducir y siguen en inglés. Vuelve a traducir para intentarlo.",
|
|
1886
|
+
"adminText.failed": "El servicio de IA se detuvo antes de terminar. Lo que ya había traducido se publicó; vuelve a traducir para el resto.",
|
|
1887
|
+
"adminText.message": "Traducir el panel de administración al {language}",
|
|
1888
|
+
"adminText.remove": "Quitar",
|
|
1889
|
+
"adminText.removeTitle": "¿Quitar {language}?",
|
|
1890
|
+
"adminText.removeBody": "El panel de administración ya no se ofrecerá en {language}. Los editores que lo eligieron lo verán en el idioma de su navegador.",
|
|
1891
|
+
"adminText.removeMessage": "Quitar el panel de administración en {language}",
|
|
1892
|
+
"adminText.add.title": "Añadir un idioma",
|
|
1893
|
+
"adminText.add.code": "Código del idioma",
|
|
1894
|
+
"adminText.add.codeHint": "Por ejemplo fr, de o pt-BR.",
|
|
1895
|
+
"adminText.add.name": "Su nombre, en ese idioma",
|
|
1896
|
+
"adminText.add.nameHint": "Por ejemplo Français o Deutsch, como lo mostrará el menú de idiomas.",
|
|
1897
|
+
"adminText.add.submit": "Añadir y traducir",
|
|
1898
|
+
"adminText.add.badCode": "Eso no es el código de un idioma. Usa uno como fr o pt-BR.",
|
|
1899
|
+
"adminText.add.noName": "Escribe el nombre del idioma.",
|
|
1900
|
+
"adminText.add.exists": "El panel de administración ya habla ese idioma.",
|
|
1901
|
+
"adminText.instruction": "Algo que la traducción deba saber (opcional)",
|
|
1902
|
+
"adminText.instructionHint": "Por ejemplo, qué tan formal debe ser.",
|
|
1903
|
+
"adminText.service": "Servicio de IA",
|
|
1904
|
+
"adminText.noService": "Primero elige un servicio de IA y su clave, en Servicio de IA.",
|
|
1905
|
+
"adminText.manual": "Para traducir hace falta un servicio de IA al que el panel pueda preguntar por sí mismo; una app de chat no sirve. Elige otro servicio en Servicio de IA.",
|
|
1906
|
+
"adminText.pack.title": "Paquetes de idioma",
|
|
1907
|
+
"adminText.pack.intro": "Los paquetes de idioma son traducciones del panel de administración que otras personas han compartido. Solo tienen palabras, así que instalar uno no ejecuta nada, y cada texto se comprueba al usarlo, como los tuyos.",
|
|
1908
|
+
"adminText.pack.installedAs": "{name}, versión {version}, para {code}",
|
|
1909
|
+
"adminText.pack.search": "Buscar paquetes de idioma",
|
|
1910
|
+
"adminText.pack.searchButton": "Buscar",
|
|
1911
|
+
"adminText.pack.loading": "Buscando paquetes de idioma…",
|
|
1912
|
+
"adminText.pack.noneFound": "No se encontró ningún paquete de idioma.",
|
|
1913
|
+
"adminText.pack.show": "Ver",
|
|
1914
|
+
"adminText.pack.showLabel": "Ver {name}",
|
|
1915
|
+
"adminText.pack.byPublisher": "{name}, publicado por {publisher}",
|
|
1916
|
+
"adminText.pack.installedBadge": "Instalado",
|
|
1917
|
+
"adminText.pack.from": "De {name}, versión {version}",
|
|
1918
|
+
"adminText.pack.language": "El panel de administración en {language} ({code})",
|
|
1919
|
+
"adminText.pack.releaseDetails": "{name}, versión {version}, publicada el {date}",
|
|
1920
|
+
"adminText.pack.provenance": "Hecho a partir de {source}, que npm comprobó al publicarlo.",
|
|
1921
|
+
"adminText.pack.noProvenance": "npm no dice dónde se hizo esta versión.",
|
|
1922
|
+
"adminText.pack.waiting": "La versión {version} se ofrecerá cuando tenga {days} días.",
|
|
1923
|
+
"adminText.pack.incompatible": "La versión {version} no dice que funcione con Goodfellow {goodfellow}.",
|
|
1924
|
+
"adminText.pack.tooNew": "Este paquete de idioma tiene menos de {days} días, así que aún no se ofrece.",
|
|
1925
|
+
"adminText.pack.notCompatible": "Ninguna versión de este paquete de idioma dice que funcione con Goodfellow {version}.",
|
|
1926
|
+
"adminText.pack.coverage": "Con él, {current} de los {total} textos del panel de administración están en {language}.",
|
|
1927
|
+
"adminText.pack.builtIn": "Goodfellow ya habla {language}: las palabras del paquete van sobre las de Goodfellow.",
|
|
1928
|
+
"adminText.pack.other": "{language} viene ahora de {name}. Las palabras del paquete sustituyen a las de ese, salvo las que cambiaste.",
|
|
1929
|
+
"adminText.pack.kept": "Tienes palabras propias para {count} textos que el paquete dice de otra forma; se quedan como las pusiste.",
|
|
1930
|
+
"adminText.pack.replaceOwn": "Usar también las palabras del paquete para esos",
|
|
1931
|
+
"adminText.pack.replaced": "Las palabras del paquete sustituyen a las tuyas en {count} textos.",
|
|
1932
|
+
"adminText.pack.removed": "Se quitan {count} textos que tenía la versión anterior y esta no.",
|
|
1933
|
+
"adminText.pack.upToDate": "Está instalada la versión {version}, la más reciente que se ofrece.",
|
|
1934
|
+
"adminText.pack.install": "Instalar y publicar",
|
|
1935
|
+
"adminText.pack.update": "Actualizar a {version}",
|
|
1936
|
+
"adminText.pack.installMessage": "Instalar {name} {version}, el panel de administración en {language}",
|
|
1937
|
+
"adminText.pack.updateMessage": "Actualizar {name} a {version}, el panel de administración en {language}",
|
|
1938
|
+
"adminText.pack.installed": "El panel de administración en {language} está instalado desde {name}.",
|
|
1939
|
+
"adminText.pack.remove": "Quitar el paquete",
|
|
1940
|
+
"adminText.pack.removeTitle": "¿Quitar {name}?",
|
|
1941
|
+
"adminText.pack.removeBody": "Esto quita las palabras del paquete que nadie ha cambiado. Las que escribiste o cambiaste tú se quedan, y {language} sale del menú de idiomas si no queda ninguna.",
|
|
1942
|
+
"adminText.pack.removeMessage": "Quitar {name}, el panel de administración en {language}",
|
|
1943
|
+
"adminText.pack.removedNotice": "{name} se ha quitado.",
|
|
1944
|
+
"adminText.pack.error.unreachable": "Ahora no se pueden buscar paquetes de idioma. Comprueba tu conexión a internet y vuelve a intentarlo.",
|
|
1945
|
+
"adminText.pack.error.badFile": "No se puede leer el archivo de este paquete de idioma, así que no se puede instalar.",
|
|
1946
|
+
"adminText.pack.error.notAPack": "Este paquete no es un paquete de idioma de Goodfellow.",
|
|
1947
|
+
"nav.synced": "Bloques sincronizados",
|
|
1948
|
+
"blocks.usedSyncedBlock": "el bloque sincronizado {title}",
|
|
1949
|
+
"checks.missing-synced-block": "{place} muestra el bloque sincronizado {target}, que el sitio ya no tiene.",
|
|
1950
|
+
"checks.unchosen-synced-block": "{place} tiene un Bloque sincronizado que no dice qué bloque sincronizado muestra. Elige uno en sus ajustes, o quítalo.",
|
|
1951
|
+
"checks.nested-synced-block": "{place} tiene un Bloque sincronizado dentro. Los bloques sincronizados no pueden mostrar otros: quítalo.",
|
|
1952
|
+
"checks.place.synced": "El bloque sincronizado \"{title}\"",
|
|
1953
|
+
"synced.screenTitle": "Bloques sincronizados",
|
|
1954
|
+
"synced.intro": "Un bloque sincronizado se guarda una vez y se muestra dondequiera que se coloque: cámbialo aquí, y todas las páginas que lo muestran cambian al publicar. Colócalo en una página con el bloque Bloque sincronizado, o elige un bloque en una página y usa Guardar como bloque sincronizado.",
|
|
1955
|
+
"synced.empty": "Todavía no hay bloques sincronizados.",
|
|
1956
|
+
"synced.new": "Nuevo bloque sincronizado",
|
|
1957
|
+
"synced.newTitle": "Nuevo bloque sincronizado",
|
|
1958
|
+
"synced.create": "Crear",
|
|
1959
|
+
"synced.newMessage": "Añadir el bloque sincronizado {title}",
|
|
1960
|
+
"synced.title": "Nombre",
|
|
1961
|
+
"synced.titleHint": "Lo que ven los editores al elegirlo, como «Horario de misas». Los visitantes nunca lo ven.",
|
|
1962
|
+
"synced.column.title": "Nombre",
|
|
1963
|
+
"synced.column.used": "Se muestra en",
|
|
1964
|
+
"synced.unused": "En ningún sitio todavía",
|
|
1965
|
+
"synced.rename": "Cambiar el nombre",
|
|
1966
|
+
"synced.renameTitle": "Cambiar el nombre del bloque sincronizado",
|
|
1967
|
+
"synced.renameMessage": "Cambiar el nombre del bloque sincronizado {title}",
|
|
1968
|
+
"synced.delete": "Borrar",
|
|
1969
|
+
"synced.deleteTitle": "¿Borrar {title}?",
|
|
1970
|
+
"synced.deleteBody": "No se muestra en ningún sitio, así que borrarlo no cambia ninguna página.",
|
|
1971
|
+
"synced.deleteUsed": "Todavía se muestra en estos. Quita su Bloque sincronizado de ellos, o sepáralo allí para quedarte con sus bloques solo en esa página, y luego bórralo.",
|
|
1972
|
+
"synced.deleteMessage": "Borrar el bloque sincronizado {title}",
|
|
1973
|
+
"synced.notFound": "Este bloque sincronizado no está en el sitio. Puede que se haya borrado.",
|
|
1974
|
+
"synced.back": "Todos los bloques sincronizados",
|
|
1975
|
+
"synced.message": "Actualizar el bloque sincronizado {title}",
|
|
1976
|
+
"synced.editorUsed": "Los cambios se ven en {places} al publicar.",
|
|
1977
|
+
"synced.editorUnused": "Todavía nada muestra este bloque sincronizado. Colócalo en una página con el bloque Bloque sincronizado.",
|
|
1978
|
+
"synced.languageShared": "Las páginas en {language} muestran la versión del idioma principal de este bloque sincronizado. Dale a {language} una versión propia para traducir sus palabras.",
|
|
1979
|
+
"synced.languageCopy": "Crear una versión en {language}",
|
|
1980
|
+
"synced.languageCopyMessage": "Crear una versión del bloque sincronizado {title} en {language}",
|
|
1981
|
+
"synced.languageRemove": "Usar la versión del idioma principal",
|
|
1982
|
+
"synced.languageRemoveMessage": "Usar la versión del idioma principal del bloque sincronizado {title} en {language}",
|
|
1983
|
+
"synced.label": "Bloque sincronizado: {title}",
|
|
1984
|
+
"synced.edit": "Editar el bloque sincronizado",
|
|
1985
|
+
"synced.missing": "El bloque sincronizado {name} ya no está en el sitio. Elige otro, o quita este bloque.",
|
|
1986
|
+
"synced.choose": "Elige qué bloque sincronizado mostrar aquí, en los ajustes de este bloque.",
|
|
1987
|
+
"synced.save": "Guardar como bloque sincronizado",
|
|
1988
|
+
"synced.saveHint": "Guardar el bloque elegido una vez, para mostrarlo también en otras páginas y cambiarlo en todas a la vez",
|
|
1989
|
+
"synced.saveTitle": "Guardar como bloque sincronizado",
|
|
1990
|
+
"synced.saveAction": "Guardar",
|
|
1991
|
+
"synced.detach": "Separar",
|
|
1992
|
+
"synced.detachHint": "Poner aquí los bloques propios del bloque sincronizado, para cambiarlos solo en esta página"
|
|
1993
|
+
},
|
|
1994
|
+
puck: {
|
|
1995
|
+
"header-publish": "Publicar",
|
|
1996
|
+
"header-undo": "deshacer",
|
|
1997
|
+
"header-redo": "rehacer",
|
|
1998
|
+
"header-toggle-leftsidebar": "Mostrar u ocultar la barra izquierda",
|
|
1999
|
+
"header-toggle-rightsidebar": "Mostrar u ocultar la barra derecha",
|
|
2000
|
+
"header-toggle-menubar": "Mostrar u ocultar la barra de menú",
|
|
2001
|
+
"action-selectparent": "Seleccionar el bloque que lo contiene",
|
|
2002
|
+
"action-duplicate": "Duplicar",
|
|
2003
|
+
"action-delete": "Eliminar",
|
|
2004
|
+
"label-page": "Página",
|
|
2005
|
+
"label-component": "Bloque",
|
|
2006
|
+
"outline-empty": "Sin elementos",
|
|
2007
|
+
"outline-item-collapse": "Contraer",
|
|
2008
|
+
"outline-item-expand": "Expandir",
|
|
2009
|
+
"outline-header-title": "Esquema",
|
|
2010
|
+
"outline-header-collapseall": "Contraer todo",
|
|
2011
|
+
"outline-item-duplicate": "Duplicar",
|
|
2012
|
+
"outline-item-delete": "Eliminar",
|
|
2013
|
+
"drawer-category-collapse": "Contraer {title}",
|
|
2014
|
+
"drawer-category-expand": "Expandir {title}",
|
|
2015
|
+
"drawer-category-other": "Otros",
|
|
2016
|
+
"canvas-noconfig": "No hay ajustes para {type}",
|
|
2017
|
+
"field-readonly": "Solo lectura",
|
|
2018
|
+
"field-arrayitem-summary": "Elemento n.º {index}",
|
|
2019
|
+
"field-arrayitem-duplicate": "Duplicar",
|
|
2020
|
+
"field-arrayitem-delete": "Eliminar",
|
|
2021
|
+
"field-external-selectdata": "Seleccionar datos",
|
|
2022
|
+
"field-external-search": "Buscar",
|
|
2023
|
+
"field-external-togglefilters": "Mostrar u ocultar filtros",
|
|
2024
|
+
"field-external-item": "Elemento externo",
|
|
2025
|
+
"field-external-result-singular": "{count} resultado",
|
|
2026
|
+
"field-external-result-plural": "{count} resultados",
|
|
2027
|
+
"field-richtext-bold": "Negrita",
|
|
2028
|
+
"field-richtext-italic": "Cursiva",
|
|
2029
|
+
"field-richtext-underline": "Subrayado",
|
|
2030
|
+
"field-richtext-strikethrough": "Tachado",
|
|
2031
|
+
"field-richtext-blockquote": "Cita",
|
|
2032
|
+
"field-richtext-code-inline": "Código en línea",
|
|
2033
|
+
"field-richtext-code-block": "Bloque de código",
|
|
2034
|
+
"field-richtext-list-bullet": "Lista con viñetas",
|
|
2035
|
+
"field-richtext-list-ordered": "Lista numerada",
|
|
2036
|
+
"field-richtext-horizontalrule": "Línea horizontal",
|
|
2037
|
+
"field-richtext-align-left": "Alinear a la izquierda",
|
|
2038
|
+
"field-richtext-align-center": "Centrar",
|
|
2039
|
+
"field-richtext-align-right": "Alinear a la derecha",
|
|
2040
|
+
"field-richtext-align-justify": "Justificar",
|
|
2041
|
+
"field-richtext-select": "Seleccionar",
|
|
2042
|
+
"field-richtext-headingselect-1": "Título 1",
|
|
2043
|
+
"field-richtext-headingselect-2": "Título 2",
|
|
2044
|
+
"field-richtext-headingselect-3": "Título 3",
|
|
2045
|
+
"field-richtext-headingselect-4": "Título 4",
|
|
2046
|
+
"field-richtext-headingselect-5": "Título 5",
|
|
2047
|
+
"field-richtext-headingselect-6": "Título 6",
|
|
2048
|
+
"field-richtext-alignselect-left": "Izquierda",
|
|
2049
|
+
"field-richtext-alignselect-center": "Centro",
|
|
2050
|
+
"field-richtext-alignselect-right": "Derecha",
|
|
2051
|
+
"field-richtext-alignselect-justify": "Justificado",
|
|
2052
|
+
"field-richtext-listselect-bullet": "Lista con viñetas",
|
|
2053
|
+
"field-richtext-listselect-ordered": "Lista numerada",
|
|
2054
|
+
"viewport-zoom-in": "Acercar la vista",
|
|
2055
|
+
"viewport-zoom-out": "Alejar la vista",
|
|
2056
|
+
"viewport-zoom-auto": "{zoom} % (automático)",
|
|
2057
|
+
"viewport-toggle-menu": "Mostrar u ocultar el menú de vistas",
|
|
2058
|
+
"viewport-switch": "Cambiar a la vista {label}",
|
|
2059
|
+
"viewport-switch-default": "Cambiar de vista",
|
|
2060
|
+
"plugin-blocks": "Bloques",
|
|
2061
|
+
"plugin-outline": "Esquema",
|
|
2062
|
+
"plugin-fields": "Ajustes",
|
|
2063
|
+
"plugin-components": "Bloques",
|
|
2064
|
+
"layout-maximize": "maximizar",
|
|
2065
|
+
"layout-minimize": "minimizar",
|
|
2066
|
+
"loader-loading": "cargando"
|
|
2067
|
+
},
|
|
2068
|
+
labels
|
|
2069
|
+
};
|
|
2070
|
+
//#endregion
|
|
2071
|
+
export { spanish };
|