Page d'erreur : l'entête HTML avec un code langue codé en dur
voir : src/Template/Layout/base.ctp
, ligne 7
<?php
if(!isset($selectedLanguage)){
$selectedLanguage = 'en';
}
?>
<!DOCTYPE html>
<html lang="<?=$selectedLanguage?>">
- la variable
$selectedLanguage
:- est disponible sur toutes les vues de l'application
- n'est pas disponible sur les vues d'erreurs car gérées par un contrôleur interne à CakePHP
- une page d'erreur en français commence par
- une page d'erreur en anglais commence par
Solution
Utiliser les chaînes i18n pour stocker l'information "en" ou "fr", car ces chaînes i18n sont toujours utilisables dans toutes les vues même si la vue est utilisée par un contrôleur interne à CakePHP ou un contrôleur de l'application.
<!DOCTYPE html>
<html lang="<?= __d("default", "lang.id") ?>">