Maison  >  Article  >  développement back-end  >  Comment changer les paramètres multilingues dans thinkPHP

Comment changer les paramètres multilingues dans thinkPHP

不言
不言original
2018-06-07 16:32:083981parcourir

Cet article présente principalement la méthode de configuration de la commutation multilingue de thinkPHP et analyse en détail les étapes spécifiques et les techniques de mise en œuvre associées de thinkPHP pour implémenter la fonction de commutation multilingue sous forme d'exemples. Les amis dans le besoin peuvent s'y référer.

L'exemple de cet article décrit la méthode de configuration de la commutation multilingue thinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Les paramètres multilingues de Thinkphp sont un peu "haut de gamme", pourquoi dites-vous que c'est un peu "haut de gamme" ? Parce qu'il m'a fallu beaucoup de temps pour le configurer, et la raison pour laquelle cela m'a pris beaucoup de temps était parce que « pour activer les paramètres de langue, vous devez d'abord activer la classe de comportement du système d'initialisation ». Par conséquent, ici, en raison de mon expérience limitée, je pense que le paramètre multilingue de tp doit d'abord initialiser le CheckLangBehavior.class.php de tp

Comment initialiser CheckLangBehavior.class.php ? Expliqué ci-dessous.

Sous le framework tp, tous les modules initialisent CheckLangBehavior.class.php, capture d'écran ci-dessous :

Vous devriez être capable de comprendre le chemin, il est dans votre public Créez simplement un nouveau tags.php dans le fichier de configuration du module config.php Le contenu de tags.php est le suivant :

<?php
return array(
//app_begin这个行为标签,其实就是tp的内置标签,作用是在tp初始化的时候,触发某个行为,在这里设置当然是触发多语言的功能了
&#39;app_begin&#39; => array(&#39;Behavior\CheckLangBehavior&#39;),//开启语言功能
);

checkLangBehavior. .class.php ci-dessus Sous le dossier de classe comportementale intégrée de TP, prenez une capture d'écran pour le prouver :

Cette classe est-elle exactement la même que celle ci-dessus ? Vous pouvez aller dans le dossier Library/Behavior du framework TP pour voir si cette classe existe. Quel est son contenu ? Je ne l'analyserai pas ici.

Après avoir configuré le tags.php ci-dessus, nous devons configurer le fichier de configuration tp config.php

Ce config.php est dans la première capture d'écran ci-dessus, il vous suffit d'y ajouter le code suivant :

&#39;LANG_SWITCH_ON&#39;  => true,    //开启多语言支持开关
&#39;DEFAULT_LANG&#39;    => &#39;zh-cn&#39;,  // 默认语言
&#39;LANG_LIST&#39;    => &#39;zh-cn,en-us&#39;, // 允许切换的语言列表 用逗号分隔
&#39;LANG_AUTO_DETECT&#39;  => true,  // 自动侦测语言

Après avoir configuré cela, il est temps de configurer le fichier multi-langue Pas grand chose à dire, capture d'écran :

Voici le code dans le fichier de configuration en-us.php :

<?php
return array(
  /* 核心语言变量 */
  &#39;_WEB_NAME_&#39;   => &#39;TRAVEL&#39;,
  &#39;_WELLCOME_&#39;   => &#39;Wellcome here!&#39;,
);

zh-cn.php Code dans le fichier :

<?php
return array(
  /* 核心语言变量 */ 
  &#39;_WEB_NAME_&#39;   => &#39;来往&#39;,
  &#39;_WELLCOME_&#39;   => &#39;欢迎来往!&#39;,
);

Voici le code de la méthode lang de mon IndexController.class.php :

public function lang(){
    $wellcome = L(&#39;_WELLCOME_&#39;);
    $this->assign(&#39;wellcome&#39;, $wellcome);
    $this->display();
}

Il s'agit du modèle lang.html par défaut sous la méthode lang dans mon contrôleur IndexController.class.php. Vous pouvez le tester ci-dessous,

<.>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title>Tp语言设置测试</title>
  <meta name="keywords" content="关键字列表" />
  <meta name="description" content="网页描述" />
  <link rel="stylesheet" type="text/css" href="" />
  <style type="text/css"></style>
  <script type="text/javascript"></script>
</head>
<body>
<p>{$wellcome}</p>
<p>切换到:<a href="?l=zh-cn">简体中文</a> | <a href="?l=en-us">English</a></p>
</body>
</html>

Les résultats du test sont les suivants :

Vous pouvez cliquer pour changer de langue, s'il y a une conversion entre le chinois et l'anglais , c'est tout

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

thinkphp implémente des fonctions multilingues (pack de langues)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn