In der heutigen globalen Internet -Ära ist es besonders wichtig, eine mehrsprachige Website zu erstellen. Mit PHP können Sie Ihrer Website einfach mehrere Sprachoptionen hinzufügen, um Benutzern in verschiedenen Regionen ein personalisiertes Zugriffserlebnis zu bieten. In diesem Artikel werden Sie Schritt für Schritt dazu gebracht, zu verstehen, wie PHP eine mehrsprachige Website erstellt, Sprachbarrieren beseitigt und die Globalisierung und Attraktivität der Website verbessert.
Zunächst müssen Sie eine Datenbanktabelle für den mehrsprachigen Inhalt Ihrer Website erstellen. Diese Tabelle speichert Übersetzungsinformationen in verschiedenen Sprachen. Im Folgenden finden Sie SQL -Anweisungen zum Erstellen mehrsprachiger Tabellen:
CREATE TABLE translations (
id INT NOT NULL AUTO_INCREMENT,
locale VARCHAR(255) NOT NULL,
key VARCHAR(255) NOT NULL,
value TEXT NOT NULL,
PRIMARY KEY (id)
);
Um den Benutzern die Auswahl ihrer eigenen Sprache zu erleichtern, können Sie einen Sprachschalter oben oder Seitenleiste der Website hinzufügen. Durch das Festlegen eines einfachen GET -Parameters können Benutzer die gewünschte Sprache auswählen. Hier ist ein Beispielcode:
// Holen Sie sich die aktuelle Sprache
$current_locale = isset($_GET["locale"]) ? $_GET["locale"] : "en";
// Sprachlinks
$languages = array("en", "es", "fr");
foreach ($languages as $lang) {
echo "<a href=?locale=$lang">$lang</a> ";
}
Um den entsprechenden übersetzten Inhalt gemäß der vom Benutzer ausgewählten Sprache zu laden, müssen Sie Übersetzungsinformationen aus der Datenbank abrufen. Hier ist der Code zum Laden der aktuellen Sprachübersetzung aus der Datenbank:
// Abfrageübersetzung
$translations = $db->prepare("SELECT * FROM translations WHERE locale = ?");
$translations->execute(array($current_locale));
// Übersetzungsarrays speichern
$tr = array();
foreach ($translations as $row) {
$tr[$row["key"]] = $row["value"];
}
Auf der HTML -Seite können Sie die GetText -Funktion verwenden, um den übersetzten Inhalt der aktuellen Sprache anzuzeigen:
// verwenden gettext Holen Sie sich eine Übersetzung
echo gettext("This is a test");
Für Daten und Zeiten können Sie die INTL -Erweiterung von PHP verwenden, um Internationalisierung zu erreichen. Dies stellt sicher, dass Datum und Uhrzeit gemäß den Einstellungen in verschiedenen Regionen formatiert werden:
// erstellen DateTime Objekt
$dt = new DateTime();
// Legen Sie die Zeitzone fest
$dt->setTimezone(new DateTimeZone("Europe/London"));
echo $dt->format("Y-m-d H:i:s");
In ähnlicher Weise können Sie auch Zahlen und Währungen mit intl -Erweiterungen lokalisieren. Zeigen Sie beispielsweise die Währung im US -Format an:
// erstellen NumberFormatter Objekt
$formatter = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
// Formatwährung
$amount = 1000;
echo $formatter->formatCurrency($amount, "USD");
Um den Code klar zu halten, können Sie Funktionen schreiben, um den Übersetzungs- und Internationalisierungsprozess zu vereinfachen. Sie können beispielsweise eine vereinfachte Übersetzungsfunktion erstellen:
function t($key) {
global $tr;
return isset($tr[$key]) ? $tr[$key] : $key;
}
In den oben genannten Schritten können Sie mit PHP problemlos eine mehrsprachige unterstützte Website erstellen, wodurch Sprachbarrieren beseitigt und die Internationalisierung der Website verbessert werden. Egal, ob es sich um Übersetzungstext, internationale Daten und Zeiten oder Währungsformatierung handelt, PHP bietet Ihnen eine leistungsstarke Unterstützung, damit Ihre Website Benutzer auf der ganzen Welt bedienen kann.