feat: schema builder's create flow

This commit is contained in:
Florian Sylvain committed 2026-10-20 00:29:01 +02:00
1 parent f514146fed
commit 083cc9e23e
71 files changed
+7223 -61

No files matched your search

+111
View File
@@ -2298,6 +2298,117 @@ export const messages = {
'Il a peut-être été supprimé, ou l’adresse est mal saisie.',
'GET /v1/builtin-type failed. Check your connection and try again.':
'GET /v1/builtin-type a échoué. Vérifiez votre connexion et réessayez.',
'{0} now has 1 field.': '{0} a maintenant 1 champ.',
'{0} now has {1} fields.': '{0} a maintenant {1} champs.',
'{0} problems to fix': '{0} problèmes à corriger',
'1 problem to fix': '1 problème à corriger',
'A calendar day, without a time': 'Un jour du calendrier, sans heure',
'A content type can have up to 50 fields.': 'Un type de contenu peut avoir jusqu’à 50 champs.',
'A content type needs at least one field.': 'Un type de contenu a besoin d’au moins un champ.',
Add: 'Ajouter',
'Add 1 to 50 choices. Each one needs a different name. Removing a choice that entries use will be refused when you save.':
'Ajoutez de 1 à 50 choix. Chacun doit avoir un nom différent. Supprimer un choix utilisé par des entrées sera refusé à l’enregistrement.',
'Add a choice': 'Ajouter un choix',
'Add a field, then choose its type and rules here.':
'Ajoutez un champ, puis choisissez ici son type et ses règles.',
'Add at least one choice.': 'Ajoutez au moins un choix.',
'Add field': 'Ajouter un champ',
'Add the first field.': 'Ajoutez le premier champ.',
"A field with unique values can't have a default.":
'Un champ à valeurs uniques ne peut pas avoir de valeur par défaut.',
"An entry can't be saved with this field empty.":
'Une entrée ne peut pas être enregistrée si ce champ est vide.',
'An on or off switch': 'Un interrupteur activé ou désactivé',
'Another field already uses this key.': 'Un autre champ utilise déjà cette clé.',
'API preview': 'Aperçu de l’API',
"A sample entry. Values come from each field's type and default.":
'Un exemple d’entrée. Les valeurs viennent du type et de la valeur par défaut de chaque champ.',
characters: 'caractères',
'Check the fields marked in the list.': 'Vérifiez les champs marqués dans la liste.',
'Choice {0}': 'Choix {0}',
Choices: 'Choix',
"Choices can't be blank.": 'Les choix ne peuvent pas être vides.',
'Content type saved': 'Type de contenu enregistré',
"Couldn't save the content type": 'Impossible d’enregistrer le type de contenu',
'Counted in characters. Entries show a counter.':
'Compté en caractères. Les entrées affichent un compteur.',
'Default value': 'Valeur par défaut',
Discard: 'Abandonner',
'Each entry needs a different value.': 'Chaque entrée doit avoir une valeur différente.',
'Earliest date': 'Date la plus proche',
"Earliest date can't be after the latest date.":
'La date la plus proche ne peut pas être après la date la plus éloignée.',
'Enter a number.': 'Saisissez un nombre.',
'Entries outside the range are refused.': 'Les entrées hors de cette plage sont refusées.',
'Field: {0}': 'Champ : {0}',
'Field settings': 'Réglages du champ',
'For example, Events': 'Par exemple, Événements',
'For example, Title': 'Par exemple, Titre',
'Give the content type a name.': 'Donnez un nom au type de contenu.',
'Use 100 characters or fewer.': 'Utilisez 100 caractères maximum.',
'Give the field a label.': 'Donnez un libellé au champ.',
'Highest value': 'Valeur la plus haute',
'Latest date': 'Date la plus éloignée',
Limits: 'Limites',
'Limits come from the choices below.': 'Les limites viennent des choix ci-dessous.',
Longest: 'Plus long',
'Long text with formatting, written in Markdown':
'Texte long avec mise en forme, écrit en Markdown',
'Lowest value': 'Valeur la plus basse',
"Lowest value can't be above the highest value.":
'La valeur la plus basse ne peut pas dépasser la valeur la plus haute.',
'Move {0}': 'Déplacer {0}',
'Move down': 'Descendre',
'Move up': 'Monter',
'Moving {0}. Position {1} of {2}. Press Up or Down to move, Space to drop, Esc to cancel.':
'Déplacement de {0}. Position {1} sur {2}. Appuyez sur Haut ou Bas pour déplacer, sur Espace pour déposer, sur Échap pour annuler.',
New: 'Nouveau',
'New entries start with this switch off when the field is left out.':
'Les nouvelles entrées démarrent avec cet interrupteur désactivé quand le champ est omis.',
'New entries start with this switch on when the field is left out.':
'Les nouvelles entrées démarrent avec cet interrupteur activé quand le champ est omis.',
'No default': 'Aucune valeur par défaut',
'No fields yet': 'Aucun champ pour l’instant',
'No maximum': 'Aucun maximum',
'No minimum': 'Aucun minimum',
'Not available for rich text.': 'Indisponible pour le texte enrichi.',
'Not available for yes or no fields.': 'Indisponible pour les champs oui ou non.',
'On by default': 'Activé par défaut',
'One option from a list you define': 'Une option parmi une liste que vous définissez',
'Reset to match the label': 'Rétablir d’après le libellé',
Shortest: 'Plus court',
"Shortest can't be longer than longest.":
'Le plus court ne peut pas être plus long que le plus long.',
'Short text, like a title or a name': 'Texte court, comme un titre ou un nom',
'Something went wrong on our side. Your changes are still here. Try again in a moment.':
'Un problème est survenu de notre côté. Vos modifications sont toujours là. Réessayez dans un instant.',
'Start with a letter. Use lowercase letters, digits and underscores.':
'Commencez par une lettre. Utilisez des minuscules, des chiffres et des tirets bas.',
'The default value is outside the limits.': 'La valeur par défaut est hors des limites.',
'The key "{0}" is already used by another content type. Choose a different key.':
'La clé « {0} » est déjà utilisée par un autre type de contenu. Choisissez une autre clé.',
'The key "{0}" is reserved. Choose a different key.':
'La clé « {0} » est réservée. Choisissez une autre clé.',
'The name used in the API. Starts with a letter. Lowercase letters, digits and underscores.':
'Le nom utilisé dans l’API. Commence par une lettre. Minuscules, chiffres et tirets bas.',
'Two choices are the same.': 'Deux choix sont identiques.',
Unique: 'Unique',
'Unique values': 'Valeurs uniques',
'Untitled field': 'Champ sans titre',
'Updates as you edit. Fields you add or remove here appear after you save.':
'Se met à jour pendant la saisie. Les champs que vous ajoutez ou supprimez ici apparaissent après l’enregistrement.',
'Use 2 to 40 lowercase letters, digits or hyphens.':
'Utilisez de 2 à 40 minuscules, chiffres ou tirets.',
'Use a whole number, 0 or more.': 'Utilisez un nombre entier, 0 ou plus.',
"Used in URLs and the API. Lowercase letters, digits and hyphens. It can't change after you save.":
'Utilisée dans les adresses et l’API. Minuscules, chiffres et tirets. Elle ne peut plus changer après l’enregistrement.',
'Used when an entry is created and this field is left out.':
'Utilisée quand une entrée est créée et que ce champ est omis.',
'Where entries of this type live': 'Où se trouvent les entrées de ce type',
'Whole or decimal numbers': 'Nombres entiers ou décimaux',
'Yes or no fields have no limits.': 'Les champs oui ou non n’ont pas de limites.',
"You're offline. Changes will be saved when you reconnect.":
'Vous êtes hors ligne. Les modifications seront enregistrées à la reconnexion.',
} as const
export type MessageKey = keyof typeof messages