@sinequa/atomic-angular 1.16.0 → 2.0.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.
Files changed (80) hide show
  1. package/README.md +23 -18
  2. package/components/navbar-tabs/i18n/de.json +4 -2
  3. package/components/navbar-tabs/i18n/en.json +4 -2
  4. package/components/navbar-tabs/i18n/fr.json +5 -3
  5. package/components/preview/i18n/de.json +12 -0
  6. package/components/preview/i18n/en.json +12 -0
  7. package/components/preview/i18n/fr.json +12 -0
  8. package/components/sort-selector/i18n/de.json +1 -0
  9. package/components/sort-selector/i18n/en.json +1 -0
  10. package/components/sort-selector/i18n/fr.json +1 -0
  11. package/components/sponsored-results/i18n/de.json +3 -0
  12. package/components/sponsored-results/i18n/en.json +3 -0
  13. package/components/sponsored-results/i18n/fr.json +3 -0
  14. package/document-workspaces/i18n/de.json +6 -2
  15. package/document-workspaces/i18n/en.json +6 -2
  16. package/document-workspaces/i18n/fr.json +6 -2
  17. package/document-workspaces/i18n/ja.json +6 -2
  18. package/features/{drawer → advanced-search}/i18n/de.json +12 -1
  19. package/features/{drawer → advanced-search}/i18n/en.json +12 -1
  20. package/features/{drawer → advanced-search}/i18n/fr.json +13 -2
  21. package/features/alerts/i18n/de.json +7 -1
  22. package/features/alerts/i18n/en.json +7 -1
  23. package/features/alerts/i18n/fr.json +7 -1
  24. package/features/auth/i18n/de.json +6 -0
  25. package/features/auth/i18n/en.json +6 -0
  26. package/features/auth/i18n/fr.json +6 -1
  27. package/features/collections/i18n/de.json +4 -1
  28. package/features/collections/i18n/en.json +4 -1
  29. package/features/collections/i18n/fr.json +4 -1
  30. package/features/dialogs/i18n/de.json +11 -1
  31. package/features/dialogs/i18n/en.json +11 -1
  32. package/features/dialogs/i18n/fr.json +11 -1
  33. package/features/export/i18n/de.json +5 -1
  34. package/features/export/i18n/en.json +5 -1
  35. package/features/export/i18n/fr.json +5 -1
  36. package/features/feedback/i18n/de.json +2 -1
  37. package/features/feedback/i18n/en.json +2 -1
  38. package/features/feedback/i18n/fr.json +2 -1
  39. package/features/filters/i18n/de.json +10 -3
  40. package/features/filters/i18n/en.json +10 -3
  41. package/features/filters/i18n/fr.json +11 -4
  42. package/features/labels/i18n/de.json +5 -1
  43. package/features/labels/i18n/en.json +5 -1
  44. package/features/labels/i18n/fr.json +5 -1
  45. package/features/list-panel/i18n/de.json +4 -0
  46. package/features/list-panel/i18n/en.json +4 -0
  47. package/features/list-panel/i18n/fr.json +4 -0
  48. package/features/searches/i18n/de.json +2 -1
  49. package/features/searches/i18n/en.json +2 -1
  50. package/features/searches/i18n/fr.json +3 -2
  51. package/features/sheet/i18n/de.json +3 -0
  52. package/features/sheet/i18n/en.json +3 -0
  53. package/features/sheet/i18n/fr.json +3 -0
  54. package/features/user-profile/i18n/de.json +22 -1
  55. package/features/user-profile/i18n/en.json +22 -1
  56. package/features/user-profile/i18n/fr.json +22 -1
  57. package/fesm2022/sinequa-atomic-angular-charts-heatmap.mjs +294 -0
  58. package/fesm2022/sinequa-atomic-angular-charts-heatmap.mjs.map +1 -0
  59. package/fesm2022/sinequa-atomic-angular-charts.mjs +969 -0
  60. package/fesm2022/sinequa-atomic-angular-charts.mjs.map +1 -0
  61. package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs +11188 -7846
  62. package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs.map +1 -1
  63. package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs +85 -152
  64. package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs.map +1 -1
  65. package/fesm2022/sinequa-atomic-angular.mjs +30683 -17302
  66. package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
  67. package/package.json +60 -23
  68. package/styles/calendar.css +88 -0
  69. package/types/sinequa-atomic-angular-charts-heatmap.d.ts +154 -0
  70. package/types/sinequa-atomic-angular-charts.d.ts +462 -0
  71. package/types/sinequa-atomic-angular-document-workspaces.d.ts +2527 -0
  72. package/types/sinequa-atomic-angular-workspace-elements.d.ts +49 -0
  73. package/types/sinequa-atomic-angular.d.ts +19918 -0
  74. package/workspace-elements/styles/lexiq-workspaces.css +7310 -4010
  75. package/document-workspaces/index.d.ts +0 -2116
  76. package/elements/index.d.ts +0 -346
  77. package/fesm2022/sinequa-atomic-angular-elements.mjs +0 -7526
  78. package/fesm2022/sinequa-atomic-angular-elements.mjs.map +0 -1
  79. package/index.d.ts +0 -16119
  80. package/workspace-elements/index.d.ts +0 -37
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @sinequa/atomic-angular
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@sinequa/atomic-angular.svg)](https://npm.sinequa.com/@sinequa/atomic-angular)
4
- [![Angular](https://img.shields.io/badge/Angular-v20-red.svg)](https://angular.dev)
4
+ [![Angular](https://img.shields.io/badge/Angular-v22-red.svg)](https://angular.dev)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
6
6
 
7
7
  > A comprehensive Angular component library and design system for building modern Sinequa search applications.
@@ -20,14 +20,18 @@ npm install @sinequa/atomic-angular
20
20
 
21
21
  ```json
22
22
  {
23
- "@angular/common": "^20.0.0",
24
- "@angular/core": "^20.0.0",
25
- "rxjs": "^7.8.0"
23
+ "@angular/core": "^22.0.0",
24
+ "@angular/aria": "^22.0.0",
25
+ "@sinequa/galactik": "^2.0.0-next.1",
26
+ "@sinequa/atomic": ">=2.3.0"
26
27
  }
27
28
  ```
28
29
 
29
- > ℹ️ The peer dependency above targets the **1.x** line (Angular 20). For the Angular 22
30
- > line, see the compatibility table below.
30
+ > ℹ️ The peer dependency above targets the **2.x** line (Angular 22, pre-release). For the
31
+ > Angular 20 lines (1.x / 1.0.x), see the compatibility table below.
32
+
33
+ > See [`ARCHITECTURE.md`](../../ARCHITECTURE.md) for how this library relates to
34
+ > `@sinequa/galactik` (and the deprecated `@sinequa/ui`, which it no longer depends on).
31
35
 
32
36
  ## Versioning & Compatibility
33
37
 
@@ -51,9 +55,6 @@ matches the Angular version embedded in your product.
51
55
  - A fix relevant to several lines is applied to each supported line independently, so you
52
56
  receive it on whichever line you track — without being forced onto a new Angular major.
53
57
 
54
- > Maintainers: the branching and propagation process is documented in
55
- > [`HOTFIX.md`](https://github.com/Product/sba-atomic-angular/blob/develop/HOTFIX.md).
56
-
57
58
  ## Features
58
59
 
59
60
  ### 🔐 Authentication & Authorization
@@ -122,9 +123,11 @@ utils/ # Utility functions
122
123
 
123
124
  ### Authentication
124
125
 
125
- - `SignInFormComponent` - User sign-in
126
- - `ChangePasswordFormComponent` - Password change
127
- - `ForgotPasswordFormComponent` - Password recovery
126
+ - `AuthPageComponent` - Authentication page, switches between the views below
127
+ - `SignInComponent` - User sign-in
128
+ - `ChangePasswordComponent` - Password change
129
+ - `ForgotPasswordComponent` - Password recovery
130
+ - `SignedOutComponent` - Post-logout confirmation
128
131
  - `AuthGuard` - Route protection
129
132
  - `PasswordExpiryGuard` - Password expiry detection
130
133
 
@@ -133,7 +136,7 @@ utils/ # Utility functions
133
136
  - Alerts management
134
137
  - Bookmarks system
135
138
  - Collections management
136
- - Advanced search drawer
139
+ - Advanced search
137
140
  - Export functionality
138
141
  - Feedback system
139
142
  - Labels management
@@ -211,11 +214,13 @@ const routes: Routes = [
211
214
 
212
215
  #### Authentication
213
216
 
217
+ Route `/login` and `/logout` to `AuthPageComponent` rather than to `SignInComponent` directly — it is what switches between the sign-in, change-password, forgot-password and signed-out views.
218
+
214
219
  ```typescript
215
220
  // Before
216
- import { SignInComponent } from '@sinequa/atomic-angular';
221
+ { path: 'login', component: SignInComponent }
217
222
  // After
218
- import { SignInFormComponent } from '@sinequa/atomic-angular';
223
+ { path: 'login', component: AuthPageComponent }
219
224
  ```
220
225
 
221
226
  ## Browser Support
@@ -227,9 +232,9 @@ import { SignInFormComponent } from '@sinequa/atomic-angular';
227
232
 
228
233
  ## Requirements
229
234
 
230
- - Angular 20+
231
- - TypeScript 5.7+
232
- - Node.js 18+
235
+ - Angular 22+
236
+ - TypeScript 6.0+
237
+ - Node.js 22.22+
233
238
 
234
239
  ## License
235
240
 
@@ -1,4 +1,6 @@
1
1
  {
2
+ "moreTabs": "Weitere Registerkarten",
2
3
  "result": "Ergebnis",
3
- "results": "Ergebnisse"
4
- }
4
+ "results": "Ergebnisse",
5
+ "tabs": "Registerkarten"
6
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "moreTabs": "More tabs",
2
3
  "result": "Result",
3
- "results": "Results"
4
- }
4
+ "results": "Results",
5
+ "tabs": "Tabs"
6
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
- "result": "Résultat",
3
- "results": "Résultats"
4
- }
2
+ "moreTabs": "Plus d'onglets",
3
+ "result": "Résultat",
4
+ "results": "Résultats",
5
+ "tabs": "Onglets"
6
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "documentPreview": "Dokumentenvorschau",
3
+ "zoomFit": "Anpassen",
4
+ "zoomIn": "Vergrößern",
5
+ "zoomOut": "Verkleinern",
6
+ "toggleHeader": "Dokumentdetails ein-/ausblenden",
7
+ "moreActions": "Weitere Aktionen",
8
+ "highlights": "Hervorhebungen",
9
+ "searchInDocument": "Im Dokument suchen",
10
+ "toggleAIDescription": "KI-Beschreibung anzeigen / KI-Beschreibung ausblenden",
11
+ "previewUnavailable": "Vorschau für diese Datei ist leider nicht verfügbar."
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "documentPreview": "Document preview",
3
+ "zoomFit": "Fit",
4
+ "zoomIn": "Zoom in",
5
+ "zoomOut": "Zoom out",
6
+ "toggleHeader": "Toggle document details",
7
+ "moreActions": "More actions",
8
+ "highlights": "Highlights",
9
+ "searchInDocument": "Search in document",
10
+ "toggleAIDescription": "Show AI description / Hide AI description",
11
+ "previewUnavailable": "Sorry, preview is not available for this file."
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "documentPreview": "Prévisualisation du document",
3
+ "zoomFit": "Ajuster",
4
+ "zoomIn": "Zoomer",
5
+ "zoomOut": "Dézoomer",
6
+ "toggleHeader": "Afficher/masquer les détails du document",
7
+ "moreActions": "Plus d'actions",
8
+ "highlights": "Surlignages",
9
+ "searchInDocument": "Rechercher dans le document",
10
+ "toggleAIDescription": "Afficher la description de l'IA / Cacher la description de l'IA",
11
+ "previewUnavailable": "Désolé, la prévisualisation n'est pas disponible pour ce fichier."
12
+ }
@@ -1,3 +1,4 @@
1
1
  {
2
+ "currentSort": "Sortierung: {{sort}}",
2
3
  "selectSort": "Sortierung auswählen"
3
4
  }
@@ -1,3 +1,4 @@
1
1
  {
2
+ "currentSort": "Sort: {{sort}}",
2
3
  "selectSort": "Select Sort"
3
4
  }
@@ -1,3 +1,4 @@
1
1
  {
2
+ "currentSort": "Tri : {{sort}}",
2
3
  "selectSort": "Choisir un tri"
3
4
  }
@@ -0,0 +1,3 @@
1
+ {
2
+ "opensInNewWindow": "(öffnet in einem neuen Fenster)"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "opensInNewWindow": "(opens in a new window)"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "opensInNewWindow": "(nouvelle fenêtre)"
3
+ }
@@ -42,7 +42,7 @@
42
42
  "roleShared": "Geteilt",
43
43
  "searchPlaceholder": "Arbeitsbereich suchen...",
44
44
  "selectedCount": "{count, plural, one {{count} ausgewählt} other {{count} ausgewählt}}",
45
- "subtitle": "Organisieren Sie Dokumente in wiederverwendbaren Sets.",
45
+ "subtitle": "Laden Sie Ihre Dokumente hoch, indizieren und teilen Sie sie.",
46
46
  "tabAll": "Alle Arbeitsbereiche",
47
47
  "tabEditor": "Bearbeiter",
48
48
  "tabReader": "Leser",
@@ -92,6 +92,8 @@
92
92
  "saving": "Wird gespeichert…",
93
93
  "shareHint": "Suchen Sie eine Person, um Zugriff zu gewähren · klicken Sie auf die Rolle eines Chips, um zwischen Eigentümer und Leser zu wechseln",
94
94
  "shareLabel": "Freigeben für",
95
+ "tagAdded": "{tag} hinzugefügt",
96
+ "tagRemoved": "{tag} entfernt",
95
97
  "tagsHint": "Komma oder Enter fügt ein Tag hinzu · Rücktaste entfernt das letzte",
96
98
  "tagsLabel": "Tags",
97
99
  "tagsPlaceholder": "Tag eingeben und Komma drücken…"
@@ -126,7 +128,7 @@
126
128
  },
127
129
  "share": {
128
130
  "accessCount": "{count, plural, one {{count} Person hat Zugriff} other {{count} Personen haben Zugriff}}",
129
- "accessNotice": "Einige Dokumente dieses Arbeitsbereichs sind möglicherweise nicht für alle Benutzer zugänglich, mit denen er geteilt wird. Dokumente aus freigegebenen Laufwerken oder externen Quellen unterliegen weiterhin ihren ursprünglichen Zugriffsberechtigungen. Lokal von Ihrem Gerät hochgeladene Dateien bleiben über den geteilten Arbeitsbereich stets zugänglich.",
131
+ "accessNotice": "Benutzer, die zu diesem Arbeitsbereich hinzugefügt werden, erhalten Zugriff auf alle hochgeladenen Dokumente, die auch in ihren Suchergebnissen erscheinen.",
130
132
  "addPeople": "Personen hinzufügen",
131
133
  "adding": "Wird hinzugefügt…",
132
134
  "changeRole": "Rolle von {name} ändern",
@@ -197,6 +199,8 @@
197
199
  "cancelUpload": "Hochladen abbrechen",
198
200
  "retryUpload": "Hochladen erneut versuchen",
199
201
  "retryAll": "Alle erneut versuchen",
202
+ "remoteUpload": "Upload eines anderen Benutzers",
203
+ "ownUpload": "Ihr Upload",
200
204
  "workspaceIndexed": "{name}: indiziert"
201
205
  },
202
206
  "picker": {
@@ -42,7 +42,7 @@
42
42
  "roleShared": "Shared",
43
43
  "searchPlaceholder": "Search workspace...",
44
44
  "selectedCount": "{count, plural, one {{count} selected} other {{count} selected}}",
45
- "subtitle": "Organize documents into reusable sets.",
45
+ "subtitle": "Upload, index and share your documents.",
46
46
  "tabAll": "All Workspaces",
47
47
  "tabEditor": "Editor",
48
48
  "tabReader": "Reader",
@@ -92,6 +92,8 @@
92
92
  "saving": "Saving…",
93
93
  "shareHint": "Search a user to grant access · click a role chip to switch between Owner and Reader",
94
94
  "shareLabel": "Share with",
95
+ "tagAdded": "{tag} added",
96
+ "tagRemoved": "{tag} removed",
95
97
  "tagsHint": "Press comma or Enter to add a tag · Backspace to remove the last one",
96
98
  "tagsLabel": "Tags",
97
99
  "tagsPlaceholder": "Type a tag and press comma…"
@@ -126,7 +128,7 @@
126
128
  },
127
129
  "share": {
128
130
  "accessCount": "{count, plural, one {{count} person has access} other {{count} people have access}}",
129
- "accessNotice": "Some documents in this workspace may not be accessible to all shared users. Documents from shared drives or external sources remain subject to their original access permissions. Locally uploaded files from your personal device will always be accessible through the shared workspace.",
131
+ "accessNotice": "Users added to this workspace get access to all its uploaded documents, which will also appear in their search results.",
130
132
  "addPeople": "Add people",
131
133
  "adding": "Adding…",
132
134
  "changeRole": "Change the role of {name}",
@@ -197,6 +199,8 @@
197
199
  "cancelUpload": "Cancel upload",
198
200
  "retryUpload": "Retry upload",
199
201
  "retryAll": "Retry all",
202
+ "remoteUpload": "Upload by another user",
203
+ "ownUpload": "Your upload",
200
204
  "workspaceIndexed": "{name}: indexed"
201
205
  },
202
206
  "picker": {
@@ -42,7 +42,7 @@
42
42
  "roleShared": "Partagée",
43
43
  "searchPlaceholder": "Rechercher un espace de travail...",
44
44
  "selectedCount": "{count, plural, one {{count} sélectionnée} many {{count} sélectionnées} other {{count} sélectionnées}}",
45
- "subtitle": "Organisez vos documents en ensembles réutilisables.",
45
+ "subtitle": "Téléversez, indexez et partagez vos documents.",
46
46
  "tabAll": "Tous les espaces de travail",
47
47
  "tabEditor": "Éditeur",
48
48
  "tabReader": "Lecteur",
@@ -92,6 +92,8 @@
92
92
  "saving": "Enregistrement…",
93
93
  "shareHint": "Recherchez un utilisateur pour lui donner accès · cliquez sur le rôle d'une puce pour basculer entre Propriétaire et Lecteur",
94
94
  "shareLabel": "Partager avec",
95
+ "tagAdded": "{tag} ajoutée",
96
+ "tagRemoved": "{tag} retirée",
95
97
  "tagsHint": "Appuyez sur virgule ou Entrée pour ajouter une étiquette · Retour arrière pour supprimer la dernière",
96
98
  "tagsLabel": "Étiquettes",
97
99
  "tagsPlaceholder": "Saisissez une étiquette puis une virgule…"
@@ -126,7 +128,7 @@
126
128
  },
127
129
  "share": {
128
130
  "accessCount": "{count, plural, one {{count} personne a accès} many {{count} personnes ont accès} other {{count} personnes ont accès}}",
129
- "accessNotice": "Certains documents de cet espace de travail peuvent ne pas être accessibles à tous les utilisateurs avec qui il est partagé. Les documents provenant de lecteurs partagés ou de sources externes restent soumis à leurs autorisations d’accès d’origine. Les fichiers téléversés depuis votre appareil personnel resteront toujours accessibles via l’espace de travail partagé.",
131
+ "accessNotice": "Les utilisateurs ajoutés à cet espace de travail ont accès à tous ses documents téléversés, qui apparaîtront aussi dans leurs résultats de recherche.",
130
132
  "addPeople": "Ajouter des personnes",
131
133
  "adding": "Ajout…",
132
134
  "changeRole": "Changer le rôle de {name}",
@@ -197,6 +199,8 @@
197
199
  "cancelUpload": "Annuler le téléversement",
198
200
  "retryUpload": "Réessayer le téléversement",
199
201
  "retryAll": "Tout réessayer",
202
+ "remoteUpload": "Envoi d'un autre utilisateur",
203
+ "ownUpload": "Votre envoi",
200
204
  "workspaceIndexed": "{name} : indexé"
201
205
  },
202
206
  "picker": {
@@ -42,7 +42,7 @@
42
42
  "roleShared": "共有",
43
43
  "searchPlaceholder": "ワークスペースを検索...",
44
44
  "selectedCount": "{count, plural, other {{count} 件選択中}}",
45
- "subtitle": "ドキュメントを再利用可能なセットに整理します。",
45
+ "subtitle": "ドキュメントをアップロードし、インデックス化して共有します。",
46
46
  "tabAll": "すべてのワークスペース",
47
47
  "tabEditor": "編集者",
48
48
  "tabReader": "閲覧者",
@@ -92,6 +92,8 @@
92
92
  "saving": "保存しています…",
93
93
  "shareHint": "ユーザーを検索してアクセス権を付与します · チップのロールをクリックすると、オーナーとリーダーを切り替えられます",
94
94
  "shareLabel": "共有先",
95
+ "tagAdded": "{tag} を追加しました",
96
+ "tagRemoved": "{tag} を削除しました",
95
97
  "tagsHint": "カンマまたは Enter でタグを追加 · Backspace で最後のタグを削除",
96
98
  "tagsLabel": "タグ",
97
99
  "tagsPlaceholder": "タグを入力してカンマを押す…"
@@ -126,7 +128,7 @@
126
128
  },
127
129
  "share": {
128
130
  "accessCount": "{count, plural, other {{count} 人がアクセスできます}}",
129
- "accessNotice": "このワークスペース内の一部のドキュメントは、共有されたすべてのユーザーがアクセスできるとは限りません。共有ドライブや外部ソースのドキュメントには、元のアクセス権限が引き続き適用されます。お使いの端末からアップロードされたファイルは、共有ワークスペースから常にアクセスできます。",
131
+ "accessNotice": "このワークスペースに追加されたユーザーは、アップロードされたすべてのドキュメントにアクセスでき、それらは検索結果にも表示されます。",
130
132
  "addPeople": "ユーザーを追加",
131
133
  "adding": "追加しています…",
132
134
  "changeRole": "{name} のロールを変更",
@@ -197,6 +199,8 @@
197
199
  "cancelUpload": "アップロードをキャンセル",
198
200
  "retryUpload": "アップロードを再試行",
199
201
  "retryAll": "すべて再試行",
202
+ "remoteUpload": "他のユーザーによるアップロード",
203
+ "ownUpload": "あなたのアップロード",
200
204
  "workspaceIndexed": "{name}: インデックス済み"
201
205
  },
202
206
  "picker": {
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "inputPlaceholder": "Im Dokument suchen",
3
3
  "noRelevantExtracts": "Keine relevanten Auszüge gefunden.",
4
+ "noEntities": "Keine Entitäten gefunden.",
5
+ "entitiesTab": "Entitäten",
6
+ "navigateOccurrences": "Zwischen Vorkommen wechseln",
4
7
  "similarDocuments": "Ähnliche Dokumente",
5
8
  "filterContainsAll": "enthält alle diese Wörter",
6
9
  "filterContainsExact": "enthält genau diese Wörter",
@@ -19,5 +22,13 @@
19
22
  "startTyping": "Zum Suchen tippen...",
20
23
  "noResult": "Keine Ergebnisse zum Anzeigen...",
21
24
  "noFilters": "Keine Filter in der Konfiguration definiert",
22
- "emptySearchNotAllowed": "Leere Suche ist nicht erlaubt."
25
+ "emptySearchNotAllowed": "Leere Suche ist nicht erlaubt.",
26
+ "allTab": "Alle",
27
+ "filterMatchesPlaceholder": "Sie können UND/ODER-Kriterien verwenden",
28
+ "searching": "Suche läuft…",
29
+ "searchFailed": "Die Suche ist fehlgeschlagen",
30
+ "removeFilter": "{label} entfernen",
31
+ "noOptions": "Keine Optionen",
32
+ "findInContentOperator": "Operator der Suche im Inhalt",
33
+ "findInTitleOperator": "Operator der Suche im Titel"
23
34
  }
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "inputPlaceholder": "Search in document",
3
3
  "noRelevantExtracts": "No relevant extracts found.",
4
+ "noEntities": "No entities found.",
5
+ "entitiesTab": "Entities",
6
+ "navigateOccurrences": "Navigate between occurrences",
4
7
  "similarDocuments": "Similar documents",
5
8
  "filterContainsAll": "contains all these words",
6
9
  "filterContainsExact": "contains this exact words",
@@ -19,5 +22,13 @@
19
22
  "startTyping": "Start typing to search...",
20
23
  "noResult": "No results to be displayed...",
21
24
  "noFilters": "No filters defined in the configuration",
22
- "emptySearchNotAllowed": "Empty search is not allowed."
25
+ "emptySearchNotAllowed": "Empty search is not allowed.",
26
+ "allTab": "All",
27
+ "filterMatchesPlaceholder": "you can use AND/OR criteria",
28
+ "searching": "Searching…",
29
+ "searchFailed": "Search failed",
30
+ "removeFilter": "Remove {label}",
31
+ "noOptions": "No options",
32
+ "findInContentOperator": "Operator of the search in the content",
33
+ "findInTitleOperator": "Operator of the search in the title"
23
34
  }
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "inputPlaceholder": "Rechercher dans le document",
3
3
  "noRelevantExtracts": "Aucun extrait trouvé.",
4
+ "noEntities": "Aucune entité trouvée.",
5
+ "entitiesTab": "Entités",
6
+ "navigateOccurrences": "Naviguer entre les occurrences",
4
7
  "similarDocuments": "Documents similaires",
5
8
  "filterContainsAll": "contient tous ces mots",
6
9
  "filterContainsExact": "contient exactement ces mots",
@@ -10,7 +13,7 @@
10
13
  "findInContent": "Chercher dans le contenu",
11
14
  "findInTitle": "Chercher dans le titre",
12
15
  "findInLocation": "Chercher dans la localisation",
13
- "inScope": "Scope",
16
+ "inScope": "Dans le périmètre",
14
17
  "applyFilters": "Filtres",
15
18
  "noSuggestion": "Aucune suggestion",
16
19
  "search": "Chercher",
@@ -19,5 +22,13 @@
19
22
  "startTyping": "Commencez à écrire pour chercher...",
20
23
  "noResult": "Aucun résultat à afficher...",
21
24
  "noFilters": "Aucun fitre défini dans la configuration",
22
- "emptySearchNotAllowed": "La recherche vide n'est pas autorisée."
25
+ "emptySearchNotAllowed": "La recherche vide n'est pas autorisée.",
26
+ "allTab": "Tous",
27
+ "filterMatchesPlaceholder": "vous pouvez utiliser des critères ET/OU",
28
+ "searching": "Recherche en cours…",
29
+ "searchFailed": "La recherche a échoué",
30
+ "removeFilter": "Retirer {label}",
31
+ "noOptions": "Aucune option",
32
+ "findInContentOperator": "Opérateur de la recherche dans le contenu",
33
+ "findInTitleOperator": "Opérateur de la recherche dans le titre"
23
34
  }
@@ -13,7 +13,12 @@
13
13
  "updateQuery": "Abfrage aktualisieren",
14
14
  "queryUpdated": "Abfrage erfolgreich aktualisiert",
15
15
  "placeholder": "z.B. Tägliche Standup-Erinnerung",
16
+ "selectFrequency": "Häufigkeit auswählen",
16
17
  "repeatOn": "Wiederholen am",
18
+ "errors": {
19
+ "required": "Dieses Feld ist erforderlich.",
20
+ "noDaySelected": "Wählen Sie mindestens einen Tag aus."
21
+ },
17
22
  "weekdays": {
18
23
  "monday": "Montag",
19
24
  "tuesday": "Dienstag",
@@ -29,5 +34,6 @@
29
34
  "Immediate": "Sofort",
30
35
  "Weekly": "Wöchentlich",
31
36
  "Monthly": "Monatlich"
32
- }
37
+ },
38
+ "close": "Schließen"
33
39
  }
@@ -13,7 +13,12 @@
13
13
  "updateQuery": "Update query",
14
14
  "queryUpdated": "Query successfully updated",
15
15
  "placeholder": "e.g. Daily Standup Reminder",
16
+ "selectFrequency": "Select a frequency",
16
17
  "repeatOn": "Repeat on",
18
+ "errors": {
19
+ "required": "This field is required.",
20
+ "noDaySelected": "Select at least one day."
21
+ },
17
22
  "weekdays": {
18
23
  "monday": "Monday",
19
24
  "tuesday": "Tuesday",
@@ -29,5 +34,6 @@
29
34
  "Immediate": "Immediate",
30
35
  "Weekly": "Weekly",
31
36
  "Monthly": "Monthly"
32
- }
37
+ },
38
+ "close": "Close"
33
39
  }
@@ -13,7 +13,12 @@
13
13
  "updateQuery": "Mettre à jour la requête",
14
14
  "queryUpdated": "Requête mise à jour avec succès",
15
15
  "placeholder": "ex. Rappel de réunion quotidienne",
16
+ "selectFrequency": "Sélectionner une fréquence",
16
17
  "repeatOn": "Répéter le",
18
+ "errors": {
19
+ "required": "Ce champ est obligatoire.",
20
+ "noDaySelected": "Sélectionnez au moins un jour."
21
+ },
17
22
  "weekdays": {
18
23
  "monday": "Lundi",
19
24
  "tuesday": "Mardi",
@@ -29,5 +34,6 @@
29
34
  "Immediate": "Immédiat",
30
35
  "Weekly": "Hebdomadaire",
31
36
  "Monthly": "Mensuel"
32
- }
37
+ },
38
+ "close": "Fermer"
33
39
  }
@@ -11,6 +11,12 @@
11
11
  "passwordExpiresSoon": "Ihr Passwort läuft bald ab",
12
12
  "passwordExpired": "Ihr Passwort ist abgelaufen, Sie müssen es ändern",
13
13
  "differentPasswords": "Ihre Passwörter stimmen nicht überein.",
14
+ "errors": {
15
+ "required": "Dieses Feld ist erforderlich.",
16
+ "passwordMismatch": "Ihre Passwörter stimmen nicht überein."
17
+ },
18
+ "showPassword": "Passwort anzeigen",
19
+ "hidePassword": "Passwort verbergen",
14
20
  "forgotPassword": "Passwort vergessen",
15
21
  "forgotPasswordTitle": "Passwort vergessen?",
16
22
  "forgotPasswordDescription": "Geben Sie Ihren Benutzernamen ein. Wenn Ihr Konto gültig ist und eine E-Mail-Adresse hat, erhalten Sie einen Link zum Zurücksetzen.",
@@ -11,6 +11,12 @@
11
11
  "passwordExpiresSoon": "Your password is expiring soon",
12
12
  "passwordExpired": "Your password has expired, you need to change it",
13
13
  "differentPasswords": "Your passwords do not match.",
14
+ "errors": {
15
+ "required": "This field is required.",
16
+ "passwordMismatch": "Your passwords do not match."
17
+ },
18
+ "showPassword": "Show password",
19
+ "hidePassword": "Hide password",
14
20
  "passwordChangeFailed": "Password change failed",
15
21
  "loginAfterPasswordChangeMissingUser": "Login after password change failed, the username is missing.",
16
22
  "loginAfterPasswordChangeFailed": "Login after password change failed, could not login.",
@@ -12,6 +12,12 @@
12
12
  "passwordExpiresSoon": "Votre mot de passe expire bientôt",
13
13
  "passwordExpired": "Votre mot de passe a expiré, vous devez le changer",
14
14
  "differentPasswords": "Vos mots de passe ne sont pas similaires.",
15
+ "errors": {
16
+ "required": "Ce champ est obligatoire.",
17
+ "passwordMismatch": "Vos mots de passe ne sont pas similaires."
18
+ },
19
+ "showPassword": "Afficher le mot de passe",
20
+ "hidePassword": "Masquer le mot de passe",
15
21
  "passwordChangeFailed": "Échec du changement de mot de passe",
16
22
  "loginAfterPasswordChangeMissingUser": "Échec de l'authentification après le changement de mot de passe, le nom d'utilisateur est manquant.",
17
23
  "loginAfterPasswordChangeFailed": "Échec de l'authentification après le changement de mot de passe, impossible de se connecter.",
@@ -22,7 +28,6 @@
22
28
  "sendResetLink": "Envoyer le lien de réinitialisation",
23
29
  "resetEmailSent": "Un lien de réinitialisation a été envoyé à {{email}}",
24
30
  "resetEmailFailed": "Impossible d'envoyer l'e-mail de réinitialisation",
25
- "loginDescription": "Saisissez votre adresse email pour vous connecter",
26
31
  "SignInWith": "Se connecter avec { provider }",
27
32
  "or": "Ou",
28
33
  "welcomeBack": "Bienvenue { name, select, other {{{name}}} undefined {}}!",
@@ -13,5 +13,8 @@
13
13
  "save": "Speichern",
14
14
  "create": "Erstellen",
15
15
  "cancel": "Abbrechen",
16
- "close": "Schließen"
16
+ "close": "Schließen",
17
+ "back": "Zurück",
18
+ "searchCollections": "Sammlungen suchen",
19
+ "noMatch": "Keine passende Sammlung"
17
20
  }
@@ -13,5 +13,8 @@
13
13
  "save": "Save",
14
14
  "create": "Create",
15
15
  "cancel": "Cancel",
16
- "close": "Close"
16
+ "close": "Close",
17
+ "back": "Back",
18
+ "searchCollections": "Search collections",
19
+ "noMatch": "No collection matches"
17
20
  }
@@ -13,5 +13,8 @@
13
13
  "save": "Enregistrer",
14
14
  "create": "Créer",
15
15
  "cancel": "Annuler",
16
- "close": "Fermer"
16
+ "close": "Fermer",
17
+ "back": "Retour",
18
+ "searchCollections": "Rechercher une collection",
19
+ "noMatch": "Aucune collection ne correspond"
17
20
  }
@@ -8,9 +8,19 @@
8
8
  "override": "Überschreiben",
9
9
  "welcomeBack": "Willkommen zurück"
10
10
  },
11
+ "errors": {
12
+ "required": "Dieses Feld ist erforderlich."
13
+ },
11
14
  "resetUserSettings": {
12
15
  "title": "Benutzereinstellungen zurücksetzen",
13
16
  "message": "Sie sind dabei, ALLE Ihre Benutzerdaten (letzte Abfragen, Sammlungen, Benachrichtigungen, Einstellungen usw.) zurückzusetzen. Möchten Sie fortfahren?",
14
17
  "success": "Benutzereinstellungen wurden erfolgreich zurückgesetzt."
15
- }
18
+ },
19
+ "keyboardShortcuts": {
20
+ "title": "Tastenkombinationen",
21
+ "empty": "Auf dieser Seite ist keine Tastenkombination verfügbar.",
22
+ "or": "oder",
23
+ "close": "Schließen"
24
+ },
25
+ "close": "Schließen"
16
26
  }
@@ -8,9 +8,19 @@
8
8
  "override": "Override",
9
9
  "welcomeBack": "Welcome back"
10
10
  },
11
+ "errors": {
12
+ "required": "This field is required."
13
+ },
11
14
  "resetUserSettings": {
12
15
  "title": "Reset User Settings",
13
16
  "message": "You are about to reset ALL your user data (recent queries, collections, alerts, preferences, etc.). Do you want to continue?",
14
17
  "success": "User settings have been reset successfully."
15
- }
18
+ },
19
+ "keyboardShortcuts": {
20
+ "title": "Keyboard shortcuts",
21
+ "empty": "No keyboard shortcut is available on this page.",
22
+ "or": "or",
23
+ "close": "Close"
24
+ },
25
+ "close": "Close"
16
26
  }