Position actuelle: Accueil> Derniers articles> Comment atteindre l'internationalisation et la localisation dans PHP et CGI: un guide technique de l'adaptation transversale

Comment atteindre l'internationalisation et la localisation dans PHP et CGI: un guide technique de l'adaptation transversale

M66 2025-06-14

1. Le concept d'internationalisation et de localisation

L'internationalisation fait référence à la capacité de concevoir des applications pour s'adapter à plusieurs langues et cultures. La localisation fait référence au processus de traduction de l'interface et du texte d'une application dans une langue et une région spécifiques.

2. Mise en œuvre de l'internationalisation et de la localisation

Dans PHP, nous pouvons utiliser l'extension GetText pour réaliser l'internationalisation. GetText est un outil d'internationalisation standard qui nous permet de traduire le texte de notre application en différentes langues. Tout d'abord, nous devons installer l'extension GetText. Ensuite, nous devons créer un fichier .po avec toutes les traductions de texte et extraire toutes les chaînes de traduction du code source à l'aide de la commande xgetText. Ensuite, nous pouvons utiliser un outil de traduction spécialisé, tel que PoEdit, pour modifier les chaînes de traduction dans le fichier .po. Enfin, nous devons convertir le fichier .po en fichier .mo au format binaire. Voici un exemple de code PHP internationalisé:

<?php
    // Configuration du lieu
    putenv("LC_ALL=zh_CN.UTF-8");
    setlocale(LC_ALL, "zh_CN.UTF-8");

    // désignationmoChemin de fichier
    bindtextdomain("messages", "locale");

    // Sélectionnez un domaine de traduction
    textdomain("messages");

    // utilisergettextTraduire le texte
    echo _("Hello World!");
?>

Dans CGI, nous pouvons utiliser la bibliothèque internationale de modèles (LiBintl) pour atteindre l'internationalisation et la localisation. La bibliothèque de modèles internationaux est une bibliothèque standard pour l'internationalisation, offrant des fonctionnalités similaires à GetText. Nous devons nous assurer que Libintl est déjà installé sur le serveur. Voici un exemple de code CGI internationalisé:

#inclure<locale.h>
#inclure<libintl.h>
#inclure<stdio.h>

int main () {
    // Définissez le paramètre régional (lc_all, "zh_cn.utf-8");

    // lie le domaine de traduction BindTextDomain ("Messages", "Locale");

    // sélectionnez le domaine de traduction TextDomain ("Messages");

    // Utilisez GetText pour traduire le texte printf ("% s", getText ("Hello World!"));
    retour 0;
}

Mise en œuvre de la localisation

En plus de traduire le texte, la localisation comprend également le formatage de la date, de l'heure et de la devise. Dans PHP, nous pouvons utiliser la fonction STRFTIME et la fonction Money_Format pour formater DateTime et la monnaie. Voici un exemple de code PHP localisé:

<?php
    // Configuration du lieu
    setlocale(LC_ALL, "zh_CN.UTF-8");

    // Date de format Heure
    $date = strftime("%d %B %Y");
    echo $date;

    // Format monnaie
    $number = 1234.56;
    $formatted_number = money_format("%n", $number);
    echo $formatted_number;
?>

Dans CGI, nous pouvons utiliser la bibliothèque de fonctions localonv pour obtenir des formats de date, d'heure et de devises localisés. Voici un exemple de code CGI localisé:

#inclure<locale.h>
#inclure<stdio.h>
#inclure<stdlib.h>
#inclure<sys/time.h>
#inclure<localeconv.h>

int main () {
    // Définissez le paramètre régional (lc_all, "zh_cn.utf-8");

    // Obtenez le format de date et d&#39;heure localisé Struct TimeVal TV;
    struct tm * tm;
    Date de charbon [128];

    getTimeofday (& tv, null);
    tm = localtime (& tv.tv_sec);

    Strftime (date, taille (date), "% d% b% y", TM);
    printf ("% s", date);

    // Obtenez le format de devise localisé struct lconv * lc = localEConv ();
    Numéro double = 1234,56;
    char Formatted_number [128];

    snprintf (formatted_number, sizeof (formatted_number), lc-> Currency_Symbol, numéro);
    printf ("% s", formatted_number);

    retour 0;
}

4. Résumé

L'internationalisation et la localisation sont le fondement de la construction d'applications inter-langues et régionales. Dans PHP et CGI, nous pouvons utiliser des extensions GetText et des bibliothèques de modèles internationaux pour atteindre l'internationalisation et la localisation. En plus de traduire le texte, la localisation comprend également le formatage de la date, de l'heure et de la devise. En appliquant rationnellement ces technologies, nous pouvons offrir aux utilisateurs une meilleure expérience utilisateur, permettant à nos applications de s'adapter aux besoins de différentes langues et régions.

Cet article fournit un exemple de code qui, espérons-le, aide les lecteurs à comprendre et à appliquer les technologies d'internationalisation et de localisation. Dans le même temps, il est également nécessaire de prêter attention à la culture et aux habitudes de différentes langues et régions, et de respecter les lois et réglementations locales pour s'assurer que l'application peut fonctionner normalement dans différentes langues et régions.