feat: add routes, lang, tests, stubs, docs, and docker configurations

This commit is contained in:
2026-05-21 16:05:16 +07:00
parent fad70d096b
commit 28a06315b8
3385 changed files with 177070 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
<?php
return [
'single' => [
'label' => 'Associer',
'modal' => [
'heading' => 'Associer :label',
'fields' => [
'record_id' => [
'label' => 'Enregistrements',
],
],
'actions' => [
'associate' => [
'label' => 'Associer',
],
'associate_another' => [
'label' => 'Associer & associer un autre',
],
],
],
'notifications' => [
'associated' => [
'title' => 'Associé',
],
],
],
];
+45
View File
@@ -0,0 +1,45 @@
<?php
return [
'single' => [
'label' => 'Attacher',
'modal' => [
'heading' => 'Attacher :label',
'fields' => [
'record_id' => [
'label' => 'Enregistrement',
],
],
'actions' => [
'attach' => [
'label' => 'Attacher',
],
'attach_another' => [
'label' => 'Attacher & Attacher un autre',
],
],
],
'notifications' => [
'attached' => [
'title' => 'Attaché(e)s',
],
],
],
];
+37
View File
@@ -0,0 +1,37 @@
<?php
return [
'single' => [
'label' => 'Créer',
'modal' => [
'heading' => 'Créer :label',
'actions' => [
'create' => [
'label' => 'Créer',
],
'create_another' => [
'label' => 'Créer & Ajouter un autre',
],
],
],
'notifications' => [
'created' => [
'title' => 'Créé(e)',
],
],
],
];
+73
View File
@@ -0,0 +1,73 @@
<?php
return [
'single' => [
'label' => 'Supprimer',
'modal' => [
'heading' => 'Supprimer :label',
'actions' => [
'delete' => [
'label' => 'Supprimer',
],
],
],
'notifications' => [
'deleted' => [
'title' => 'Supprimé(e)',
],
],
],
'multiple' => [
'label' => 'Supprimer la sélection',
'modal' => [
'heading' => 'Supprimer la sélection de :label',
'actions' => [
'delete' => [
'label' => 'Supprimer la sélection',
],
],
],
'notifications' => [
'deleted' => [
'title' => 'Supprimé(e)s',
],
'deleted_partial' => [
'title' => 'Supprimé :count sur :total',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de supprimer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être supprimés.',
],
'deleted_none' => [
'title' => 'Échec de la suppression',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de supprimer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être supprimés.',
],
],
],
];
+61
View File
@@ -0,0 +1,61 @@
<?php
return [
'single' => [
'label' => 'Détacher',
'modal' => [
'heading' => 'Détacher :label',
'actions' => [
'detach' => [
'label' => 'Détacher',
],
],
],
'notifications' => [
'detached' => [
'title' => 'Détaché(e)',
],
],
],
'multiple' => [
'label' => 'Détacher la sélection',
'modal' => [
'heading' => 'Détacher la sélection de :label',
'actions' => [
'detach' => [
'label' => 'Détacher la sélection',
],
],
],
'notifications' => [
'detached' => [
'title' => 'Détaché(e)s',
],
],
],
];
+61
View File
@@ -0,0 +1,61 @@
<?php
return [
'single' => [
'label' => 'Dissocier',
'modal' => [
'heading' => 'Dissocier :label',
'actions' => [
'dissociate' => [
'label' => 'Dissocier',
],
],
],
'notifications' => [
'dissociated' => [
'title' => 'Dissocié',
],
],
],
'multiple' => [
'label' => 'Dissocier sélection',
'modal' => [
'heading' => 'Dissocier la sélection :label',
'actions' => [
'dissociate' => [
'label' => 'Dissocier sélection',
],
],
],
'notifications' => [
'dissociated' => [
'title' => 'Dissocié',
],
],
],
];
+33
View File
@@ -0,0 +1,33 @@
<?php
return [
'single' => [
'label' => 'Modifier',
'modal' => [
'heading' => 'Modifier :label',
'actions' => [
'save' => [
'label' => 'Sauvegarder les modifications',
],
],
],
'notifications' => [
'saved' => [
'title' => 'Sauvegardé',
],
],
],
];
+89
View File
@@ -0,0 +1,89 @@
<?php
return [
'label' => 'Exporter :label',
'modal' => [
'heading' => 'Exporter :label',
'form' => [
'columns' => [
'label' => 'Colonnes',
'actions' => [
'select_all' => [
'label' => 'Sélectionner tout',
],
'deselect_all' => [
'label' => 'Désélectionner tout',
],
],
'form' => [
'is_enabled' => [
'label' => ':column sélectionnée',
],
'label' => [
'label' => ':column label',
],
],
],
],
'actions' => [
'export' => [
'label' => 'Exporter',
],
],
],
'notifications' => [
'completed' => [
'title' => 'Exportation terminée',
'actions' => [
'download_csv' => [
'label' => 'Télécharger .csv',
],
'download_xlsx' => [
'label' => 'Télécharger .xlsx',
],
],
],
'max_rows' => [
'title' => 'L\'exportation est trop volumineuse',
'body' => 'Vous ne pouvez pas exporter plus dune ligne à la fois.|Vous ne pouvez pas exporter plus de :count lignes à la fois',
],
'started' => [
'title' => 'Lexportation a commencé',
'body' => 'Votre exportation a commencé et 1 ligne sera traitée en arrière-plan.|Votre exportation a commencé et :count lignes seront traitées en arrière-plan.',
],
],
'file_name' => 'export-:export_id-:model',
];
+73
View File
@@ -0,0 +1,73 @@
<?php
return [
'single' => [
'label' => 'Supprimer définitivement',
'modal' => [
'heading' => 'Supprimer définitivement :label',
'actions' => [
'delete' => [
'label' => 'Supprimer',
],
],
],
'notifications' => [
'deleted' => [
'title' => 'Enregistrement supprimé',
],
],
],
'multiple' => [
'label' => 'Forcer la suppression de la sélection',
'modal' => [
'heading' => 'Forcer la suppression de la sélection de :label',
'actions' => [
'delete' => [
'label' => 'Supprimer',
],
],
],
'notifications' => [
'deleted' => [
'title' => 'Enregistrements supprimés',
],
'deleted_partial' => [
'title' => 'Supprimé :count sur :total',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de supprimer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être supprimés.',
],
'deleted_none' => [
'title' => 'Échec de la suppression',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de supprimer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être supprimés.',
],
],
],
];
+9
View File
@@ -0,0 +1,9 @@
<?php
return [
'trigger' => [
'label' => 'Actions',
],
];
+81
View File
@@ -0,0 +1,81 @@
<?php
return [
'label' => 'Importer :label',
'modal' => [
'heading' => 'Importer :label',
'form' => [
'file' => [
'label' => 'Fichier',
'placeholder' => 'Télécharger un fichier CSV',
'rules' => [
'duplicate_columns' => '{0} Le fichier ne doit pas contenir plus d\'un nom de colonne vide.|{1,*} Le fichier ne doit pas contenir de doublons de noms de colonne.: :columns.',
],
],
'columns' => [
'label' => 'Colonnes',
'placeholder' => 'Choisir une colonne',
],
],
'actions' => [
'download_example' => [
'label' => 'Télécharger le fichier CSV exemple',
],
'import' => [
'label' => 'Importer',
],
],
],
'notifications' => [
'completed' => [
'title' => 'Importation terminée',
'actions' => [
'download_failed_rows_csv' => [
'label' => 'Télécharger les informations sur la ligne qui a échoué|Télécharger les informations sur les lignes qui ont échoué',
],
],
],
'max_rows' => [
'title' => 'Le fichier CSV est trop volumineux',
'body' => 'Vous ne pouvez pas importer plus d\'une ligne à la fois.|Vous ne pouvez pas importer plus de :count lignes à la fois.',
],
'started' => [
'title' => 'L\'importation a commencée',
'body' => 'Votre importation a commencé et 1 ligne sera traitée en arrière-plan.|Votre importation a commencé et :count lignes seront traitées en arrière-plan.',
],
],
'example_csv' => [
'file_name' => ':importer-example',
],
'failure_csv' => [
'file_name' => 'import-:import_id-:csv_name-failed-rows',
'error_header' => 'error',
'system_error' => 'Erreur système, veuillez contacter le support.',
'column_mapping_required_for_new_record' => 'La colonne :attribute n\'a pas été associée à une colonne dans le fichier, mais elle est requise pour créer de nouveaux enregistrements.',
],
];
+23
View File
@@ -0,0 +1,23 @@
<?php
return [
'confirmation' => 'Êtes-vous sûr de vouloir faire cela ?',
'actions' => [
'cancel' => [
'label' => 'Annuler',
],
'confirm' => [
'label' => 'Confirmer',
],
'submit' => [
'label' => 'Soumettre',
],
],
];
+10
View File
@@ -0,0 +1,10 @@
<?php
return [
'throttled' => [
'title' => 'Trop de tentatives',
'body' => 'Veuillez réessayer dans :seconds secondes.',
],
];
+33
View File
@@ -0,0 +1,33 @@
<?php
return [
'single' => [
'label' => 'Dupliquer',
'modal' => [
'heading' => 'Dupliquer :label',
'actions' => [
'replicate' => [
'label' => 'Dupliquer',
],
],
],
'notifications' => [
'replicated' => [
'title' => 'Enregistrement dupliqué',
],
],
],
];
+73
View File
@@ -0,0 +1,73 @@
<?php
return [
'single' => [
'label' => 'Restaurer',
'modal' => [
'heading' => 'Restaurer :label',
'actions' => [
'restore' => [
'label' => 'Restaurer',
],
],
],
'notifications' => [
'restored' => [
'title' => 'Enregistrement restauré',
],
],
],
'multiple' => [
'label' => 'Restaurer la sélection',
'modal' => [
'heading' => 'Restaurer la sélection :label',
'actions' => [
'restore' => [
'label' => 'Restaurer',
],
],
],
'notifications' => [
'restored' => [
'title' => 'Enregistrements restaurés',
],
'restored_partial' => [
'title' => 'Restauré :count sur :total',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de restaurer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être restaurés.',
],
'restored_none' => [
'title' => 'Échec de la restauration',
'missing_authorization_failure_message' => 'Vous n\'avez pas la permission de restaurer :count.',
'missing_processing_failure_message' => ':count n\'ont pas pu être restaurés.',
],
],
],
];
+25
View File
@@ -0,0 +1,25 @@
<?php
return [
'single' => [
'label' => 'Voir',
'modal' => [
'heading' => 'Voir :label',
'actions' => [
'close' => [
'label' => 'Fermer',
],
],
],
],
];