


Installation et utilisation du package d'extension d'optimisation multilingue ThinkPHP 6.0
Jun 23, 2020 pm 01:50 PMCe qui suit est une introduction au package d'extension d'optimisation multilingue ThinkPHP 6.0 de la colonne du didacticiel thinkphp framework J'espère que cela sera utile aux amis dans le besoin !
think-lang
ThinkPHP 6.0 Multi-lingual Optimization Extension Pack
https://github.com/TLingC/think-lang
Fonctionnalités
- prend en charge l'accès à la page de langue correspondante via un répertoire secondaire tel que
mywebsite.com/zh-hans/
. - Prend en charge les modules linguistiques pour que chaque langue soit séparée dans des répertoires distincts, et il peut y avoir des répertoires secondaires sous les répertoires.
Installer
composer require tlingc/think-lang
Utiliser
configuration de base
Veuillez vous référer à la documentation officielle (https://www.kancloud.cn/manual /thinkphp6_0 /1037637) Effectuer les configurations associées. Notez également les différences suivantes par rapport aux documents officiels.
Ouvrir et charger le pack de langue
Le nom du middleware est :
'tlingc\lang\middleware\LoadLangPack',
Étant donné que plusieurs langues sont accessibles via le répertoire secondaire, la fonction 使用Cookie保存语言
est invalide.
Définition du fichier de langue
Fichier de langue de l'application chargé automatiquement :
// 单应用模式app\lang\当前语言.php app\lang\当前语言\*.php app\lang\当前语言\*\*.php// 多应用模式app\应用\lang\当前语言.php app\应用\lang\当前语言\*.php app\应用\lang\当前语言\*\*.php
Veuillez noter que ce pack d'extension ne modifie pas le comportement d'analyse du pack de langue, ni le nom de fichier du Le fichier de langue n'affectera pas le regroupement de langues, provoquant un écrasement lorsque la même définition existe dans plusieurs fichiers.
Paramètres de routage
Pour utiliser le répertoire secondaire pour accéder à la page de langue correspondante, vous devez utiliser la définition de routage, et il est recommandé d'activer le mode 强制路由
.
use think\facade\Config;Route::view('/', 'index/index');$langs = Config::get('lang.allow_lang_list');foreach($langs as $lang){ Route::rule($lang . '/', 'index/index'); Route::rule($lang . '/welcome', 'index/welcome');}
réécrit la url
fonction d'assistance
et l'ajoute au fichier public de l'application common.php
.
use think\facade\Request;use think\facade\Lang;use think\facade\Route;use think\route\Url as UrlBuild;function url(string $url = '', array $vars = [], $suffix = true, $domain = false, $lang = true, $replace = false): UrlBuild{ if (!$lang) { if($replace) { $explode = explode('/', Request::url(), 3); $url = $url . $explode[2]; } return Route::buildUrl($url, $vars)->suffix($suffix)->domain($domain); } $lang = Lang::getLangSet(); return Route::buildUrl('/' . $lang . $url, $vars)->suffix($suffix)->domain($domain);}
Par rapport à la fonction d'assistance officielle, les paramètres $lang
et $replace
sont ajoutés.
Saut normal, le nom de la langue précédente sera automatiquement inclus lors de la génération de l'URL.
url('/welcome')
Si vous devez remplacer uniquement le nom de la langue dans l'URL (par exemple lorsqu'il est utilisé dans un sélecteur de langue), définissez le paramètre $replace
sur true
.
TODO
- Intégrer la méthode de définition d'itinéraire.
-
Intégrer les paramètres
url
prioritaires.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quelle est la différence entre Think Book et ThinkPad

Comment empêcher le tutoriel d'injection SQL

Comment installer le logiciel développé par ThinkPhp Comment installer le tutoriel

Comment réparer la vulnérabilité ThinkPHP Comment gérer la vulnérabilité ThinkPhp

Comment gérer la vulnérabilité ThinkPhp?

Comment utiliser le tutoriel ThinkPhp

Quelles sont les différences entre Think Pad et Thinkbook

Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur?
