@rebasepro/app 0.0.1-canary.4829d6e
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/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/auth/api.d.ts +66 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/types.d.ts +127 -0
- package/dist/auth/useRebaseAuthController.d.ts +13 -0
- package/dist/components/AIIcon.d.ts +17 -0
- package/dist/components/AuthSimulationMenu.d.ts +0 -0
- package/dist/components/ConfirmationDialog.d.ts +9 -0
- package/dist/components/Debug/UIReferenceView.d.ts +13 -0
- package/dist/components/Debug/UIStyleGuide.d.ts +2 -0
- package/dist/components/Debug/collection-views/CardViewDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/CollectionTableDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/KanbanBoardDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/index.d.ts +3 -0
- package/dist/components/Debug/collection-views/sample_data.d.ts +23 -0
- package/dist/components/Debug/crm-dashboard/CalendarWidget.d.ts +22 -0
- package/dist/components/Debug/crm-dashboard/CrmDashboardDemo.d.ts +2 -0
- package/dist/components/Debug/crm-dashboard/DashboardMetrics.d.ts +15 -0
- package/dist/components/Debug/crm-dashboard/PipelineOverview.d.ts +34 -0
- package/dist/components/Debug/crm-dashboard/RecentActivity.d.ts +19 -0
- package/dist/components/Debug/crm-dashboard/TaskFilters.d.ts +30 -0
- package/dist/components/Debug/crm-dashboard/TaskTable.d.ts +50 -0
- package/dist/components/Debug/crm-dashboard/TasksView.d.ts +41 -0
- package/dist/components/ErrorTooltip.d.ts +3 -0
- package/dist/components/ErrorView.d.ts +21 -0
- package/dist/components/LanguageToggle.d.ts +2 -0
- package/dist/components/LoginView/LoginView.d.ts +113 -0
- package/dist/components/LoginView/index.d.ts +2 -0
- package/dist/components/NotFoundPage.d.ts +2 -0
- package/dist/components/RebaseAuth.d.ts +10 -0
- package/dist/components/RebaseLogo.d.ts +7 -0
- package/dist/components/SchemaDriftBanner.d.ts +27 -0
- package/dist/components/UnsavedChangesDialog.d.ts +9 -0
- package/dist/components/UserDisplay.d.ts +7 -0
- package/dist/components/UserSelectPopover.d.ts +63 -0
- package/dist/components/UserSettingsView.d.ts +2 -0
- package/dist/components/common/index.d.ts +6 -0
- package/dist/components/common/table_height.d.ts +5 -0
- package/dist/components/common/types.d.ts +66 -0
- package/dist/components/common/useColumnsIds.d.ts +9 -0
- package/dist/components/common/useDataTableController.d.ts +45 -0
- package/dist/components/common/useDebouncedData.d.ts +9 -0
- package/dist/components/common/useScrollRestoration.d.ts +14 -0
- package/dist/components/index.d.ts +18 -0
- package/dist/contexts/AdminModeController.d.ts +4 -0
- package/dist/contexts/AnalyticsContext.d.ts +3 -0
- package/dist/contexts/AuthControllerContext.d.ts +3 -0
- package/dist/contexts/CollectionScopeContext.d.ts +50 -0
- package/dist/contexts/ComponentOverrideContext.d.ts +42 -0
- package/dist/contexts/CustomizationControllerContext.d.ts +3 -0
- package/dist/contexts/DataDriverContext.d.ts +3 -0
- package/dist/contexts/DataSourcesContext.d.ts +31 -0
- package/dist/contexts/DatabaseAdminContext.d.ts +3 -0
- package/dist/contexts/DialogsProvider.d.ts +4 -0
- package/dist/contexts/EffectiveRoleController.d.ts +4 -0
- package/dist/contexts/ModeController.d.ts +4 -0
- package/dist/contexts/RebaseClientInstanceContext.d.ts +6 -0
- package/dist/contexts/RebaseDataContext.d.ts +3 -0
- package/dist/contexts/SnackbarProvider.d.ts +2 -0
- package/dist/contexts/StorageSourceContext.d.ts +3 -0
- package/dist/contexts/StorageSourcesContext.d.ts +25 -0
- package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/dist/contexts/index.d.ts +17 -0
- package/dist/core/PluginLifecycleManager.d.ts +17 -0
- package/dist/core/PluginProviderStack.d.ts +21 -0
- package/dist/core/Rebase.d.ts +15 -0
- package/dist/core/RebaseProps.d.ts +291 -0
- package/dist/core/RebaseRouter.d.ts +4 -0
- package/dist/core/RebaseRoutes.d.ts +17 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/hooks/ApiConfigContext.d.ts +24 -0
- package/dist/hooks/data/delete.d.ts +33 -0
- package/dist/hooks/data/save.d.ts +40 -0
- package/dist/hooks/data/useCollection.d.ts +62 -0
- package/dist/hooks/data/useData.d.ts +13 -0
- package/dist/hooks/data/useDataOrder.d.ts +12 -0
- package/dist/hooks/data/useFetch.d.ts +43 -0
- package/dist/hooks/data/useRelationSelector.d.ts +52 -0
- package/dist/hooks/index.d.ts +36 -0
- package/dist/hooks/useAdminModeController.d.ts +19 -0
- package/dist/hooks/useAnalyticsController.d.ts +5 -0
- package/dist/hooks/useAuthController.d.ts +11 -0
- package/dist/hooks/useAuthSubscription.d.ts +2 -0
- package/dist/hooks/useBackendStorageSource.d.ts +30 -0
- package/dist/hooks/useBridgeRegistration.d.ts +18 -0
- package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/dist/hooks/useBuildAdminModeController.d.ts +6 -0
- package/dist/hooks/useBuildEffectiveRoleController.d.ts +8 -0
- package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/dist/hooks/useBuildModeController.d.ts +6 -0
- package/dist/hooks/useClipboard.d.ts +57 -0
- package/dist/hooks/useCollapsedGroups.d.ts +27 -0
- package/dist/hooks/useComponentOverride.d.ts +32 -0
- package/dist/hooks/useCustomizationController.d.ts +11 -0
- package/dist/hooks/useDialogsController.d.ts +11 -0
- package/dist/hooks/useEffectiveRoleController.d.ts +7 -0
- package/dist/hooks/useLargeLayout.d.ts +1 -0
- package/dist/hooks/useModeController.d.ts +19 -0
- package/dist/hooks/usePermissions.d.ts +12 -0
- package/dist/hooks/useRebaseClient.d.ts +5 -0
- package/dist/hooks/useRebaseContext.d.ts +11 -0
- package/dist/hooks/useRebaseRegistry.d.ts +34 -0
- package/dist/hooks/useResolvedComponent.d.ts +47 -0
- package/dist/hooks/useSlot.d.ts +18 -0
- package/dist/hooks/useSnackbarController.d.ts +20 -0
- package/dist/hooks/useStorageSource.d.ts +6 -0
- package/dist/hooks/useStudioBridge.d.ts +79 -0
- package/dist/hooks/useTranslation.d.ts +17 -0
- package/dist/hooks/useUnsavedChangesDialog.d.ts +12 -0
- package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/dist/i18n/RebaseI18nProvider.d.ts +33 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.es.js +16843 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +17021 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/internal/common.d.ts +14 -0
- package/dist/internal/useRestoreScroll.d.ts +15 -0
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/en.d.ts +10 -0
- package/dist/locales/es.d.ts +10 -0
- package/dist/locales/fr.d.ts +2 -0
- package/dist/locales/hi.d.ts +2 -0
- package/dist/locales/it.d.ts +2 -0
- package/dist/locales/pt.d.ts +7 -0
- package/dist/util/constants.d.ts +1 -0
- package/dist/util/createFormexStub.d.ts +2 -0
- package/dist/util/entity_cache.d.ts +22 -0
- package/dist/util/enums.d.ts +5 -0
- package/dist/util/icon_list.d.ts +5 -0
- package/dist/util/icons.d.ts +20 -0
- package/dist/util/index.d.ts +8 -0
- package/dist/util/previews.d.ts +4 -0
- package/dist/util/useStorageUploadController.d.ts +44 -0
- package/dist/vitePlugin.d.ts +60 -0
- package/dist/vitePlugin.js +113 -0
- package/package.json +145 -0
- package/src/auth/api.ts +148 -0
- package/src/auth/index.ts +25 -0
- package/src/auth/types.ts +115 -0
- package/src/auth/useRebaseAuthController.ts +328 -0
- package/src/components/AIIcon.tsx +47 -0
- package/src/components/AuthSimulationMenu.tsx +0 -0
- package/src/components/ConfirmationDialog.tsx +48 -0
- package/src/components/Debug/UIReferenceView.tsx +958 -0
- package/src/components/Debug/UIStyleGuide.tsx +156 -0
- package/src/components/Debug/collection-views/CardViewDemo.tsx +85 -0
- package/src/components/Debug/collection-views/CollectionTableDemo.tsx +107 -0
- package/src/components/Debug/collection-views/KanbanBoardDemo.tsx +90 -0
- package/src/components/Debug/collection-views/index.ts +3 -0
- package/src/components/Debug/collection-views/sample_data.ts +42 -0
- package/src/components/Debug/crm-dashboard/CalendarWidget.tsx +389 -0
- package/src/components/Debug/crm-dashboard/CrmDashboardDemo.tsx +1102 -0
- package/src/components/Debug/crm-dashboard/DashboardMetrics.tsx +133 -0
- package/src/components/Debug/crm-dashboard/PipelineOverview.tsx +290 -0
- package/src/components/Debug/crm-dashboard/RecentActivity.tsx +215 -0
- package/src/components/Debug/crm-dashboard/TaskFilters.tsx +184 -0
- package/src/components/Debug/crm-dashboard/TaskTable.tsx +427 -0
- package/src/components/Debug/crm-dashboard/TasksView.tsx +234 -0
- package/src/components/ErrorTooltip.tsx +12 -0
- package/src/components/ErrorView.tsx +94 -0
- package/src/components/LanguageToggle.tsx +59 -0
- package/src/components/LoginView/LoginView.tsx +932 -0
- package/src/components/LoginView/index.ts +2 -0
- package/src/components/NotFoundPage.tsx +27 -0
- package/src/components/RebaseAuth.tsx +27 -0
- package/src/components/RebaseLogo.tsx +29 -0
- package/src/components/SchemaDriftBanner.tsx +102 -0
- package/src/components/UnsavedChangesDialog.tsx +46 -0
- package/src/components/UserDisplay.tsx +54 -0
- package/src/components/UserSelectPopover.tsx +399 -0
- package/src/components/UserSettingsView.tsx +318 -0
- package/src/components/common/index.ts +6 -0
- package/src/components/common/table_height.tsx +21 -0
- package/src/components/common/types.tsx +66 -0
- package/src/components/common/useColumnsIds.tsx +222 -0
- package/src/components/common/useDataTableController.tsx +514 -0
- package/src/components/common/useDebouncedData.ts +49 -0
- package/src/components/common/useScrollRestoration.tsx +68 -0
- package/src/components/index.tsx +26 -0
- package/src/contexts/AdminModeController.tsx +11 -0
- package/src/contexts/AnalyticsContext.tsx +4 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/CollectionScopeContext.tsx +67 -0
- package/src/contexts/ComponentOverrideContext.tsx +81 -0
- package/src/contexts/CustomizationControllerContext.tsx +4 -0
- package/src/contexts/DataDriverContext.tsx +4 -0
- package/src/contexts/DataSourcesContext.tsx +36 -0
- package/src/contexts/DatabaseAdminContext.tsx +4 -0
- package/src/contexts/DialogsProvider.tsx +56 -0
- package/src/contexts/EffectiveRoleController.tsx +12 -0
- package/src/contexts/ModeController.tsx +11 -0
- package/src/contexts/RebaseClientInstanceContext.tsx +7 -0
- package/src/contexts/RebaseDataContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.tsx +15 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/StorageSourcesContext.tsx +30 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.ts +17 -0
- package/src/core/PluginLifecycleManager.tsx +95 -0
- package/src/core/PluginProviderStack.tsx +40 -0
- package/src/core/Rebase.tsx +439 -0
- package/src/core/RebaseProps.tsx +320 -0
- package/src/core/RebaseRouter.tsx +17 -0
- package/src/core/RebaseRoutes.tsx +24 -0
- package/src/core/index.tsx +5 -0
- package/src/hooks/ApiConfigContext.tsx +41 -0
- package/src/hooks/data/delete.ts +55 -0
- package/src/hooks/data/save.ts +77 -0
- package/src/hooks/data/useCollection.tsx +176 -0
- package/src/hooks/data/useData.tsx +18 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useFetch.tsx +140 -0
- package/src/hooks/data/useRelationSelector.tsx +234 -0
- package/src/hooks/index.tsx +45 -0
- package/src/hooks/useAdminModeController.tsx +23 -0
- package/src/hooks/useAnalyticsController.tsx +8 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useAuthSubscription.ts +87 -0
- package/src/hooks/useBackendStorageSource.ts +288 -0
- package/src/hooks/useBridgeRegistration.tsx +32 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +23 -0
- package/src/hooks/useBuildAdminModeController.tsx +24 -0
- package/src/hooks/useBuildEffectiveRoleController.tsx +31 -0
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +75 -0
- package/src/hooks/useBuildModeController.tsx +71 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useCollapsedGroups.ts +116 -0
- package/src/hooks/useComponentOverride.tsx +59 -0
- package/src/hooks/useCustomizationController.tsx +14 -0
- package/src/hooks/useDialogsController.tsx +15 -0
- package/src/hooks/useEffectiveRoleController.tsx +10 -0
- package/src/hooks/useLargeLayout.tsx +65 -0
- package/src/hooks/useModeController.tsx +23 -0
- package/src/hooks/usePermissions.ts +44 -0
- package/src/hooks/useRebaseClient.tsx +10 -0
- package/src/hooks/useRebaseContext.tsx +83 -0
- package/src/hooks/useRebaseRegistry.tsx +91 -0
- package/src/hooks/useResolvedComponent.tsx +159 -0
- package/src/hooks/useSlot.tsx +64 -0
- package/src/hooks/useSnackbarController.tsx +52 -0
- package/src/hooks/useStorageSource.tsx +11 -0
- package/src/hooks/useStudioBridge.tsx +209 -0
- package/src/hooks/useTranslation.ts +33 -0
- package/src/hooks/useUnsavedChangesDialog.tsx +64 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/i18n/RebaseI18nProvider.tsx +160 -0
- package/src/index.ts +25 -0
- package/src/internal/common.tsx +16 -0
- package/src/internal/useRestoreScroll.tsx +69 -0
- package/src/locales/de.ts +902 -0
- package/src/locales/en.ts +980 -0
- package/src/locales/es.ts +922 -0
- package/src/locales/fr.ts +901 -0
- package/src/locales/hi.ts +901 -0
- package/src/locales/it.ts +901 -0
- package/src/locales/pt.ts +909 -0
- package/src/util/constants.ts +7 -0
- package/src/util/createFormexStub.tsx +66 -0
- package/src/util/entity_cache.ts +239 -0
- package/src/util/enums.ts +32 -0
- package/src/util/icon_list.ts +22 -0
- package/src/util/icons.tsx +149 -0
- package/src/util/index.ts +12 -0
- package/src/util/previews.ts +105 -0
- package/src/util/useStorageUploadController.tsx +350 -0
- package/src/vitePlugin.ts +196 -0
|
@@ -0,0 +1,901 @@
|
|
|
1
|
+
import { RebaseTranslations } from "@rebasepro/types";
|
|
2
|
+
|
|
3
|
+
export const fr: RebaseTranslations = {
|
|
4
|
+
// ─── Form actions ────────────────────────────────────────────
|
|
5
|
+
save: "Enregistrer",
|
|
6
|
+
create: "Créer",
|
|
7
|
+
create_copy: "Créer une copie",
|
|
8
|
+
save_and_close: "Enregistrer et fermer",
|
|
9
|
+
create_copy_and_close: "Créer une copie et fermer",
|
|
10
|
+
create_and_close: "Créer et fermer",
|
|
11
|
+
discard: "Ignorer",
|
|
12
|
+
clear: "Effacer",
|
|
13
|
+
cancel: "Annuler",
|
|
14
|
+
|
|
15
|
+
// ─── Entity actions ──────────────────────────────────────────
|
|
16
|
+
edit: "Modifier",
|
|
17
|
+
copy: "Copier",
|
|
18
|
+
delete: "Supprimer",
|
|
19
|
+
delete_not_allowed: "Vous avez sélectionné au moins une entité que vous ne pouvez pas supprimer",
|
|
20
|
+
|
|
21
|
+
// ─── Delete dialog ───────────────────────────────────────────
|
|
22
|
+
delete_confirmation_title: "Supprimer ?",
|
|
23
|
+
delete_confirmation_body: "Cela supprimera l'entité. Êtes-vous sûr ?",
|
|
24
|
+
delete_multiple_confirmation_body: "Cela supprimera les entités sélectionnées. Êtes-vous sûr ?",
|
|
25
|
+
|
|
26
|
+
// ─── Unsaved-changes dialog ───────────────────────────────────
|
|
27
|
+
unsaved_changes_title: "Modifications non enregistrées",
|
|
28
|
+
unsaved_changes_body: "Vous avez des modifications non enregistrées. Voulez-vous les ignorer ?",
|
|
29
|
+
discard_changes: "Ignorer les modifications",
|
|
30
|
+
keep_editing: "Continuer l'édition",
|
|
31
|
+
clear_form: "Vider le formulaire ?",
|
|
32
|
+
discard_changes_confirmation: "Toutes les modifications non enregistrées seront perdues. Cette action est irréversible.",
|
|
33
|
+
clear_form_confirmation: "Toutes les valeurs saisies seront effacées. Cette action est irréversible.",
|
|
34
|
+
|
|
35
|
+
// ─── Collection table / toolbar ──────────────────────────────
|
|
36
|
+
search: "Rechercher",
|
|
37
|
+
find_by_id: "Rechercher par ID",
|
|
38
|
+
find_entity_by_id: "Rechercher l'entité par ID",
|
|
39
|
+
filter: "Filtrer",
|
|
40
|
+
filters: "Filtres",
|
|
41
|
+
clear_filter: "Effacer le filtre",
|
|
42
|
+
clear_filter_sort: "Effacer le filtre/tri",
|
|
43
|
+
clear_sort: "Effacer le tri",
|
|
44
|
+
clear_all: "Tout effacer",
|
|
45
|
+
no_items: "Aucun élément",
|
|
46
|
+
no_entries_found: "Aucune entrée trouvée",
|
|
47
|
+
all_entries_loaded: "Toutes les {{count}} entrées chargées",
|
|
48
|
+
create_your_first_entry: "Créez votre première entrée",
|
|
49
|
+
no_results_filter_sort: "Aucun résultat avec le filtre/tri appliqué",
|
|
50
|
+
no_results_search: "Aucun résultat trouvé pour \"{{search}}\"",
|
|
51
|
+
add: "Ajouter",
|
|
52
|
+
remove: "Supprimer",
|
|
53
|
+
multiple_entities: "Entités multiples",
|
|
54
|
+
unsaved_changes: "Vous avez des modifications non enregistrées dans {{collectionName}}.",
|
|
55
|
+
so_empty: "C'est bien vide...",
|
|
56
|
+
no_results: "Aucun résultat avec le filtre/tri appliqué",
|
|
57
|
+
refresh_data: "Actualiser les données",
|
|
58
|
+
dark_mode: "Sombre",
|
|
59
|
+
light_mode: "Clair",
|
|
60
|
+
system_mode: "Système",
|
|
61
|
+
ok: "Ok",
|
|
62
|
+
save_collection_config: "Enregistrer la structure de la collection",
|
|
63
|
+
search_for_more_icons: "Rechercher d'autres icônes…",
|
|
64
|
+
ai_modified: "Modifié par l'IA",
|
|
65
|
+
size_label: "Taille",
|
|
66
|
+
group_by: "Grouper par",
|
|
67
|
+
initialize_kanban_order: "Initialiser l'ordre Kanban",
|
|
68
|
+
copy_id: "Copier l'ID",
|
|
69
|
+
add_specific: "Ajouter {{name}}",
|
|
70
|
+
select_specific: "Sélectionner {{name}}",
|
|
71
|
+
select_from: "Sélectionner depuis {{name}}",
|
|
72
|
+
done: "Terminé",
|
|
73
|
+
log_out: "Se déconnecter",
|
|
74
|
+
column_cannot_be_edited: "Cette colonne ne peut pas être modifiée directement",
|
|
75
|
+
close: "Fermer",
|
|
76
|
+
unsaved_local_changes: "Modifications locales non enregistrées",
|
|
77
|
+
unsaved_local_changes_description: "Ce document a été modifié localement et contient des modifications non enregistrées. Ces modifications locales seront perdues si vous ne les appliquez pas.",
|
|
78
|
+
preview_changes: "Aperçu des modifications",
|
|
79
|
+
apply_changes: "Appliquer les modifications",
|
|
80
|
+
discard_local_changes: "Ignorer les modifications locales",
|
|
81
|
+
preview_local_changes: "Aperçu des modifications locales",
|
|
82
|
+
preview_local_changes_description: "Voici les modifications locales qui seront appliquées au formulaire.",
|
|
83
|
+
type: "Type",
|
|
84
|
+
string: "chaîne de caractères",
|
|
85
|
+
number: "nombre",
|
|
86
|
+
boolean: "booléen",
|
|
87
|
+
date: "date",
|
|
88
|
+
map: "carte (map)",
|
|
89
|
+
array: "tableau",
|
|
90
|
+
arrays_of_arrays_not_supported: "Les tableaux de tableaux ne sont pas pris en charge.",
|
|
91
|
+
data_type_not_supported: "Type de données {{dataType}} non pris en charge pour le moment",
|
|
92
|
+
passkey_error_unsupported: "Votre appareil ou navigateur ne prend pas en charge les passkeys.",
|
|
93
|
+
|
|
94
|
+
// ─── Entity form feedback ─────────────────────────────────────
|
|
95
|
+
saved_correctly: "Enregistré avec succès",
|
|
96
|
+
error_before_saving: "Erreur lors de la préparation des données",
|
|
97
|
+
error_after_saving: "Erreur dans le traitement post-sauvegarde",
|
|
98
|
+
error_saving_entity: "Erreur lors de l'enregistrement de l'entité",
|
|
99
|
+
entity_does_not_exist: "Cette entité n'existe pas dans la base de données",
|
|
100
|
+
form_modified: "Ce formulaire a été modifié",
|
|
101
|
+
form_in_sync: "Le formulaire actuel est synchronisé avec la base de données",
|
|
102
|
+
fix_errors_before_saving: "Corrigez les erreurs signalées avant d'enregistrer",
|
|
103
|
+
|
|
104
|
+
admin: "Admin",
|
|
105
|
+
home: "Accueil",
|
|
106
|
+
this_form_has_errors: "Ce formulaire contient des erreurs",
|
|
107
|
+
error_loading_navigation: "Erreur lors du chargement de la navigation",
|
|
108
|
+
error_loading_auth: "Erreur lors du chargement de l'authentification",
|
|
109
|
+
this_form_has_been_modified: "Ce formulaire a été modifié",
|
|
110
|
+
current_form_in_sync: "Le formulaire actuel est synchronisé avec la base de données",
|
|
111
|
+
open_in_console: "Ouvrir dans la console",
|
|
112
|
+
collection_does_not_exist: "La collection spécifiée n'existe pas. Vérifiez la console",
|
|
113
|
+
unexpected_value: "Valeur inattendue",
|
|
114
|
+
unexpected_value_click_to_edit: "Valeur inattendue. Cliquez pour modifier",
|
|
115
|
+
unexpected_reference_value: "Valeur de référence inattendue. Cliquez pour modifier",
|
|
116
|
+
copy_url_to_clipboard: "Copier l'URL dans le presse-papiers",
|
|
117
|
+
open_image_in_new_tab: "Ouvrir l'image dans un nouvel onglet",
|
|
118
|
+
reference_not_set: "Référence non définie",
|
|
119
|
+
reference_does_not_exist: "La référence n'existe pas",
|
|
120
|
+
entity_not_found: "Entité non trouvée",
|
|
121
|
+
file_not_found: "Fichier non trouvé",
|
|
122
|
+
unsaved_changes_in_entity: "Vous avez des modifications non enregistrées dans cette entité.",
|
|
123
|
+
delete_this_role: "Supprimer ce rôle",
|
|
124
|
+
no_roles_yet: "Vous n'avez pas encore de rôles.",
|
|
125
|
+
create_default_roles: "Créer les rôles par défaut",
|
|
126
|
+
delete_role_confirmation: "Êtes-vous sûr de vouloir supprimer ce rôle ?",
|
|
127
|
+
delete_this_user: "Supprimer cet utilisateur",
|
|
128
|
+
no_users_yet: "Il n'y a pas encore d'utilisateurs",
|
|
129
|
+
add_logged_user_as_admin: "Ajouter l'utilisateur connecté en tant qu'administrateur",
|
|
130
|
+
add_current_user_as_admin: "Ajouter l'utilisateur actuel en tant qu'administrateur",
|
|
131
|
+
create_default_roles_and_add_admin: "Créer les rôles par défaut et ajouter l'utilisateur actuel en tant qu'administrateur",
|
|
132
|
+
delete_user_confirmation: "Êtes-vous sûr de vouloir supprimer cet utilisateur ?",
|
|
133
|
+
create_your_users_and_roles: "Créez vos utilisateurs et rôles",
|
|
134
|
+
no_users_or_roles_defined: "Vous n'avez défini aucun utilisateur ni rôle. Vous pouvez créer les rôles par défaut et ajouter l'utilisateur actuel en tant qu'administrateur.",
|
|
135
|
+
no_permission_to_view_users: "Vous n'avez pas la permission de voir les utilisateurs",
|
|
136
|
+
no_permission_to_view_roles: "Vous n'avez pas la permission de voir les rôles",
|
|
137
|
+
no_permission_description: "Contactez un administrateur si vous avez besoin d'accéder à cette section.",
|
|
138
|
+
save_before_changing_schema: "Vous devez enregistrer le document avant de modifier le schéma",
|
|
139
|
+
edit_schema_for_this_form: "Modifier le schéma de ce formulaire",
|
|
140
|
+
no_permissions_to_edit_collection: "Vous n'avez pas l'autorisation de modifier cette collection",
|
|
141
|
+
browser_does_not_support_audio: "Votre navigateur ne prend pas en charge l'élément audio.",
|
|
142
|
+
user_not_found: "Utilisateur introuvable : {{value}}",
|
|
143
|
+
|
|
144
|
+
// ─── Collection view actions ──────────────────────────────────
|
|
145
|
+
delete_selected: "Supprimer la sélection",
|
|
146
|
+
cannot_delete_selected: "Vous avez sélectionné au moins une entité que vous ne pouvez pas supprimer",
|
|
147
|
+
|
|
148
|
+
// ─── Array / field containers ─────────────────────────────────
|
|
149
|
+
add_entry: "Ajouter",
|
|
150
|
+
add_on_top: "Ajouter en haut",
|
|
151
|
+
add_below: "Ajouter en dessous",
|
|
152
|
+
add_to_field: "Ajouter à {{fieldName}}",
|
|
153
|
+
value: "Valeur",
|
|
154
|
+
key: "Clé",
|
|
155
|
+
drag_drop_multiple: "Faites glisser et déposez des fichiers ici, ou cliquez pour sélectionner des fichiers. Faites glisser pour réorganiser.",
|
|
156
|
+
drag_drop_single: "Faites glisser et déposez un fichier ici, ou cliquez pour en sélectionner un",
|
|
157
|
+
|
|
158
|
+
// ─── Navigation / scaffold ────────────────────────────────────
|
|
159
|
+
open_menu: "Ouvrir le menu",
|
|
160
|
+
close_drawer: "Fermer le menu latéral",
|
|
161
|
+
navigation_drawer: "Tiroir de navigation",
|
|
162
|
+
collapse: "Réduire",
|
|
163
|
+
expand: "Développer",
|
|
164
|
+
|
|
165
|
+
// ─── Error states ─────────────────────────────────────────────
|
|
166
|
+
error: "Erreur",
|
|
167
|
+
error_uploading_file: "Erreur lors du téléchargement du fichier",
|
|
168
|
+
error_deleting: "Erreur lors de la suppression",
|
|
169
|
+
error_before_delete: "Erreur avant la suppression",
|
|
170
|
+
error_updating_asset: "Erreur lors de la mise à jour de l'actif",
|
|
171
|
+
error_deleting_asset: "Erreur lors de la suppression de l'actif",
|
|
172
|
+
error_firestore_index: "Un index Firestore est requis pour cette requête.",
|
|
173
|
+
create_index: "Créer un index",
|
|
174
|
+
value_is_not_reference: "La valeur n'est pas une référence.",
|
|
175
|
+
click_to_edit: "Cliquez pour modifier",
|
|
176
|
+
data_is_not_array_of_references: "Les données ne sont pas un tableau de références",
|
|
177
|
+
|
|
178
|
+
// ─── Misc ─────────────────────────────────────────────────────
|
|
179
|
+
loading: "Chargement...",
|
|
180
|
+
local_changes_applied: "Modifications locales appliquées au formulaire",
|
|
181
|
+
local_changes_discarded: "Modifications locales ignorées",
|
|
182
|
+
are_you_sure_leave: "Êtes-vous sûr de vouloir quitter cette page ?",
|
|
183
|
+
see_console_details: "Consultez la console pour plus de détails.",
|
|
184
|
+
drop_here_create_group: "Déposez ici pour créer un nouveau groupe",
|
|
185
|
+
filter_for_null_values: "Filtrer les valeurs nulles",
|
|
186
|
+
value_updated_elsewhere: "Cette valeur a été mise à jour ailleurs",
|
|
187
|
+
add_property: "Ajouter une propriété",
|
|
188
|
+
edit_name: "Modifier {{name}}",
|
|
189
|
+
this_entity_not_exist: "Cette entité n'existe pas dans la base de données",
|
|
190
|
+
internal_error: "ERREUR interne",
|
|
191
|
+
|
|
192
|
+
// ─── Rename group dialog ──────────────────────────────────────
|
|
193
|
+
rename_group: "Renommer le groupe",
|
|
194
|
+
group_name_label: "Nom du groupe",
|
|
195
|
+
group_name_empty_error: "Le nom du groupe ne peut pas être vide.",
|
|
196
|
+
group_name_exists_error: "Ce nom de groupe existe déjà.",
|
|
197
|
+
|
|
198
|
+
// ─── Search ───────────────────────────────────────────────────
|
|
199
|
+
search_collections: "Rechercher dans les collections",
|
|
200
|
+
|
|
201
|
+
// ─── Navigation groups ────────────────────────────────────────
|
|
202
|
+
views_group: "Vues",
|
|
203
|
+
|
|
204
|
+
// ─── Entity Edit View ─────────────────────────────────────────
|
|
205
|
+
youd_need_to_save_before_additional_collections: "Vous devez enregistrer votre entité avant d'ajouter des collections supplémentaires",
|
|
206
|
+
|
|
207
|
+
// ─── Not Found Page ───────────────────────────────────────────
|
|
208
|
+
page_not_found: "Page introuvable",
|
|
209
|
+
page_not_found_body: "Cette page n'existe pas ou vous n'y avez peut-être pas accès",
|
|
210
|
+
back_to_home: "Retour à l'accueil",
|
|
211
|
+
|
|
212
|
+
// ─── Collection Editor ─────────────────────────────────────────
|
|
213
|
+
default_collection_view: "Vue de collection par défaut",
|
|
214
|
+
table_view: "Tableau",
|
|
215
|
+
cards_view: "Cartes",
|
|
216
|
+
kanban_view: "Kanban",
|
|
217
|
+
choose_how_entities_displayed_default: "Choisissez comment les entités doivent être affichées par défaut",
|
|
218
|
+
|
|
219
|
+
document_view: "Vue de document",
|
|
220
|
+
side_panel: "Panneau latéral",
|
|
221
|
+
full_screen: "Plein écran",
|
|
222
|
+
should_documents_opened_full_screen: "Les documents doivent-ils être ouverts en plein écran ou dans une boîte de dialogue latérale intégrée",
|
|
223
|
+
|
|
224
|
+
select_custom_view: "Sélectionner une vue personnalisée",
|
|
225
|
+
no_custom_views_defined: "Aucune vue personnalisée n'est définie. Définissez vos vues personnalisées dans les paramètres de personnalisation, avant d'utiliser cette boîte de dialogue.",
|
|
226
|
+
|
|
227
|
+
select_custom_action: "Sélectionner une action personnalisée",
|
|
228
|
+
no_custom_actions_defined: "Aucune action personnalisée définie. Définissez vos actions personnalisées dans les paramètres de personnalisation, avant d'utiliser cette boîte de dialogue.",
|
|
229
|
+
|
|
230
|
+
no_collections_found: "Aucune collection trouvée",
|
|
231
|
+
start_building_collections: "Commencez à créer des collections dans Rebase facilement. Mappez-les à vos données de base de données existantes, importez-les à partir de fichiers ou utilisez nos modèles.",
|
|
232
|
+
create_first_collection: "Créez votre première collection",
|
|
233
|
+
define_collections_programmatically: "Vous pouvez également définir des collections par programmation.",
|
|
234
|
+
edit_collection: "Modifier la collection",
|
|
235
|
+
no_permissions_edit_collection: "Vous n'avez pas les autorisations pour modifier cette collection",
|
|
236
|
+
no_permissions_create_collection: "Vous n'avez pas les autorisations pour créer des collections",
|
|
237
|
+
create_collection: "Créer une collection",
|
|
238
|
+
update_collection: "Mettre à jour la collection",
|
|
239
|
+
|
|
240
|
+
new_collection: "Nouvelle collection",
|
|
241
|
+
add_new_collection: "Ajouter une nouvelle collection",
|
|
242
|
+
collection_with_name: "Collection {{name}}",
|
|
243
|
+
change_icon: "Changer l'icône",
|
|
244
|
+
is_subcollection_of: "Ceci est une sous-collection de",
|
|
245
|
+
name: "Nom",
|
|
246
|
+
collection_name_description: "Nom de cette collection, généralement un nom au pluriel (par ex., Produits)",
|
|
247
|
+
path: "Chemin",
|
|
248
|
+
relative_path_to_parent: "Chemin relatif vers le parent (il n'est pas nécessaire d'inclure le chemin parent)",
|
|
249
|
+
path_in_database: "Chemin dans lequel cette collection est stockée, dans la base de données",
|
|
250
|
+
singular_name: "Nom au singulier",
|
|
251
|
+
singular_name_description: "Définissez éventuellement un nom au singulier pour vos entités",
|
|
252
|
+
description: "Description",
|
|
253
|
+
description_of_collection: "Description de la collection, vous pouvez utiliser le format markdown",
|
|
254
|
+
collection_id: "ID de la collection",
|
|
255
|
+
collection_id_description: "Cet ID identifie cette collection. Généralement le même que le chemin.",
|
|
256
|
+
collection_group: "Groupe de collections",
|
|
257
|
+
collection_group_description: "Un groupe de collections se compose de toutes les collections ayant le même chemin. Cela vous permet d'effectuer des requêtes sur plusieurs collections à la fois.",
|
|
258
|
+
advanced_settings: "Paramètres avancés",
|
|
259
|
+
doc_history_global: "Révisions de l'historique des documents activées si activées globalement",
|
|
260
|
+
doc_history_enabled: "Révisions de l'historique des documents ACTIVÉES",
|
|
261
|
+
doc_history_not_enabled: "Révisions de l'historique des documents NON activées",
|
|
262
|
+
doc_history_description: "Lorsqu'il est activé, chaque document de cette collection conservera un historique des modifications. Ceci est utile à des fins d'audit. Les données sont stockées dans une sous-collection du document dans votre base de données, appelée __history.",
|
|
263
|
+
document_id_generation: "Génération des ID de document",
|
|
264
|
+
code_defined: "Défini par le code",
|
|
265
|
+
users_must_define_id: "Les utilisateurs doivent définir un ID",
|
|
266
|
+
users_can_define_id: "Les utilisateurs peuvent définir un ID, mais ce n'est pas obligatoire",
|
|
267
|
+
doc_id_auto_generated: "L'ID du document est généré automatiquement",
|
|
268
|
+
config_doc_id_generation: "Configurez comment les ID de document sont générés lors de la création de nouvelles entités.",
|
|
269
|
+
enable_text_search: "Activer la recherche de texte pour cette collection",
|
|
270
|
+
text_search_description: "Autoriser la recherche de texte pour cette collection. Si vous n'avez pas spécifié de délégué de recherche de texte, la recherche de texte locale intégrée sera utilisée. Ceci n'est pas recommandé pour les grandes collections, car cela peut entraîner des problèmes de performances et de coûts.",
|
|
271
|
+
database_id: "ID de base de données",
|
|
272
|
+
default_text: "(par défaut)",
|
|
273
|
+
|
|
274
|
+
custom_actions: "Actions personnalisées",
|
|
275
|
+
more_info: "Plus d'informations",
|
|
276
|
+
define_custom_actions_cli: "Définissez vos propres actions personnalisées en les téléchargeant via la CLI.",
|
|
277
|
+
action_defined_in_code: "Cette action est définie dans le code avec la clé",
|
|
278
|
+
add_custom_entity_action: "Ajouter une action d'entité personnalisée",
|
|
279
|
+
remove_this_action: "Supprimer cette action ?",
|
|
280
|
+
remove_action_warning: "Cela ne supprimera aucune donnée, uniquement l'action dans le CMS",
|
|
281
|
+
|
|
282
|
+
subcollections_of: "Sous-collections de",
|
|
283
|
+
add_subcollection: "Ajouter une sous-collection",
|
|
284
|
+
custom_views: "Vues personnalisées",
|
|
285
|
+
define_custom_views_cli: "Définissez vos propres vues personnalisées en les téléchargeant via la CLI.",
|
|
286
|
+
view_defined_in_code: "Cette vue est définie dans le code avec la clé",
|
|
287
|
+
add_custom_entity_view: "Ajouter une vue d'entité personnalisée",
|
|
288
|
+
delete_this_subcollection: "Supprimer cette sous-collection ?",
|
|
289
|
+
remove_collection_warning: "Cela ne supprimera aucune donnée, uniquement la collection dans le CMS",
|
|
290
|
+
remove_this_view: "Supprimer cette vue ?",
|
|
291
|
+
remove_view_warning: "Cela ne supprimera aucune donnée, uniquement la vue dans le CMS",
|
|
292
|
+
|
|
293
|
+
no_collection_selected: "Aucune collection sélectionnée",
|
|
294
|
+
code_for_collection: "Code pour",
|
|
295
|
+
use_config_define_json: "Utilisez cette configuration pour définir la collection au format JSON.",
|
|
296
|
+
customise_collection_code: "Si vous souhaitez personnaliser la collection dans le code, vous pouvez ajouter ce code de collection à la configuration de votre application CMS.",
|
|
297
|
+
copied: "Copié",
|
|
298
|
+
|
|
299
|
+
property_cant_be_edited: "Cette propriété ne peut pas être modifiée",
|
|
300
|
+
property_not_editable_description: "Vous n'avez peut-être pas l'autorisation de la modifier ou elle est définie dans le code et ne peut pas être modifiée.",
|
|
301
|
+
delete_this_property: "Supprimer cette propriété ?",
|
|
302
|
+
delete_property_warning: "Cela ne supprimera aucune donnée, mais modifiera uniquement la collection.",
|
|
303
|
+
error_must_specify_id: "Vous devez spécifier un ID pour le champ",
|
|
304
|
+
error_id_format: "L'ID ne peut contenir que des lettres, des chiffres et des traits de soulignement (_), et ne doit pas commencer par un chiffre",
|
|
305
|
+
error_id_already_exists: "Il existe déjà un autre champ avec cet ID",
|
|
306
|
+
error_must_specify_title: "Vous devez spécifier un titre pour le champ",
|
|
307
|
+
custom_or_other: "Personnalisé/Autre",
|
|
308
|
+
select_property_widget: "Sélectionnez un widget de propriété",
|
|
309
|
+
error_changing_data_type: "Ce widget utilise un type de données différent de celui initialement sélectionné. Cela peut provoquer des erreurs avec les données existantes.",
|
|
310
|
+
required: "Requis",
|
|
311
|
+
|
|
312
|
+
enum_form_dialog: "Boîte de dialogue du formulaire Enum",
|
|
313
|
+
imported_data_preview: "Aperçu des données importées",
|
|
314
|
+
entities_with_same_id_overwritten: "Les entités avec le même identifiant seront écrasées",
|
|
315
|
+
collection_editor: "Éditeur de collection",
|
|
316
|
+
properties_in_this_group: "Propriétés de ce groupe",
|
|
317
|
+
data_property_mapping: "Mappage de propriétés de données",
|
|
318
|
+
property_edit_view: "Vue d'édition de propriété",
|
|
319
|
+
all_of_these: "Tous ces éléments",
|
|
320
|
+
any_of_these: "N'importe lequel de ces éléments",
|
|
321
|
+
|
|
322
|
+
only_admins_edit_roles: "Seuls les administrateurs peuvent modifier les rôles",
|
|
323
|
+
error_user_not_found: "Utilisateur introuvable",
|
|
324
|
+
all_roles: "Tous les rôles",
|
|
325
|
+
role: "Rôle",
|
|
326
|
+
name_of_this_role: "Nom de ce rôle",
|
|
327
|
+
id_of_this_role: "ID de ce rôle",
|
|
328
|
+
create_entities: "Créer des entités",
|
|
329
|
+
read_entities: "Lire des entités",
|
|
330
|
+
update_entities: "Mettre à jour des entités",
|
|
331
|
+
delete_entities: "Supprimer des entités",
|
|
332
|
+
all_collections: "Toutes les collections",
|
|
333
|
+
create_entities_in_collections: "Créer des entités dans les collections",
|
|
334
|
+
access_all_data_in_every_collection: "Accéder à toutes les données de chaque collection",
|
|
335
|
+
update_data_in_any_collection: "Mettre à jour les données dans n'importe quelle collection",
|
|
336
|
+
delete_data_in_any_collection: "Supprimer des données dans n'importe quelle collection",
|
|
337
|
+
allow_all_permissions_in_this_collections: "Autoriser toutes les autorisations dans ces collections",
|
|
338
|
+
all: "Tout",
|
|
339
|
+
customise_permissions_description: "Vous pouvez personnaliser les autorisations que les utilisateurs liés à ce rôle peuvent exécuter dans les entités de chaque collection",
|
|
340
|
+
create_collections: "Créer des collections",
|
|
341
|
+
yes: "Oui",
|
|
342
|
+
no: "Non",
|
|
343
|
+
can_user_create_collections: "L'utilisateur peut-il créer des collections",
|
|
344
|
+
edit_collections: "Modifier les collections",
|
|
345
|
+
only_own_collections: "Uniquement les siennes",
|
|
346
|
+
own: "Propre",
|
|
347
|
+
can_user_edit_collections: "L'utilisateur peut-il modifier les collections",
|
|
348
|
+
delete_collections: "Supprimer les collections",
|
|
349
|
+
can_user_delete_collections: "L'utilisateur peut-il supprimer des collections",
|
|
350
|
+
error_saving_role: "Une erreur s'est produite lors de l'enregistrement de ce rôle",
|
|
351
|
+
create_role: "Créer un rôle",
|
|
352
|
+
update: "Mettre à jour",
|
|
353
|
+
|
|
354
|
+
only_admins_change_roles: "Seuls les administrateurs peuvent modifier les rôles",
|
|
355
|
+
must_be_at_least_one_admin: "Il doit y avoir au moins un administrateur",
|
|
356
|
+
logged_user_not_found: "Utilisateur connecté introuvable",
|
|
357
|
+
user: "Utilisateur",
|
|
358
|
+
user_id: "ID de l'utilisateur",
|
|
359
|
+
name_of_this_user: "Nom de cet utilisateur",
|
|
360
|
+
email_of_this_user: "Email de cet utilisateur",
|
|
361
|
+
roles: "Rôles",
|
|
362
|
+
create_user: "Créer un utilisateur",
|
|
363
|
+
|
|
364
|
+
users: "Utilisateurs",
|
|
365
|
+
add_user: "Ajouter un utilisateur",
|
|
366
|
+
add_role: "Ajouter un rôle",
|
|
367
|
+
is_admin: "Est Admin",
|
|
368
|
+
default_permissions: "Autorisations par défaut",
|
|
369
|
+
created_on: "Créé le",
|
|
370
|
+
email: "E-mail",
|
|
371
|
+
id: "ID",
|
|
372
|
+
read: "Lire",
|
|
373
|
+
|
|
374
|
+
column_in_file: "Colonne dans le fichier",
|
|
375
|
+
map_to_property: "Mappage à la propriété",
|
|
376
|
+
default_values: "Valeurs par défaut",
|
|
377
|
+
default_values_description: "Vous pouvez sélectionner une valeur par défaut pour les colonnes non mappées et les valeurs vides :",
|
|
378
|
+
property: "Propriété",
|
|
379
|
+
default_value: "Valeur par défaut",
|
|
380
|
+
autogenerate_id: "Générer automatiquement l'ID",
|
|
381
|
+
id_column_description: "Colonne qui sera utilisée comme ID pour chaque document",
|
|
382
|
+
do_not_set_value: "Ne pas définir de valeur",
|
|
383
|
+
set_value_to_true: "Définir la valeur sur Vrai (true)",
|
|
384
|
+
set_value_to_false: "Définir la valeur sur Faux (false)",
|
|
385
|
+
drag_and_drop_file: "Glissez et déposez un fichier ici ou cliquez pour télécharger",
|
|
386
|
+
error_saving_data: "Erreur lors de l'enregistrement des données",
|
|
387
|
+
retry: "Réessayer",
|
|
388
|
+
saving_data: "Enregistrement des données",
|
|
389
|
+
entities_saved: "entités enregistrées",
|
|
390
|
+
do_not_close_tab: "Ne fermez pas cet onglet, sinon l'importation sera interrompue",
|
|
391
|
+
import: "Importer",
|
|
392
|
+
import_data: "Importer des données",
|
|
393
|
+
upload_file_description: "Téléchargez un fichier CSV, Excel ou JSON et mappez-le à votre schéma existant",
|
|
394
|
+
back: "Retour",
|
|
395
|
+
next: "Suivant",
|
|
396
|
+
save_data: "Enregistrer les données",
|
|
397
|
+
use_column_as_id: "Utiliser cette colonne comme ID",
|
|
398
|
+
do_not_import_property: "Ne pas importer cette propriété",
|
|
399
|
+
entities_will_be_overwritten: "Les entités avec le même identifiant seront écrasées",
|
|
400
|
+
data_imported_successfully: "Données importées avec succès",
|
|
401
|
+
export: "Exporter",
|
|
402
|
+
export_data: "Exporter des données",
|
|
403
|
+
download_table_csv: "Télécharger le contenu de cette table au format CSV",
|
|
404
|
+
csv: "CSV",
|
|
405
|
+
json: "JSON",
|
|
406
|
+
dates_as_timestamps: "Dates sous forme d'horodatages",
|
|
407
|
+
dates_as_strings: "Dates sous forme de chaînes",
|
|
408
|
+
flatten_arrays: "Aplatir les tableaux",
|
|
409
|
+
download: "Télécharger",
|
|
410
|
+
large_number_of_documents: "Cette collection contient un grand nombre de documents ({{count}}).",
|
|
411
|
+
include_undefined_values: "Inclure les valeurs non définies",
|
|
412
|
+
submit: "Soumettre",
|
|
413
|
+
|
|
414
|
+
no_filterable_properties: "Aucune propriété filtrable disponible",
|
|
415
|
+
apply_filters: "Appliquer les filtres",
|
|
416
|
+
list: "Liste",
|
|
417
|
+
table_view_mode: "Tableau",
|
|
418
|
+
cards: "Cartes",
|
|
419
|
+
board: "Tableau",
|
|
420
|
+
initialize_kanban_order_desc: "Ceci attribuera des valeurs d'ordre séquentiel à tous les éléments qui n'en ont pas. Les articles conserveront leur ordre actuel dans chaque colonne.",
|
|
421
|
+
kanban_view_not_available: "La vue Kanban n'est pas disponible",
|
|
422
|
+
kanban_view_requires_enum: "La vue Kanban requiert une propriété de chaîne de caractères avec des valeurs Enumération (enum) pour regrouper les entités en colonnes. Veuillez ajouter une propriété Enum à votre schéma de collection pour utiliser cette vue.",
|
|
423
|
+
no_enum_values_configured: 'Aucune valeur enum configurée pour la propriété "{{property}}"',
|
|
424
|
+
items_need_backfill: "Certains éléments n'ont pas de valeurs d'ordre. Initialisez-les pour permettre la réorganisation par glisser-déposer.",
|
|
425
|
+
kanban_order_not_configured: "L'ordonnancement par glisser-déposer n'est pas configuré. Définissez une propriété d'ordre dans les paramètres de la collection pour conserver les positions des cartes.",
|
|
426
|
+
initialize: "Initialiser",
|
|
427
|
+
confirm_multiple_delete: "Confirmez la suppression multiple ?",
|
|
428
|
+
delete_entity_confirm_title: "Souhaitez-vous supprimer {{entityName}} ?",
|
|
429
|
+
multiple_deleted: "Suppression multiple terminée",
|
|
430
|
+
some_entities_deleted: "Certaines des entités ont été supprimées, mais pas toutes",
|
|
431
|
+
error_deleting_entities: "Erreur lors de la suppression des entités",
|
|
432
|
+
deleted: "supprimé",
|
|
433
|
+
|
|
434
|
+
/** Recently extracted strings for collection editor */
|
|
435
|
+
/** AI Collection Generator Popover */
|
|
436
|
+
generate_collection_with_ai: "Générer une collection avec l'IA",
|
|
437
|
+
modify_collection_with_ai: "Modifier la collection avec l'IA",
|
|
438
|
+
describe_collection_to_create: "Décrivez la collection que vous souhaitez créer.",
|
|
439
|
+
describe_changes_to_make: "Décrivez les modifications que vous souhaitez apporter à cette collection.",
|
|
440
|
+
ai_placeholder_create: "ex. : Créer une collection de produits avec nom, prix, description et catégorie...",
|
|
441
|
+
ai_placeholder_modify: "ex. : Ajouter un champ d'image miniature avec stockage, rendre le prix obligatoire...",
|
|
442
|
+
ai_assist: "Assistance IA",
|
|
443
|
+
generating: "Génération en cours...",
|
|
444
|
+
|
|
445
|
+
this_is_subcollection_of: "Ceci est une sous-collection de",
|
|
446
|
+
use_existing_paths_database: "Utiliser l'un des chemins existants dans votre base de données :",
|
|
447
|
+
describe_collection_ai: "Décrivez votre collection à l'IA :",
|
|
448
|
+
generate_with_ai: "Générer avec l'IA",
|
|
449
|
+
create_from_json_config: "Créer à partir d'une configuration JSON :",
|
|
450
|
+
paste_json_config: "Coller la configuration JSON",
|
|
451
|
+
create_collection_from_file_formats: "Créer une collection à partir d'un fichier (csv, json, xls, xslx...)",
|
|
452
|
+
select_template: "Sélectionner un modèle :",
|
|
453
|
+
products: "Produits",
|
|
454
|
+
collection_products_subtitle: "Une collection de produits avec images, prix et stock",
|
|
455
|
+
collection_users_subtitle: "Une collection d'utilisateurs avec e-mails, noms et rôles",
|
|
456
|
+
blog_posts: "Articles de blog",
|
|
457
|
+
collection_blog_posts_subtitle: "Une collection d'articles de blog avec images, auteurs et contenu complexe",
|
|
458
|
+
pages: "Pages",
|
|
459
|
+
collection_pages_subtitle: "Une collection de pages avec images, auteurs et contenu complexe",
|
|
460
|
+
continue_from_scratch: "Continuer à partir de zéro",
|
|
461
|
+
|
|
462
|
+
/** Admin views config */
|
|
463
|
+
cms_users: "Utilisateurs du CMS",
|
|
464
|
+
roles_menu: "Rôles",
|
|
465
|
+
project_settings: "Paramètres du projet",
|
|
466
|
+
|
|
467
|
+
by_signing_in_you_agree_to_our: "En vous connectant, vous acceptez nos",
|
|
468
|
+
terms_and_conditions: "Conditions générales",
|
|
469
|
+
and_our: "et notre",
|
|
470
|
+
privacy_policy: "Politique de confidentialité",
|
|
471
|
+
email_password: "E-mail/Mot de passe",
|
|
472
|
+
sign_in_with_google: "Se connecter avec Google",
|
|
473
|
+
|
|
474
|
+
// --- Auth error messages ---
|
|
475
|
+
auth_user_not_found: "Utilisateur non trouvé",
|
|
476
|
+
auth_wrong_password: "Mot de passe erroné. Veuillez réessayer.",
|
|
477
|
+
auth_user_disabled: "Utilisateur désactivé. Veuillez contacter le support.",
|
|
478
|
+
auth_account_exists_with_different_credential: "Un compte existe avec une méthode de connexion différente",
|
|
479
|
+
auth_email_already_in_use: "L'e-mail est déjà utilisé",
|
|
480
|
+
auth_google_permissions_required: "Vous devez accorder des autorisations supplémentaires afin de gérer vos projets Google Cloud",
|
|
481
|
+
auth_invalid_email_password: "Veuillez entrer l'e-mail et le mot de passe",
|
|
482
|
+
auth_enter_email_first: "Veuillez d'abord entrer votre e-mail",
|
|
483
|
+
auth_password_reset_sent: "E-mail de réinitialisation du mot de passe envoyé",
|
|
484
|
+
auth_sign_in_account: "Connectez-vous à votre compte",
|
|
485
|
+
auth_create_new_account: "Créer un nouveau compte",
|
|
486
|
+
auth_password: "Mot de passe",
|
|
487
|
+
auth_reset_password: "Réinitialiser le mot de passe",
|
|
488
|
+
auth_new_user: "Nouvel utilisateur ?",
|
|
489
|
+
auth_have_account: "Vous avez déjà un compte ?",
|
|
490
|
+
auth_sign_in: "Se connecter",
|
|
491
|
+
auth_sign_up: "S'inscrire",
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
auto_setup_collections_button: "Configurer les collections automatiquement",
|
|
495
|
+
auto_setup_collections_title: "Configurer les collections automatiquement ?",
|
|
496
|
+
auto_setup_collections_desc: "Cela créera automatiquement des configurations de collection pour les collections qui ne sont <b>PAS</b> déjà mappées",
|
|
497
|
+
this_can_take_a_minute: "Cela peut prendre une minute",
|
|
498
|
+
no_collections_found_to_setup: "Aucune collection à configurer trouvée",
|
|
499
|
+
collections_have_been_setup: "Les collections ont été configurées",
|
|
500
|
+
error_setting_up_collections: "Erreur lors de la configuration des collections",
|
|
501
|
+
add_your: "Ajoutez vos",
|
|
502
|
+
database_collections: "collections de base de données",
|
|
503
|
+
no_unmapped_collections: "Aucune collection non mappée",
|
|
504
|
+
query_and_update_with_datatalk: "Interrogez et mettez à jour vos données en langage naturel avec",
|
|
505
|
+
welcome_to_rebase: "Bienvenue sur Rebase Cloud",
|
|
506
|
+
admin_panel_ready_bring_data: "Votre panneau d'administration est prêt. Ajoutons vos données.",
|
|
507
|
+
admin_panel_ready_get_started: "Votre panneau d'administration est prêt. Voici comment démarrer.",
|
|
508
|
+
auto_detect_collections: "Détecter automatiquement les collections",
|
|
509
|
+
auto_detect_collections_desc: "Laissez l'IA analyser votre base de données et générer automatiquement des schémas de collection.",
|
|
510
|
+
create_a_collection: "Créer une collection",
|
|
511
|
+
create_collection_desc: "Définissez manuellement votre première collection à partir de zéro à l'aide de l'éditeur visuel.",
|
|
512
|
+
read_the_docs: "Lire la documentation",
|
|
513
|
+
read_the_docs_desc: "Apprenez à personnaliser les champs, les vues, les actions et bien plus encore.",
|
|
514
|
+
explore_docs: "Explorer la documentation",
|
|
515
|
+
want_to_customize_with_code: "Vous souhaitez personnaliser avec du code ? Exécutez",
|
|
516
|
+
to_scaffold_a_local_project: "pour générer un projet local.",
|
|
517
|
+
|
|
518
|
+
// ─── Collection Editor — Validation ──────────────────────────
|
|
519
|
+
validation: "Validation",
|
|
520
|
+
unique: "Unique",
|
|
521
|
+
required_message: "Message de champ obligatoire",
|
|
522
|
+
required_tooltip: "Vous ne pourrez pas enregistrer cette entité si cette valeur n'est pas définie",
|
|
523
|
+
unique_tooltip: "Il ne peut pas y avoir plusieurs entités avec la même valeur",
|
|
524
|
+
lowercase: "Minuscules",
|
|
525
|
+
uppercase: "Majuscules",
|
|
526
|
+
trim: "Supprimer les espaces",
|
|
527
|
+
exact_length: "Longueur exacte",
|
|
528
|
+
min_length: "Longueur min.",
|
|
529
|
+
max_length: "Longueur max.",
|
|
530
|
+
matches_regex: "Correspond à une regex",
|
|
531
|
+
not_valid_regexp: "Expression régulière non valide",
|
|
532
|
+
regex_helper: "ex. /^\\d+$/ pour les chiffres uniquement",
|
|
533
|
+
min_value: "Valeur min.",
|
|
534
|
+
max_value: "Valeur max.",
|
|
535
|
+
less_than: "Inférieur à",
|
|
536
|
+
more_than: "Supérieur à",
|
|
537
|
+
positive_value: "Valeur positive",
|
|
538
|
+
negative_value: "Valeur négative",
|
|
539
|
+
integer_value: "Valeur entière",
|
|
540
|
+
|
|
541
|
+
// ─── Collection Editor — Property Edit ───────────────────────
|
|
542
|
+
invalid_regular_expression: "Expression régulière non valide",
|
|
543
|
+
must_specify_target_collection: "Vous devez spécifier une collection cible pour le champ",
|
|
544
|
+
need_specify_repeat_field: "Vous devez spécifier un champ de répétition",
|
|
545
|
+
need_specify_block_properties: "Vous devez spécifier les propriétés de ce bloc",
|
|
546
|
+
incomplete_condition: "Condition incomplète - veuillez sélectionner un champ",
|
|
547
|
+
field_name: "Nom du champ",
|
|
548
|
+
|
|
549
|
+
// ─── Collection Editor — Display & Config ────────────────────
|
|
550
|
+
kanban_column_property: "Propriété de colonne Kanban",
|
|
551
|
+
select_a_property: "Sélectionner une propriété",
|
|
552
|
+
kanban_property_not_found: "La propriété \"{{property}}\" n'existe pas ou n'est pas une propriété de type string avec enum. Veuillez sélectionner une propriété valide ou effacer la sélection.",
|
|
553
|
+
no_enum_string_properties: "Aucune propriété de type string avec enum trouvée. Ajoutez une propriété string avec enumValues pour utiliser la vue Kanban.",
|
|
554
|
+
kanban_column_description: "Sélectionnez une propriété de type string avec des valeurs enum pour regrouper les entités en colonnes",
|
|
555
|
+
create_property: "+ Créer la propriété \"{{property}}\"",
|
|
556
|
+
order_property: "Propriété d'ordre",
|
|
557
|
+
order_property_not_found: "La propriété \"{{property}}\" n'existe pas ou n'est pas une propriété numérique. Veuillez sélectionner une propriété valide ou effacer la sélection.",
|
|
558
|
+
no_number_properties: "Aucune propriété numérique trouvée. Ajoutez une propriété numérique pour activer le tri.",
|
|
559
|
+
order_property_description: "Sélectionnez une propriété numérique pour conserver l'ordre des éléments",
|
|
560
|
+
display_settings: "Paramètres d'affichage",
|
|
561
|
+
default_row_size: "Taille de ligne par défaut",
|
|
562
|
+
side_dialog_width: "Largeur du dialogue latéral",
|
|
563
|
+
side_dialog_width_description: "Définissez optionnellement la largeur (en pixels) du dialogue latéral des entités. La valeur par défaut est 768px",
|
|
564
|
+
inline_editing_enabled: "Les données peuvent être modifiées directement dans la vue tableau",
|
|
565
|
+
inline_editing_disabled: "Les données ne peuvent être modifiées que dans la vue formulaire",
|
|
566
|
+
inline_editing_description: "Autoriser la modification des données directement dans la vue tableau, sans ouvrir la vue formulaire.",
|
|
567
|
+
include_json_view: "Inclure la vue JSON",
|
|
568
|
+
no_json_view: "Ne pas inclure la vue JSON",
|
|
569
|
+
json_view_description: "Inclure la représentation JSON du document.",
|
|
570
|
+
not_found_suffix: "introuvable",
|
|
571
|
+
|
|
572
|
+
// ─── Editor ─────────────────────────────────────────────────
|
|
573
|
+
editor_text: "Texte",
|
|
574
|
+
editor_text_description: "Commencez simplement à taper du texte brut.",
|
|
575
|
+
editor_heading_1: "Titre 1",
|
|
576
|
+
editor_heading_1_description: "Grand titre de section.",
|
|
577
|
+
editor_heading_2: "Titre 2",
|
|
578
|
+
editor_heading_2_description: "Titre de section moyen.",
|
|
579
|
+
editor_heading_3: "Titre 3",
|
|
580
|
+
editor_heading_3_description: "Petit titre de section.",
|
|
581
|
+
editor_todo_list: "Liste de tâches",
|
|
582
|
+
editor_todo_list_description: "Suivez les tâches avec une liste de tâches.",
|
|
583
|
+
editor_bullet_list: "Liste à puces",
|
|
584
|
+
editor_bullet_list_description: "Créez une simple liste à puces.",
|
|
585
|
+
editor_numbered_list: "Liste numérotée",
|
|
586
|
+
editor_numbered_list_description: "Créez une liste avec numérotation.",
|
|
587
|
+
editor_quote: "Citation",
|
|
588
|
+
editor_quote_description: "Capturez une citation.",
|
|
589
|
+
editor_code: "Code",
|
|
590
|
+
editor_code_description: "Capturez un extrait de code.",
|
|
591
|
+
editor_image: "Image",
|
|
592
|
+
editor_image_description: "Téléchargez une image depuis votre ordinateur.",
|
|
593
|
+
editor_multiple: "Multiple",
|
|
594
|
+
editor_link: "Lien",
|
|
595
|
+
editor_save: "Enregistrer",
|
|
596
|
+
editor_cancel: "Annuler",
|
|
597
|
+
editor_remove_link: "Supprimer le lien",
|
|
598
|
+
editor_paste_or_type_link: "Coller ou taper le lien",
|
|
599
|
+
editor_open_in_new_window: "Ouvrir dans une nouvelle fenêtre",
|
|
600
|
+
editor_bold: "Gras",
|
|
601
|
+
editor_italic: "Italique",
|
|
602
|
+
editor_underline: "Souligné",
|
|
603
|
+
editor_strikethrough: "Barré",
|
|
604
|
+
editor_autocomplete: "Saisie automatique",
|
|
605
|
+
editor_autocomplete_description: "Ajoutez du texte basé sur le contexte.",
|
|
606
|
+
|
|
607
|
+
settings_heading: "Paramètres",
|
|
608
|
+
settings_project_name: "Nom du projet",
|
|
609
|
+
settings_default_language: "Langue par défaut",
|
|
610
|
+
settings_default_language_caption: "Sélectionnez la langue de base pour ce projet. Les utilisateurs peuvent modifier cette préférence dans leurs paramètres personnels.",
|
|
611
|
+
settings_enable_local_text_search: "Activer la recherche de texte locale",
|
|
612
|
+
settings_local_text_search_caption: "Activez la recherche de texte locale pour toutes les collections. Cela vous permettra de rechercher des champs textuels à l'aide de la barre de recherche Rebase. Notez que cette fonctionnalité peut entraîner un nombre de lectures plus élevé, car tous les champs textuels de vos collections seront indexés.",
|
|
613
|
+
settings_doc_history_all_collections: "Historique des documents activé pour toutes les collections",
|
|
614
|
+
settings_doc_history_caption: "Lorsque activé, toutes les collections auront l'historique activé par défaut. Vous pouvez modifier ce paramètre pour chaque collection. L'historique sera enregistré dans la sous-collection __history de chaque document.",
|
|
615
|
+
settings_theme: "Thème",
|
|
616
|
+
settings_primary_color: "Couleur primaire",
|
|
617
|
+
settings_secondary_color: "Couleur secondaire",
|
|
618
|
+
settings_sample_theme_components: "Exemples de composants du thème",
|
|
619
|
+
settings_drag_drop_logo: "Glissez-déposez votre logo ici",
|
|
620
|
+
settings_security_rules: "Règles de sécurité",
|
|
621
|
+
settings_security_rules_description: "Rebase utilise les règles de sécurité Firebase pour restreindre l'accès aux données. Lors de la création d'un utilisateur via Rebase, l'attribut personnalisé rebaseUser est ajouté à l'utilisateur dans le projet client. En ajoutant les règles de sécurité suivantes, vous garantissez que les utilisateurs Rebase peuvent accéder aux données via Rebase.",
|
|
622
|
+
settings_security_rules_add_domain: "N'oubliez pas d'ajouter le domaine {{domain}} aux domaines autorisés de votre fournisseur",
|
|
623
|
+
settings_security_rules_caption: "Ces règles restreignent l'accès aux données aux seuls utilisateurs Rebase, mais n'appliquent pas les permissions au niveau de la base de données. Les permissions sont appliquées côté frontend, ce qui convient à la plupart des projets. Si vous devez appliquer les permissions au niveau de la base de données, vous pouvez modifier ces règles de sécurité. Les rôles attribués à un utilisateur sont définis comme attributs personnalisés dans le jeton d'authentification Firebase, vous pouvez donc les utiliser dans vos règles de sécurité.",
|
|
624
|
+
|
|
625
|
+
// ─── Text Search Dialog ─────────────────────────────────────
|
|
626
|
+
text_search_dialog_title: "Activer la recherche de texte",
|
|
627
|
+
text_search_local_not_recommended: "La recherche de texte locale n'est pas recommandée pour les grandes collections.",
|
|
628
|
+
text_search_local_fetch_warning: "Notez que l'activation de la recherche de texte locale nécessite de récupérer tous les documents de votre collection et de les stocker dans le navigateur. Cela peut être inefficace pour les grandes collections et entraîner des coûts supplémentaires.",
|
|
629
|
+
text_search_external_suggestion: "Pour les collections plus grandes, il est recommandé d'utiliser un moteur de recherche externe comme Algolia ou Elastic Search, et d'attribuer un délégué de recherche à votre configuration.",
|
|
630
|
+
text_search_local_description: "La recherche de texte locale est le moyen le plus simple d'activer la recherche de texte dans votre collection. Elle charge tous les documents de la collection dans le navigateur et effectue la recherche localement. C'est l'option recommandée pour les petites collections.",
|
|
631
|
+
text_search_own_implementation: "Vous avez implémenté votre propre contrôleur de recherche de texte. Vous pouvez activer la recherche de texte pour votre collection.",
|
|
632
|
+
text_search_enable_for_collection: "Activer pour cette collection",
|
|
633
|
+
text_search_enable_for_project: "Activer pour le projet",
|
|
634
|
+
text_search_enabled_snackbar: "Recherche de texte locale activée",
|
|
635
|
+
|
|
636
|
+
// ─── Missing keys (English placeholders — translate) ───
|
|
637
|
+
no_filter: "No filter",
|
|
638
|
+
is_true: "is true",
|
|
639
|
+
is_false: "is false",
|
|
640
|
+
error_uploading_file_size: "Error uploading file: File is larger than {{maxSize}} bytes",
|
|
641
|
+
error_uploading_file_type: "Error uploading file: File type is not supported",
|
|
642
|
+
drag_drop_files: "Drag 'n' drop some files here, or click here to edit",
|
|
643
|
+
drag_drop_file: "Drag 'n' drop a file here, or click here to edit",
|
|
644
|
+
select_reference: "Select reference",
|
|
645
|
+
select_references: "Select references",
|
|
646
|
+
account_settings: "Account Settings",
|
|
647
|
+
profile: "Profile",
|
|
648
|
+
sessions: "Sessions",
|
|
649
|
+
display_name: "Display Name",
|
|
650
|
+
photo_url: "Photo URL",
|
|
651
|
+
save_profile: "Save Profile",
|
|
652
|
+
saving: "Saving...",
|
|
653
|
+
no_active_sessions: "No active sessions found.",
|
|
654
|
+
revoking: "Revoking...",
|
|
655
|
+
revoke_all_sessions: "Revoke All Sessions",
|
|
656
|
+
unknown_device: "Unknown Device",
|
|
657
|
+
current: "Current",
|
|
658
|
+
role_id: "Role ID",
|
|
659
|
+
role_name: "Role Name",
|
|
660
|
+
add_reference: "Add reference",
|
|
661
|
+
add_reference_to: "Add reference to {{name}}",
|
|
662
|
+
role_deleted_successfully: "Role deleted successfully",
|
|
663
|
+
error_deleting_role: "Error deleting role",
|
|
664
|
+
collection_permissions: "Collection permissions",
|
|
665
|
+
collection: "Collection",
|
|
666
|
+
no_collections_configured: "No collections configured",
|
|
667
|
+
no_security_rules_defined: "No security rules defined — all operations unrestricted",
|
|
668
|
+
no_rules: "no rules",
|
|
669
|
+
bootstrap_admin_success: "You are now an admin! Refreshing...",
|
|
670
|
+
failed_to_bootstrap_admin: "Failed to bootstrap admin",
|
|
671
|
+
user_deleted_successfully: "User deleted successfully",
|
|
672
|
+
error_deleting_user: "Error deleting user",
|
|
673
|
+
add_row_before: "Add row before",
|
|
674
|
+
add_row_after: "Add row after",
|
|
675
|
+
delete_row: "Delete row",
|
|
676
|
+
add_column_before: "Add column before",
|
|
677
|
+
add_column_after: "Add column after",
|
|
678
|
+
delete_column: "Delete column",
|
|
679
|
+
delete_table: "Delete table",
|
|
680
|
+
alt_text: "Alt text",
|
|
681
|
+
title: "Title",
|
|
682
|
+
a_property_of_this_map_has_error: "A property of this map has an error",
|
|
683
|
+
studio_sql_executing_query: "EXECUTING QUERY...",
|
|
684
|
+
studio_sql_query_error: "Query Error",
|
|
685
|
+
studio_sql_run_query_placeholder: "Run a query to see results",
|
|
686
|
+
studio_sql_visual_execution_plan: "Visual Execution Plan",
|
|
687
|
+
studio_sql_success: "SUCCESS",
|
|
688
|
+
studio_sql_no_results: "Query executed successfully but returned no results.",
|
|
689
|
+
studio_sql_rows: "Rows:",
|
|
690
|
+
studio_sql_time: "Time:",
|
|
691
|
+
studio_sql_copy_markdown: "Copy Markdown",
|
|
692
|
+
studio_sql_export_json: "Export JSON",
|
|
693
|
+
studio_sql_export_csv: "Export CSV",
|
|
694
|
+
studio_sql_format_sql: "Format SQL",
|
|
695
|
+
studio_sql_explain: "Explain",
|
|
696
|
+
studio_sql_limit_1000: "Limit 1000",
|
|
697
|
+
studio_sql_remove_from_favorites: "Remove from Favorites",
|
|
698
|
+
studio_sql_add_to_favorites: "Add to Favorites",
|
|
699
|
+
studio_sql_save: "Save",
|
|
700
|
+
studio_sql_run: "Run",
|
|
701
|
+
studio_sql_database: "Database",
|
|
702
|
+
studio_sql_role: "Role",
|
|
703
|
+
studio_sql_admin: "(Admin)",
|
|
704
|
+
studio_sql_select_db: "Select DB",
|
|
705
|
+
studio_sql_query_results: "Query Results",
|
|
706
|
+
studio_sql_save_snippet: "Save SQL Snippet",
|
|
707
|
+
studio_sql_snippet_name: "Snippet Name",
|
|
708
|
+
studio_sql_snippet_name_placeholder: "e.g., Get All Users",
|
|
709
|
+
studio_sql_snippet_saved_local: "This will be saved to your local storage.",
|
|
710
|
+
studio_sql_cancel: "Cancel",
|
|
711
|
+
studio_sql_dangerous_operation: "Dangerous Operation Detected",
|
|
712
|
+
studio_sql_dangerous_operation_body: "The query you are about to run contains potentially destructive operations (DELETE, DROP, TRUNCATE, or UPDATE without WHERE). Are you sure you want to proceed?",
|
|
713
|
+
studio_sql_snippet_saved: "Snippet \"{{name}}\" saved.",
|
|
714
|
+
studio_sql_markdown_copied: "Results copied as Markdown!",
|
|
715
|
+
studio_sql_markdown_copy_failed: "Failed to copy Markdown to clipboard.",
|
|
716
|
+
studio_sql_row_updated: "Row updated successfully.",
|
|
717
|
+
studio_sql_cannot_edit_missing_query: "Cannot edit rows: The underlying query is missing.",
|
|
718
|
+
studio_sql_cannot_resolve_table: "Could not resolve table/primary key",
|
|
719
|
+
studio_sql_missing_pk: "Row is missing primary key column(s): {{columns}}. Cannot safely update.",
|
|
720
|
+
studio_sql_update_failed: "Failed to update: {{message}}",
|
|
721
|
+
studio_sql_execution_not_supported: "SQL execution is not supported by the current data source.",
|
|
722
|
+
studio_sql_error_executing: "An error occurred while executing the query.",
|
|
723
|
+
studio_sql_error_explaining: "An error occurred while explaining the query.",
|
|
724
|
+
studio_sql_save_first_to_favorite: "Please save the snippet first before favoriting.",
|
|
725
|
+
studio_sql_cms: "Collections:",
|
|
726
|
+
studio_sql_cms_collections_tooltip: "Tables in this query that are mapped as CMS collections",
|
|
727
|
+
studio_sql_edit_entity: "Edit {{name}} #{{id}}",
|
|
728
|
+
studio_sql_sql_not_supported: "SQL execution not supported by this data source",
|
|
729
|
+
studio_sql_fetch_error: "Failed to fetch connection options: {{message}}",
|
|
730
|
+
studio_sql_unexpected_format: "Unexpected data format: {{type}}",
|
|
731
|
+
studio_sql_no_tables: "No tables found in this database.",
|
|
732
|
+
studio_sql_schema_fetch_error: "Failed to fetch schema: {{message}}",
|
|
733
|
+
studio_sql_sidebar_snippets: "Snippets",
|
|
734
|
+
studio_sql_sidebar_history: "History",
|
|
735
|
+
studio_sql_sidebar_schema: "Schema",
|
|
736
|
+
studio_sql_sidebar_no_snippets: "No saved snippets",
|
|
737
|
+
studio_sql_sidebar_save_snippet_hint: "Save a query to access it here.",
|
|
738
|
+
studio_sql_sidebar_no_history: "No history",
|
|
739
|
+
studio_sql_sidebar_history_hint: "Executed queries will appear here.",
|
|
740
|
+
studio_sql_sidebar_delete_snippet: "Delete snippet",
|
|
741
|
+
studio_schema_tables: "Tables",
|
|
742
|
+
studio_schema_loading: "Loading schema...",
|
|
743
|
+
studio_schema_no_tables: "No tables found",
|
|
744
|
+
studio_schema_retry: "Retry",
|
|
745
|
+
studio_schema_primary_key: "Primary Key",
|
|
746
|
+
studio_schema_select_all: "SELECT * FROM",
|
|
747
|
+
studio_schema_insert_into: "INSERT INTO",
|
|
748
|
+
studio_schema_update: "UPDATE",
|
|
749
|
+
studio_schema_delete_from: "DELETE FROM",
|
|
750
|
+
studio_schema_columns: "{{count}} columns",
|
|
751
|
+
studio_rls_title: "Row Level Security",
|
|
752
|
+
studio_rls_description: "Manage RLS policies for your tables",
|
|
753
|
+
studio_rls_enabled: "RLS Enabled",
|
|
754
|
+
studio_rls_disabled: "RLS Disabled",
|
|
755
|
+
studio_rls_no_rls: "No RLS",
|
|
756
|
+
studio_rls_enable_rls: "Enable RLS",
|
|
757
|
+
studio_rls_disable_rls: "Disable RLS",
|
|
758
|
+
studio_rls_create_policy: "Create Policy",
|
|
759
|
+
studio_rls_policies: "Policies",
|
|
760
|
+
studio_rls_no_policies: "No policies defined",
|
|
761
|
+
studio_rls_no_policies_desc: "This table has no RLS policies. All rows are accessible based on the RLS status.",
|
|
762
|
+
studio_rls_add_first_policy: "Add your first policy",
|
|
763
|
+
studio_rls_force_rls: "Force RLS",
|
|
764
|
+
studio_rls_force_rls_desc: "When enabled, RLS policies apply to the table owner as well.",
|
|
765
|
+
studio_rls_enable_force_rls: "Enable Force RLS",
|
|
766
|
+
studio_rls_disable_force_rls: "Disable Force RLS",
|
|
767
|
+
studio_rls_edit: "Edit",
|
|
768
|
+
studio_rls_delete: "Delete",
|
|
769
|
+
studio_rls_confirm_delete_title: "Delete Policy",
|
|
770
|
+
studio_rls_confirm_delete_body: "Are you sure you want to delete this policy? This action cannot be undone.",
|
|
771
|
+
studio_rls_confirm_enable_title: "Enable Row Level Security",
|
|
772
|
+
studio_rls_confirm_enable_body: "Enabling RLS will restrict access to rows in this table based on your policies. Make sure you have appropriate policies in place.",
|
|
773
|
+
studio_rls_confirm_disable_title: "Disable Row Level Security",
|
|
774
|
+
studio_rls_confirm_disable_body: "Disabling RLS will make all rows accessible to all roles. Are you sure you want to continue?",
|
|
775
|
+
studio_rls_select_table: "Select a table",
|
|
776
|
+
studio_rls_no_tables: "No tables available",
|
|
777
|
+
studio_rls_error: "Error loading policies",
|
|
778
|
+
studio_rls_retry: "Retry",
|
|
779
|
+
studio_rls_loading: "Loading policies...",
|
|
780
|
+
studio_policy_edit: "Edit Policy",
|
|
781
|
+
studio_policy_create: "Create New Policy",
|
|
782
|
+
studio_policy_defining_rules: "Defining access rules for",
|
|
783
|
+
studio_policy_cancel: "Cancel",
|
|
784
|
+
studio_policy_save: "Save Policy",
|
|
785
|
+
studio_policy_template: "Start from a template (Optional)",
|
|
786
|
+
studio_policy_select_template: "Select a template...",
|
|
787
|
+
studio_policy_name: "Policy Name",
|
|
788
|
+
studio_policy_name_placeholder: "Give your policy a descriptive name",
|
|
789
|
+
studio_policy_behavior: "Policy Behavior",
|
|
790
|
+
studio_policy_permissive: "Permissive",
|
|
791
|
+
studio_policy_permissive_desc: "Combined using \"OR\"",
|
|
792
|
+
studio_policy_restrictive: "Restrictive",
|
|
793
|
+
studio_policy_restrictive_desc: "Combined using \"AND\"",
|
|
794
|
+
studio_policy_command: "Policy Command",
|
|
795
|
+
studio_policy_target_roles: "Target Roles",
|
|
796
|
+
studio_policy_roles_placeholder: "Select roles (defaults to public)",
|
|
797
|
+
studio_policy_using_expr: "USING expression",
|
|
798
|
+
studio_policy_using_expr_desc: "Applies to existing rows (SELECT, UPDATE, DELETE)",
|
|
799
|
+
studio_policy_check_expr: "WITH CHECK expression",
|
|
800
|
+
studio_policy_check_expr_desc: "Applies to new or modified rows (INSERT, UPDATE)",
|
|
801
|
+
studio_policy_help_title: "Row Level Security (RLS) Guide",
|
|
802
|
+
studio_policy_help_intro: "Row Level Security (RLS) allows you to restrict which rows a user can access or modify based on their authentication status or roles.",
|
|
803
|
+
studio_policy_help_step1_title: "1. Select a Template",
|
|
804
|
+
studio_policy_help_step1_desc: "If you're new to RLS, the easiest way to start is by selecting a predefined template from the dropdown. It will automatically configure the policy for common use cases like \"Users can update their own rows\".",
|
|
805
|
+
studio_policy_help_step2_title: "2. Target Roles",
|
|
806
|
+
studio_policy_help_step2_desc: "Choose which users the policy applies to:",
|
|
807
|
+
studio_policy_help_role_public: "Applies to everyone (logged in or not).",
|
|
808
|
+
studio_policy_help_role_authenticated: "Only applies to users who are logged in.",
|
|
809
|
+
studio_policy_help_role_anon: "Only applies to users who are NOT logged in.",
|
|
810
|
+
studio_policy_help_step3_title: "3. USING Expression",
|
|
811
|
+
studio_policy_help_step3_desc: "A SQL condition that must evaluate to true for existing rows to be visible or updatable (SELECT, UPDATE, DELETE).",
|
|
812
|
+
studio_policy_help_step3_example: "Ensures users can only see rows where they are the owner.",
|
|
813
|
+
studio_policy_help_step4_title: "4. WITH CHECK Expression",
|
|
814
|
+
studio_policy_help_step4_desc: "A SQL condition that must evaluate to true for new or modified rows to be saved (INSERT, UPDATE).",
|
|
815
|
+
studio_policy_help_step4_example: "Usually the same as the USING expression when users are only allowed to insert/edit their own data.",
|
|
816
|
+
studio_policy_help_auth_vars_title: "Rebase Auth Variables",
|
|
817
|
+
studio_policy_help_auth_vars_desc: "Rebase provides native helper functions that you can use in your expressions:",
|
|
818
|
+
studio_policy_help_auth_uid: "Returns the current user's ID as text. Example:",
|
|
819
|
+
studio_policy_help_auth_jwt: "Returns the full JWT payload as JSONB so you can check custom claims. Example:",
|
|
820
|
+
studio_policy_help_auth_roles: "Returns the user's role IDs as a comma-separated string. Best used with:",
|
|
821
|
+
studio_policy_help_docs_cta: "To learn more about Postgres policies, check out the official documentation.",
|
|
822
|
+
studio_policy_help_read_docs: "Read Docs",
|
|
823
|
+
studio_policy_help_got_it: "Got it!",
|
|
824
|
+
studio_add_kanban_column: "Add column",
|
|
825
|
+
studio_add_kanban_column_title: "Add Kanban Column",
|
|
826
|
+
studio_add_kanban_column_name: "Column name",
|
|
827
|
+
studio_add_kanban_column_name_placeholder: "New column name",
|
|
828
|
+
studio_add_kanban_column_add: "Add",
|
|
829
|
+
studio_add_kanban_column_cancel: "Cancel",
|
|
830
|
+
studio_collection_view_sql: "SQL Editor",
|
|
831
|
+
studio_collection_view_cms: "CMS View",
|
|
832
|
+
studio_editor_collection_tooltip: "Edit collection schema",
|
|
833
|
+
studio_editor_collection_no_permission: "You don't have permission to edit this collection",
|
|
834
|
+
studio_editor_collection_start_tooltip: "Copy path or edit schema",
|
|
835
|
+
studio_editor_collection_start_no_permission: "You don't have permission to modify this collection",
|
|
836
|
+
studio_editor_collection_start_copied: "Copied!",
|
|
837
|
+
studio_editor_entity_tooltip: "Edit entity schema",
|
|
838
|
+
studio_editor_entity_no_permission: "You don't have permission to edit this entity",
|
|
839
|
+
studio_home_edit_collection: "Edit collection",
|
|
840
|
+
studio_home_delete_collection: "Delete collection",
|
|
841
|
+
studio_home_confirm_delete_title: "Delete collection?",
|
|
842
|
+
studio_home_confirm_delete_body: "Are you sure you want to delete the collection \"{{name}}\"? This action cannot be undone.",
|
|
843
|
+
studio_kanban_setup: "Kanban Setup",
|
|
844
|
+
studio_missing_reference: "Missing reference: {{path}}",
|
|
845
|
+
studio_missing_reference_create: "Create",
|
|
846
|
+
studio_new_collection: "New collection",
|
|
847
|
+
studio_new_collection_card: "New collection",
|
|
848
|
+
studio_new_collection_no_permission: "You don't have permissions to create collections",
|
|
849
|
+
studio_property_add_column: "Add new property",
|
|
850
|
+
studio_property_add_column_no_permission: "You don't have permission to add new properties",
|
|
851
|
+
studio_add_kanban_column_desc: "Add a new option to the \"{{property}}\" property. This will create a new column in the Kanban board.",
|
|
852
|
+
studio_add_kanban_column_adding: "Adding...",
|
|
853
|
+
studio_collection_view_edit: "Edit",
|
|
854
|
+
studio_editor_collection_disabled: "Collection editing is disabled",
|
|
855
|
+
studio_editor_collection_edit: "Edit collection",
|
|
856
|
+
studio_editor_entity_save_first: "You need to save the document before changing the schema",
|
|
857
|
+
studio_editor_entity_edit_schema: "Edit schema for this form",
|
|
858
|
+
studio_editor_collection_start_save_filter: "Save default filter and sort",
|
|
859
|
+
studio_editor_collection_start_clear_filter: "Clear default filter and sort",
|
|
860
|
+
studio_editor_collection_start_reset_filter: "Reset to default filter and sort",
|
|
861
|
+
studio_editor_collection_start_saved: "Default config saved",
|
|
862
|
+
studio_home_duplicate_collection: "Duplicate",
|
|
863
|
+
studio_home_delete: "Delete",
|
|
864
|
+
studio_home_confirm_delete_no_data: "This will not delete any data, only the collection in the CMS",
|
|
865
|
+
studio_home_collection_deleted: "Collection deleted",
|
|
866
|
+
studio_kanban_configure: "Configure Kanban",
|
|
867
|
+
studio_missing_reference_error: "No collection for path: {{path}}",
|
|
868
|
+
studio_new_collection_add: "Ajouter une nouvelle collection",
|
|
869
|
+
|
|
870
|
+
// ─── Property field labels ──────────────────────────────────
|
|
871
|
+
db_column_type: "Type de colonne de base de données",
|
|
872
|
+
primary_key_unique_id: "Clé primaire / ID unique",
|
|
873
|
+
spread_children_as_columns: "Étendre les enfants en colonnes",
|
|
874
|
+
mode: "Mode",
|
|
875
|
+
timezone: "Fuseau horaire",
|
|
876
|
+
target_collection: "Collection cible",
|
|
877
|
+
|
|
878
|
+
// ─── Storage property ───────────────────────────────────────
|
|
879
|
+
storage_file_name: "Nom du fichier",
|
|
880
|
+
storage_path: "Chemin de stockage",
|
|
881
|
+
storage_max_size: "Taille maximale (en octets)",
|
|
882
|
+
storage_resize_mode: "Mode de redimensionnement",
|
|
883
|
+
storage_output_format: "Format de sortie",
|
|
884
|
+
storage_max_width: "Largeur maximale (px)",
|
|
885
|
+
storage_max_height: "Hauteur maximale (px)",
|
|
886
|
+
storage_quality: "Qualité (0-100)",
|
|
887
|
+
storage_file_upload_config: "Configuration de téléchargement de fichier",
|
|
888
|
+
storage_image_resize_config: "Configuration du redimensionnement d'image",
|
|
889
|
+
storage_all_file_types: "Tous les types de fichiers autorisés",
|
|
890
|
+
storage_allowed_file_types: "Types de fichiers autorisés",
|
|
891
|
+
storage_include_bucket_url: "Inclure l'URL du bucket (s3://...) dans la valeur enregistrée",
|
|
892
|
+
storage_save_url: "Enregistrer l'URL au lieu du chemin de stockage",
|
|
893
|
+
|
|
894
|
+
// ─── DateTime property ──────────────────────────────────────
|
|
895
|
+
datetime_automatic_value: "Valeur automatique",
|
|
896
|
+
|
|
897
|
+
// ─── Markdown property ──────────────────────────────────────
|
|
898
|
+
markdown_paste_behavior: "Comportement au collage",
|
|
899
|
+
markdown_strip_html: "Supprimer le HTML au collage",
|
|
900
|
+
markdown_convert_pasted: "Convertir le texte collé en markdown"
|
|
901
|
+
};
|