Aktueller Standort: Startseite> Neueste Artikel> Stellen Sie die Sprachpaketschlüsselwerte dynamisch fest

Stellen Sie die Sprachpaketschlüsselwerte dynamisch fest

M66 2025-06-06

In mehrsprachigen Websites oder Anwendungsentwicklung müssen in der Regel Sprachpakete (Sprachdateien) für verschiedene Sprachen erstellt werden. Diese Sprachpakete existieren in Form von Schlüsselwertpaaren, in denen Tasten identifizierende von Text und Werte repräsentieren. PHP bietet eine Vielzahl von Möglichkeiten, um diese Sprachpakete zu bewältigen, und Array_Fill_Keys ist eine der praktischen Funktionen, mit denen wir dynamisch Arrays von Schlüsselwertpaaren generieren können. In diesem Artikel wird untersucht, wie Sie Array_Fill_Keys verwenden, um die Schlüsselwertstruktur eines Sprachpakets dynamisch festzulegen.

Was ist Array_Fill_keys ?

Array_Fill_Keys ist eine Funktion in PHP, die ein neues assoziatives Array basierend auf einem bestimmten Schlüsselarray und einem Wert generieren kann. Es akzeptiert zwei Parameter:

  1. Schlüssel : Ein Array mit Schlüssel.

  2. Wert : Der zu füllende Wert, alle generierten Schlüssel entsprechen diesem Wert.

Beispielsweise können Sie anhand von Array_Fill_keys zur Ausgabe der Struktur eines Sprachpakets eine Sprachpaketvorlage basierend auf der vorhandenen Schlüsselliste dynamisch erstellen.

Grundlegende Verwendung von Array_Fill_keys

Angenommen, wir haben eine einfache Sprachpaketstruktur, die Schlüsselwertpaare enthält, zum Beispiel:

  • `'willkommen' => 'Willkommen'

  • 'Login' => 'Login'

  • 'Register' => 'Register'``

Wir möchten diese Schlüsselwertpaare dynamisch über Array_Fill_keys generieren. Schauen Sie sich zunächst das Codebeispiel an:

 <?php
$keys = ['welcome', 'login', 'register'];
$value = 'Nicht übersetzt';  // Standardwert

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

print_r($lang);
?>

Nach der Ausführung des obigen Code wird ein Array generiert, und alle Schlüssel entsprechen "Untranslated" , und die Ausgabe lautet wie folgt:

 Array
(
    [welcome] => Nicht übersetzt
    [login] => Nicht übersetzt
    [register] => Nicht übersetzt
)

Diese Methode ist sehr geeignet, um eine vorläufige Sprachpaketstruktur für mehrsprachige Anwendungen zu erstellen. Danach können wir die entsprechenden Werte nach Bedarf allmählich ersetzen.

Verwenden Sie Array_Fill_Keys , um die Sprachpaketstruktur einzurichten

Angenommen, wir möchten ein Sprachpaket dynamisch erstellen und nach verschiedenen Sprachen füllen. Wir können zuerst die Struktur des Sprachpakets über Array_Fill_Keys initialisieren und dann die Werte jedes Schlüssels entsprechend dem Sprachwechsel ersetzen.

Beispiel: Erstellen Sie ein mehrsprachiges unterstütztes Sprachpaket

Nehmen wir an, dass die Website zwei Sprachen hat: Englisch (EN ) und Chinese (ZH).

 <?php
// Sprachschlüssel
$keys = ['welcome', 'login', 'register'];

// Initialisieren Sie die Sprachpaketstruktur,Alle Werte sind 'Nicht übersetzt'
$lang_en = array_fill_keys($keys, 'Not Translated');
$lang_zh = array_fill_keys($keys, 'Nicht übersetzt');

// Dynamisch Inhalt nach Sprache füllen
$lang_en['welcome'] = 'Welcome';
$lang_en['login'] = 'Login';
$lang_en['register'] = 'Register';

$lang_zh['welcome'] = 'Willkommen';
$lang_zh['login'] = 'Einloggen';
$lang_zh['register'] = 'registrieren';

// Drucken Sie englische und chinesische Sprachpakete
echo "English Language Pack:\n";
print_r($lang_en);

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

Im obigen Code initialisieren wir zunächst eine Sprachpaketstruktur mit dem Standardwert von 'Untranslated' unter Verwendung von array_fill_keys . Anschließend werden die entsprechenden Schlüsselwertpaare dynamisch gemäß dem Übersetzungsinhalt verschiedener Sprachen geändert. Schließlich haben wir zwei Sprachpakete: Englisch und Chinesisch.

Ausgangsergebnis:

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

Chinese Language Pack:
Array
(
    [welcome] => Willkommen
    [login] => Einloggen
    [register] => registrieren
)

Verwenden Sie Array_Fill_Keys , um Sprachpakete dynamisch mit URLs festzulegen

Wenn Ihre Website oder Anwendung eine Menge Text enthält, die verknüpft werden müssen und die Links zu diesen Texten je nach Sprachen variieren, können Sie auch die Sprachpakete mit URLs dynamisch verarbeiten.

Angenommen, wir haben einen Link, der den Domain -Namen entsprechend der Sprache ändern muss, und Sie können dies so tun:

 <?php
// Sprachschlüssel
$keys = ['homepage', 'about_us', 'contact'];

// Initialisieren Sie die Sprachpaketstruktur,Alle Werte sind默认 URL
$lang_en = array_fill_keys($keys, 'http://example.com');
$lang_zh = array_fill_keys($keys, 'http://example.com');

// Dynamische Füllung nach Sprache 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';

// Drucken Sie englische und chinesische Sprachpakete的 URL
echo "English Language Pack URLs:\n";
print_r($lang_en);

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

Im obigen Code initialisieren wir zunächst eine Sprachpaketstruktur, die die URL enthält, und ändern dann den Domänennamenteil der URL gemäß verschiedenen Sprachen. Alle URLs wurden durch M66.NET -Domainnamen ersetzt.

Ausgangsergebnis: