In diesem Artikel wird hauptsächlich die Einstellungsmethode für die Mehrsprachenumschaltung von thinkPHP vorgestellt und die spezifischen Schritte und zugehörigen Implementierungstechniken von thinkPHP zur Implementierung der Mehrsprachenumschaltfunktion in Form von Beispielen detailliert analysiert
Das Beispiel in diesem Artikel beschreibt die Einstellungsmethode für die mehrsprachige Umschaltung von thinkPHP. Ich teile es Ihnen als Referenz mit:
Denken Sie, dass die mehrsprachige Einstellung von PHP ein bisschen „High-End“ ist. Weil es lange gedauert hat, es einzurichten, und der Grund, warum es lange gedauert hat, weil „Um die Spracheinstellungen zu aktivieren, müssen Sie zuerst die Verhaltensklasse des Initialisierungssystems aktivieren“. Aufgrund meiner begrenzten Erfahrung denke ich, dass die mehrsprachige Einstellung von tp zuerst die CheckLangBehavior.class.php von tp initialisieren muss
Wie initialisiere ich CheckLangBehavior.class.php? Nachfolgend erklärt.
Unter dem tp-Framework initialisieren alle Module CheckLangBehavior.class.php, Screenshot unten:
Sie sollten in der Lage sein, den Pfad zu verstehen, in dem er sich befindet Ihre Öffentlichkeit Erstellen Sie einfach eine neue tags.php in der Modulkonfigurationsdatei config.php. Der Inhalt von tags.php lautet wie folgt:
<?php return array( //app_begin这个行为标签,其实就是tp的内置标签,作用是在tp初始化的时候,触发某个行为,在这里设置当然是触发多语言的功能了 'app_begin' => array('Behavior\CheckLangBehavior'),//开启语言功能 );
Das obige checkLangBehavior .class.php befindet sich in tp. Machen Sie im integrierten Verhaltensklassenordner einen Screenshot, um dies zu beweisen:
Ist diese Klasse genau die gleiche wie die oben stehende? Sie können im Ordner „Library/Behavior“ des TP-Frameworks nachsehen, ob diese Klasse vorhanden ist. Ich werde sie hier nicht analysieren.
Nachdem wir die obige tags.php konfiguriert haben, müssen wir die tp-Konfigurationsdatei config.php konfigurieren
Diese config.php befindet sich im ersten Screenshot oben, Sie müssen dort nur den folgenden Code hinzufügen :
'LANG_SWITCH_ON' => true, //开启多语言支持开关 'DEFAULT_LANG' => 'zh-cn', // 默认语言 'LANG_LIST' => 'zh-cn,en-us', // 允许切换的语言列表 用逗号分隔 'LANG_AUTO_DETECT' => true, // 自动侦测语言
Nach der Konfiguration ist es an der Zeit, die mehrsprachige Datei zu konfigurieren, Screenshot:
Das Folgende ist der Code in der Datei en-us.php:
<?php return array( /* 核心语言变量 */ '_WEB_NAME_' => 'TRAVEL', '_WELLCOME_' => 'Wellcome here!', );
Der Code in der Datei zh-cn.php :
<?php return array( /* 核心语言变量 */ '_WEB_NAME_' => '来往', '_WELLCOME_' => '欢迎来往!', );
Das Folgende ist der Code der lang-Methode meines IndexController.class.php:
public function lang(){ $wellcome = L('_WELLCOME_'); $this->assign('wellcome', $wellcome); $this->display(); }
Dies ist die Standardvorlage lang.html unter der lang-Methode in meinem IndexController.class.php-Controller. Sie können sie unten testen,
<!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>
Die Testergebnisse lauten wie folgt:
Sie können klicken, um die Sprache zu wechseln. Wenn es eine Konvertierung zwischen Chinesisch und Englisch gibt, ist das der Fall >Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für Sie hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
thinkphp implementiert mehrsprachige Funktionen (Sprachpaket)Das obige ist der detaillierte Inhalt vonSo ändern Sie die Mehrspracheneinstellungen in thinkPHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!