Table des matières
think-lang
Fonctionnalités
Installer
Utiliser
configuration de base
Ouvrir et charger le pack de langue
Définition du fichier de langue
Paramètres de routage
réécrit la url fonction d'assistance
TODO
Maison cadre php PensezPHP Installation et utilisation du package d'extension d'optimisation multilingue ThinkPHP 6.0

Installation et utilisation du package d'extension d'optimisation multilingue ThinkPHP 6.0

Jun 23, 2020 pm 01:50 PM
thinkphp6

Ce 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 !

Installation et utilisation du package d'extension d'optimisation multilingue ThinkPHP 6.0

think-lang

ThinkPHP 6.0 Multi-lingual Optimization Extension Pack

https://github.com/TLingC/think-lang
Copier après la connexion

Fonctionnalités

  1. prend en charge l'accès à la page de langue correspondante via un répertoire secondaire tel que mywebsite.com/zh-hans/.
  2. 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
Copier après la connexion

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',
Copier après la connexion

É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
Copier après la connexion

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');}
Copier après la connexion

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);}
Copier après la connexion

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')
Copier après la connexion

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!

Déclaration de ce site Web
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

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Quelle est la différence entre Think Book et ThinkPad Quelle est la différence entre Think Book et ThinkPad Mar 06, 2025 pm 02:16 PM

Quelle est la différence entre Think Book et ThinkPad

Comment empêcher le tutoriel d'injection SQL Comment empêcher le tutoriel d'injection SQL Mar 06, 2025 pm 02:10 PM

Comment empêcher le tutoriel d'injection SQL

Comment installer le logiciel développé par ThinkPhp Comment installer le tutoriel Comment installer le logiciel développé par ThinkPhp Comment installer le tutoriel Mar 06, 2025 pm 02:09 PM

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 réparer la vulnérabilité ThinkPHP Comment gérer la vulnérabilité ThinkPhp Mar 06, 2025 pm 02:04 PM

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

Comment gérer la vulnérabilité ThinkPhp? Comment gérer la vulnérabilité ThinkPhp? Mar 06, 2025 pm 02:08 PM

Comment gérer la vulnérabilité ThinkPhp?

Comment utiliser le tutoriel ThinkPhp Comment utiliser le tutoriel ThinkPhp Mar 06, 2025 pm 02:11 PM

Comment utiliser le tutoriel ThinkPhp

Quelles sont les différences entre Think Pad et Thinkbook Quelles sont les différences entre Think Pad et Thinkbook Mar 06, 2025 pm 02:13 PM

Quelles sont les différences entre Think Pad et Thinkbook

Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur? Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur? Mar 18, 2025 pm 04:54 PM

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

See all articles