@evotecit/canopyx 0.3.15 → 0.3.18

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.
Files changed (118) hide show
  1. package/CanopyX.Html/Assets/canopyx-board.css +50 -0
  2. package/CanopyX.Html/Assets/canopyx-board.js +39 -0
  3. package/CanopyX.Html/Assets/canopyx-buckets.js +15 -0
  4. package/CanopyX.Html/Assets/canopyx-calculations.css +7 -0
  5. package/CanopyX.Html/Assets/canopyx-calculations.js +52 -0
  6. package/CanopyX.Html/Assets/canopyx-calendar-edit.js +3 -3
  7. package/CanopyX.Html/Assets/canopyx-calendar.css +5 -24
  8. package/CanopyX.Html/Assets/canopyx-calendar.js +14 -19
  9. package/CanopyX.Html/Assets/canopyx-cell-range.js +16 -14
  10. package/CanopyX.Html/Assets/canopyx-changes.css +6 -24
  11. package/CanopyX.Html/Assets/canopyx-changes.js +18 -15
  12. package/CanopyX.Html/Assets/canopyx-compare.css +37 -0
  13. package/CanopyX.Html/Assets/canopyx-compare.js +12 -0
  14. package/CanopyX.Html/Assets/canopyx-data.js +3 -3
  15. package/CanopyX.Html/Assets/canopyx-editing.css +2 -2
  16. package/CanopyX.Html/Assets/canopyx-editing.js +2 -2
  17. package/CanopyX.Html/Assets/canopyx-enhance.js +4 -4
  18. package/CanopyX.Html/Assets/canopyx-export.js +54 -13
  19. package/CanopyX.Html/Assets/canopyx-facets.css +14 -5
  20. package/CanopyX.Html/Assets/canopyx-facets.js +19 -15
  21. package/CanopyX.Html/Assets/canopyx-filter-editor.css +71 -85
  22. package/CanopyX.Html/Assets/canopyx-filter-editor.js +20 -16
  23. package/CanopyX.Html/Assets/canopyx-flow-checks.css +2 -0
  24. package/CanopyX.Html/Assets/canopyx-flow-checks.js +5 -4
  25. package/CanopyX.Html/Assets/canopyx-flow-dialog.css +2 -0
  26. package/CanopyX.Html/Assets/canopyx-flow-dialog.js +1 -1
  27. package/CanopyX.Html/Assets/canopyx-flow-entry.css +136 -12
  28. package/CanopyX.Html/Assets/canopyx-flow-entry.js +5 -5
  29. package/CanopyX.Html/Assets/canopyx-flow-facts.js +2 -0
  30. package/CanopyX.Html/Assets/canopyx-flow-module.mjs +5 -5
  31. package/CanopyX.Html/Assets/canopyx-flow.js +8 -7
  32. package/CanopyX.Html/Assets/canopyx-format-editor.js +2 -2
  33. package/CanopyX.Html/Assets/canopyx-formatting.js +10 -9
  34. package/CanopyX.Html/Assets/canopyx-grid-module.mjs +185 -131
  35. package/CanopyX.Html/Assets/canopyx-grid.css +228 -96
  36. package/CanopyX.Html/Assets/canopyx-grid.js +185 -131
  37. package/CanopyX.Html/Assets/canopyx-grouping.css +22 -15
  38. package/CanopyX.Html/Assets/canopyx-grouping.js +24 -17
  39. package/CanopyX.Html/Assets/canopyx-interactive.css +197 -74
  40. package/CanopyX.Html/Assets/canopyx-interactive.js +38 -45
  41. package/CanopyX.Html/Assets/canopyx-labels-de.js +177 -9
  42. package/CanopyX.Html/Assets/canopyx-labels-es.js +177 -9
  43. package/CanopyX.Html/Assets/canopyx-labels-fr.js +176 -8
  44. package/CanopyX.Html/Assets/canopyx-labels-it.js +176 -8
  45. package/CanopyX.Html/Assets/canopyx-labels-pl.js +176 -8
  46. package/CanopyX.Html/Assets/canopyx-layouts.css +48 -20
  47. package/CanopyX.Html/Assets/canopyx-layouts.js +36 -14
  48. package/CanopyX.Html/Assets/canopyx-link.js +2 -2
  49. package/CanopyX.Html/Assets/canopyx-live.css +1 -3
  50. package/CanopyX.Html/Assets/canopyx-live.js +20 -15
  51. package/CanopyX.Html/Assets/canopyx-matrix.css +1 -8
  52. package/CanopyX.Html/Assets/canopyx-matrix.js +11 -11
  53. package/CanopyX.Html/Assets/canopyx-module.mjs +38 -45
  54. package/CanopyX.Html/Assets/canopyx-office-export.js +2936 -0
  55. package/CanopyX.Html/Assets/canopyx-path.css +45 -0
  56. package/CanopyX.Html/Assets/canopyx-path.js +28 -0
  57. package/CanopyX.Html/Assets/canopyx-pivot.css +75 -0
  58. package/CanopyX.Html/Assets/canopyx-pivot.js +72 -0
  59. package/CanopyX.Html/Assets/canopyx-plan.css +56 -0
  60. package/CanopyX.Html/Assets/canopyx-plan.js +67 -0
  61. package/CanopyX.Html/Assets/canopyx-presenters.js +2 -2
  62. package/CanopyX.Html/Assets/canopyx-record-panel.css +11 -2
  63. package/CanopyX.Html/Assets/canopyx-record-panel.js +18 -12
  64. package/CanopyX.Html/Assets/canopyx-reporting-module.mjs +225 -164
  65. package/CanopyX.Html/Assets/canopyx-reporting.css +240 -107
  66. package/CanopyX.Html/Assets/canopyx-reporting.js +225 -164
  67. package/CanopyX.Html/Assets/canopyx-stack.css +35 -0
  68. package/CanopyX.Html/Assets/canopyx-stack.js +24 -0
  69. package/CanopyX.Html/Assets/canopyx-time-slider.css +18 -0
  70. package/CanopyX.Html/Assets/canopyx-time-slider.js +27 -0
  71. package/CanopyX.Html/Assets/canopyx-timeline.js +6 -5
  72. package/CanopyX.Html/Assets/canopyx-tree-tools.css +36 -35
  73. package/CanopyX.Html/Assets/canopyx-tree-tools.js +15 -12
  74. package/CanopyX.Html/Assets/canopyx-ui-menu.css +41 -0
  75. package/CanopyX.Html/Assets/canopyx-ui-menu.js +64 -0
  76. package/CanopyX.Html/Assets/canopyx-ui-navigation.css +73 -0
  77. package/CanopyX.Html/Assets/canopyx-ui-navigation.js +39 -0
  78. package/CanopyX.Html/Assets/canopyx-ui-overlays.css +79 -0
  79. package/CanopyX.Html/Assets/canopyx-ui-overlays.js +42 -0
  80. package/CanopyX.Html/Assets/canopyx-ui-picker.css +12 -0
  81. package/CanopyX.Html/Assets/canopyx-ui-picker.js +6 -0
  82. package/CanopyX.Html/Assets/canopyx-ui-stepper.css +174 -0
  83. package/CanopyX.Html/Assets/canopyx-ui-stepper.js +48 -0
  84. package/CanopyX.Html/Assets/canopyx-ui-tabs.css +153 -0
  85. package/CanopyX.Html/Assets/canopyx-ui-tabs.js +47 -0
  86. package/CanopyX.Html/Assets/canopyx-values.css +5 -0
  87. package/CanopyX.Html/Assets/canopyx-values.js +13 -0
  88. package/CanopyX.Html/Assets/canopyx-view-intents.css +12 -0
  89. package/CanopyX.Html/Assets/canopyx-view-intents.js +56 -0
  90. package/CanopyX.Html/Assets/canopyx.css +197 -71
  91. package/CanopyX.Html/Assets/canopyx.js +29 -19
  92. package/JavaScript/board.d.ts +30 -0
  93. package/JavaScript/changes.d.ts +4 -1
  94. package/JavaScript/facets.d.ts +5 -3
  95. package/JavaScript/flow.d.ts +6 -0
  96. package/JavaScript/grid.d.ts +153 -17
  97. package/JavaScript/hosts.d.ts +14 -1
  98. package/JavaScript/index.d.ts +4 -2
  99. package/JavaScript/live.d.ts +2 -0
  100. package/JavaScript/locales/de.mjs +177 -9
  101. package/JavaScript/locales/es.mjs +177 -9
  102. package/JavaScript/locales/fr.mjs +176 -8
  103. package/JavaScript/locales/it.mjs +176 -8
  104. package/JavaScript/locales/pl.mjs +176 -8
  105. package/JavaScript/matrix.d.ts +4 -1
  106. package/JavaScript/path.d.ts +33 -0
  107. package/JavaScript/pivot.d.ts +135 -0
  108. package/JavaScript/plan.d.ts +23 -0
  109. package/JavaScript/protocol.d.ts +16 -3
  110. package/JavaScript/records.d.ts +20 -4
  111. package/JavaScript/stack.d.ts +28 -0
  112. package/JavaScript/time-slider.d.ts +58 -0
  113. package/JavaScript/ui.d.ts +261 -0
  114. package/JavaScript/view-intents.d.ts +45 -0
  115. package/README.md +22 -3
  116. package/ThirdParty/OfficeIMO/LICENSE +21 -0
  117. package/ThirdParty/OfficeIMO/README.md +13 -0
  118. package/package.json +76 -3
@@ -2,7 +2,14 @@
2
2
  (function (global) {
3
3
  const labels = Object.freeze({
4
4
  gridNoExportColumns: "Ninguna columna visible permite exportar.",
5
+ gridDownloadXlsx: "Libro de Excel (.xlsx)",
6
+ gridDownloadPdf: "PDF",
7
+ gridExportWorkbookHint: "Con formato, grupos y totales",
8
+ gridExportPdfHint: "Informe paginado con encabezados repetidos",
9
+ gridExportCsvHint: "Valores de texto (.csv)",
10
+ gridExportCopy: "Copiar al portapapeles",
5
11
  searchPlaceholder: "Buscar",
12
+ gridRegexSearch: "Patrón de búsqueda",
6
13
  searchResults: "Resultados de búsqueda",
7
14
  searchResultCount: "{count} resultados",
8
15
  searchResultCountOfTotal: "{count} de {total} resultados",
@@ -117,7 +124,7 @@ const labels = Object.freeze({
117
124
  gridAllResults: "Todos los resultados",
118
125
  gridVisibleRows: "Filas visibles",
119
126
  gridAllRows: "Todas las filas",
120
- gridDownloadCsv: "Descargar CSV",
127
+ gridDownloadCsv: "CSV",
121
128
  gridCopy: "Copiar",
122
129
  gridDetails: "Detalles del registro",
123
130
  gridCellRangeSelected: "{rows} filas × {columns} columnas seleccionadas",
@@ -216,7 +223,7 @@ const labels = Object.freeze({
216
223
  gridGroupMissing: "Valor ausente",
217
224
  gridGroupExpand: "Expandir grupo",
218
225
  gridGroupCollapse: "Contraer grupo",
219
- gridSummary: "Totales de resultados",
226
+ gridSummary: "Total general",
220
227
  gridGroupOrder: "El orden de los grupos está fijado en este informe",
221
228
  gridAggregateCount: "recuento {value}",
222
229
  gridAggregateSum: "suma {value}",
@@ -307,7 +314,7 @@ const labels = Object.freeze({
307
314
  recordAfter: "Después",
308
315
  recordAdded: "Añadido",
309
316
  recordRemoved: "Eliminado",
310
- recordChanged: "{count} campos modificados",
317
+ recordChanged: "Campos modificados: {count}",
311
318
  yes: "Sí",
312
319
  no: "No",
313
320
  utcTime: "{time} UTC",
@@ -351,7 +358,7 @@ const labels = Object.freeze({
351
358
  gridLiveChanged: "Filas cambiadas: {added} añadidas, {updated} actualizadas, {removed} eliminadas",
352
359
  gridLiveSorted: "Filas movidas a la posición que les da el orden.",
353
360
  gridLiveRecordRemoved: "Este registro se ha eliminado.",
354
- gridFacetPanel: "Filtrar por",
361
+ gridFacetPanel: "Acotar",
355
362
  gridFacetPanelHide: "Ocultar el panel de filtros",
356
363
  gridFacetPanelShow: "Mostrar el panel de filtros",
357
364
  gridFacetShowMore: "Mostrar {count} más",
@@ -507,11 +514,6 @@ const labels = Object.freeze({
507
514
  calendarOccurrenceTitle: "Cambiar un evento periódico",
508
515
  calendarOccurrenceReadOnly: "No se puede guardar esta parte de la serie porque algunos valores son de solo lectura.",
509
516
  calendarThisEvent: "Este evento",
510
- calendarEditOccurrence: "Editar esta ocurrencia",
511
- calendarRemoveOccurrence: "Eliminar esta ocurrencia",
512
- calendarOccurrenceScope: "Solo cambia {date}; las otras fechas de {title} se mantienen.",
513
- calendarSharedResources: "{count} {resources}",
514
- calendarResourceWindow: "{resources} {start}–{end} de {total}",
515
517
  calendarThisAndFollowing: "Este evento y los siguientes",
516
518
  calendarAllEvents: "Todos los eventos",
517
519
  calendarSources: "Calendarios",
@@ -775,6 +777,172 @@ const labels = Object.freeze({
775
777
  changeCopyRequest: "Copiar solicitud",
776
778
  changeFiltered: "Filtrado: {filters}",
777
779
  changePrintLimit: "{count} líneas más no se imprimen.",
780
+ gridPivotFieldOptions: "Opciones de campo",
781
+ gridCalculationResultType: "Tipo de resultado",
782
+ gridCalculationDivideZero: "División por cero",
783
+ gridCalculationAdd: "Añadir columna calculada",
784
+ gridCalculationTitle: "Título de columna",
785
+ gridCalculationId: "ID de columna",
786
+ gridCalculationExpression: "Expresión",
787
+ gridCalculationError: "Error de cálculo: {error}",
788
+ gridCalculationInvalid: "Compruebe la expresión, las referencias a columnas y el tipo de resultado.",
789
+ gridCalculationHelp: "Use [columnId], aritmética, IF, COALESCE, ROUND, CONCAT, DATEPART o DATEDIFF.",
790
+ gridCalculationNumber: "Número",
791
+ gridCalculationDate: "Fecha y hora",
792
+ gridPivot: "Tabla dinámica",
793
+ gridPivotRows: "Grupos de filas",
794
+ gridPivotColumns: "Grupos de columnas",
795
+ gridPivotValues: "Valores",
796
+ gridPivotFlat: "Mostrar registros",
797
+ gridPivotConfigure: "Ajustes de tabla dinámica",
798
+ gridPivotOther: "Otros",
799
+ gridPivotLimited: "Se muestran {shown} de {total} rutas de columnas; el resto se agrupa en Otros. Los subtotales incluyen todos los valores descendientes coincidentes.",
800
+ gridPivotColumn: "Elegir columna",
801
+ gridPivotTopN: "Columnas principales",
802
+ gridPivotSort: "Orden de filas",
803
+ gridPivotDrill: "Mostrar registros de {row}, {column}",
804
+ gridPivotReturn: "Volver a la tabla dinámica",
805
+ gridPivotInvalid: "Elige ejes válidos y al menos un valor.",
806
+ gridShowAs: "Mostrar valores como",
807
+ gridShowAsValue: "Valor",
808
+ gridShowAsPercentGrandTotal: "% del total general",
809
+ gridShowAsPercentParent: "% del total del grupo superior",
810
+ gridShowAsPercentColumn: "% del total de columna",
811
+ gridShowAsPercentRow: "% del total de fila",
812
+ gridShowAsRunningTotal: "Total acumulado",
813
+ gridShowAsRank: "Clasificación",
814
+ gridShowAsDifference: "Diferencia respecto al anterior",
815
+ gridShowAsPercentChange: "% de cambio respecto al anterior",
816
+ gridBucket: "Intervalo",
817
+ gridBucketNone: "Valores exactos",
818
+ gridBucketDay: "Día",
819
+ gridBucketWeek: "Semana",
820
+ gridBucketMonth: "Mes",
821
+ gridBucketQuarter: "Trimestre",
822
+ gridBucketYear: "Año",
823
+ gridBucketHour: "Hora del día",
824
+ gridBucketWeekday: "Día de la semana",
825
+ gridBucketWidth: "Amplitud del intervalo",
826
+ gridBucketEdges: "Límites de los intervalos",
827
+ gridBucketOrigin: "Origen de los intervalos",
828
+ gridBucketInvalid: "Introduce una configuración de intervalos válida.",
829
+ boardLane: "Columna",
830
+ boardUnassigned: "Sin asignar",
831
+ boardEmpty: "No hay registros en esta columna",
832
+ boardWip: "{count} / {limit}",
833
+ boardWipFull: "{lane} ha alcanzado su límite de trabajo ({limit}).",
834
+ boardMove: "Mover a columna",
835
+ boardMoved: "{title} se ha movido a {lane}.",
836
+ boardRejected: "El movimiento no se ha aceptado.",
837
+ boardPending: "Esperando la aceptación del movimiento…",
838
+ boardPartial: "Se muestran los primeros {count} registros. Limite los filtros para ver el resto.",
839
+ boardKeys: "Use Alt+Izquierda o Alt+Derecha para mover entre columnas; Arriba y Abajo para explorar tarjetas.",
840
+ planMilestone: "Hito",
841
+ planCritical: "Ruta crítica",
842
+ planBaseline: "Línea base: {start} – {end}",
843
+ planDependency: "{from} termina antes de que empiece {to}",
844
+ planDependencyConflict: "Conflicto de dependencia con {task}",
845
+ planOverlapConflict: "Se solapa con {task}",
846
+ planIncomplete: "La red completa de tareas no está disponible; el host debe comprobar esta propuesta.",
847
+ planInvalidRange: "La tarea debe terminar en su inicio o después.",
848
+ planInvalidResource: "Elija un recurso para la tarea.",
849
+ planProposal: "Propuesta {task}: {start} – {end}",
850
+ planMoveHint: "Alt+Izquierda o Alt+Derecha propone una fecha; Alt+Arriba o Alt+Abajo propone un recurso.",
851
+ planActual: "Real",
852
+ planPending: "Propuesta pendiente del host",
853
+ planBaselineLabel: "Línea base",
854
+ planDependencies: "Dependencias",
855
+ planConflict: "Conflicto",
856
+ calendarEditOccurrence: "Editar esta ocurrencia",
857
+ calendarRemoveOccurrence: "Eliminar esta ocurrencia",
858
+ calendarOccurrenceScope: "Solo cambia {date}; las otras fechas de {title} se mantienen.",
859
+ calendarSharedResources: "{count} {resources}",
860
+ calendarResourceWindow: "{resources} {start}–{end} de {total}",
861
+ viewIntentWords: "Palabras completas",
862
+ viewIntentSubstring: "El texto contiene",
863
+ viewIntentPreview: "Cambios propuestos",
864
+ viewIntentApplied: "Cambios de vista aplicados.",
865
+ viewIntentSuperseded: "La vista ha cambiado. Revise de nuevo la propuesta.",
866
+ viewIntentSearch: "Buscar: {search}",
867
+ viewIntentSort: "Ordenar por {columns}",
868
+ viewIntentGroup: "Agrupar filas por {columns}",
869
+ viewIntentColumns: "Mostrar columnas: {columns}",
870
+ compareSummary: "Comparación de conjuntos de datos",
871
+ compareAdded: "Añadidos",
872
+ compareRemoved: "Eliminados",
873
+ compareChanged: "Modificados",
874
+ compareUnchanged: "Sin cambios",
875
+ compareOnlyChanges: "Solo cambios",
876
+ compareColumnChanges: "[one]{column}: {count} celda modificada[other]{column}: {count} celdas modificadas",
877
+ compareChanges: "Cambios",
878
+ viewIntentClearSearch: "Borrar búsqueda",
879
+ viewIntentRemoveGrouping: "Quitar agrupación",
880
+ viewIntentFlat: "Mostrar registros",
881
+ viewIntentAscending: "ascendente",
882
+ viewIntentDescending: "descendente",
883
+ viewIntentNotEqual: "no es",
884
+ viewIntentGreater: "mayor que",
885
+ viewIntentAtLeast: "al menos",
886
+ viewIntentLess: "menor que",
887
+ viewIntentAtMost: "como máximo",
888
+ viewIntentFilter: "Mostrar filas donde {column} {operator} {values}",
889
+ viewIntentOnly: "Mostrar solo {column}: {values}",
890
+ viewIntentPivot: "Filas: {rows}; columnas: {columns}; valores: {values}",
891
+ viewIntentAllRows: "todos los registros",
892
+ viewIntentTotals: "totales",
893
+ viewIntentTuples: "Mostrar combinaciones coincidentes de {columns}: {values}",
894
+ viewIntentExcludeTuples: "Excluir combinaciones coincidentes de {columns}: {values}",
895
+ viewIntentNoChanges: "Esta vista ya está seleccionada.",
896
+ pathEmpty: "No hay rutas para mostrar",
897
+ pathSource: "Origen",
898
+ pathTarget: "Destino",
899
+ pathStep: "Paso {number} de {total}",
900
+ pathCycle: "Ciclo",
901
+ pathForeign: "Externo",
902
+ pathDisabled: "Deshabilitado",
903
+ pathKeys: "Usa Tab o las flechas para recorrer los pasos; Intro o Espacio abre el registro.",
904
+ pathPartial: "Se muestran {shown} de {total} pasos.",
905
+ stackWinner: "Ganador",
906
+ stackEnforced: "Aplicado obligatoriamente",
907
+ stackFiltered: "Filtrado",
908
+ stackEmpty: "No hay capas para mostrar.",
909
+ stackOrder: "Orden de procesamiento",
910
+ stackTruncated: "Se muestran {shown} de {total} capas en orden de procesamiento; siempre se incluye la capa ganadora.",
911
+ timePlay: "Reproducir",
912
+ timePause: "Pausar",
913
+ timePrevious: "Instantánea anterior",
914
+ timeNext: "Instantánea siguiente",
915
+ timePosition: "Instantánea {index} de {count}",
916
+ timeFrame: "Instantánea de {time}",
917
+ timeReducedMotion: "La reproducción automática está desactivada porque el movimiento reducido está activado. Recorre las instantáneas manualmente.",
918
+ tabsMore: "Más",
919
+ tabsMoreSelected: "Más: {label}",
920
+ tabsScrollPrevious: "Pestañas anteriores",
921
+ tabsScrollNext: "Pestañas siguientes",
922
+ tabsSection: "Sección",
923
+ tabsPosition: "{current} de {total}",
924
+ tabsPause: "Pausar",
925
+ tabsPlay: "Reproducir",
926
+ tabsMotionDisabled: "El cambio automático de pestañas está desactivado con movimiento reducido",
927
+ stepperStepOf: "Paso {current} de {total}",
928
+ stepperBack: "Atrás",
929
+ stepperNext: "Siguiente",
930
+ stepperFinish: "Finalizar",
931
+ stepperSkip: "Omitir",
932
+ stepperSaveDraft: "Guardar borrador",
933
+ stepperAllSteps: "Todos los pasos",
934
+ stepperOptional: "Opcional",
935
+ stepperCompleted: "Completado",
936
+ stepperSkipped: "Omitido",
937
+ stepperIssues: "{count} problemas por resolver",
938
+ stepperIssue: "1 problema por resolver",
939
+ dialogClose: "Cerrar",
940
+ drawerClose: "Cerrar",
941
+ drawerPrevious: "Registro anterior",
942
+ drawerNext: "Registro siguiente",
943
+ stateLoading: "Cargando…",
944
+ stateRetry: "Reintentar",
945
+ stateDetails: "Detalles",
778
946
  });
779
947
  const staticLabels = Object.freeze({
780
948
  overflowNote: "Filas mostradas: {shown}. Total: {total}.",
@@ -2,7 +2,14 @@
2
2
  (function (global) {
3
3
  const labels = Object.freeze({
4
4
  gridNoExportColumns: "Aucune colonne visible ne permet l’exportation.",
5
+ gridDownloadXlsx: "Classeur Excel (.xlsx)",
6
+ gridDownloadPdf: "PDF",
7
+ gridExportWorkbookHint: "Mise en forme, groupes et totaux",
8
+ gridExportPdfHint: "Rapport paginé avec en-têtes répétés",
9
+ gridExportCsvHint: "Valeurs en texte brut (.csv)",
10
+ gridExportCopy: "Copier dans le presse-papiers",
5
11
  searchPlaceholder: "Rechercher",
12
+ gridRegexSearch: "Motif de recherche",
6
13
  searchResults: "Résultats de la recherche",
7
14
  searchResultCount: "Résultats : {count}",
8
15
  searchResultCountOfTotal: "Résultats : {count} sur {total}",
@@ -117,7 +124,7 @@ const labels = Object.freeze({
117
124
  gridAllResults: "Tous les résultats",
118
125
  gridVisibleRows: "Lignes visibles",
119
126
  gridAllRows: "Toutes les lignes",
120
- gridDownloadCsv: "Télécharger le CSV",
127
+ gridDownloadCsv: "CSV",
121
128
  gridCopy: "Copier",
122
129
  gridDetails: "Détails de l'enregistrement",
123
130
  gridCellRangeSelected: "{rows} lignes × {columns} colonnes sélectionnées",
@@ -216,7 +223,7 @@ const labels = Object.freeze({
216
223
  gridGroupMissing: "Valeur manquante",
217
224
  gridGroupExpand: "Développer le groupe",
218
225
  gridGroupCollapse: "Réduire le groupe",
219
- gridSummary: "Totaux de la requête",
226
+ gridSummary: "Total général",
220
227
  gridGroupOrder: "L'ordre des groupes est fixé par ce rapport",
221
228
  gridAggregateCount: "nombre {value}",
222
229
  gridAggregateSum: "somme {value}",
@@ -351,7 +358,7 @@ const labels = Object.freeze({
351
358
  gridLiveChanged: "Lignes modifiées : {added} ajoutées, {updated} mises à jour, {removed} supprimées",
352
359
  gridLiveSorted: "Lignes replacées selon le tri.",
353
360
  gridLiveRecordRemoved: "Cet enregistrement a été supprimé.",
354
- gridFacetPanel: "Filtrer par",
361
+ gridFacetPanel: "Affiner",
355
362
  gridFacetPanelHide: "Masquer le panneau de filtres",
356
363
  gridFacetPanelShow: "Afficher le panneau de filtres",
357
364
  gridFacetShowMore: "Afficher {count} de plus",
@@ -507,11 +514,6 @@ const labels = Object.freeze({
507
514
  calendarOccurrenceTitle: "Modifier un événement récurrent",
508
515
  calendarOccurrenceReadOnly: "Cette partie de la série ne peut pas être enregistrée, car certaines valeurs sont en lecture seule.",
509
516
  calendarThisEvent: "Cet événement",
510
- calendarEditOccurrence: "Modifier cette occurrence",
511
- calendarRemoveOccurrence: "Supprimer cette occurrence",
512
- calendarOccurrenceScope: "Seul le {date} change ; les autres dates de {title} restent inchangées.",
513
- calendarSharedResources: "{count} {resources}",
514
- calendarResourceWindow: "{resources} {start}–{end} sur {total}",
515
517
  calendarThisAndFollowing: "Cet événement et les suivants",
516
518
  calendarAllEvents: "Tous les événements",
517
519
  calendarSources: "Calendriers",
@@ -775,6 +777,172 @@ const labels = Object.freeze({
775
777
  changeCopyRequest: "Copier la demande",
776
778
  changeFiltered: "Filtré : {filters}",
777
779
  changePrintLimit: "{count} lignes de plus ne sont pas imprimées.",
780
+ gridPivotFieldOptions: "Options du champ",
781
+ gridCalculationResultType: "Type du résultat",
782
+ gridCalculationDivideZero: "Division par zéro",
783
+ gridCalculationAdd: "Ajouter une colonne calculée",
784
+ gridCalculationTitle: "Titre de colonne",
785
+ gridCalculationId: "ID de colonne",
786
+ gridCalculationExpression: "Expression",
787
+ gridCalculationError: "Erreur de calcul : {error}",
788
+ gridCalculationInvalid: "Vérifiez l’expression, les références de colonnes et le type de résultat.",
789
+ gridCalculationHelp: "Utilisez [columnId], l’arithmétique, IF, COALESCE, ROUND, CONCAT, DATEPART ou DATEDIFF.",
790
+ gridCalculationNumber: "Nombre",
791
+ gridCalculationDate: "Date et heure",
792
+ gridPivot: "Tableau croisé",
793
+ gridPivotRows: "Groupes de lignes",
794
+ gridPivotColumns: "Groupes de colonnes",
795
+ gridPivotValues: "Valeurs",
796
+ gridPivotFlat: "Afficher les enregistrements",
797
+ gridPivotConfigure: "Paramètres du tableau croisé",
798
+ gridPivotOther: "Autres",
799
+ gridPivotLimited: "{shown} chemins de colonnes sur {total} affichés ; les autres sont regroupés dans Autres. Les sous-totaux incluent toutes les valeurs descendantes correspondantes.",
800
+ gridPivotColumn: "Choisir une colonne",
801
+ gridPivotTopN: "Premières colonnes",
802
+ gridPivotSort: "Ordre des lignes",
803
+ gridPivotDrill: "Afficher les enregistrements pour {row}, {column}",
804
+ gridPivotReturn: "Revenir au tableau croisé",
805
+ gridPivotInvalid: "Choisissez des axes valides et au moins une valeur.",
806
+ gridShowAs: "Afficher les valeurs en",
807
+ gridShowAsValue: "Valeur",
808
+ gridShowAsPercentGrandTotal: "% du total général",
809
+ gridShowAsPercentParent: "% du total parent",
810
+ gridShowAsPercentColumn: "% du total de la colonne",
811
+ gridShowAsPercentRow: "% du total de la ligne",
812
+ gridShowAsRunningTotal: "Total cumulé",
813
+ gridShowAsRank: "Rang",
814
+ gridShowAsDifference: "Écart avec la valeur précédente",
815
+ gridShowAsPercentChange: "% de variation depuis la valeur précédente",
816
+ gridBucket: "Intervalle",
817
+ gridBucketNone: "Valeurs exactes",
818
+ gridBucketDay: "Jour",
819
+ gridBucketWeek: "Semaine",
820
+ gridBucketMonth: "Mois",
821
+ gridBucketQuarter: "Trimestre",
822
+ gridBucketYear: "Année",
823
+ gridBucketHour: "Heure du jour",
824
+ gridBucketWeekday: "Jour de la semaine",
825
+ gridBucketWidth: "Largeur de l’intervalle",
826
+ gridBucketEdges: "Bornes des intervalles",
827
+ gridBucketOrigin: "Origine des intervalles",
828
+ gridBucketInvalid: "Saisissez des paramètres d’intervalle valides.",
829
+ boardLane: "Colonne",
830
+ boardUnassigned: "Non attribué",
831
+ boardEmpty: "Aucun enregistrement dans cette colonne",
832
+ boardWip: "{count} / {limit}",
833
+ boardWipFull: "{lane} a atteint sa limite de travail ({limit}).",
834
+ boardMove: "Déplacer vers la colonne",
835
+ boardMoved: "{title} déplacé vers {lane}.",
836
+ boardRejected: "Le déplacement a été refusé.",
837
+ boardPending: "En attente de l’acceptation du déplacement…",
838
+ boardPartial: "Affichage des {count} premiers enregistrements. Affinez les filtres pour voir le reste.",
839
+ boardKeys: "Alt+Gauche ou Alt+Droite déplace entre les colonnes ; Haut et Bas parcourt les cartes.",
840
+ planMilestone: "Jalon",
841
+ planCritical: "Chemin critique",
842
+ planBaseline: "Référence : {start} – {end}",
843
+ planDependency: "{from} se termine avant le début de {to}",
844
+ planDependencyConflict: "Conflit de dépendance avec {task}",
845
+ planOverlapConflict: "Chevauche {task}",
846
+ planIncomplete: "Le réseau complet des tâches est indisponible ; l’hôte doit vérifier cette proposition.",
847
+ planInvalidRange: "La tâche doit se terminer à son début ou après.",
848
+ planInvalidResource: "Choisissez une ressource pour la tâche.",
849
+ planProposal: "Proposition {task} : {start} – {end}",
850
+ planMoveHint: "Alt+Gauche ou Alt+Droite propose une date ; Alt+Haut ou Alt+Bas propose une ressource.",
851
+ planActual: "Réel",
852
+ planPending: "Proposition en attente de l’hôte",
853
+ planBaselineLabel: "Référence",
854
+ planDependencies: "Dépendances",
855
+ planConflict: "Conflit",
856
+ calendarEditOccurrence: "Modifier cette occurrence",
857
+ calendarRemoveOccurrence: "Supprimer cette occurrence",
858
+ calendarOccurrenceScope: "Seul le {date} change ; les autres dates de {title} restent inchangées.",
859
+ calendarSharedResources: "{count} {resources}",
860
+ calendarResourceWindow: "{resources} {start}–{end} sur {total}",
861
+ viewIntentWords: "Mots entiers",
862
+ viewIntentSubstring: "Le texte contient",
863
+ viewIntentPreview: "Modifications proposées",
864
+ viewIntentApplied: "Modifications de la vue appliquées.",
865
+ viewIntentSuperseded: "La vue a changé. Prévisualisez à nouveau la proposition.",
866
+ viewIntentSearch: "Recherche : {search}",
867
+ viewIntentSort: "Trier par {columns}",
868
+ viewIntentGroup: "Regrouper les lignes par {columns}",
869
+ viewIntentColumns: "Afficher les colonnes : {columns}",
870
+ compareSummary: "Comparaison des jeux de données",
871
+ compareAdded: "Ajoutés",
872
+ compareRemoved: "Supprimés",
873
+ compareChanged: "Modifiés",
874
+ compareUnchanged: "Inchangés",
875
+ compareOnlyChanges: "Modifications uniquement",
876
+ compareColumnChanges: "[one]{column} : {count} cellule modifiée[other]{column} : {count} cellules modifiées",
877
+ compareChanges: "Modifications",
878
+ viewIntentClearSearch: "Effacer la recherche",
879
+ viewIntentRemoveGrouping: "Supprimer le regroupement",
880
+ viewIntentFlat: "Afficher les enregistrements",
881
+ viewIntentAscending: "croissant",
882
+ viewIntentDescending: "décroissant",
883
+ viewIntentNotEqual: "n’est pas",
884
+ viewIntentGreater: "supérieur à",
885
+ viewIntentAtLeast: "au moins",
886
+ viewIntentLess: "inférieur à",
887
+ viewIntentAtMost: "au plus",
888
+ viewIntentFilter: "Afficher les lignes où {column} {operator} {values}",
889
+ viewIntentOnly: "Afficher uniquement {column} : {values}",
890
+ viewIntentPivot: "Lignes : {rows} ; colonnes : {columns} ; valeurs : {values}",
891
+ viewIntentAllRows: "tous les enregistrements",
892
+ viewIntentTotals: "totaux",
893
+ viewIntentTuples: "Afficher les combinaisons correspondantes de {columns} : {values}",
894
+ viewIntentExcludeTuples: "Exclure les combinaisons correspondantes de {columns} : {values}",
895
+ viewIntentNoChanges: "Cette vue est déjà sélectionnée.",
896
+ pathEmpty: "Aucun chemin à afficher",
897
+ pathSource: "Source",
898
+ pathTarget: "Cible",
899
+ pathStep: "Étape {number} sur {total}",
900
+ pathCycle: "Cycle",
901
+ pathForeign: "Externe",
902
+ pathDisabled: "Désactivé",
903
+ pathKeys: "Parcourez les étapes avec Tab ou les flèches ; Entrée ou Espace ouvre la fiche.",
904
+ pathPartial: "{shown} étapes affichées sur {total}.",
905
+ stackWinner: "Gagnant",
906
+ stackEnforced: "Imposé",
907
+ stackFiltered: "Filtré",
908
+ stackEmpty: "Aucune couche à afficher.",
909
+ stackOrder: "Ordre de traitement",
910
+ stackTruncated: "{shown} couches affichées sur {total} dans l’ordre de traitement ; la couche gagnante est toujours incluse.",
911
+ timePlay: "Lire",
912
+ timePause: "Pause",
913
+ timePrevious: "Instantané précédent",
914
+ timeNext: "Instantané suivant",
915
+ timePosition: "Instantané {index} sur {count}",
916
+ timeFrame: "Instantané du {time}",
917
+ timeReducedMotion: "La lecture automatique est désactivée car les mouvements réduits sont activés. Parcourez les instantanés manuellement.",
918
+ tabsMore: "Plus",
919
+ tabsMoreSelected: "Plus : {label}",
920
+ tabsScrollPrevious: "Onglets précédents",
921
+ tabsScrollNext: "Onglets suivants",
922
+ tabsSection: "Section",
923
+ tabsPosition: "{current} sur {total}",
924
+ tabsPause: "Mettre en pause",
925
+ tabsPlay: "Lire",
926
+ tabsMotionDisabled: "Le changement automatique d’onglet est désactivé lorsque les animations sont réduites",
927
+ stepperStepOf: "Étape {current} sur {total}",
928
+ stepperBack: "Retour",
929
+ stepperNext: "Suivant",
930
+ stepperFinish: "Terminer",
931
+ stepperSkip: "Ignorer",
932
+ stepperSaveDraft: "Enregistrer le brouillon",
933
+ stepperAllSteps: "Toutes les étapes",
934
+ stepperOptional: "Facultatif",
935
+ stepperCompleted: "Terminé",
936
+ stepperSkipped: "Ignoré",
937
+ stepperIssues: "{count} problèmes à corriger",
938
+ stepperIssue: "1 problème à corriger",
939
+ dialogClose: "Fermer",
940
+ drawerClose: "Fermer",
941
+ drawerPrevious: "Enregistrement précédent",
942
+ drawerNext: "Enregistrement suivant",
943
+ stateLoading: "Chargement…",
944
+ stateRetry: "Réessayer",
945
+ stateDetails: "Détails",
778
946
  });
779
947
  const staticLabels = Object.freeze({
780
948
  overflowNote: "{shown} lignes affichées sur {total}.",