Skip to Content

É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.

Lochness CMS Traductions
Liste des éléments statiques

É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.

Lochness CMS Traductions
Édition des traductions d’un élément

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.

Lochness CMS Export des traductions
Fenêtre pour exporter les traductions

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() et trans_choice()
  • __() (fonction helper)
  • @lang et @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-save

Par 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/views

Processus de synchronisation

Lors de l’exécution, le scanner :

  1. Parcourt tous les fichiers PHP dans les répertoires spécifiés
  2. Extrait les chaînes de traduction en utilisant des expressions régulières avancées
  3. Marque les traductions obsolètes avec un soft delete (deleted_at)
  4. Crée ou restaure les traductions trouvées dans le code
  5. Préserve les traductions existantes dans toutes les langues activées
  6. 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 :

  1. Exécutez régulièrement le scanner pendant le développement pour maintenir les traductions à jour
  2. Utilisez des clés descriptives pour vos traductions (ex: users.profile.edit_button plutôt que btn1)
  3. Organisez par groupes logiques (ex: validation, auth, emails, etc.)
  4. Évitez les clés dynamiques car elles ne peuvent pas être détectées par le scanner
  5. 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.

Last updated on