Avec le développement continu d'Internet, de plus en plus de sites Web et d'applications doivent prendre en charge des fonctions multilingues afin de mieux servir les utilisateurs du monde entier. Dans le développement Web, ThinkPHP est un très excellent framework PHP. Il intègre un support multilingue, permettant aux développeurs d'implémenter facilement des applications multilingues. Cet article explique comment utiliser le framework ThinkPHP6 pour implémenter des fonctionnalités multilingues.
1. Configuration multilingue
Dans ThinkPHP6, pour implémenter la fonctionnalité multilingue, vous devez créer un nouveau fichier lang.php dans le répertoire de configuration de l'application pour configurer le support multilingue. Plusieurs packages linguistiques peuvent être configurés dans ce fichier, et la langue par défaut et les variables de langue peuvent être définies, comme indiqué ci-dessous :
<?php return [ 'default_lang' => 'zh-cn', // 默认语言 'lang_detect_var' => 'lang', // 语言检测变量 'lang_list' => ['zh-cn', 'en-us'], // 支持的语言列表 'LANG_SWITCH_ON' => true, // 开启语言包功能 'phrase' => ['hello' => '你好', 'world' => '世界'], // 语言变量 ];
Dans la configuration linguistique ci-dessus, nous définissons la langue par défaut sur le chinois (zh- cn), la liste des langues prises en charge est le chinois et l'anglais, la fonction de pack de langue est activée et deux variables de langue hello et world sont définies. Parmi eux, lang_detect_var est utilisé pour détecter le paramètre GET de la langue. La valeur par défaut est lang, c'est-à-dire ajouter ?lang=en à l'URL pour changer de langue.
2. Fichiers du pack de langue
Les fichiers du pack de langue sont des fichiers PHP qui stockent les variables de langue et sont créés dans le répertoire du pack de langue correspondant à chaque langue. Par exemple, créez un fichier lang.php dans le répertoire lang/zh-cn pour stocker les variables de langue chinoise :
<?php return [ 'hello' => '你好', 'world' => '世界', 'welcome' => '欢迎', ];
De même, créez un fichier lang.php dans le répertoire lang/en-us pour stocker Variables de langue anglaise Variables :
<?php return [ 'hello' => 'Hello', 'world' => 'World', 'welcome' => 'Welcome', ];
Dans l'exemple ci-dessus, nous avons stocké trois variables de langue, à savoir bonjour, monde et bienvenue.
3. Appel du package de langue
Dans l'application, nous pouvons utiliser la méthode pour obtenir les variables de langue dans le package de langue actuel. Lorsque vous utilisez la méthode , vous pouvez définir le deuxième paramètre pour spécifier le module linguistique à appeler. Par exemple :
echo __('hello'); // 输出当前语言包中的 hello 变量 echo __('hello', 'en-us'); // 输出英文语言包中的 hello 变量
Si une variable de langue n'existe pas, la méthode __ renverra le nom de la variable. Si la valeur de la variable de langue n'est pas définie dans le package de langue actuel, le framework interrogera automatiquement la valeur correspondante dans le package de langue par défaut. S'il n'y a pas de valeur pour la variable dans le package de langue par défaut, le nom de la variable sera. être restitué.
4. Changement de pack de langue
Dans l'application, nous pouvons utiliser la méthode de définition des variables de langue pour changer de fonction multilingue. Par exemple, dans un contrôleur, nous pouvons utiliser la méthode setLang pour définir la variable de langue, comme indiqué ci-dessous :
public function setLang() { $lang = input('param.lang'); if (in_array($lang, config('lang_list'))) { cookie('think_var', $lang); $this->redirect('index/index'); } else { $this->error('语言不存在'); } }
Dans le code ci-dessus, nous obtenons d'abord le paramètre lang et déterminons si sa valeur est dans la prise en charge Dans la liste des langues, si elle existe, définissez la variable de langue et redirigez vers la page d'accueil. S'il n'existe pas, un message d'erreur s'affiche.
5. Résumé
Cet article présente comment utiliser le framework ThinkPHP6 pour implémenter des fonctions multilingues. Avec des étapes telles que la configuration multilingue, les fichiers de packs de langue et les appels de packs de langue, nous pouvons désormais facilement ajouter une prise en charge multilingue à nos applications. J'espère que cet article pourra aider les développeurs qui ont besoin d'implémenter des fonctions multilingues.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!