Éléments statiques
Tous les éléments qui constituent les divers éléments du site comme le menu, les labels des boutons, des messages de confirmation, du contenu de certains emails automatisés etc. sont modifiables dans cette partie du cockpit.

Édition des traductions
Une fois l’élément à modifier trouvé dans la liste, le bouton sur la droite vous permet d’éditer les différentes traductions disponibles. La liste des langues est automatiquement basée sur les langues que vous avez ainsi que la langue par défaut.

Export
Si vous souhaitez transférer les traductions à une société spécialisée, vous pouvez exporter l’intégralité des traductions dans un fichier Excel pour ensuite ré-importer le fichier complété.
Attention à bien conserver la structure du fichier exporter pour éviter des erreurs lors de l’import.

Scanner automatique de traductions
Le CMS Lochness dispose d’un scanner automatique qui détecte toutes les chaînes de traduction dans votre code source et les ajoute automatiquement à la base de données. Cet outil puissant vous évite de créer manuellement chaque traduction et garantit qu’aucune chaîne n’est oubliée.
Fonctionnement du scanner
Le scanner analyse tous les fichiers PHP de votre application et détecte automatiquement les appels aux fonctions de traduction Laravel :
trans()ettrans_choice()__()(fonction helper)@langet@choice(directives Blade)Lang::get(),Lang::choice(),Lang::trans(),Lang::transChoice()Lang::getFromJson()
Utilisation de la commande
Pour scanner votre code et synchroniser les traductions, utilisez la commande Artisan suivante :
php artisan translations:scan-and-savePar défaut, la commande scanne les répertoires configurés dans config/translations.php. Vous pouvez également spécifier des chemins personnalisés :
php artisan translations:scan-and-save app resources/viewsProcessus de synchronisation
Lors de l’exécution, le scanner :
- Parcourt tous les fichiers PHP dans les répertoires spécifiés
- Extrait les chaînes de traduction en utilisant des expressions régulières avancées
- Marque les traductions obsolètes avec un soft delete (deleted_at)
- Crée ou restaure les traductions trouvées dans le code
- Préserve les traductions existantes dans toutes les langues activées
- Ignore les routes pour éviter la pollution des traductions
Gestion intelligente des traductions
Le scanner gère intelligemment les traductions :
- Namespaces : Support complet des namespaces Laravel (ex:
package::group.key) - Groupes : Organisation automatique par groupe (ex:
validation.required) - Soft delete : Les traductions non utilisées sont marquées comme supprimées mais pas effacées
- Restauration : Les traductions supprimées sont automatiquement restaurées si retrouvées dans le code
- Multi-langues : Préservation des traductions existantes dans toutes les langues
Bonnes pratiques
Pour tirer le meilleur parti du scanner automatique :
- Exécutez régulièrement le scanner pendant le développement pour maintenir les traductions à jour
- Utilisez des clés descriptives pour vos traductions (ex:
users.profile.edit_buttonplutôt quebtn1) - Organisez par groupes logiques (ex:
validation,auth,emails, etc.) - Évitez les clés dynamiques car elles ne peuvent pas être détectées par le scanner
- Vérifiez les traductions obsolètes régulièrement dans l’interface pour les nettoyer
Exemple pratique
Si vous ajoutez dans votre code :
// Dans un contrôleur
return view('profile')->with('message', __('users.profile_updated'));
// Dans une vue Blade
<h1>{{ trans('pages.home.title') }}</h1>
<button>@lang('buttons.save')</button>Après avoir exécuté php artisan translations:scan-and-save, ces trois traductions seront automatiquement ajoutées à votre base de données et disponibles dans l’interface de gestion des traductions statiques.
Configuration avancée
Pour personnaliser les répertoires scannés par défaut, modifiez le fichier config/translations.php :
return [
'scanned_directories' => [
app_path(),
resource_path('views'),
// Ajoutez vos répertoires personnalisés ici
],
];Note : Le scanner est particulièrement utile lors de la migration d’un projet existant vers Lochness CMS ou lors de l’ajout de nouvelles fonctionnalités nécessitant de nombreuses traductions.