Position actuelle: Accueil> Derniers articles> Définissez dynamiquement la structure de valeur clé du package de langue

Définissez dynamiquement la structure de valeur clé du package de langue

M66 2025-06-06

Dans les sites Web multilingues ou le développement d'applications, il est généralement nécessaire de créer des packs de langue (fichiers linguistiques) pour différentes langues. Ces packs de langue existent sous la forme de paires de valeurs clés, où les clés représentent les identifiants du texte et les valeurs représentent un contenu de traduction spécifique. PHP fournit une variété de façons de gérer ces packs de langue, et Array_Fill_keys est l'une des fonctions très pratiques qui nous aide à générer des tableaux de paires de valeurs clés sur une base dynamique. Cet article explorera comment utiliser array_fill_keys pour définir dynamiquement la structure de valeur clé d'un pack de langues.

Qu'est-ce que Array_Fill_keys ?

array_fill_keys est une fonction de PHP qui peut générer un nouveau tableau associatif basé sur un tableau de clé donné et une valeur. Il accepte deux paramètres:

  1. Clés : un tableau contenant des clés.

  2. Valeur : la valeur à remplir, toutes les clés générées correspondent à cette valeur.

Par exemple, en utilisant array_fill_keys pour remplir la structure d'un package de langue, vous pouvez générer dynamiquement un modèle de package de langue basé sur la liste des clés existante.

Utilisation de base de l' array_fill_keys

Supposons que nous ayons une structure de package de langage simple qui contient des paires de valeurs clés, par exemple:

  • «Bienvenue '=>' Bienvenue '

  • 'Login' => 'Login'

  • 'registre' => 'registre'`'

Nous voulons générer ces paires de valeurs clés dynamiquement via array_fill_keys . Tout d'abord, jetez un œil à l'exemple de code:

 <?php
$keys = ['welcome', 'login', 'register'];
$value = 'Non traduit';  // valeur par défaut

$lang = array_fill_keys($keys, $value);

print_r($lang);
?>

Après avoir exécuté le code ci-dessus, un tableau sera généré et toutes les clés correspondent à «non traduites» et la sortie est la suivante:

 Array
(
    [welcome] => Non traduit
    [login] => Non traduit
    [register] => Non traduit
)

Cette méthode est très adaptée pour créer une structure de package de langage préliminaire pour les applications multilingues, après quoi nous pouvons progressivement remplacer les valeurs correspondantes au besoin.

Utilisez Array_Fill_keys pour configurer la structure du pack de langues

Supposons que nous voulons créer un package de langue dynamiquement et le remplir en fonction de différentes langues. Nous pouvons d'abord initialiser la structure du package de langue via array_fill_keys , puis remplacer les valeurs de chaque clé en fonction de la commutation linguistique.

Exemple: créez un package de langage pris en charge multilingue

Supposons que le site Web dispose de deux langues: l'anglais (en) et le chinois (ZH), voici un exemple de la façon d'utiliser Array_Fill_keys pour initialiser un modèle de package de langue et remplir dynamiquement du contenu dans différentes langues:

 <?php
// Clés de langue
$keys = ['welcome', 'login', 'register'];

// Initialiser la structure du pack de langues,Toutes les valeurs sont 'Non traduit'
$lang_en = array_fill_keys($keys, 'Not Translated');
$lang_zh = array_fill_keys($keys, 'Non traduit');

// Remplir dynamiquement le contenu selon la langue
$lang_en['welcome'] = 'Welcome';
$lang_en['login'] = 'Login';
$lang_en['register'] = 'Register';

$lang_zh['welcome'] = 'accueillir';
$lang_zh['login'] = 'Se connecter';
$lang_zh['register'] = 'registre';

// Imprimer des packs de langue anglaise et chinoise
echo "English Language Pack:\n";
print_r($lang_en);

echo "\nChinese Language Pack:\n";
print_r($lang_zh);
?>

Dans le code ci-dessus, nous initialisons d'abord une structure de package de langage avec la valeur par défaut de «non traduit» à l'aide de Array_Fill_keys . Ensuite, les paires de valeurs clés correspondantes sont modifiées dynamiquement en fonction du contenu de traduction de différentes langues. Enfin, nous avons deux packs de langue: l'anglais et le chinois.

Résultat de sortie:

 English Language Pack:
Array
(
    [welcome] => Welcome
    [login] => Login
    [register] => Register
)

Chinese Language Pack:
Array
(
    [welcome] => accueillir
    [login] => Se connecter
    [register] => registre
)

Utilisez Array_Fill_keys pour définir dynamiquement les packages de langue avec URL

Si votre site Web ou votre application a beaucoup de texte qui doit être lié et que les liens vers ces textes peuvent varier en fonction des différentes langues, Array_Fill_Keys peut également vous aider à traiter dynamiquement les packs de langues avec des URL.

Supposons que nous ayons un lien qui doit modifier le nom de domaine en fonction de la langue, et vous pouvez le faire comme ceci:

 <?php
// Clés de langue
$keys = ['homepage', 'about_us', 'contact'];

// Initialiser la structure du pack de langues,Toutes les valeurs sont默认 URL
$lang_en = array_fill_keys($keys, 'http://example.com');
$lang_zh = array_fill_keys($keys, 'http://example.com');

// Remplissage dynamique selon la langue URL
$lang_en['homepage'] = 'http://m66.net/en/home';
$lang_en['about_us'] = 'http://m66.net/en/about';
$lang_en['contact'] = 'http://m66.net/en/contact';

$lang_zh['homepage'] = 'http://m66.net/zh/home';
$lang_zh['about_us'] = 'http://m66.net/zh/about';
$lang_zh['contact'] = 'http://m66.net/zh/contact';

// Imprimer des packs de langue anglaise et chinoise的 URL
echo "English Language Pack URLs:\n";
print_r($lang_en);

echo "\nChinese Language Pack URLs:\n";
print_r($lang_zh);
?>

Dans le code ci-dessus, nous initialisons d'abord une structure de package de langue contenant l'URL, puis modifions la partie du nom de domaine de l'URL selon différentes langues. Toutes les URL ont été remplacées par des noms de domaine m66.net .

Résultat de sortie: