Avec le développement d'Internet et l'accélération de la mondialisation, de plus en plus de sites Web et d'applications doivent être localisés pour pouvoir interagir dans différentes régions et langues. L'interaction localisée fait référence à l'ajustement du site Web ou de l'application pour répondre aux besoins de l'utilisateur en fonction de facteurs tels que la langue, la culture et les habitudes du pays ou de la région où se trouve l'utilisateur. Dans cet article, nous présenterons comment utiliser le framework ThinkPHP6 pour réaliser une interaction localisée.
1. Prise en charge multilingue
La prise en charge multilingue est la base d'une interaction localisée. Le framework ThinkPHP6 fournit une variété de méthodes de support multilingues, et nous pouvons choisir la méthode appropriée en fonction des besoins réels.
Le support multilingue basé sur des fichiers est la méthode la plus couramment utilisée. Nous pouvons stocker des fichiers de traduction dans différentes langues dans différents répertoires et obtenir une prise en charge multilingue en définissant des packs de langue.
Tout d'abord, créez un fichier lang.php dans le répertoire de configuration pour définir les éléments de configuration du pack de langue, comme indiqué ci-dessous :
<?php return [ // 默认语言 'default_lang' => 'zh-cn', // 扩展语言包 'extend_list' => [ 'zh-cn','en-us' ], ];
Instructions :
# 🎜🎜#default_lang : pack de langue par défaut. extend_list : Liste étendue des modules linguistiques. Ensuite, créez le répertoire du pack de langue correspondant dans le répertoire app/lang Nous prenons le package de langue chinoise comme exemple, créons le répertoire zh-cn sous le répertoire lang et créons un zh sous celui-ci. directory -cn.php, utilisé pour stocker les paires clé-valeur correspondant à la traduction chinoise, comme indiqué ci-dessous :<?php return [ 'hello' => '你好', 'welcome' => '欢迎', ];Créez le répertoire en-us dans le package de langue anglaise et créez un en-in ce répertoire Le fichier us.php est utilisé pour stocker les paires clé-valeur correspondant à la traduction anglaise, comme indiqué ci-dessous :
<?php return [ 'hello' => 'Hello', 'welcome' => 'Welcome', ];Enfin, utilisez la classe Lang dans le contrôleur ou la vue pour la traduction, par exemple : #🎜🎜 #
echo Lang::get('hello');
Grâce aux étapes ci-dessus, nous pouvons implémenter la prise en charge multilingue dans l'application.
Support multilingue basé sur une base de donnéesTout d'abord, créez une table de langues dans la base de données pour stocker les informations de traduction, comme indiqué ci-dessous :
CREATE TABLE `language` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '翻译名称', `lang` varchar(10) NOT NULL COMMENT '语言包', `value` varchar(255) NOT NULL COMMENT '翻译内容', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Ensuite, créez le fichier de configuration lang.php dans le répertoire de configuration, Set le package de langue en mode base de données, comme suit :
<?php return [ // 语言类型 'type' => 'db', // 默认语言 'default_lang' => 'zh-cn', // 数据表名 'table_name' => 'language', ];
Description :
type : Type de package de langue, défini ici en mode base de données.
default_lang : Langue par défaut.
table_name : Le nom de la table de données qui stocke les informations de traduction.
Enfin, utilisez la classe Lang dans le contrôleur ou la vue pour la traduction, par exemple :
echo Lang::get('hello');
Grâce aux étapes ci-dessus, nous pouvons utiliser la base de données pour stocker les traductions dans l'application informations pour obtenir un support multilingue.
2. Interaction localisée
En plus de la prise en charge multilingue, ThinkPHP6 fournit également une série de fonctions d'interaction localisées pour s'adapter à différentes régions et langues. Voici plusieurs fonctions interactives localisées couramment utilisées :
date_format()Par exemple, le code suivant formatera l'heure actuelle sous la forme "année-mois-jour heure:minute:seconde":
$date = date('Y-m-d H:i:s'); echo date_format(date_create($date), 'Y-m-d H:i:s');number_format () La fonction
$num1 = 1234567.89; $num2 = 9876543.21; echo number_format($num1, 2, '.', ','); echo number_format($num2, 2, '.', ',');
Le résultat de sortie est :
1,234,567.89 9,876,543.21setlocale()
setlocale(LC_TIME, 'en_US.UTF8'); echo strftime("%b %d %Y %H:%M:%S");
Le code ci-dessus affichera la date et l'heure au format "Jan 01 2022 00:00:00".
Grâce aux méthodes ci-dessus, nous pouvons réaliser une interaction localisée dans le framework ThinkPHP6 et offrir une meilleure expérience aux utilisateurs de différentes régions et 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!