pgkiln 0.56.0 → 0.58.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/SECURITY.md +1 -0
- package/docs/apex-feature-parity.md +1 -1
- package/docs/guide/03-builder.md +7 -3
- package/docs/guide/12-development.md +16 -1
- package/package.json +1 -1
- package/public/builder.css +1 -1
- package/public/worksheet.js +31 -26
- package/src/builder/i18n/de.ts +711 -0
- package/src/builder/i18n/en.ts +711 -0
- package/src/builder/i18n/es.ts +711 -0
- package/src/builder/i18n/fr.ts +711 -0
- package/src/builder/i18n/nl.ts +711 -0
- package/src/builder/i18n/pt.ts +711 -0
- package/src/builder/i18n.ts +10 -0
- package/src/builder/object-browser.ts +71 -67
- package/src/builder/routes.ts +88 -87
- package/src/builder/shared.ts +86 -77
- package/src/builder/table-editor.ts +51 -48
- package/src/builder/ui.ts +3 -2
- package/src/builder/worksheet.ts +160 -154
package/src/builder/i18n/es.ts
CHANGED
|
@@ -672,4 +672,715 @@ export const es: BuilderMessages = {
|
|
|
672
672
|
'sql.tool.reports.desc': 'Tablas sin claves, claves ajenas sin índice, huecos en la seguridad a nivel de fila y más.',
|
|
673
673
|
'sql.tool.activity': 'Supervisar actividad',
|
|
674
674
|
'sql.tool.activity.desc': 'Vistas de página, errores y páginas lentas de las aplicaciones.',
|
|
675
|
+
// ------------------------------------------------------------ SQL Worksheet (sprint 123)
|
|
676
|
+
'ws.title': 'Hoja de trabajo SQL',
|
|
677
|
+
'ws.tab.result': 'Resultado de la consulta',
|
|
678
|
+
'ws.tab.chart': 'Gráfico',
|
|
679
|
+
'ws.tab.output': 'Salida del script',
|
|
680
|
+
'ws.tab.notices': 'Avisos',
|
|
681
|
+
'ws.tab.explain': 'Plan de ejecución',
|
|
682
|
+
'ws.tab.autotrace': 'Autotrace',
|
|
683
|
+
'ws.tab.history': 'Historial SQL',
|
|
684
|
+
'ob.type.all': 'Todos los objetos',
|
|
685
|
+
'ob.type.table': 'Tablas',
|
|
686
|
+
'ob.type.view': 'Vistas',
|
|
687
|
+
'ob.type.matview': 'Vistas materializadas',
|
|
688
|
+
'ob.type.index': 'Índices',
|
|
689
|
+
'ob.type.sequence': 'Secuencias',
|
|
690
|
+
'ob.type.type': 'Tipos',
|
|
691
|
+
'ob.type.function': 'Funciones',
|
|
692
|
+
'ob.type.procedure': 'Procedimientos',
|
|
693
|
+
'ob.type.trigger': 'Disparadores',
|
|
694
|
+
'ob.type.policy': 'Políticas',
|
|
695
|
+
'ws.nav.no_schema': 'Ningún esquema que pueda usar.',
|
|
696
|
+
'ws.nav.no_objects': 'Ningún objeto en {schema}.',
|
|
697
|
+
'ws.nav.no_type': 'Ningún objeto del tipo «{type}» en {schema}.',
|
|
698
|
+
'ws.nav.drag': '{type}: arrástrelo al editor para un SELECT',
|
|
699
|
+
'ws.nav.open': 'Abrir',
|
|
700
|
+
'ws.nav.cols_limit': 'Se muestran las columnas de las primeras {n} tablas y vistas.',
|
|
701
|
+
'ws.rows_one': '{n} fila',
|
|
702
|
+
'ws.rows': '{n} filas',
|
|
703
|
+
'ws.stmt_one': '{n} sentencia',
|
|
704
|
+
'ws.stmt': '{n} sentencias',
|
|
705
|
+
'ws.download': 'Descargar',
|
|
706
|
+
'ws.dl.sql': 'INSERT de SQL',
|
|
707
|
+
'ws.result.showing': 'se muestran las primeras {n}',
|
|
708
|
+
'ws.line': 'línea {n}',
|
|
709
|
+
'ws.all_rows': 'Todas las filas',
|
|
710
|
+
'ws.all_rows.title': 'Ejecutar la sentencia de nuevo y mostrar hasta {n} filas',
|
|
711
|
+
'ws.chart.title': 'Crear gráfico (Ctrl+F11)',
|
|
712
|
+
'ws.copy': 'Copiar',
|
|
713
|
+
'ws.value': 'Valor',
|
|
714
|
+
'ws.close': 'Cerrar',
|
|
715
|
+
'ws.result.failed': 'La sentencia falló: vea la salida del script.',
|
|
716
|
+
'ws.result.no_rows': 'Sin filas: la última sentencia no era una consulta. Vea la salida del script.',
|
|
717
|
+
'ws.result.empty': 'Ejecute una consulta (Ctrl+Enter) para ver sus filas aquí.',
|
|
718
|
+
'ws.log.not_run': '-- {n}. línea {line}: no ejecutada (una sentencia anterior falló)',
|
|
719
|
+
'ws.log.head': '-- {n}. línea {line}: {sql}',
|
|
720
|
+
'ws.error': 'Error: {error}',
|
|
721
|
+
'ws.error_at': 'Error en la línea {line}: {error}',
|
|
722
|
+
'ws.error_at_col': 'Error en la línea {line}, columna {col}: {error}',
|
|
723
|
+
'ws.log.first': '(primeras {n} de {rows} filas)',
|
|
724
|
+
'ws.log.summary_one': '{n} sentencia ejecutada, {failed} con error, {ms} ms.',
|
|
725
|
+
'ws.log.summary': '{n} sentencias ejecutadas, {failed} con error, {ms} ms.',
|
|
726
|
+
'ws.log.empty': 'Ejecutar script (F5) ejecuta cada sentencia y registra cada una aquí.',
|
|
727
|
+
'ws.notice.meta': 'sentencia {n} · {at}',
|
|
728
|
+
'ws.notice.empty': 'Los mensajes RAISE NOTICE, INFO y WARNING de la última ejecución aparecen aquí.',
|
|
729
|
+
'ws.no_plan': 'Sin plan.',
|
|
730
|
+
'ws.hist.search': 'Buscar en el historial',
|
|
731
|
+
'ws.hist.status': 'Estado',
|
|
732
|
+
'ws.hist.all': 'Todas',
|
|
733
|
+
'ws.hist.ok': 'Correctas',
|
|
734
|
+
'ws.hist.failed': 'Con error',
|
|
735
|
+
'ws.hist.failed_title': 'Con error: {error}',
|
|
736
|
+
'ws.hist.insert': 'Insertar en el cursor: {sql}',
|
|
737
|
+
'ws.hist.run_title': 'Ponerla en el editor y ejecutarla',
|
|
738
|
+
'ws.hist.empty': 'Sus sentencias aparecen aquí después de ejecutarlas.',
|
|
739
|
+
'ws.ready': 'Listo.',
|
|
740
|
+
'ws.status.explain': 'Plan de ejecución en {ms} ms.',
|
|
741
|
+
'ws.status.autotrace': 'Autotrace en {ms} ms.',
|
|
742
|
+
'ws.status.rows_one': '{n} fila en {ms} ms.',
|
|
743
|
+
'ws.status.rows': '{n} filas en {ms} ms.',
|
|
744
|
+
'ws.status.stmts_one': '{n} sentencia en {ms} ms.',
|
|
745
|
+
'ws.status.stmts': '{n} sentencias en {ms} ms.',
|
|
746
|
+
'ws.errors': 'Errores',
|
|
747
|
+
'ws.warnings': 'Advertencias',
|
|
748
|
+
'ws.running': 'Ejecutando…',
|
|
749
|
+
'ws.chart.empty': 'Crear gráfico (Ctrl+F11) dibuja la última consulta: una columna de etiquetas y columnas numéricas.',
|
|
750
|
+
'ws.explain.empty': 'Plan de ejecución (F10) muestra cómo PostgreSQL ejecutaría la sentencia del cursor; no se ejecuta nada.',
|
|
751
|
+
'ws.autotrace.empty': 'Autotrace (F6) ejecuta la sentencia del cursor con EXPLAIN ANALYZE y la deshace: filas reales, tiempo y búferes por paso.',
|
|
752
|
+
'ws.idle.seconds': '{n} segundos',
|
|
753
|
+
'ws.idle.minute': '{n} minuto',
|
|
754
|
+
'ws.idle.minutes': '{n} minutos',
|
|
755
|
+
'ws.txn.none': 'Ninguna transacción abierta',
|
|
756
|
+
'ws.txn.failed': 'Transacción fallida',
|
|
757
|
+
'ws.txn.open': 'Transacción abierta',
|
|
758
|
+
'ws.txn.under_minute': 'menos de un minuto',
|
|
759
|
+
'ws.txn.min': '{n} min',
|
|
760
|
+
'ws.txn.no_txn': 'Esta hoja de trabajo no tiene ninguna transacción abierta.',
|
|
761
|
+
'ws.txn.busy': 'Todavía hay una ejecución en curso en esta hoja de trabajo: espere a que termine.',
|
|
762
|
+
'ws.txn.end_failed': '{action} falló: {error}. Se cerró la conexión, así que la transacción se deshace.',
|
|
763
|
+
'ws.txn.commit_rolled': 'La transacción había fallado, así que COMMIT la deshizo: no se guardó nada.',
|
|
764
|
+
'ws.txn.committed': 'Confirmada ({what}).',
|
|
765
|
+
'ws.txn.rolled_back': 'Deshecha ({what} sin efecto).',
|
|
766
|
+
'ws.txn.rolled_back_failed': 'Deshecha ({what} sin efecto; la transacción había fallado).',
|
|
767
|
+
'ws.file.name_long': 'Un nombre tiene como máximo 200 caracteres.',
|
|
768
|
+
'ws.file.too_big': 'Un script ocupa como máximo 5 MB.',
|
|
769
|
+
'ws.file.new_name': 'Escriba el nuevo nombre.',
|
|
770
|
+
'ws.file.need_name': 'Ponga un nombre a la hoja de trabajo para guardarla como script.',
|
|
771
|
+
'ws.file.exists': 'Ya existe un script llamado «{name}».',
|
|
772
|
+
'ws.file.renamed': 'Renombrado como «{name}».',
|
|
773
|
+
'ws.file.saved': 'Guardado como el script «{name}».',
|
|
774
|
+
'ws.txn.switched': 'Cambió de espacio de trabajo: la transacción se deshizo.',
|
|
775
|
+
'ws.txn.open_first': 'Esta hoja de trabajo tiene una transacción abierta: haga primero Commit o Rollback, o vuelva a Transacción.',
|
|
776
|
+
'ws.txn.needs_js': 'El modo de transacción necesita JavaScript (la pestaña de la hoja de trabajo a la que pertenece); esta ejecución se rechazó.',
|
|
777
|
+
'ws.txn.runs_as': 'La transacción de esta hoja de trabajo se ejecuta como {who}: haga Commit o Rollback antes de cambiar Ejecutar como.',
|
|
778
|
+
'ws.txn.not_in_txn': 'Línea {line}: {what} no puede ejecutarse dentro de una transacción. Cambie la hoja de trabajo a Autocommit para ejecutarlo.',
|
|
779
|
+
'ws.txn.new_started': '{note} Comenzó una nueva transacción.',
|
|
780
|
+
'ws.txn.begin_left': 'La transacción iniciada con BEGIN seguía abierta al final de la ejecución y se deshizo. Cambie la hoja de trabajo a Transacción para mantener una transacción abierta entre ejecuciones.',
|
|
781
|
+
'ws.txn.ended_editor': 'La transacción terminó con el COMMIT o ROLLBACK del editor; la próxima ejecución inicia una nueva.',
|
|
782
|
+
'ws.txn.aborted': 'Una sentencia falló, así que la transacción está abortada: Rollback la termina (COMMIT también la desharía).',
|
|
783
|
+
'ws.chart.nothing': 'Nada que dibujar: la consulta necesita una columna numérica junto a sus etiquetas.',
|
|
784
|
+
'ws.chart.again': 'Dibujar de nuevo',
|
|
785
|
+
'ws.chart.name': 'Nombre del gráfico',
|
|
786
|
+
'ws.chart.save': 'Guardar gráfico',
|
|
787
|
+
'ws.binds.title': 'Valores para la ejecución',
|
|
788
|
+
'ws.binds.help': 'Las variables de enlace ({bind}) reciben un valor como literal entre comillas; las variables de sustitución ({sub}) ponen el texto tal cual en la sentencia. Vacío es NULL para una variable de enlace.',
|
|
789
|
+
'ws.runs_as_role': 'el rol {role} de {app}',
|
|
790
|
+
'ws.refresh_nav': 'Actualizar el navegador',
|
|
791
|
+
'ws.navigator': 'Navegador',
|
|
792
|
+
'ws.objects': 'Objetos',
|
|
793
|
+
'ws.files': 'Archivos',
|
|
794
|
+
'ws.schema': 'Esquema',
|
|
795
|
+
'ws.object_type': 'Tipo de objeto',
|
|
796
|
+
'ws.search_objects': 'Buscar objetos',
|
|
797
|
+
'ws.refresh': 'Actualizar',
|
|
798
|
+
'ws.sql_scripts': '(Scripts SQL)',
|
|
799
|
+
'ws.no_scripts': 'Todavía no hay scripts: guarde una hoja de trabajo para crear uno.',
|
|
800
|
+
'ws.resize_nav': 'Cambiar el tamaño del navegador',
|
|
801
|
+
'ws.worksheet': 'Hoja de trabajo',
|
|
802
|
+
'ws.toggle_nav': 'Ocultar o mostrar el navegador',
|
|
803
|
+
'ws.file.menu': 'Guardar, abrir, renombrar o descargar la hoja de trabajo (Ctrl+S guarda)',
|
|
804
|
+
'ws.untitled': 'Sin título',
|
|
805
|
+
'ws.name': 'Nombre',
|
|
806
|
+
'ws.save_title': 'Guardar (Ctrl+S)',
|
|
807
|
+
'ws.save_as': 'Guardar como nuevo',
|
|
808
|
+
'ws.rename': 'Renombrar',
|
|
809
|
+
'ws.new': 'Nuevo',
|
|
810
|
+
'ws.open_file': 'Abrir…',
|
|
811
|
+
'ws.pin_title': 'Fijar esta hoja de trabajo en el inicio de SQL Workshop',
|
|
812
|
+
'ws.pin': 'Fijar',
|
|
813
|
+
'ws.run_statement': 'Ejecutar sentencia',
|
|
814
|
+
'ws.run_script': 'Ejecutar script',
|
|
815
|
+
'ws.continue': 'Continuar si hay error',
|
|
816
|
+
'ws.format': 'Formatear',
|
|
817
|
+
'ws.format_title': 'Formatear (Ctrl+F7)',
|
|
818
|
+
'ws.case_title': 'Cambiar mayúsculas y minúsculas de la selección (Ctrl+B)',
|
|
819
|
+
'ws.case': 'Cambiar mayúsculas',
|
|
820
|
+
'ws.find_title': 'Buscar y reemplazar (Ctrl+F, Ctrl+H)',
|
|
821
|
+
'ws.find': 'Buscar',
|
|
822
|
+
'ws.load_title': 'Cargar datos en una tabla',
|
|
823
|
+
'ws.load': 'Cargar datos',
|
|
824
|
+
'ws.keys': 'Atajos de teclado',
|
|
825
|
+
'ws.key.save': 'Guardar',
|
|
826
|
+
'ws.key.find': 'Buscar / reemplazar',
|
|
827
|
+
'ws.key.goto': 'Ir a la línea',
|
|
828
|
+
'ws.key.comment': 'Comentar las líneas',
|
|
829
|
+
'ws.key.suggest': 'Sugerencias',
|
|
830
|
+
'ws.key.help': 'Ayuda',
|
|
831
|
+
'ws.key.fullscreen': 'Salir de pantalla completa',
|
|
832
|
+
'ws.kwcase': 'Formatear palabras clave en',
|
|
833
|
+
'ws.lower': 'minúsculas',
|
|
834
|
+
'ws.upper': 'MAYÚSCULAS',
|
|
835
|
+
'ws.help': 'Ayuda sobre la hoja de trabajo SQL',
|
|
836
|
+
'ws.commit_label': 'Commit',
|
|
837
|
+
'ws.txn.mode_title': 'Autocommit: cada sentencia se confirma por sí sola. Transacción: las sentencias quedan en una transacción hasta Commit o Rollback.',
|
|
838
|
+
'ws.autocommit': 'Autocommit',
|
|
839
|
+
'ws.transaction': 'Transacción',
|
|
840
|
+
'ws.txn.runs_as_title': 'Se ejecuta como {who}',
|
|
841
|
+
'ws.txn.commit_title': 'Confirmar la transacción de la hoja de trabajo',
|
|
842
|
+
'ws.txn.rollback_title': 'Deshacer la transacción de la hoja de trabajo',
|
|
843
|
+
'ws.rollback': 'Rollback',
|
|
844
|
+
'ws.run_as': 'Ejecutar como',
|
|
845
|
+
'ws.run_as_title': 'Con qué identidad se ejecutan las sentencias',
|
|
846
|
+
'ws.owner_conn': 'Conexión del propietario',
|
|
847
|
+
'ws.ws_login': 'Inicio de sesión del espacio de trabajo',
|
|
848
|
+
'ws.clear_title': 'Vaciar el editor',
|
|
849
|
+
'ws.clear': 'Vaciar',
|
|
850
|
+
'ws.fullscreen_title': 'Pantalla completa (Escape sale)',
|
|
851
|
+
'ws.fullscreen': 'Pantalla completa',
|
|
852
|
+
'ws.runs_as': 'Se ejecuta como {who}',
|
|
853
|
+
'ws.search_path': '{schema} primero en la ruta de búsqueda ({change})',
|
|
854
|
+
'ws.change': 'cambiar',
|
|
855
|
+
'ws.commit.txn': 'Las sentencias quedan en una transacción hasta Commit o Rollback; se deshace tras {idle} sin ejecución.',
|
|
856
|
+
'ws.commit.auto': 'Cada sentencia se confirma por sí sola.',
|
|
857
|
+
'ws.worksheets': 'Hojas de trabajo',
|
|
858
|
+
'ws.replace_with': 'Reemplazar por',
|
|
859
|
+
'ws.regex': 'Regex',
|
|
860
|
+
'ws.match_case': 'Coincidir mayúsculas',
|
|
861
|
+
'ws.next': 'Siguiente',
|
|
862
|
+
'ws.replace': 'Reemplazar',
|
|
863
|
+
'ws.replace_all': 'Reemplazar todo',
|
|
864
|
+
'ws.line_ph': 'Línea',
|
|
865
|
+
'ws.close_esc': 'Cerrar (Escape)',
|
|
866
|
+
'ws.resize_out': 'Cambiar el tamaño de la salida',
|
|
867
|
+
'ws.output': 'Salida',
|
|
868
|
+
'js.ws.copied': '{what} copiado.',
|
|
869
|
+
'js.ws.no_copy': 'Aquí no se permite copiar.',
|
|
870
|
+
'js.ws.the_statement': 'La sentencia',
|
|
871
|
+
'js.ws.rows': '{n} filas',
|
|
872
|
+
'js.ws.untitled': 'Sin título {n}',
|
|
873
|
+
'js.ws.script': 'Script «{name}»',
|
|
874
|
+
'js.ws.unsaved': '(cambios sin guardar)',
|
|
875
|
+
'js.ws.not_saved': 'No guardada como script',
|
|
876
|
+
'js.ws.close_tab': 'Cerrar {name}',
|
|
877
|
+
'js.ws.new_tab': 'Nueva hoja de trabajo',
|
|
878
|
+
'js.ws.close_unsaved': '¿Cerrar «{name}» sin guardar?',
|
|
879
|
+
'js.ws.txn_unknown': 'Estado de la transacción desconocido',
|
|
880
|
+
'js.ws.txn_not_ended': 'No se pudo terminar la transacción: vuelva a cargar la página.',
|
|
881
|
+
'js.ws.txn_confirm': 'Cambiar a Autocommit deshace la transacción abierta. ¿Deshacerla?',
|
|
882
|
+
'js.ws.formatted': 'Formateado.',
|
|
883
|
+
'js.ws.format_failed': 'No se pudo formatear.',
|
|
884
|
+
'js.ws.bad_pattern': 'No es un patrón válido: {error}',
|
|
885
|
+
'js.ws.not_found': 'No encontrado.',
|
|
886
|
+
'js.ws.open_ob': 'Abrir en el Explorador de objetos',
|
|
887
|
+
'js.ws.close': 'Cerrar',
|
|
888
|
+
'js.ws.open_failed': 'No se pudo abrir el objeto.',
|
|
889
|
+
'js.ws.replaced': '{n} reemplazados.',
|
|
890
|
+
// ------------------------------------------------------------ SQL Worksheet, the browser's transaction texts (sprint 123)
|
|
891
|
+
'js.ws.close_txn': '«{name}» tiene una transacción abierta. ¿Cerrarla y deshacer la transacción?',
|
|
892
|
+
'js.ws.commit_txn': 'Las sentencias quedan en una transacción hasta Commit o Rollback; se deshace tras {idle} sin ejecución.',
|
|
893
|
+
'js.ws.commit_auto': 'Cada sentencia se confirma por sí sola.',
|
|
894
|
+
'js.ws.idle_seconds': '{n} segundos',
|
|
895
|
+
'js.ws.idle_minute': '{n} minuto',
|
|
896
|
+
'js.ws.idle_minutes': '{n} minutos',
|
|
897
|
+
'js.ws.txn_none': 'Ninguna transacción abierta',
|
|
898
|
+
'js.ws.txn_failed': 'Transacción fallida',
|
|
899
|
+
'js.ws.txn_open': 'Transacción abierta',
|
|
900
|
+
'js.ws.stmt_one': '{n} sentencia',
|
|
901
|
+
'js.ws.stmt': '{n} sentencias',
|
|
902
|
+
'js.ws.under_minute': 'menos de un minuto',
|
|
903
|
+
'js.ws.min': '{n} min',
|
|
904
|
+
// ------------------------------------------------------------ Object Browser (sprint 123)
|
|
905
|
+
'ob.title': 'Explorador de objetos',
|
|
906
|
+
'ob.tab.columns': 'Columnas',
|
|
907
|
+
'ob.tab.data': 'Datos',
|
|
908
|
+
'ob.tab.indexes': 'Índices',
|
|
909
|
+
'ob.tab.constraints': 'Restricciones',
|
|
910
|
+
'ob.tab.triggers': 'Disparadores',
|
|
911
|
+
'ob.tab.grants': 'Privilegios',
|
|
912
|
+
'ob.tab.rls': 'Seguridad a nivel de fila',
|
|
913
|
+
'ob.tab.dependencies': 'Dependencias',
|
|
914
|
+
'ob.tab.statistics': 'Estadísticas',
|
|
915
|
+
'ob.tab.ddl': 'DDL',
|
|
916
|
+
'ob.filter_label': 'Filtrar objetos',
|
|
917
|
+
'ob.filter': 'Filtrar',
|
|
918
|
+
'ob.extension': 'extensión',
|
|
919
|
+
'ob.no_schema': 'Ningún esquema que pueda usar.',
|
|
920
|
+
'ob.create_in': 'Crear objetos de base de datos en {schema}',
|
|
921
|
+
'ob.tile.table_form': 'Tabla (formulario)',
|
|
922
|
+
'ob.tile.table_form.desc': 'Columnas, claves, índices y seguridad en un formulario',
|
|
923
|
+
'ob.kind.table': 'Tabla',
|
|
924
|
+
'ob.kind.view': 'Vista',
|
|
925
|
+
'ob.kind.function': 'Función',
|
|
926
|
+
'ob.kind.sequence': 'Secuencia',
|
|
927
|
+
'ob.kind.index': 'Índice',
|
|
928
|
+
'ob.tile.start': 'Empezar una sentencia CREATE {what}',
|
|
929
|
+
'ob.tile.quick': 'Quick SQL',
|
|
930
|
+
'ob.tile.quick.desc': 'Un modelo de datos abreviado',
|
|
931
|
+
'ob.tile.load': 'Cargar datos',
|
|
932
|
+
'ob.tile.load.desc': 'Una tabla desde un archivo',
|
|
933
|
+
'ob.select_hint': 'Seleccione un objeto en el árbol o fíltrelo por nombre.',
|
|
934
|
+
'ob.schema': 'Esquema',
|
|
935
|
+
'ob.system': 'Mostrar objetos del sistema',
|
|
936
|
+
'ob.create': 'Crear',
|
|
937
|
+
'ob.db_objects': 'Objetos de base de datos',
|
|
938
|
+
'ob.err.table': 'Elija una tabla que pueda usar.',
|
|
939
|
+
'ob.err.col_name': 'Un nombre de columna es una letra o _ seguida de letras, dígitos, _ o $.',
|
|
940
|
+
'ob.err.col_exists': '{column} ya es una columna.',
|
|
941
|
+
'ob.err.type': 'Un tipo es un nombre con un tamaño opcional, p. ej. text, numeric(9,2), varchar(40), int[].',
|
|
942
|
+
'ob.err.choose_col': 'Elija una columna de la tabla.',
|
|
943
|
+
'ob.err.new_name': 'El nuevo nombre debe ser un nombre válido que la tabla aún no tenga.',
|
|
944
|
+
'ob.err.default': "Un valor por defecto es una expresión (como máximo 200 caracteres, sin ; ni comentarios), p. ej. now(), 0 o 'new'.",
|
|
945
|
+
'ob.err.nothing': 'Nada que cambiar: elija un nuevo tipo, nulos o un valor por defecto.',
|
|
946
|
+
'ob.err.action': 'Acción desconocida.',
|
|
947
|
+
'ob.review': 'Revise la sentencia y pulse Ejecutar: todavía no se ha cambiado nada.',
|
|
948
|
+
'ob.none': 'Ninguno.',
|
|
949
|
+
'ob.ddl_of': 'DDL de {name}',
|
|
950
|
+
'ob.no_ddl': 'Sin DDL (un objeto de una extensión, o no legible con esta conexión).',
|
|
951
|
+
'ob.source_of': 'Código fuente de {name}',
|
|
952
|
+
'ob.no_source': 'Una función de agregado o de ventana: sin código fuente.',
|
|
953
|
+
'ob.definition_of': 'Definición de {name}',
|
|
954
|
+
'ob.size': 'Tamaño: {size}',
|
|
955
|
+
'ob.more': 'Más',
|
|
956
|
+
'ob.column': 'Columna',
|
|
957
|
+
'ob.add_col': 'Añadir columna',
|
|
958
|
+
'ob.name': 'Nombre',
|
|
959
|
+
'ob.type': 'Tipo',
|
|
960
|
+
'ob.show_sql': 'Mostrar el SQL',
|
|
961
|
+
'ob.modify_col': 'Modificar columna',
|
|
962
|
+
'ob.new_type': 'Nuevo tipo',
|
|
963
|
+
'ob.the_same': 'el mismo',
|
|
964
|
+
'ob.nulls': 'Nulos',
|
|
965
|
+
'ob.allowed': 'permitidos',
|
|
966
|
+
'ob.default': 'Valor por defecto',
|
|
967
|
+
'ob.set_to': 'establecer en',
|
|
968
|
+
'ob.default_none': 'ninguno',
|
|
969
|
+
'ob.default_expr': 'Expresión por defecto',
|
|
970
|
+
'ob.rename_col': 'Renombrar columna',
|
|
971
|
+
'ob.new_name': 'Nuevo nombre',
|
|
972
|
+
'ob.new_name_ph': 'nuevo nombre',
|
|
973
|
+
'ob.drop_col': 'Eliminar columna',
|
|
974
|
+
'ob.toolbar_note': 'Cada una escribe la sentencia ALTER TABLE en la hoja de trabajo SQL: revísela allí y ejecútela.',
|
|
975
|
+
'ob.no_rows': 'Sin filas.',
|
|
976
|
+
'ob.pages': 'Páginas',
|
|
977
|
+
'ob.previous': '‹ Anterior',
|
|
978
|
+
'ob.next': 'Siguiente ›',
|
|
979
|
+
'ob.rows_range': 'Filas {from}–{to}',
|
|
980
|
+
'ob.change_rows': 'Para cambiar filas, use la hoja de trabajo SQL o una cuadrícula interactiva sobre la tabla en una aplicación.',
|
|
981
|
+
'ob.rls_on': 'La seguridad a nivel de fila está activada',
|
|
982
|
+
'ob.rls_forced': '(forzada también para el propietario)',
|
|
983
|
+
'ob.rls_off': 'La seguridad a nivel de fila está desactivada.',
|
|
984
|
+
'ob.no_policies': 'Sin políticas.',
|
|
985
|
+
'ob.used_by': 'Usado por',
|
|
986
|
+
'ob.nothing_refers': 'Nada hace referencia a él.',
|
|
987
|
+
'ob.uses': 'Usa',
|
|
988
|
+
'ob.refers_nothing': 'No hace referencia a nada más.',
|
|
989
|
+
'ob.edit_table': 'Editar tabla',
|
|
990
|
+
'ob.security': 'Seguridad',
|
|
991
|
+
// ------------------------------------------------------------ Table Properties (sprint 123)
|
|
992
|
+
'te.move_up': 'Subir',
|
|
993
|
+
'te.move_down': 'Bajar',
|
|
994
|
+
'te.name': 'Nombre',
|
|
995
|
+
'te.type': 'Tipo',
|
|
996
|
+
'te.key': 'Clave',
|
|
997
|
+
'te.pk': 'Clave primaria',
|
|
998
|
+
'te.not_null': 'Not null',
|
|
999
|
+
'te.generated': 'Generada (almacenada)',
|
|
1000
|
+
'te.default': 'Valor por defecto',
|
|
1001
|
+
'te.identity': 'Identidad',
|
|
1002
|
+
'te.comment': 'Comentario',
|
|
1003
|
+
'te.remove': 'Quitar',
|
|
1004
|
+
'te.columns': 'Columnas',
|
|
1005
|
+
'te.add_col': 'Añadir columna',
|
|
1006
|
+
'te.pk_name': 'Nombre de la clave primaria',
|
|
1007
|
+
'te.pk_help': 'Marque Clave en las columnas de la clave primaria.',
|
|
1008
|
+
'te.uniques': 'Claves únicas',
|
|
1009
|
+
'te.cols_comma': 'Columnas (separadas por comas)',
|
|
1010
|
+
'te.fks': 'Claves foráneas',
|
|
1011
|
+
'te.references': 'Referencia a',
|
|
1012
|
+
'te.their_cols': 'Sus columnas',
|
|
1013
|
+
'te.its_pk': 'su clave primaria',
|
|
1014
|
+
'te.on_delete': 'Al eliminar',
|
|
1015
|
+
'te.checks': 'Comprobaciones',
|
|
1016
|
+
'te.condition': 'Condición',
|
|
1017
|
+
'te.indexes': 'Índices',
|
|
1018
|
+
'te.cols_exprs': 'Columnas o expresiones',
|
|
1019
|
+
'te.unique': 'Única',
|
|
1020
|
+
'te.kept': 'Se mantienen tal cual (otro método o una condición):',
|
|
1021
|
+
'te.more': 'Comentario y seguridad',
|
|
1022
|
+
'te.rls': 'Seguridad a nivel de fila: filas solo mediante políticas',
|
|
1023
|
+
'te.force_rls': 'Forzarla también para el propietario de la tabla',
|
|
1024
|
+
'te.partitioning': 'Particionado',
|
|
1025
|
+
'te.partition_by': 'Particionar por',
|
|
1026
|
+
'te.not_partitioned': 'Sin particionar',
|
|
1027
|
+
'te.part_help': 'Las particiones son tablas creadas con CREATE TABLE … PARTITION OF en la hoja de trabajo.',
|
|
1028
|
+
'te.no_changes': 'Todavía no hay cambios: la tabla es como la muestra el formulario.',
|
|
1029
|
+
'te.fill_in': 'Rellene la tabla y pulse Vista previa del DDL.',
|
|
1030
|
+
'te.output': 'Salida',
|
|
1031
|
+
'te.output_empty': 'Aplicar muestra aquí lo que ocurrió.',
|
|
1032
|
+
'te.schema': 'Esquema',
|
|
1033
|
+
'te.table_name': 'Nombre de la tabla',
|
|
1034
|
+
'te.props': 'Propiedades de la tabla',
|
|
1035
|
+
'te.preview': 'Vista previa del DDL',
|
|
1036
|
+
'te.apply': 'Aplicar',
|
|
1037
|
+
'te.open_ws': 'Abrir en la hoja de trabajo',
|
|
1038
|
+
'te.review': 'Revise las sentencias y ejecútelas: todavía no se ha cambiado nada.',
|
|
1039
|
+
'te.changed': '{table} modificada: {what}.',
|
|
1040
|
+
'te.created': '{table} creada: {what}.',
|
|
1041
|
+
'te.nothing_changed': 'No se cambió nada',
|
|
1042
|
+
'te.rolled_back': 'las sentencias se ejecutaron en una transacción, que se deshizo.',
|
|
1043
|
+
'te.failed_stmt': 'Sentencia con error',
|
|
1044
|
+
'te.title_table': 'Tabla {table}',
|
|
1045
|
+
'te.title_create': 'Crear tabla',
|
|
1046
|
+
// ------------------------------------------------------------ Shared Components (sprint 124)
|
|
1047
|
+
'comp.nav_entry': 'Entrada de navegación',
|
|
1048
|
+
'comp.nav_entry.plural': 'Menú de navegación',
|
|
1049
|
+
'comp.authz_scheme': 'Esquema de autorización',
|
|
1050
|
+
'comp.authz_scheme.plural': 'Esquemas de autorización',
|
|
1051
|
+
'comp.build_option': 'Opción de compilación',
|
|
1052
|
+
'comp.build_option.plural': 'Opciones de compilación',
|
|
1053
|
+
'comp.page_group': 'Grupo de páginas',
|
|
1054
|
+
'comp.page_group.plural': 'Grupos de páginas',
|
|
1055
|
+
'comp.lov': 'Lista de valores',
|
|
1056
|
+
'comp.lov.plural': 'Listas de valores',
|
|
1057
|
+
'comp.app_item': 'Elemento de aplicación',
|
|
1058
|
+
'comp.app_item.plural': 'Elementos de aplicación',
|
|
1059
|
+
'comp.app_process': 'Proceso de aplicación',
|
|
1060
|
+
'comp.app_process.plural': 'Procesos de aplicación',
|
|
1061
|
+
'comp.app_computation': 'Cálculo de aplicación',
|
|
1062
|
+
'comp.app_computation.plural': 'Cálculos de aplicación',
|
|
1063
|
+
'comp.shortcut': 'Atajo',
|
|
1064
|
+
'comp.shortcut.plural': 'Atajos',
|
|
1065
|
+
'comp.report_query': 'Consulta de informe',
|
|
1066
|
+
'comp.report_query.plural': 'Consultas de informe',
|
|
1067
|
+
'comp.component_group': 'Grupo de componentes',
|
|
1068
|
+
'comp.component_group.plural': 'Grupos de componentes',
|
|
1069
|
+
'comp.automation': 'Automatización',
|
|
1070
|
+
'comp.automation.plural': 'Automatizaciones',
|
|
1071
|
+
'comp.automation_action': 'Acción de automatización',
|
|
1072
|
+
'comp.automation_action.plural': 'Acciones de automatización',
|
|
1073
|
+
'comp.report_layout': 'Diseño de informe',
|
|
1074
|
+
'comp.report_layout.plural': 'Diseños de informe',
|
|
1075
|
+
'comp.document_template': 'Plantilla de documento',
|
|
1076
|
+
'comp.document_template.plural': 'Plantillas de documento',
|
|
1077
|
+
'comp.task_definition': 'Definición de tarea',
|
|
1078
|
+
'comp.task_definition.plural': 'Definiciones de tarea',
|
|
1079
|
+
'comp.workflow_definition': 'Flujo de trabajo',
|
|
1080
|
+
'comp.workflow_definition.plural': 'Flujos de trabajo',
|
|
1081
|
+
'comp.rest_module': 'Módulo REST',
|
|
1082
|
+
'comp.rest_module.plural': 'Módulos REST',
|
|
1083
|
+
'comp.template_component': 'Componente de plantilla',
|
|
1084
|
+
'comp.template_component.plural': 'Componentes de plantilla',
|
|
1085
|
+
'comp.web_credential': 'Credencial web',
|
|
1086
|
+
'comp.web_credential.plural': 'Credenciales web',
|
|
1087
|
+
'comp.rest_source': 'Origen de datos REST',
|
|
1088
|
+
'comp.rest_source.plural': 'Orígenes de datos REST',
|
|
1089
|
+
'comp.data_load_def': 'Definición de carga de datos',
|
|
1090
|
+
'comp.data_load_def.plural': 'Definiciones de carga de datos',
|
|
1091
|
+
'comp.list': 'Lista',
|
|
1092
|
+
'comp.list.plural': 'Listas',
|
|
1093
|
+
'comp.list_entry': 'Entrada de lista',
|
|
1094
|
+
'comp.list_entry.plural': 'Entradas de lista',
|
|
1095
|
+
'comp.supporting_script': 'Script de soporte',
|
|
1096
|
+
'comp.supporting_script.plural': 'Objetos de soporte',
|
|
1097
|
+
'comp.search_config': 'Configuración de búsqueda',
|
|
1098
|
+
'comp.search_config.plural': 'Configuraciones de búsqueda',
|
|
1099
|
+
'comp.email_template': 'Plantilla de correo',
|
|
1100
|
+
'comp.email_template.plural': 'Plantillas de correo',
|
|
1101
|
+
'comp.app_setting': 'Ajuste de aplicación',
|
|
1102
|
+
'comp.app_setting.plural': 'Ajustes de aplicación',
|
|
1103
|
+
'comp.dynamic_translation': 'Traducción dinámica',
|
|
1104
|
+
'comp.dynamic_translation.plural': 'Traducciones dinámicas',
|
|
1105
|
+
'sc.group.logic': 'Lógica de la aplicación',
|
|
1106
|
+
'sc.group.security': 'Seguridad',
|
|
1107
|
+
'sc.group.other': 'Otros componentes',
|
|
1108
|
+
'sc.group.navigation': 'Navegación y búsqueda',
|
|
1109
|
+
'sc.group.ui': 'Interfaz de usuario',
|
|
1110
|
+
'sc.group.files': 'Archivos e informes',
|
|
1111
|
+
'sc.group.data': 'Orígenes de datos',
|
|
1112
|
+
'sc.group.workflows': 'Flujos de trabajo y automatizaciones',
|
|
1113
|
+
'sc.group.globalization': 'Globalización',
|
|
1114
|
+
'sc.group.ai': 'IA generativa',
|
|
1115
|
+
'sc.item.application_items': 'Elementos de aplicación',
|
|
1116
|
+
'sc.item.application_processes': 'Procesos de aplicación',
|
|
1117
|
+
'sc.item.application_computations': 'Cálculos de aplicación',
|
|
1118
|
+
'sc.item.application_settings': 'Ajustes de aplicación',
|
|
1119
|
+
'sc.item.build_options': 'Opciones de compilación',
|
|
1120
|
+
'sc.item.application_definition': 'Definición de la aplicación',
|
|
1121
|
+
'sc.item.access_control': 'Control de acceso',
|
|
1122
|
+
'sc.item.authentication': 'Autenticación',
|
|
1123
|
+
'sc.item.authorization_schemes': 'Esquemas de autorización',
|
|
1124
|
+
'sc.item.security_attributes': 'Atributos de seguridad',
|
|
1125
|
+
'sc.item.sign_in_and_session_management': 'Inicio de sesión y gestión de sesiones',
|
|
1126
|
+
'sc.item.lists_of_values': 'Listas de valores',
|
|
1127
|
+
'sc.item.lists': 'Listas',
|
|
1128
|
+
'sc.item.list_entries': 'Entradas de lista',
|
|
1129
|
+
'sc.item.email_templates': 'Plantillas de correo',
|
|
1130
|
+
'sc.item.shortcuts': 'Atajos',
|
|
1131
|
+
'sc.item.component_groups': 'Grupos de componentes',
|
|
1132
|
+
'sc.item.supporting_objects': 'Objetos de soporte',
|
|
1133
|
+
'sc.item.subscriptions': 'Suscripciones',
|
|
1134
|
+
'sc.item.navigation_menu': 'Menú de navegación',
|
|
1135
|
+
'sc.item.navigation_bar_list': 'Lista de la barra de navegación',
|
|
1136
|
+
'sc.item.breadcrumbs': 'Rutas de navegación',
|
|
1137
|
+
'sc.item.page_groups': 'Grupos de páginas',
|
|
1138
|
+
'sc.item.search_configurations': 'Configuraciones de búsqueda',
|
|
1139
|
+
'sc.item.themes_and_theme_roller': 'Temas y Theme Roller',
|
|
1140
|
+
'sc.item.user_interface_attributes': 'Atributos de la interfaz de usuario',
|
|
1141
|
+
'sc.item.template_components': 'Componentes de plantilla',
|
|
1142
|
+
'sc.item.plug_ins': 'Plug-ins',
|
|
1143
|
+
'sc.item.component_settings': 'Ajustes de componentes',
|
|
1144
|
+
'sc.item.progressive_web_app': 'Aplicación web progresiva',
|
|
1145
|
+
'sc.item.static_application_files': 'Archivos estáticos de la aplicación',
|
|
1146
|
+
'sc.item.report_layouts': 'Diseños de informe',
|
|
1147
|
+
'sc.item.report_queries': 'Consultas de informe',
|
|
1148
|
+
'sc.item.document_templates': 'Plantillas de documento',
|
|
1149
|
+
'sc.item.rest_data_sources': 'Orígenes de datos REST',
|
|
1150
|
+
'sc.item.web_credentials': 'Credenciales web',
|
|
1151
|
+
'sc.item.restful_services': 'Servicios RESTful',
|
|
1152
|
+
'sc.item.data_load_definitions': 'Definiciones de carga de datos',
|
|
1153
|
+
'sc.item.workflows': 'Flujos de trabajo',
|
|
1154
|
+
'sc.item.task_definitions': 'Definiciones de tarea',
|
|
1155
|
+
'sc.item.automations': 'Automatizaciones',
|
|
1156
|
+
'sc.item.translations_and_text_messages': 'Traducciones y mensajes de texto',
|
|
1157
|
+
'sc.item.dynamic_translations': 'Traducciones dinámicas',
|
|
1158
|
+
'sc.item.globalization_attributes': 'Atributos de globalización',
|
|
1159
|
+
'sc.item.ai_services': 'Servicios de IA',
|
|
1160
|
+
'sc.item.ai_agents': 'Agentes de IA',
|
|
1161
|
+
'sc.entries': 'Entradas',
|
|
1162
|
+
'sc.list_sql': 'Esta lista muestra las filas de su consulta; las entradas de abajo no se usan.',
|
|
1163
|
+
'sc.no_entries': 'Todavía no hay entradas.',
|
|
1164
|
+
'sc.add_entry': '+ Añadir entrada',
|
|
1165
|
+
'sc.breadcrumbs_help': 'La ruta de navegación de una página lista las páginas superiores: cada página indica su página padre (Page Designer → página → Breadcrumb parent). Las páginas sin ella muestran Home.',
|
|
1166
|
+
'sc.cs_help': 'Valores por defecto de los tipos de componente integrados, usados cuando un componente no indica nada. Vacío: el valor por defecto de pgkiln.',
|
|
1167
|
+
'sc.cs_now': '{help} {min}–{max}; ahora {now}.',
|
|
1168
|
+
'sc.cs_saved': 'Ajustes de componentes guardados.',
|
|
1169
|
+
'sc.intro': 'Los componentes que comparten las páginas de {app}.',
|
|
1170
|
+
'sc.tree_view': 'Vista de árbol',
|
|
1171
|
+
'sc.create': 'Crear',
|
|
1172
|
+
'sc.search': 'Buscar',
|
|
1173
|
+
'sc.name': 'Nombre',
|
|
1174
|
+
'sc.details': 'Detalles',
|
|
1175
|
+
'sc.nothing_matches': 'No hay coincidencias.',
|
|
1176
|
+
'sc.none_yet': 'Todavía no hay {what}.',
|
|
1177
|
+
'sc.count': '{n} de {total}',
|
|
1178
|
+
'sc.new': 'Nuevo: {what}',
|
|
1179
|
+
'sc.save': 'Guardar',
|
|
1180
|
+
'sc.run_supporting': 'Ejecutar objetos de soporte…',
|
|
1181
|
+
'sc.delete_confirm': '¿Eliminar este elemento ({what})?',
|
|
1182
|
+
'sc.delete': 'Eliminar',
|
|
1183
|
+
'sc.not_found': 'No encontrado.',
|
|
1184
|
+
'sc.groups_title': 'Grupos del proveedor de identidad → roles',
|
|
1185
|
+
'sc.groups_help': 'Con inicio de sesión único, los miembros de estos grupos reciben el rol en esta aplicación y pueden iniciar sesión aunque no figuren arriba.',
|
|
1186
|
+
'sc.remove_mapping': 'Quitar la asignación de {group} a {role}',
|
|
1187
|
+
'sc.no_groups': 'Sin asignaciones de grupos.',
|
|
1188
|
+
'sc.group_label': 'Grupo (como en el token)',
|
|
1189
|
+
'sc.group_ph': 'p. ej. hr-managers',
|
|
1190
|
+
'sc.role_label': 'Rol en esta aplicación',
|
|
1191
|
+
'sc.role_ph': 'p. ej. manager',
|
|
1192
|
+
'sc.add_mapping': 'Añadir asignación',
|
|
1193
|
+
'sc.access': 'Control de acceso',
|
|
1194
|
+
'sc.who': 'Quién puede iniciar sesión',
|
|
1195
|
+
'sc.who.assigned': 'Solo las cuentas listadas abajo (acceso basado en roles)',
|
|
1196
|
+
'sc.who.any': 'Cualquier cuenta activa del directorio',
|
|
1197
|
+
'sc.access_help': 'Las cuentas están en el {directory}; aquí les da acceso a {app} y asigna roles, que comprueban los esquemas de autorización y {fn}. Los cambios de rol se aplican en el próximo inicio de sesión (sus sesiones en esta aplicación terminan).',
|
|
1198
|
+
'sc.directory': 'directorio de usuarios',
|
|
1199
|
+
'sc.account': 'Cuenta',
|
|
1200
|
+
'sc.roles_in_app': 'Roles en esta aplicación',
|
|
1201
|
+
'sc.last_signin': 'Último inicio de sesión',
|
|
1202
|
+
'sc.roles': 'Roles',
|
|
1203
|
+
'sc.inactive': '(inactiva)',
|
|
1204
|
+
'sc.roles_of': 'Roles de {user}',
|
|
1205
|
+
'sc.no_roles': 'sin roles',
|
|
1206
|
+
'sc.revoke_confirm': '¿Revocar el acceso de {user} a {app}?',
|
|
1207
|
+
'sc.revoke': 'Revocar',
|
|
1208
|
+
'sc.no_access': 'Todavía ninguna cuenta tiene acceso.',
|
|
1209
|
+
'sc.grant': 'Conceder acceso',
|
|
1210
|
+
'sc.username_ph': 'nombre de usuario',
|
|
1211
|
+
'sc.existing': 'Una cuenta existente.',
|
|
1212
|
+
'sc.create_in_users': 'Cree cuentas en Usuarios.',
|
|
1213
|
+
'sc.roles_ph': 'separados por comas, o elija abajo',
|
|
1214
|
+
'sc.tree.security': 'Seguridad',
|
|
1215
|
+
'sc.tree.globalization': 'Globalización',
|
|
1216
|
+
'sc.tree.translations': 'Traducciones y mensajes de texto',
|
|
1217
|
+
'sc.tree.files': 'Archivos y plug-ins',
|
|
1218
|
+
'sc.tree.static': 'Archivos estáticos de la aplicación',
|
|
1219
|
+
'sc.tree.subscriptions': 'Suscripciones',
|
|
1220
|
+
'sc.tree.subscribers': 'Suscripciones y suscriptores',
|
|
1221
|
+
'sc.add_kind': 'Añadir {what}',
|
|
1222
|
+
'sc.add': '+ Añadir',
|
|
1223
|
+
'sc.review_run': 'Revisar y ejecutar…',
|
|
1224
|
+
'sc.edit': 'Editar',
|
|
1225
|
+
'sc.saved': '{what}: guardado.',
|
|
1226
|
+
'sc.deleted': '{what}: eliminado.',
|
|
1227
|
+
'sc.access_saved': 'Control de acceso guardado.',
|
|
1228
|
+
'sc.no_account': 'No existe la cuenta «{user}». Créela primero en Usuarios.',
|
|
1229
|
+
'sc.granted': 'Acceso concedido a {user}.',
|
|
1230
|
+
'sc.mapping_added': 'Asignación de grupo añadida. Se aplica en el próximo inicio de sesión.',
|
|
1231
|
+
'sc.mapping_removed': 'Asignación de grupo quitada. Se aplica en el próximo inicio de sesión.',
|
|
1232
|
+
'sc.roles_saved': 'Roles guardados. Se aplican en el próximo inicio de sesión.',
|
|
1233
|
+
'sc.revoked': 'Acceso revocado.',
|
|
1234
|
+
// ------------------------------------------------------------ Application settings (sprint 124)
|
|
1235
|
+
'st.tab.definition': 'Definición',
|
|
1236
|
+
'st.tab.security': 'Seguridad',
|
|
1237
|
+
'st.tab.signin': 'Inicio de sesión',
|
|
1238
|
+
'st.tab.ui': 'Interfaz de usuario',
|
|
1239
|
+
'st.tab.globalization': 'Globalización',
|
|
1240
|
+
'st.tab.errors': 'Errores y sesiones',
|
|
1241
|
+
'st.tab.pwa': 'Aplicación web progresiva',
|
|
1242
|
+
'st.settings': 'Ajustes',
|
|
1243
|
+
'st.name': 'Nombre',
|
|
1244
|
+
'st.alias': 'Alias',
|
|
1245
|
+
'st.version': 'Versión',
|
|
1246
|
+
'st.version_ph': 'Versión 1.0',
|
|
1247
|
+
'st.version_help': 'Se muestra en el pie de las páginas de la aplicación; vacío: ninguna.',
|
|
1248
|
+
'st.home_page': 'Página de inicio',
|
|
1249
|
+
'st.app_type': 'Tipo de aplicación',
|
|
1250
|
+
'st.app_type_help': 'Las aplicaciones de tema y de biblioteca ofrecen su tema o sus componentes compartidos a otras aplicaciones (Shared Components → Suscripciones); Crear aplicación puede partir de una aplicación modelo.',
|
|
1251
|
+
'st.type.standard': 'Estándar',
|
|
1252
|
+
'st.type.theme': 'Aplicación de tema',
|
|
1253
|
+
'st.type.library': 'Aplicación de biblioteca',
|
|
1254
|
+
'st.type.boilerplate': 'Aplicación modelo',
|
|
1255
|
+
'st.authentication': 'Autenticación',
|
|
1256
|
+
'st.auth.app_users': 'Usuarios de la aplicación (página de inicio de sesión)',
|
|
1257
|
+
'st.auth.header': 'Cabecera HTTP (proxy inverso)',
|
|
1258
|
+
'st.auth.database': 'Cuentas de base de datos (roles de PostgreSQL)',
|
|
1259
|
+
'st.auth.custom': 'Personalizada (una función PL/pgSQL)',
|
|
1260
|
+
'st.auth.none': 'Ninguna (pública)',
|
|
1261
|
+
'st.db_role': 'Rol de base de datos (esquema de análisis)',
|
|
1262
|
+
'st.db_role_help': 'Todo el SQL de la aplicación se ejecuta con este rol (SET LOCAL ROLE), así que se aplican los privilegios y la seguridad a nivel de fila. Déjelo vacío solo para aplicaciones internas de confianza.',
|
|
1263
|
+
'st.debug': 'Modo de depuración',
|
|
1264
|
+
'st.debug_help': 'Muestra a los usuarios finales los detalles de los errores de base de datos. Solo para desarrollo.',
|
|
1265
|
+
'st.debug_msgs': 'Mensajes de depuración',
|
|
1266
|
+
'st.debug_on': 'activado, nivel {level}',
|
|
1267
|
+
'st.off': 'desactivado',
|
|
1268
|
+
'st.debug_msgs_help': 'Registra los pasos de cada petición con sus tiempos y los mensajes de {fn}, conservados {days} días.',
|
|
1269
|
+
'st.header_title': 'Autenticación por cabecera HTTP',
|
|
1270
|
+
'st.header_intro': 'Solo se usa cuando la autenticación es «Cabecera HTTP». Un proxy inverso o una pasarela de inicio de sesión único autentica a los usuarios y pasa el nombre de usuario en una cabecera; pgkiln solo confía en ella desde las direcciones de proxy de {env}',
|
|
1271
|
+
'st.header_unset': 'no está configurado en este servidor: se rechaza el inicio de sesión por cabecera',
|
|
1272
|
+
'st.header_name': 'Cabecera con el nombre de usuario',
|
|
1273
|
+
'st.header_name_help': 'La cabecera de la petición con el nombre de usuario (APEX: HTTP Header Variable). Vacío: X-Remote-User. Una cabecera cambiada o ausente termina la sesión.',
|
|
1274
|
+
'st.logout_url': 'URL de cierre de sesión',
|
|
1275
|
+
'st.logout_url_ph': 'p. ej. https://sso.example.com/logout',
|
|
1276
|
+
'st.logout_url_help': 'Adónde lleva «Cerrar sesión» al terminar la sesión, normalmente la página de cierre de sesión del propio proxy. Vacío: una página de «sesión cerrada».',
|
|
1277
|
+
'st.header_auto': 'Crear cuentas automáticamente',
|
|
1278
|
+
'st.header_auto_help': 'Un nombre de usuario desconocido recibe una cuenta nueva con acceso a esta aplicación. Si no, la cuenta debe existir y tener acceso.',
|
|
1279
|
+
'st.db_title': 'Cuentas de base de datos',
|
|
1280
|
+
'st.db_intro': 'Solo se usa cuando la autenticación es «Cuentas de base de datos». Los usuarios inician sesión con un rol de inicio de sesión de PostgreSQL y su contraseña, comprobados con una breve conexión a esta base de datos con ese rol. Los superusuarios y los roles propios de pgkiln siempre se rechazan; sin ninguno de los dos campos nadie puede iniciar sesión.',
|
|
1281
|
+
'st.db_roles': 'Roles permitidos',
|
|
1282
|
+
'st.db_roles_ph': 'p. ej. alice, bob',
|
|
1283
|
+
'st.db_roles_help': 'Roles de inicio de sesión que pueden entrar, separados por comas (nombres exactos).',
|
|
1284
|
+
'st.db_member': 'O miembros del rol',
|
|
1285
|
+
'st.db_member_ph': 'p. ej. app_users_group',
|
|
1286
|
+
'st.db_member_help': 'Todos los miembros de este rol también pueden iniciar sesión.',
|
|
1287
|
+
'st.custom_title': 'Autenticación personalizada',
|
|
1288
|
+
'st.custom_intro': 'Solo se usa cuando la autenticación es «Personalizada». Su propio PL/pgSQL comprueba el nombre de usuario y la contraseña del formulario, con el rol de base de datos de la aplicación; la contraseña se pasa como parámetro y nunca se registra. Los intentos fallidos se limitan como otros inicios de sesión. Sin ninguno de los dos campos nadie puede iniciar sesión.',
|
|
1289
|
+
'st.custom_fn': 'Nombre de la función',
|
|
1290
|
+
'st.custom_fn_ph': 'p. ej. app.check_login',
|
|
1291
|
+
'st.custom_fn_help': 'Una función (p_username text, p_password text) returns boolean, en minúsculas, opcionalmente con su esquema. El rol de la aplicación necesita EXECUTE sobre ella. Tiene prioridad sobre el cuerpo de abajo.',
|
|
1292
|
+
'st.custom_body': 'O cuerpo de la función',
|
|
1293
|
+
'st.custom_body_help': 'PL/pgSQL con p_username y p_password que devuelve true para un inicio de sesión válido, p. ej. {example}',
|
|
1294
|
+
'st.custom_post': 'Código posterior a la autenticación',
|
|
1295
|
+
'st.custom_post_help': 'PL/pgSQL opcional que se ejecuta tras una comprobación correcta, con p_username (y meta.app_user()), p. ej. para registrar el último inicio de sesión. Lanzar una excepción rechaza el inicio de sesión. Los procesos de aplicación «after login» se ejecutan después como siempre.',
|
|
1296
|
+
'st.signin': 'Inicio de sesión',
|
|
1297
|
+
'st.methods': 'Métodos de inicio de sesión',
|
|
1298
|
+
'st.local': 'Nombre de usuario y contraseña',
|
|
1299
|
+
'st.ldap': 'Contraseñas de LDAP: {name}',
|
|
1300
|
+
'st.disabled': '(desactivado)',
|
|
1301
|
+
'st.no_ldap': 'No hay directorios LDAP configurados. {add} para comprobar contraseñas con LDAP o Active Directory.',
|
|
1302
|
+
'st.add_one': 'Añada uno',
|
|
1303
|
+
'st.ldap_help': 'El formulario de usuario y contraseña comprueba las contraseñas LDAP, después de las cuentas locales, así que mantenga ese método activado.',
|
|
1304
|
+
'st.session_group': 'Grupo de sesión compartida',
|
|
1305
|
+
'st.session_group_ph': 'vacío: no compartida',
|
|
1306
|
+
'st.session_group_help': 'Las aplicaciones del mismo grupo (y con el directorio de usuarios como autenticación) comparten el inicio de sesión: tras entrar en una, las demás se abren sin volver a iniciar sesión, cada una con su propia comprobación de acceso y sus roles; cerrar sesión en una la cierra en todas (APEX: session sharing). Minúsculas, dígitos y _.',
|
|
1307
|
+
'st.remember': '«Mantener la sesión iniciada» durante (días)',
|
|
1308
|
+
'st.remember_ph': 'vacío: no se ofrece',
|
|
1309
|
+
'st.remember_help': 'Ofrece una casilla en el formulario de inicio de sesión (APEX: autenticación persistente). El navegador sigue con la sesión iniciada tantos días tras entrar, también cuando termina la sesión; cerrar sesión, una contraseña nueva, la desactivación o la retirada del acceso lo terminan. De 1 a 365.',
|
|
1310
|
+
'st.sso': 'Iniciar sesión con {name}',
|
|
1311
|
+
'st.no_sso': 'No hay proveedores de identidad configurados. {add} para el inicio de sesión único.',
|
|
1312
|
+
'st.theme': 'Tema',
|
|
1313
|
+
'st.base': 'Estilo base',
|
|
1314
|
+
'st.base.iris': 'Iris (el predeterminado para nuevas aplicaciones)',
|
|
1315
|
+
'st.base.lavender': 'Lavender (Iris hasta pgkiln 0.41)',
|
|
1316
|
+
'st.base.standard': 'Standard (pgkiln hasta 0.28)',
|
|
1317
|
+
'st.base_help': 'Colores, esquinas, fuente y sombras de toda la aplicación, en claro y oscuro. Los colores de abajo sustituyen su acento y su cabecera.',
|
|
1318
|
+
'st.accent': 'Color de acento',
|
|
1319
|
+
'st.header_colour': 'Color de la cabecera',
|
|
1320
|
+
'st.accent_dark': 'Color de acento en modo oscuro',
|
|
1321
|
+
'st.header_dark': 'Color de la cabecera en modo oscuro',
|
|
1322
|
+
'st.own_colour': 'Usar este color (si no, la paleta oscura del estilo base)',
|
|
1323
|
+
'st.nav': 'Menú de navegación',
|
|
1324
|
+
'st.nav.side': 'Lateral (plegable)',
|
|
1325
|
+
'st.nav.top': 'Barra superior',
|
|
1326
|
+
'st.nav_help': 'En tabletas y teléfonos el menú es siempre un cajón.',
|
|
1327
|
+
'st.nav_list': 'Lista del menú de navegación',
|
|
1328
|
+
'st.nav_entries': '- las entradas de navegación -',
|
|
1329
|
+
'st.nav_list_help': 'Una lista (Shared Components → Listas) que se muestra como menú de navegación en lugar de las entradas de navegación.',
|
|
1330
|
+
'st.navbar_list': 'Lista de la barra de navegación',
|
|
1331
|
+
'st.none_option': '- ninguna -',
|
|
1332
|
+
'st.navbar_help': 'Una lista que se muestra como enlaces en la cabecera, junto al menú de usuario.',
|
|
1333
|
+
'st.missing': '{name} (¡falta!)',
|
|
1334
|
+
'st.mode': 'Estilo del tema',
|
|
1335
|
+
'st.mode.auto': 'Automático (claro u oscuro, según el dispositivo)',
|
|
1336
|
+
'st.mode.light': 'Claro',
|
|
1337
|
+
'st.mode.dark': 'Oscuro',
|
|
1338
|
+
'st.user_choice': 'Los usuarios pueden elegir claro u oscuro',
|
|
1339
|
+
'st.user_choice_help': 'Añade un interruptor al menú de usuario y a Mi cuenta; la elección se guarda en la cuenta (APEX: «Enable End Users to Choose Theme Style»).',
|
|
1340
|
+
'st.roller': 'Theme Roller: variantes de estilo…',
|
|
1341
|
+
'st.styles_one': '{n} estilo',
|
|
1342
|
+
'st.styles': '{n} estilos',
|
|
1343
|
+
'st.no_styles': 'todavía no hay estilos',
|
|
1344
|
+
'st.language': 'Idioma principal',
|
|
1345
|
+
'st.language_help': 'El idioma en que está hecha la aplicación, p. ej. en, nl, de, en-GB.',
|
|
1346
|
+
'st.languages': 'Idiomas traducidos',
|
|
1347
|
+
'st.languages_ph': 'p. ej. nl, de',
|
|
1348
|
+
'st.languages_help': 'Separados por comas. Traduzca los textos en Shared Components → Globalización.',
|
|
1349
|
+
'st.language_from': 'Idioma derivado de',
|
|
1350
|
+
'st.from.browser': 'Navegador (Accept-Language)',
|
|
1351
|
+
'st.from.user': 'Preferencia del usuario y luego el navegador',
|
|
1352
|
+
'st.from.primary': 'Siempre el idioma principal',
|
|
1353
|
+
'st.language_from_help': 'Los usuarios también pueden cambiar con ?lang=xx o el selector de la página de inicio de sesión.',
|
|
1354
|
+
'st.date_format': 'Formato de fecha',
|
|
1355
|
+
'st.date_format_ph': 'p. ej. DD-MM-YYYY (vacío: según el idioma)',
|
|
1356
|
+
'st.date_format_help': 'Máscaras: YYYY YY MM MON MONTH DD DY DAY HH24 HH MI SS AM',
|
|
1357
|
+
'st.ts_format': 'Formato de fecha y hora',
|
|
1358
|
+
'st.ts_format_ph': 'p. ej. DD-MM-YYYY HH24:MI',
|
|
1359
|
+
'st.save_settings': 'Guardar ajustes',
|
|
1360
|
+
'st.delete_confirm': '¿Eliminar la aplicación {app} y todas sus páginas?',
|
|
1361
|
+
'st.delete': 'Eliminar aplicación',
|
|
1362
|
+
'st.error_fn': 'Función de gestión de errores',
|
|
1363
|
+
'st.error_fn_ph': 'p. ej. sales.error_message',
|
|
1364
|
+
'st.error_fn_help': 'schema.function(jsonb) returns jsonb, ejecutada con el rol de la aplicación: recibe el mensaje y lo que se sabe de un error (code, constraint, table, column, component, page, user, internal, reference) y puede devolver {"message": "…"} para mostrarlo en su lugar. Vacío: ninguna.',
|
|
1365
|
+
'st.warning': 'Aviso de fin de sesión (segundos)',
|
|
1366
|
+
'st.warning_help': 'Los usuarios con sesión iniciada reciben un aviso este tiempo antes de que termine su sesión y pueden seguir conectados (0: sin aviso).',
|
|
1367
|
+
'st.save': 'Guardar',
|
|
1368
|
+
'st.checklist': 'Lista de comprobación de seguridad',
|
|
1369
|
+
'st.ck.role': 'Se ejecuta con un rol de base de datos propio',
|
|
1370
|
+
'st.ck.runtime': '(se ejecuta con la conexión de ejecución)',
|
|
1371
|
+
'st.ck.signin': 'Los usuarios deben iniciar sesión',
|
|
1372
|
+
'st.ck.public': 'Aplicación pública',
|
|
1373
|
+
'st.ck.debug_on': 'El modo de depuración está activado: se muestran detalles de los errores a los usuarios',
|
|
1374
|
+
'st.ck.debug_off': 'El modo de depuración está desactivado',
|
|
1375
|
+
'st.ck.msgs_on': 'Los mensajes de depuración están activados (nivel {level}): se registra cada petición',
|
|
1376
|
+
'st.ck.msgs_off': 'Los mensajes de depuración están desactivados',
|
|
1377
|
+
'st.ck.unprotected': 'Páginas sin protección por suma de comprobación: {n}',
|
|
1378
|
+
'st.ck.public_pages': 'Páginas públicas: {n}',
|
|
1379
|
+
'st.title': 'Ajustes de {app}',
|
|
1380
|
+
'st.err.fn_shape': 'La función de gestión de errores es schema.function, p. ej. sales.error_message.',
|
|
1381
|
+
'st.err.no_fn': 'No existe ninguna función {fn}(jsonb) que devuelva jsonb.',
|
|
1382
|
+
'st.err.warning': 'El aviso de fin de sesión es de 0 a 3600 segundos.',
|
|
1383
|
+
'st.saved': 'Guardado.',
|
|
1384
|
+
'st.settings_saved': 'Ajustes guardados.',
|
|
1385
|
+
'st.app_deleted': 'Aplicación eliminada.',
|
|
675
1386
|
};
|