@byline/i18n 3.11.3 → 3.12.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/dist/admin/de.js +496 -0
- package/dist/admin/en.js +10 -2
- package/dist/admin/es.js +496 -0
- package/dist/admin/fr.js +10 -2
- package/dist/admin/index.d.ts +6 -1
- package/dist/admin/index.js +17 -2
- package/dist/admin/it.js +496 -0
- package/dist/admin/ko.js +496 -0
- package/dist/admin/zh-CN.js +496 -0
- package/dist/react/language-menu.js +8 -6
- package/dist/react/language-menu.module.js +10 -0
- package/dist/react/language-menu_module.css +52 -0
- package/package.json +2 -2
- package/src/admin/de.json +495 -0
- package/src/admin/en.json +8 -0
- package/src/admin/es.json +495 -0
- package/src/admin/fr.json +8 -0
- package/src/admin/index.test.node.ts +21 -1
- package/src/admin/index.ts +16 -1
- package/src/admin/it.json +495 -0
- package/src/admin/ko.json +495 -0
- package/src/admin/zh-CN.json +495 -0
- package/src/declarations.d.ts +4 -0
- package/src/react/language-menu.module.css +88 -0
- package/src/react/language-menu.tsx +12 -19
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common.actions.save": "Guardar",
|
|
3
|
+
"common.actions.cancel": "Cancelar",
|
|
4
|
+
"common.actions.delete": "Eliminar",
|
|
5
|
+
"common.actions.confirm": "Confirmar",
|
|
6
|
+
"common.actions.close": "Cerrar",
|
|
7
|
+
"common.actions.edit": "Editar",
|
|
8
|
+
"common.actions.create": "Crear",
|
|
9
|
+
"common.actions.duplicate": "Duplicar",
|
|
10
|
+
"common.actions.preview": "Vista previa",
|
|
11
|
+
"common.actions.publish": "Publicar",
|
|
12
|
+
"common.actions.unpublish": "Anular publicación",
|
|
13
|
+
"common.actions.restore": "Restaurar",
|
|
14
|
+
"common.actions.search": "Buscar",
|
|
15
|
+
"common.actions.select": "Seleccionar",
|
|
16
|
+
"common.pager.previous": "Anterior",
|
|
17
|
+
"common.pager.next": "Siguiente",
|
|
18
|
+
"common.pager.pageOf": "Página {page, number} de {total, number}",
|
|
19
|
+
"common.actions.signIn": "Iniciar sesión",
|
|
20
|
+
"common.actions.signOut": "Cerrar sesión",
|
|
21
|
+
"common.actions.signingOut": "Cerrando sesión…",
|
|
22
|
+
"common.actions.home": "Inicio",
|
|
23
|
+
"common.actions.tryAgain": "Reintentar",
|
|
24
|
+
"common.actions.goToHomepage": "Ir a la página de inicio",
|
|
25
|
+
"common.fields.email": "Correo electrónico",
|
|
26
|
+
"common.fields.password": "Contraseña",
|
|
27
|
+
"common.boolean.yes": "Sí",
|
|
28
|
+
"common.boolean.no": "No",
|
|
29
|
+
"common.notSet": "Sin establecer",
|
|
30
|
+
"common.never": "Nunca",
|
|
31
|
+
"common.empty.noResults": "Sin resultados.",
|
|
32
|
+
"common.loading": "Cargando…",
|
|
33
|
+
"common.status.draft": "Borrador",
|
|
34
|
+
"common.status.published": "Publicado",
|
|
35
|
+
"common.status.archived": "Archivado",
|
|
36
|
+
"language.menuLabel": "Cambiar idioma",
|
|
37
|
+
"language.useBrowserDefault": "Usar el predeterminado del navegador",
|
|
38
|
+
"chrome.sidebar.collapse": "Contraer barra lateral",
|
|
39
|
+
"chrome.sidebar.expand": "Expandir barra lateral",
|
|
40
|
+
"chrome.account": "Cuenta",
|
|
41
|
+
"chrome.languageMenu": "Idioma",
|
|
42
|
+
"chrome.appBar.signedInAs": "Sesión iniciada como",
|
|
43
|
+
"chrome.menu.openAriaLabel": "Abrir menú de administración",
|
|
44
|
+
"chrome.menu.dashboard": "Panel",
|
|
45
|
+
"chrome.menu.adminUsers": "Usuarios administradores",
|
|
46
|
+
"chrome.menu.adminRoles": "Roles de administrador",
|
|
47
|
+
"chrome.menu.permissions": "Permisos",
|
|
48
|
+
"chrome.menu.activity": "Actividad",
|
|
49
|
+
"chrome.preview.on": "Vista previa ACTIVADA",
|
|
50
|
+
"chrome.preview.off": "Vista previa DESACTIVADA",
|
|
51
|
+
"chrome.preview.enableAriaLabel": "Activar modo de vista previa",
|
|
52
|
+
"chrome.preview.disableAriaLabel": "Desactivar modo de vista previa",
|
|
53
|
+
"chrome.preview.onTitle": "Los borradores son visibles en el sitio público",
|
|
54
|
+
"chrome.preview.offTitle": "El sitio público muestra solo lo publicado",
|
|
55
|
+
"chrome.breadcrumbs.showHiddenAriaLabel": "Mostrar rutas de navegación ocultas",
|
|
56
|
+
"list.unread": "{count, plural, one {# no leído} other {# no leídos}}",
|
|
57
|
+
"doc.publishedOn": "Publicado el {date, date, medium}",
|
|
58
|
+
"validation.required": "Este campo es obligatorio.",
|
|
59
|
+
"validation.tooShort": "Debe tener al menos {min, number} caracteres.",
|
|
60
|
+
"validation.tooLong": "Debe tener como máximo {max, number} caracteres.",
|
|
61
|
+
"errors.unknown": "Algo salió mal. Inténtalo de nuevo.",
|
|
62
|
+
"common.errors.versionConflict": "Tu cuenta se ha modificado en otro lugar desde que abriste este formulario. Vuelve a cargar para actualizar e inténtalo de nuevo.",
|
|
63
|
+
"common.errors.accountNotFound": "No se pudo encontrar tu cuenta de administrador. Inicia sesión de nuevo.",
|
|
64
|
+
"common.errors.couldNotSave": "No se pudieron guardar los cambios. Inténtalo de nuevo.",
|
|
65
|
+
"common.feedback.saved": "Guardado.",
|
|
66
|
+
"common.feedback.noChanges": "No hay cambios que guardar.",
|
|
67
|
+
"auth.signIn.title": "Iniciar sesión",
|
|
68
|
+
"auth.signIn.description": "Inicia sesión en el administrador de Byline.",
|
|
69
|
+
"auth.signIn.errors.empty": "Introduce tu correo electrónico y contraseña.",
|
|
70
|
+
"auth.signIn.errors.invalidCredentials": "Credenciales no válidas.",
|
|
71
|
+
"account.intro": "Gestiona tu propio perfil y contraseña.",
|
|
72
|
+
"account.sections.profile": "Perfil",
|
|
73
|
+
"account.sections.password": "Contraseña",
|
|
74
|
+
"account.sections.status": "Estado de la cuenta",
|
|
75
|
+
"account.sections.preferences": "Preferencias",
|
|
76
|
+
"account.editAriaLabel": "Editar {section}",
|
|
77
|
+
"account.profile.givenName": "Nombre:",
|
|
78
|
+
"account.profile.familyName": "Apellidos:",
|
|
79
|
+
"account.profile.emailColon": "Correo electrónico:",
|
|
80
|
+
"account.profile.username": "Nombre de usuario:",
|
|
81
|
+
"account.profile.created": "Creado:",
|
|
82
|
+
"account.profile.updated": "Actualizado:",
|
|
83
|
+
"account.profile.lastLogin": "Último inicio de sesión:",
|
|
84
|
+
"account.profile.editButton": "Editar perfil",
|
|
85
|
+
"account.password.intro": "Cambia la contraseña que usas para iniciar sesión en el administrador. Deberás introducir tu contraseña actual para confirmar el cambio.",
|
|
86
|
+
"account.password.editButton": "Cambiar contraseña",
|
|
87
|
+
"account.status.superAdmin": "Superadministrador:",
|
|
88
|
+
"account.status.emailVerified": "Correo verificado:",
|
|
89
|
+
"account.status.status": "Estado:",
|
|
90
|
+
"account.status.enabled": "Habilitada",
|
|
91
|
+
"account.status.disabled": "Deshabilitada",
|
|
92
|
+
"account.status.help": "Estos indicadores los gestiona un administrador con los permisos adecuados y no se pueden editar por cuenta propia.",
|
|
93
|
+
"account.preferences.interfaceLanguage": "Idioma de la interfaz:",
|
|
94
|
+
"account.preferences.editButton": "Cambiar idioma",
|
|
95
|
+
"account.preferences.help": "El mismo ajuste está disponible en el menú de idioma de la barra superior.",
|
|
96
|
+
"account.preferences.languageLabel": "Idioma de la interfaz",
|
|
97
|
+
"account.preferences.languageHelp": "El valor predeterminado del navegador sigue la configuración de idioma de tu navegador.",
|
|
98
|
+
"account.sections.appearance": "Apariencia",
|
|
99
|
+
"account.appearance.colorTheme": "Tema de color",
|
|
100
|
+
"account.appearance.light": "Claro",
|
|
101
|
+
"account.appearance.dark": "Oscuro",
|
|
102
|
+
"account.appearance.system": "Sistema",
|
|
103
|
+
"account.appearance.help": "El modo Sistema sigue la configuración de apariencia de tu dispositivo.",
|
|
104
|
+
"account.update.fields.givenName": "Nombre",
|
|
105
|
+
"account.update.fields.familyName": "Apellidos",
|
|
106
|
+
"account.update.fields.username": "Nombre de usuario",
|
|
107
|
+
"account.update.fields.usernameHelp": "Opcional. Déjalo en blanco para borrarlo.",
|
|
108
|
+
"account.update.errors.givenNameTooLong": "El nombre no debe superar los {max, number} caracteres",
|
|
109
|
+
"account.update.errors.familyNameTooLong": "Los apellidos no deben superar los {max, number} caracteres",
|
|
110
|
+
"account.update.errors.usernameTooLong": "El nombre de usuario no debe superar los {max, number} caracteres",
|
|
111
|
+
"account.update.errors.invalidEmail": "Introduce una dirección de correo electrónico válida",
|
|
112
|
+
"account.update.errors.emailTooLong": "El correo electrónico no debe superar los {max, number} caracteres",
|
|
113
|
+
"account.update.errors.emailInUse": "Este correo electrónico ya está en uso.",
|
|
114
|
+
"account.changePassword.intro": "Las demás sesiones activas seguirán funcionando hasta que sus tokens caduquen. Cierra sesión en otros dispositivos si sospechas que alguno se ha visto comprometido.",
|
|
115
|
+
"account.changePassword.fields.current": "Contraseña actual",
|
|
116
|
+
"account.changePassword.fields.new": "Nueva contraseña",
|
|
117
|
+
"account.changePassword.fields.confirm": "Confirmar nueva contraseña",
|
|
118
|
+
"account.changePassword.errors.currentRequired": "Introduce tu contraseña actual",
|
|
119
|
+
"account.changePassword.errors.confirmRequired": "Confirma la nueva contraseña",
|
|
120
|
+
"account.changePassword.errors.mismatch": "Las nuevas contraseñas no coinciden",
|
|
121
|
+
"account.changePassword.errors.currentIncorrect": "La contraseña actual es incorrecta.",
|
|
122
|
+
"account.changePassword.errors.couldNotChange": "No se pudo cambiar la contraseña. Inténtalo de nuevo.",
|
|
123
|
+
"account.changePassword.feedback.updated": "Contraseña actualizada.",
|
|
124
|
+
"dashboard.collectionDescription": "Colección {label}",
|
|
125
|
+
"dashboard.totalCount": "{count, number} en total",
|
|
126
|
+
"adminUsers.list.title": "Usuarios administradores",
|
|
127
|
+
"adminUsers.list.columns.givenName": "Nombre",
|
|
128
|
+
"adminUsers.list.columns.familyName": "Apellidos",
|
|
129
|
+
"adminUsers.list.columns.email": "Correo electrónico",
|
|
130
|
+
"adminUsers.list.columns.updated": "Actualizado",
|
|
131
|
+
"adminUsers.list.columns.created": "Creado",
|
|
132
|
+
"adminUsers.list.createAriaLabel": "Crear nuevo usuario administrador",
|
|
133
|
+
"adminUsers.list.searchPlaceholder": "Buscar por nombre o correo",
|
|
134
|
+
"adminUsers.list.pagerTopAriaLabel": "Paginación superior",
|
|
135
|
+
"adminUsers.list.pagerBottomAriaLabel": "Paginación inferior",
|
|
136
|
+
"adminUsers.list.newDrawerTitle": "Nuevo usuario administrador",
|
|
137
|
+
"adminUsers.list.createdToastTitle": "Usuario administrador creado",
|
|
138
|
+
"adminUsers.breadcrumbDetail": "Usuario",
|
|
139
|
+
"adminUsers.detail.sections.account": "Detalles de la cuenta",
|
|
140
|
+
"adminUsers.detail.sections.roles": "Roles",
|
|
141
|
+
"adminUsers.detail.sections.password": "Contraseña",
|
|
142
|
+
"adminUsers.detail.sections.delete": "Eliminar usuario administrador",
|
|
143
|
+
"adminUsers.detail.panels.update": "Detalles de la cuenta",
|
|
144
|
+
"adminUsers.detail.panels.setPassword": "Establecer contraseña",
|
|
145
|
+
"adminUsers.detail.panels.delete": "Eliminar usuario administrador",
|
|
146
|
+
"adminUsers.detail.panels.roles": "Roles del usuario",
|
|
147
|
+
"adminUsers.detail.updateButton": "Actualizar detalles",
|
|
148
|
+
"adminUsers.detail.rolesEmpty": "No hay roles asignados.",
|
|
149
|
+
"adminUsers.detail.editRolesButton": "Editar roles",
|
|
150
|
+
"adminUsers.detail.password.intro": "Establece una nueva contraseña para este usuario.",
|
|
151
|
+
"adminUsers.detail.password.setButton": "Establecer contraseña",
|
|
152
|
+
"adminUsers.detail.delete.intro": "Elimina permanentemente este usuario administrador.",
|
|
153
|
+
"adminUsers.detail.delete.button": "Eliminar usuario administrador",
|
|
154
|
+
"adminUsers.detail.rolesSavedToast": "Roles guardados",
|
|
155
|
+
"adminUsers.detail.rolesAssignedDescription": "{count, plural, one {# rol asignado} other {# roles asignados}} a {email}.",
|
|
156
|
+
"adminUsers.delete.userLabel": "Usuario:",
|
|
157
|
+
"adminUsers.delete.emailLabel": "Correo electrónico:",
|
|
158
|
+
"adminUsers.delete.warning": "Esto eliminará permanentemente al usuario administrador. La acción no se puede deshacer. Cualquier sesión activa se invalidará en la próxima actualización.",
|
|
159
|
+
"adminUsers.delete.confirmButton": "Eliminar usuario",
|
|
160
|
+
"adminUsers.delete.errors.selfDelete": "No puedes eliminar tu propia cuenta de administrador.",
|
|
161
|
+
"adminUsers.delete.errors.versionConflict": "Este usuario se ha modificado en otro lugar desde que abriste este diálogo. Cierra y vuelve a cargar antes de intentarlo de nuevo.",
|
|
162
|
+
"adminUsers.delete.errors.notFound": "Este usuario ya se ha eliminado.",
|
|
163
|
+
"adminUsers.delete.errors.fallback": "No se pudo eliminar este usuario administrador. Inténtalo de nuevo.",
|
|
164
|
+
"adminUsers.create.fields.password": "Contraseña inicial",
|
|
165
|
+
"adminUsers.create.fields.passwordHelp": "El usuario puede cambiarla desde su propia cuenta después de iniciar sesión.",
|
|
166
|
+
"adminUsers.create.fields.usernameHelp": "Opcional.",
|
|
167
|
+
"adminUsers.create.flags.enabledLabel": "Habilitada",
|
|
168
|
+
"adminUsers.create.flags.enabledHelp": "Las cuentas deshabilitadas no pueden iniciar sesión.",
|
|
169
|
+
"adminUsers.create.flags.emailVerifiedLabel": "Correo verificado",
|
|
170
|
+
"adminUsers.create.flags.emailVerifiedHelp": "Omitir el flujo de verificación para esta cuenta.",
|
|
171
|
+
"adminUsers.create.flags.superAdminLabel": "Superadministrador",
|
|
172
|
+
"adminUsers.create.flags.superAdminHelp": "Los superadministradores omiten toda comprobación de permisos: concédelo con cuidado.",
|
|
173
|
+
"adminUsers.create.errors.fallback": "No se pudo crear este usuario administrador. Inténtalo de nuevo.",
|
|
174
|
+
"adminUsers.update.errors.versionConflict": "Este usuario se ha modificado en otro lugar desde que abriste este formulario. Vuelve a cargar para obtener los valores más recientes e inténtalo de nuevo.",
|
|
175
|
+
"adminUsers.update.errors.notFound": "Este usuario ya no existe.",
|
|
176
|
+
"adminUsers.setPassword.intro": "Establece una nueva contraseña para {email}. El usuario deberá iniciar sesión de nuevo con la nueva contraseña.",
|
|
177
|
+
"adminUsers.setPassword.errors.fallback": "No se pudo establecer la contraseña. Inténtalo de nuevo.",
|
|
178
|
+
"adminUsers.roles.emptyCatalog": "Aún no se ha creado ningún rol. Crea roles en /admin/roles primero.",
|
|
179
|
+
"adminUsers.roles.errors.userNotFound": "Este usuario ya no existe.",
|
|
180
|
+
"adminUsers.roles.errors.roleNotFound": "Uno o más de los roles seleccionados ya no existen. Vuelve a cargar la página e inténtalo de nuevo.",
|
|
181
|
+
"adminUsers.roles.errors.fallback": "No se pudieron guardar los roles. Inténtalo de nuevo.",
|
|
182
|
+
"routeError.titles.notFound": "No encontrado",
|
|
183
|
+
"routeError.titles.validation": "Error de validación",
|
|
184
|
+
"routeError.titles.conflict": "Conflicto",
|
|
185
|
+
"routeError.titles.invalidTransition": "Transición no válida",
|
|
186
|
+
"routeError.titles.patchFailed": "Error al actualizar",
|
|
187
|
+
"routeError.titles.database": "Error de base de datos",
|
|
188
|
+
"routeError.titles.storage": "Error de almacenamiento",
|
|
189
|
+
"routeError.titles.unhandled": "Error inesperado",
|
|
190
|
+
"routeError.defaultMessage": "Se produjo un error inesperado. Inténtalo de nuevo.",
|
|
191
|
+
"routeError.notFound.title": "Página no encontrada",
|
|
192
|
+
"routeError.notFound.message": "La página que buscas no existe o se ha movido.",
|
|
193
|
+
"adminRoles.list.title": "Roles de administrador",
|
|
194
|
+
"adminRoles.list.empty": "No se encontraron roles de administrador",
|
|
195
|
+
"adminRoles.list.columns.name": "Nombre",
|
|
196
|
+
"adminRoles.list.columns.machineName": "Nombre de máquina",
|
|
197
|
+
"adminRoles.list.columns.description": "Descripción",
|
|
198
|
+
"adminRoles.list.columns.created": "Creado",
|
|
199
|
+
"adminRoles.list.createAriaLabel": "Crear nuevo rol de administrador",
|
|
200
|
+
"adminRoles.list.newDrawerTitle": "Nuevo rol de administrador",
|
|
201
|
+
"adminRoles.list.createdToastTitle": "Rol de administrador creado",
|
|
202
|
+
"adminRoles.breadcrumbDetail": "Rol",
|
|
203
|
+
"adminRoles.list.saveOrder": "Guardar orden",
|
|
204
|
+
"adminRoles.list.orderSavedToast": "Orden guardado",
|
|
205
|
+
"adminRoles.list.orderFailedToast": "No se pudo guardar el nuevo orden",
|
|
206
|
+
"adminRoles.list.orderFailedDescription": "Inténtalo de nuevo.",
|
|
207
|
+
"adminRoles.detail.title": "Detalles del rol",
|
|
208
|
+
"adminRoles.detail.editDetailsButton": "Editar detalles",
|
|
209
|
+
"adminRoles.detail.deleteButton": "Eliminar rol",
|
|
210
|
+
"adminRoles.detail.fields.name": "Nombre:",
|
|
211
|
+
"adminRoles.detail.fields.machineName": "Nombre de máquina:",
|
|
212
|
+
"adminRoles.detail.fields.description": "Descripción:",
|
|
213
|
+
"adminRoles.detail.fields.created": "Creado:",
|
|
214
|
+
"adminRoles.detail.fields.updated": "Actualizado:",
|
|
215
|
+
"adminRoles.detail.panels.update": "Detalles del rol",
|
|
216
|
+
"adminRoles.detail.panels.delete": "Eliminar rol de administrador",
|
|
217
|
+
"adminRoles.detail.permissionsSavedToast": "Permisos guardados",
|
|
218
|
+
"adminRoles.detail.permissionsSavedDescription": "{count, plural, one {# capacidad concedida} other {# capacidades concedidas}} a {role}.",
|
|
219
|
+
"adminRoles.delete.roleLabel": "Rol:",
|
|
220
|
+
"adminRoles.delete.machineLabel": "Nombre de máquina:",
|
|
221
|
+
"adminRoles.delete.warning": "Esto eliminará permanentemente el rol. Cualquier usuario que lo tenga asignado lo perderá; se eliminarán todas las concesiones de capacidades por rol. La acción no se puede deshacer.",
|
|
222
|
+
"adminRoles.delete.confirmButton": "Eliminar rol",
|
|
223
|
+
"adminRoles.delete.errors.versionConflict": "Este rol se ha modificado en otro lugar desde que abriste este diálogo. Cierra y vuelve a cargar antes de intentarlo de nuevo.",
|
|
224
|
+
"adminRoles.delete.errors.notFound": "Este rol ya se ha eliminado.",
|
|
225
|
+
"adminRoles.delete.errors.fallback": "No se pudo eliminar este rol. Inténtalo de nuevo.",
|
|
226
|
+
"adminRoles.fields.name": "Nombre",
|
|
227
|
+
"adminRoles.fields.machineName": "Nombre de máquina",
|
|
228
|
+
"adminRoles.fields.description": "Descripción",
|
|
229
|
+
"adminRoles.create.fields.nameHelp": "Etiqueta legible para humanos, p. ej. 'Editor'.",
|
|
230
|
+
"adminRoles.create.fields.machineNameHelp": "Identificador estable del lado del código, p. ej. 'editor'. No se puede cambiar después.",
|
|
231
|
+
"adminRoles.create.errors.nameRequired": "El nombre es obligatorio",
|
|
232
|
+
"adminRoles.create.errors.nameTooLong": "El nombre no debe superar los {max, number} caracteres",
|
|
233
|
+
"adminRoles.create.errors.machineNameRequired": "El nombre de máquina es obligatorio",
|
|
234
|
+
"adminRoles.create.errors.machineNameTooLong": "El nombre de máquina no debe superar los {max, number} caracteres",
|
|
235
|
+
"adminRoles.create.errors.machineNameInvalid": "Solo letras minúsculas, números, guiones y guiones bajos",
|
|
236
|
+
"adminRoles.create.errors.descriptionTooLong": "La descripción no debe superar los {max, number} caracteres",
|
|
237
|
+
"adminRoles.create.errors.machineNameInUse": "Este nombre de máquina ya está en uso.",
|
|
238
|
+
"adminRoles.create.errors.fallback": "No se pudo crear este rol de administrador. Inténtalo de nuevo.",
|
|
239
|
+
"adminRoles.update.fields.machineNameHelp": "El identificador estable del lado del código. No se puede cambiar después de la creación.",
|
|
240
|
+
"adminRoles.update.errors.versionConflict": "Este rol se ha modificado en otro lugar desde que abriste este formulario. Vuelve a cargar para obtener los valores más recientes e inténtalo de nuevo.",
|
|
241
|
+
"adminRoles.update.errors.notFound": "Este rol ya no existe.",
|
|
242
|
+
"adminRoles.permissions.modeAriaLabel": "Modo de permisos",
|
|
243
|
+
"adminRoles.permissions.viewMode": "Ver",
|
|
244
|
+
"adminRoles.permissions.editMode": "Editar",
|
|
245
|
+
"adminRoles.permissions.selectAll": "Seleccionar todo",
|
|
246
|
+
"adminRoles.permissions.clear": "Borrar",
|
|
247
|
+
"adminRoles.permissions.groupCount": "{selected, number} de {total, number} {mode, select, edit {seleccionadas} other {concedidas}}",
|
|
248
|
+
"adminRoles.permissions.counter": "{selected, number} de {total, number} {mode, select, edit {seleccionadas} other {concedidas}} para {role}",
|
|
249
|
+
"adminRoles.permissions.errors.roleNotFound": "Este rol ya no existe.",
|
|
250
|
+
"adminRoles.permissions.errors.abilityUnregistered": "Una o más de las capacidades seleccionadas ya no están registradas. Vuelve a cargar la página e inténtalo de nuevo.",
|
|
251
|
+
"adminRoles.permissions.errors.fallback": "No se pudieron guardar los permisos. Inténtalo de nuevo.",
|
|
252
|
+
"adminPermissions.title": "Inspector de capacidades",
|
|
253
|
+
"adminPermissions.countPill": "{count, number} registradas",
|
|
254
|
+
"adminPermissions.lead": "Vista de solo lectura de todas las capacidades registradas a través de bylineCore.abilities. Las colecciones registran automáticamente las capacidades de CRUD y de flujo de trabajo; los subsistemas de administración aportan sus propias claves en la raíz de composición mediante registerAdminAbilities.",
|
|
255
|
+
"adminPermissions.empty": "No hay capacidades registradas.",
|
|
256
|
+
"adminPermissions.group.abilitiesCount": "{count, plural, one {# capacidad} other {# capacidades}}",
|
|
257
|
+
"adminPermissions.row.holdersButton": "Titulares",
|
|
258
|
+
"adminPermissions.row.hideButton": "Ocultar",
|
|
259
|
+
"adminPermissions.matrix.rolesTitle": "Roles ({count, number})",
|
|
260
|
+
"adminPermissions.matrix.rolesEmpty": "Ningún rol concede esta capacidad.",
|
|
261
|
+
"adminPermissions.matrix.usersTitle": "Usuarios administradores ({count, number})",
|
|
262
|
+
"adminPermissions.matrix.usersEmpty": "Ningún usuario administrador tiene esta capacidad.",
|
|
263
|
+
"adminPermissions.source.collection": "colección",
|
|
264
|
+
"adminPermissions.source.admin": "administración",
|
|
265
|
+
"adminPermissions.source.plugin": "complemento",
|
|
266
|
+
"adminPermissions.source.core": "núcleo",
|
|
267
|
+
"adminPermissions.source.unknown": "desconocido",
|
|
268
|
+
"collections.list.statusFilterAll": "Todos",
|
|
269
|
+
"collections.list.createAriaLabel": "Crear nuevo",
|
|
270
|
+
"collections.list.searchPlaceholder": "Buscar",
|
|
271
|
+
"collections.list.pagerTopAriaLabel": "Paginación superior",
|
|
272
|
+
"collections.list.pagerBottomAriaLabel": "Paginación inferior",
|
|
273
|
+
"collections.list.dragHandleAriaLabel": "Arrastrar para reordenar",
|
|
274
|
+
"collections.list.dragDisabledAriaLabel": "Arrastre desactivado mientras hay filtros o búsqueda activos",
|
|
275
|
+
"collections.list.sortManualOrderAriaLabel": "Ordenar por orden manual",
|
|
276
|
+
"collections.list.reorderFailedToast": "No se pudo guardar el nuevo orden",
|
|
277
|
+
"collections.list.reorderFailedDescription": "Inténtalo de nuevo.",
|
|
278
|
+
"collections.create.errorToastTitle": "Creación de {label}",
|
|
279
|
+
"collections.create.errorToastDescription": "Se produjo un error al crear {label}.",
|
|
280
|
+
"collections.edit.statusUpdateTitle": "Actualización de estado de {label}",
|
|
281
|
+
"collections.edit.statusChangedDescription": "Estado cambiado a \"{status}\".",
|
|
282
|
+
"collections.edit.statusChangeFailedDescription": "Error al cambiar el estado: {message}",
|
|
283
|
+
"collections.edit.unpublishTitle": "Anular publicación de {label}",
|
|
284
|
+
"collections.edit.unpublishedDescription": "La versión publicada se ha retirado.",
|
|
285
|
+
"collections.edit.unpublishFailedDescription": "Error al anular la publicación: {message}",
|
|
286
|
+
"collections.edit.duplicatedTitle": "{label} duplicado",
|
|
287
|
+
"collections.edit.duplicateTitle": "Duplicar {label}",
|
|
288
|
+
"collections.edit.duplicatedAutoPathDescription": "Creado con la ruta autogenerada \"{path}\" (el slug preferido ya estaba en uso).",
|
|
289
|
+
"collections.edit.duplicatedPathDescription": "Creado con la ruta \"{path}\". Actualiza el título y la ruta en el nuevo documento.",
|
|
290
|
+
"collections.edit.duplicatedSuccessMessage": "{label} duplicado.",
|
|
291
|
+
"collections.edit.duplicateFailedDescription": "Error al duplicar: {message}",
|
|
292
|
+
"collections.edit.copyToLocaleTitle": "Copiar {label} a configuración regional",
|
|
293
|
+
"collections.edit.copiedFieldsDescription": "Se copiaron {count, plural, one {# campo} other {# campos}} de {source} a {target}.",
|
|
294
|
+
"collections.edit.copiedNoFieldsDescription": "No fue necesario copiar ningún campo de {source} a {target} según la regla actual.",
|
|
295
|
+
"collections.edit.copiedSuccessMessage": "Copiado {source} → {target}.",
|
|
296
|
+
"collections.edit.copyFailedDescription": "Error al copiar: {message}",
|
|
297
|
+
"collections.edit.deleteTitle": "Eliminación de {label}",
|
|
298
|
+
"collections.edit.deletedDescription": "{label} se ha eliminado.",
|
|
299
|
+
"collections.edit.deleteFailedDescription": "Error al eliminar: {message}",
|
|
300
|
+
"collections.edit.deleteLocaleTitle": "Eliminar configuración regional de {label}",
|
|
301
|
+
"collections.edit.deletedLocaleDescription": "Se eliminó el contenido en {locale} de este {label}. Se creó un nuevo borrador: publícalo para que el cambio tenga efecto.",
|
|
302
|
+
"collections.edit.deleteLocaleFailedDescription": "Error al eliminar la configuración regional: {message}",
|
|
303
|
+
"collections.edit.updateTitle": "Actualización de {label}",
|
|
304
|
+
"collections.edit.updatedDescription": "{label} actualizado correctamente.",
|
|
305
|
+
"collections.edit.updateFailedDescription": "Se produjo un error al actualizar {label}.",
|
|
306
|
+
"collections.history.title": "Historial de {label}",
|
|
307
|
+
"collections.history.compareAriaLabel": "Comparar esta versión con la versión actual",
|
|
308
|
+
"collections.history.compareTitle": "Comparar con la actual",
|
|
309
|
+
"collections.history.restoreButton": "Restaurar",
|
|
310
|
+
"collections.history.restoreButtonTitle": "Restaurar esta versión como borrador actual",
|
|
311
|
+
"collections.history.restoreModalTitle": "Restaurar versión",
|
|
312
|
+
"collections.history.audit.createdBy": "por {label}",
|
|
313
|
+
"collections.history.audit.unknown": "desconocido",
|
|
314
|
+
"collections.history.audit.formerUser": "usuario anterior",
|
|
315
|
+
"collections.history.audit.actionCreate": "creado",
|
|
316
|
+
"collections.history.audit.actionUpdate": "actualizado",
|
|
317
|
+
"collections.history.audit.actionRestore": "restaurado",
|
|
318
|
+
"collections.history.audit.actionCopyToLocale": "copiado a configuración regional",
|
|
319
|
+
"collections.history.audit.actionDeleteLocale": "configuración regional eliminada",
|
|
320
|
+
"collections.history.tabs.versions": "Versiones de contenido",
|
|
321
|
+
"collections.history.tabs.document": "Historial del documento",
|
|
322
|
+
"collections.documentHistory.empty": "Aún no se han registrado cambios a nivel de documento. Las ediciones de contenido están en Versiones de contenido.",
|
|
323
|
+
"collections.documentHistory.colWhen": "Cuándo",
|
|
324
|
+
"collections.documentHistory.colAction": "Cambio",
|
|
325
|
+
"collections.documentHistory.colActor": "Por",
|
|
326
|
+
"collections.documentHistory.colChange": "De → A",
|
|
327
|
+
"collections.documentHistory.actionPathChanged": "Ruta cambiada",
|
|
328
|
+
"collections.documentHistory.actionLocalesChanged": "Configuraciones regionales cambiadas",
|
|
329
|
+
"collections.documentHistory.actionStatusChanged": "Estado cambiado",
|
|
330
|
+
"collections.documentHistory.actionDeleted": "Documento eliminado",
|
|
331
|
+
"collections.documentHistory.systemActor": "sistema",
|
|
332
|
+
"activity.title": "Actividad",
|
|
333
|
+
"activity.empty": "Aún no se ha registrado actividad.",
|
|
334
|
+
"activity.pagerAriaLabel": "Paginación de actividad",
|
|
335
|
+
"activity.systemActor": "sistema",
|
|
336
|
+
"activity.formerUser": "usuario anterior",
|
|
337
|
+
"activity.columns.when": "Cuándo",
|
|
338
|
+
"activity.columns.collection": "Colección",
|
|
339
|
+
"activity.columns.action": "Cambio",
|
|
340
|
+
"activity.columns.actor": "Por",
|
|
341
|
+
"activity.columns.change": "De → A",
|
|
342
|
+
"activity.actions.created": "Creado",
|
|
343
|
+
"activity.actions.updated": "Actualizado",
|
|
344
|
+
"activity.actions.pathChanged": "Ruta cambiada",
|
|
345
|
+
"activity.actions.localesChanged": "Configuraciones regionales cambiadas",
|
|
346
|
+
"activity.actions.statusChanged": "Estado cambiado",
|
|
347
|
+
"activity.actions.deleted": "Documento eliminado",
|
|
348
|
+
"activity.filters.allCollections": "Todas las colecciones",
|
|
349
|
+
"activity.filters.allActions": "Todos los cambios",
|
|
350
|
+
"activity.filters.clear": "Borrar filtros",
|
|
351
|
+
"collections.restore.versionLabel": "Versión:",
|
|
352
|
+
"collections.restore.createdLabel": "Creado:",
|
|
353
|
+
"collections.restore.warning": "Esto creará una nueva versión de borrador de este documento con el contenido de la versión {version}, y ese borrador se convertirá en la versión actual. Las versiones existentes (incluida cualquier versión publicada) se conservan en el historial. El borrador restaurado deberá publicarse mediante el flujo de trabajo normal.",
|
|
354
|
+
"collections.restore.confirmButton": "Restaurar como borrador",
|
|
355
|
+
"collections.restore.errors.alreadyCurrent": "Esta versión ya es la versión actual del documento.",
|
|
356
|
+
"collections.restore.errors.notFound": "No se pudo encontrar la versión seleccionada. El historial puede estar desactualizado.",
|
|
357
|
+
"collections.restore.errors.forbidden": "No tienes permiso para restaurar versiones de esta colección.",
|
|
358
|
+
"collections.restore.errors.fallback": "No se pudo restaurar esta versión. Inténtalo de nuevo.",
|
|
359
|
+
"collections.api.title": "API de {label}",
|
|
360
|
+
"collections.viewMenu.contentLocaleLabel": "Configuración regional del contenido:",
|
|
361
|
+
"collections.viewMenu.localeAll": "Todas",
|
|
362
|
+
"collections.viewMenu.depthLabel": "Profundidad:",
|
|
363
|
+
"collections.viewMenu.apiButton": "API",
|
|
364
|
+
"collections.preview.toastTitle": "Vista previa",
|
|
365
|
+
"collections.preview.failedDescription": "No se pudo activar el modo de vista previa: {message}",
|
|
366
|
+
"collections.preview.openAriaLabel": "Abrir vista previa",
|
|
367
|
+
"collections.preview.title": "Vista previa",
|
|
368
|
+
"collections.breadcrumbs.create": "Crear",
|
|
369
|
+
"collections.breadcrumbs.history": "Historial",
|
|
370
|
+
"collections.list.createdToastTitle": "{label} creado",
|
|
371
|
+
"collections.list.createdToastDescription": "{label} creado correctamente.",
|
|
372
|
+
"documentActions.copyToLocaleMenuItem": "Copiar a configuración regional",
|
|
373
|
+
"documentActions.delete.title": "Eliminar documento",
|
|
374
|
+
"documentActions.delete.warning": "Advertencia: Esta acción no se puede deshacer. ¿Seguro que quieres eliminar este documento?",
|
|
375
|
+
"documentActions.duplicate.title": "Duplicar documento",
|
|
376
|
+
"documentActions.duplicate.intro": "Se creará un nuevo documento con todas las traducciones (si las hay) clonadas de este. Después de crear el duplicado, deberías:",
|
|
377
|
+
"documentActions.duplicate.bulletTitle": "Actualizar el título del documento (incluidas las versiones traducidas). El título lleva actualmente el sufijo",
|
|
378
|
+
"documentActions.duplicate.bulletPath": "Revisar la ruta del sistema en el widget de ruta: la ruta autogenerada reflejará el título con sufijo y es poco probable que sea lo que quieres a largo plazo.",
|
|
379
|
+
"documentActions.duplicate.previewLabel": "Vista previa (configuración regional actual):",
|
|
380
|
+
"documentActions.duplicate.busyButton": "Duplicando…",
|
|
381
|
+
"documentActions.copyToLocale.title": "Copiar a configuración regional",
|
|
382
|
+
"documentActions.copyToLocale.intro": "Copia el contenido de este documento de una configuración regional a otra. Los campos no localizados se comparten entre configuraciones regionales y no cambiarán.",
|
|
383
|
+
"documentActions.copyToLocale.fromLabel": "De:",
|
|
384
|
+
"documentActions.copyToLocale.toLabel": "A:",
|
|
385
|
+
"documentActions.copyToLocale.targetAriaLabel": "Configuración regional de destino",
|
|
386
|
+
"documentActions.copyToLocale.overwriteLabel": "Sobrescribir los datos de campo existentes en la configuración regional de destino",
|
|
387
|
+
"documentActions.copyToLocale.overwriteHelp": "Sin marcar: solo rellena los campos de destino que estén vacíos. Marcado: reemplaza cada campo traducido con el valor del origen.",
|
|
388
|
+
"documentActions.copyToLocale.confirmButton": "Copiar",
|
|
389
|
+
"documentActions.copyToLocale.busyButton": "Copiando…",
|
|
390
|
+
"documentActions.deleteLocale.menuItem": "Eliminar configuración regional",
|
|
391
|
+
"documentActions.deleteLocale.title": "Eliminar configuración regional",
|
|
392
|
+
"documentActions.deleteLocale.intro": "Elimina el contenido de una configuración regional de este documento. La configuración regional predeterminada no se puede eliminar y todas las demás permanecen intactas.",
|
|
393
|
+
"documentActions.deleteLocale.localeLabel": "Configuración regional:",
|
|
394
|
+
"documentActions.deleteLocale.targetAriaLabel": "Configuración regional a eliminar",
|
|
395
|
+
"documentActions.deleteLocale.warning": "Esto crea un nuevo borrador sin la configuración regional seleccionada. La configuración regional permanece disponible en el historial de versiones del documento hasta que publiques.",
|
|
396
|
+
"documentActions.deleteLocale.confirmButton": "Eliminar",
|
|
397
|
+
"documentActions.deleteLocale.busyButton": "Eliminando…",
|
|
398
|
+
"forms.status.label": "Estado:",
|
|
399
|
+
"forms.status.lastModified": "Última modificación:",
|
|
400
|
+
"forms.status.created": "Creado:",
|
|
401
|
+
"forms.status.publishedLive": "Hay una versión publicada actualmente en vivo.",
|
|
402
|
+
"forms.status.publishedOn": "Publicado el {date, date, medium}",
|
|
403
|
+
"forms.heading.create": "Crear",
|
|
404
|
+
"forms.heading.edit": "Editar",
|
|
405
|
+
"forms.heading.createLabel": "Crear {label}",
|
|
406
|
+
"forms.heading.editLabel": "Editar {label}",
|
|
407
|
+
"forms.actions.uploading": "Subiendo…",
|
|
408
|
+
"forms.actions.revertTo": "Revertir a {label}",
|
|
409
|
+
"forms.uploadFailedFieldError": "Error al subir: {message}",
|
|
410
|
+
"forms.restoreWarnings.title": "Este documento se cargó con una reconstrucción de mejor esfuerzo",
|
|
411
|
+
"forms.restoreWarnings.body": "El esquema de la colección ha cambiado desde la última vez que se guardó este documento, y {count, plural, one {# campo no se pudo restaurar} other {# campos no se pudieron restaurar}} con la forma actual. El formulario siguiente muestra solo los campos que coinciden con el nuevo esquema. Al guardar se sobrescribirá el documento con la nueva forma: se perderán los datos que no coincidieran. Para conservarlos, copia lo que necesites antes de guardar, o elimina este documento y vuelve a crearlo. Errores:",
|
|
412
|
+
"forms.navigationGuard.title": "¿Salir sin guardar?",
|
|
413
|
+
"forms.navigationGuard.message": "Tus cambios no se han guardado. Si sales ahora, perderás los cambios.",
|
|
414
|
+
"forms.navigationGuard.stayButton": "Permanecer en esta página",
|
|
415
|
+
"forms.navigationGuard.leaveButton": "Salir de todos modos",
|
|
416
|
+
"forms.unsavedChanges.title": "Cambios sin guardar",
|
|
417
|
+
"forms.unsavedChanges.message": "Tienes cambios sin guardar. Guárdalos antes de cambiar el estado o ejecutar esta acción.",
|
|
418
|
+
"forms.unsavedChanges.okButton": "Aceptar",
|
|
419
|
+
"forms.systemFieldsConfirm.title": "¿Aplicar este cambio inmediatamente?",
|
|
420
|
+
"forms.systemFieldsConfirm.bothTitle": "¿Guardar tus cambios?",
|
|
421
|
+
"forms.systemFieldsConfirm.intro": "Lo siguiente se guarda inmediatamente, fuera del historial de versiones y del flujo de publicación:",
|
|
422
|
+
"forms.systemFieldsConfirm.bulletPath": "La ruta URL del documento cambiará.",
|
|
423
|
+
"forms.systemFieldsConfirm.bulletLocales": "Las configuraciones regionales anunciadas para este documento cambiarán.",
|
|
424
|
+
"forms.systemFieldsConfirm.effectLine": "Los cambios anteriores, que se aplican fuera del historial de versiones y del flujo de publicación, se aplicarán a todas las versiones, incluidas las publicadas actualmente.",
|
|
425
|
+
"forms.systemFieldsConfirm.contentNote": "Tus ediciones de contenido se guardarán y publicarán mediante el flujo de revisión y publicación normal.",
|
|
426
|
+
"forms.systemFieldsConfirm.confirmButton": "Guardar cambios",
|
|
427
|
+
"pathWidget.label": "Ruta",
|
|
428
|
+
"pathWidget.suggestedHint": "Sugerido: \"{formatted}\"",
|
|
429
|
+
"pathWidget.readOnlyHint": "La ruta se establece en la configuración regional predeterminada (\"{locale}\") y se aplica a todas las traducciones.",
|
|
430
|
+
"pathWidget.willBeSavedAs": "Se guardará como \"{preview}\"",
|
|
431
|
+
"pathWidget.srDescription": "Ruta URL gestionada por el sistema para este documento.",
|
|
432
|
+
"pathWidget.regenerateButton": "Regenerar desde {field}",
|
|
433
|
+
"pathWidget.regenerateAriaLabel": "Regenerar la ruta desde el campo {field}",
|
|
434
|
+
"availableLocalesWidget.label": "Configuraciones regionales anunciadas",
|
|
435
|
+
"availableLocalesWidget.srDescription": "Configuraciones regionales de contenido anunciadas para este documento. Una configuración regional en verde tiene contenido completo y se puede activar o desactivar; una en ámbar está anunciada pero ya no está completa.",
|
|
436
|
+
"fields.blocks.addBlockAriaLabel": "Añadir bloque",
|
|
437
|
+
"fields.blocks.modalTitle": "Bloques",
|
|
438
|
+
"fields.array.addItemAriaLabel": "Añadir elemento",
|
|
439
|
+
"fields.relation.selectPickerTitle": "Seleccionar {label}",
|
|
440
|
+
"fields.relation.changeAriaLabel": "Cambiar {label}",
|
|
441
|
+
"fields.relation.removeAriaLabel": "Quitar {label}",
|
|
442
|
+
"fields.relation.selectButton": "Seleccionar {label}…",
|
|
443
|
+
"fields.relation.unknownError": "El campo de relación \"{name}\" apunta a una colección desconocida \"{target}\".",
|
|
444
|
+
"fields.relation.unknownHint": "Registra la colección en tu configuración de Byline o corrige la ruta de destino.",
|
|
445
|
+
"fields.relation.picker.searchPlaceholder": "Buscar",
|
|
446
|
+
"fields.relation.picker.empty": "No se encontraron documentos",
|
|
447
|
+
"fields.relation.picker.loadFailed": "Error al cargar los documentos",
|
|
448
|
+
"fields.file.empty": "Ningún archivo seleccionado",
|
|
449
|
+
"fields.file.downloadAriaLabel": "Descargar archivo",
|
|
450
|
+
"fields.file.removeAriaLabel": "Quitar archivo",
|
|
451
|
+
"fields.file.openInNewTabAriaLabel": "Abrir {filename} en una pestaña nueva",
|
|
452
|
+
"fields.file.upload.zoneAriaLabel": "Subir archivo: arrastra y suelta o haz clic para examinar",
|
|
453
|
+
"fields.file.upload.label": "Suelta el archivo aquí o",
|
|
454
|
+
"fields.file.upload.browse": "examina",
|
|
455
|
+
"fields.image.empty": "Ninguna imagen seleccionada",
|
|
456
|
+
"fields.image.removeAriaLabel": "Quitar imagen",
|
|
457
|
+
"fields.image.openLightboxAriaLabel": "Abrir vista previa a tamaño completo",
|
|
458
|
+
"fields.image.upload.zoneAriaLabel": "Subir imagen: arrastra y suelta o haz clic para examinar",
|
|
459
|
+
"fields.image.upload.label": "Suelta la imagen aquí o",
|
|
460
|
+
"fields.image.upload.browse": "examina",
|
|
461
|
+
"fields.image.upload.hint": "JPEG, PNG, WebP, GIF, SVG, AVIF",
|
|
462
|
+
"fields.image.upload.processing": "Procesando…",
|
|
463
|
+
"fields.image.upload.errors.notAnImage": "Selecciona un archivo de imagen.",
|
|
464
|
+
"fields.image.upload.errors.cannotRead": "No se pudo leer la imagen. Prueba con otro archivo.",
|
|
465
|
+
"fields.fileMeta.filename": "Nombre de archivo:",
|
|
466
|
+
"fields.fileMeta.original": "Original:",
|
|
467
|
+
"fields.fileMeta.type": "Tipo:",
|
|
468
|
+
"fields.fileMeta.size": "Tamaño:",
|
|
469
|
+
"fields.fileMeta.status": "Estado:",
|
|
470
|
+
"fields.fileMeta.storage": "Almacenamiento:",
|
|
471
|
+
"fields.fileMeta.path": "Ruta:",
|
|
472
|
+
"fields.fileMeta.pendingUpload": "Subida pendiente",
|
|
473
|
+
"fields.fileMeta.willUploadOnSave": "Se subirá al guardar",
|
|
474
|
+
"fields.imageMeta.dimensions": "Dimensiones:",
|
|
475
|
+
"fields.imageMeta.format": "Formato:",
|
|
476
|
+
"fields.imageMeta.thumbnail": "Miniatura:",
|
|
477
|
+
"fields.imageMeta.thumbnailGenerated": "Generada",
|
|
478
|
+
"fields.imageMeta.thumbnailPending": "Pendiente",
|
|
479
|
+
"fields.sortable.expandAriaLabel": "Expandir elemento",
|
|
480
|
+
"fields.sortable.collapseAriaLabel": "Contraer elemento",
|
|
481
|
+
"fields.draggableMenu.addBelow": "Añadir debajo",
|
|
482
|
+
"fields.draggableMenu.remove": "Quitar",
|
|
483
|
+
"diffModal.title": "Comparación de versiones",
|
|
484
|
+
"diffModal.subtitleBefore": "Comparando",
|
|
485
|
+
"diffModal.subtitleAfter": "(izquierda) con la versión actual (derecha)",
|
|
486
|
+
"diffModal.closeAriaLabel": "Cerrar comparación",
|
|
487
|
+
"diffModal.loading": "Cargando versión…",
|
|
488
|
+
"diffModal.loadFailed": "Error al cargar la versión",
|
|
489
|
+
"diffModal.currentVersion": "Versión actual",
|
|
490
|
+
"statusBadge.publishedVersionLive": "Hay una versión publicada en vivo",
|
|
491
|
+
"presentation.formTabsAriaLabel": "Pestañas del formulario",
|
|
492
|
+
"validation.password.tooShort": "La contraseña debe tener al menos 8 caracteres.",
|
|
493
|
+
"validation.password.tooLong": "La contraseña no debe superar los 128 caracteres.",
|
|
494
|
+
"validation.password.complexity": "La contraseña debe contener al menos una letra mayúscula, una letra minúscula, un número y uno de los siguientes caracteres: #?!@$%^&*-"
|
|
495
|
+
}
|
package/src/admin/fr.json
CHANGED
|
@@ -93,6 +93,14 @@
|
|
|
93
93
|
"account.preferences.interfaceLanguage": "Langue de l'interface :",
|
|
94
94
|
"account.preferences.editButton": "Changer de langue",
|
|
95
95
|
"account.preferences.help": "Le même paramètre est disponible dans le menu de langue de la barre supérieure.",
|
|
96
|
+
"account.preferences.languageLabel": "Langue de l'interface",
|
|
97
|
+
"account.preferences.languageHelp": "Le réglage par défaut du navigateur suit les paramètres de langue de votre navigateur.",
|
|
98
|
+
"account.sections.appearance": "Apparence",
|
|
99
|
+
"account.appearance.colorTheme": "Thème de couleur",
|
|
100
|
+
"account.appearance.light": "Clair",
|
|
101
|
+
"account.appearance.dark": "Sombre",
|
|
102
|
+
"account.appearance.system": "Système",
|
|
103
|
+
"account.appearance.help": "Le mode Système suit les réglages d'apparence de votre appareil.",
|
|
96
104
|
"account.update.fields.givenName": "Prénom",
|
|
97
105
|
"account.update.fields.familyName": "Nom",
|
|
98
106
|
"account.update.fields.username": "Nom d'utilisateur",
|
|
@@ -8,7 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
import { describe, expect, it } from 'vitest'
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
adminTranslations,
|
|
13
|
+
bundledLocales,
|
|
14
|
+
de,
|
|
15
|
+
en,
|
|
16
|
+
es,
|
|
17
|
+
fr,
|
|
18
|
+
it as itBundle,
|
|
19
|
+
ko,
|
|
20
|
+
zhCN,
|
|
21
|
+
} from './index.js'
|
|
12
22
|
|
|
13
23
|
describe('bundled locale data', () => {
|
|
14
24
|
it('exposes a non-empty bundledLocales list', () => {
|
|
@@ -28,6 +38,16 @@ describe('bundled locale data', () => {
|
|
|
28
38
|
expect(new Set(Object.keys(fr))).toEqual(new Set(Object.keys(en)))
|
|
29
39
|
})
|
|
30
40
|
|
|
41
|
+
it.each([
|
|
42
|
+
['es', es],
|
|
43
|
+
['de', de],
|
|
44
|
+
['it', itBundle],
|
|
45
|
+
['zh-CN', zhCN],
|
|
46
|
+
['ko', ko],
|
|
47
|
+
])('exports the %s bundle with the same key set as en (no drift)', (_code, bundle) => {
|
|
48
|
+
expect(new Set(Object.keys(bundle))).toEqual(new Set(Object.keys(en)))
|
|
49
|
+
})
|
|
50
|
+
|
|
31
51
|
it('carries at least the headline action keys', () => {
|
|
32
52
|
expect(en['common.actions.save']).toBe('Save')
|
|
33
53
|
expect(fr['common.actions.save']).toBe('Enregistrer')
|
package/src/admin/index.ts
CHANGED
|
@@ -27,12 +27,22 @@
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
import { mergeTranslations } from '../merge.js'
|
|
30
|
+
import deJson from './de.json'
|
|
30
31
|
import enJson from './en.json'
|
|
32
|
+
import esJson from './es.json'
|
|
31
33
|
import frJson from './fr.json'
|
|
34
|
+
import itJson from './it.json'
|
|
35
|
+
import koJson from './ko.json'
|
|
36
|
+
import zhCNJson from './zh-CN.json'
|
|
32
37
|
import type { LocaleCode, NamespaceTranslations, TranslationBundle } from '../types.js'
|
|
33
38
|
|
|
34
39
|
const en: NamespaceTranslations = enJson
|
|
35
40
|
const fr: NamespaceTranslations = frJson
|
|
41
|
+
const es: NamespaceTranslations = esJson
|
|
42
|
+
const de: NamespaceTranslations = deJson
|
|
43
|
+
const it: NamespaceTranslations = itJson
|
|
44
|
+
const zhCN: NamespaceTranslations = zhCNJson
|
|
45
|
+
const ko: NamespaceTranslations = koJson
|
|
36
46
|
|
|
37
47
|
/**
|
|
38
48
|
* Map of every bundled locale → its `byline-admin` namespace
|
|
@@ -44,13 +54,18 @@ const fr: NamespaceTranslations = frJson
|
|
|
44
54
|
const BUNDLES: Readonly<Record<LocaleCode, NamespaceTranslations>> = {
|
|
45
55
|
en,
|
|
46
56
|
fr,
|
|
57
|
+
es,
|
|
58
|
+
de,
|
|
59
|
+
it,
|
|
60
|
+
'zh-CN': zhCN,
|
|
61
|
+
ko,
|
|
47
62
|
}
|
|
48
63
|
|
|
49
64
|
/** Locale codes for which a bundled translation ships in-package. */
|
|
50
65
|
export const bundledLocales: readonly LocaleCode[] = Object.freeze(Object.keys(BUNDLES))
|
|
51
66
|
|
|
52
67
|
/** Re-exported as typed consts for plugin authors who want the literal-key autocomplete. */
|
|
53
|
-
export { en, fr }
|
|
68
|
+
export { de, en, es, fr, it, ko, zhCN }
|
|
54
69
|
export type AdminNamespaceTranslations = typeof enJson
|
|
55
70
|
|
|
56
71
|
export interface AdminTranslationsOptions {
|