Lors de la création d'applications Web multilingues, la prise en charge de la commutation chinoise et en anglais est une exigence fonctionnelle courante. Cet article se concentrera sur le framework ThinkPHP et présentera comment atteindre des fonctions de commutation de langue chinoise et anglaise flexibles à travers la configuration et le développement pour améliorer l'expérience internationale du site Web.
Tout d'abord, vous devez installer la version ThinkPhp 6 via Composer. Vous pouvez rapidement créer un environnement de développement en utilisant les commandes suivantes:
composer create-project topthink/think myproject 6.0.*
Une fois l'installation terminée, vous pouvez commencer à configurer et développer des fonctions de commutation de langue.
Ajoutez des paramètres liés à la langue dans le fichier de configuration du projet ThinkPHP. Le fichier de configuration général est situé dans config / app.php :
// config/app.php
return [
// Langue par défaut
'default_lang' => 'zh-cn',
// Liste des langues prises en charge
'lang_list' => ['zh-cn', 'en-us'],
];
En définissant la langue et la liste de langue par défaut, vous pouvez vous assurer que le système prend en charge les langues chinoises et anglaises.
Créez deux fichiers de package linguistique dans le répertoire APP / LANG : ZH-CN.PHP et EN-US.PHP , correspondant au contenu de la traduction chinoise et anglais:
// app/lang/zh-cn.php
return [
'hello' => 'Bonjour',
'welcome' => 'Bienvenue sur mon site Web',
];
// app/lang/en-us.php
return [
'hello' => 'Hello',
'welcome' => 'Welcome to my website',
];
Ce qui précède définit le contenu correspondant du même nom de clé dans différentes langues, et le système correspond automatiquement en fonction de la langue actuelle.
Nous pouvons changer de langue dans le contrôleur en réglant les cookies:
public function switchLanguage($lang)
{
if (in_array($lang, config('lang_list'))) {
cookie('think_var', $lang);
}
}
Cette méthode définira les cookies en fonction des paramètres de langue entrants pour mettre à jour le lieu.
Dans le modèle, vous pouvez obtenir le contenu de traduction correspondant à la langue via la fonction Lang () :
echo lang('hello');
Cette fonction renverra la valeur linguistique correspondante en fonction du lieu actuel.
Afin d'afficher l'état du langage actuel dans le modèle, vous pouvez utiliser les cookies de jugement pour réaliser:
echo cookie('think_var') === 'en-us' ? ' English' : ' Chinois';
Cela affichera dynamiquement l'état du langage actuel et améliorera l'expérience utilisateur.
En configurant la prise en charge de la langue, en créant des packs de langue, une logique de contrôleur et un jugement de modèle, les développeurs peuvent facilement implémenter des fonctions de commutation de langue chinoise et anglaise dans ThinkPHP. Cette méthode est flexible et efficace et convient à tous les types de projets de site Web qui nécessitent un soutien international.