IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Détecter et extraire le dimunitif de la langue du navigateur


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Détecter et extraire le dimunitif de la langue du navigateur
    Bonjour,
    J'ai fait ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $browser_lang = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); 
    $browser_lang_ext = strtolower($browser_lang[0]);
    echo $browser_lang_ext;//fr
    Ce qui me retourne "fr" et c'est ce que j'attends comme résultat car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $_SERVER['HTTP_ACCEPT_LANGUAGE'] //fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Pensez-vous ce bout de code me renverra toujours le bon résultat quelque soit le navigateur ? c'est-à-dire code à 2 lettres de chaque langue.

    Merci d'avance...

    Meilleures salutations.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    J'essaie ceci en procédural
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;
    erreur:
    Fatal error: Call to undefined function locale_accept_from_http()
    En POO,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;
    erreur
    Fatal error: Class 'Locale' not found
    Merci d'avance...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Il te faut l'extension Intl

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Ca nécessite PHP 5.3 mini et l'extension Intl activé , c'est le cas de ta configuration ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par grunk Voir le message
    Ca nécessite PHP 5.3 mini
    nope, l'extension à été déplacer de PECL vers PHP a partir de la 5.3, cette extension existe depuis PHP 5.1

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par grunk Voir le message
    Ca nécessite PHP 5.3 mini et l'extension Intl activé , c'est le cas de ta configuration ?
    Je viens d'activer l'extension Intl et PHP 5.3.8 sous wampserver 2.2.

    J'ai toujours le même message d'erreur après redémarrage de wamp.

    Merci d'avance...

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Je viens d'activer l'extension Intl et PHP 5.3.8 sous wampserver 2.2.

    J'ai toujours le même message d'erreur après redémarrage de wamp.

    Merci d'avance...
    t'as bien changer le php.ini, qui est nommer dans ton phpinfo ?

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    t'as bien changer le php.ini, qui est nommer dans ton phpinfo ?
    Mon php.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extension=php_intl.dll

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Mon php.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extension=php_intl.dll
    y'a 2 php.ini pour WAMp ta modifier le mauvais, regarde dans ton phpinfo ...

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    y'a 2 php.ini pour WAMp ta modifier le mauvais, regarde dans ton phpinfo ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //I:\wamp2\bin\apache\Apache2.2.21\bin\php.ini (phpinfo) 
    //I:\wamp2\bin\php\php5.3.8\php.ini 
    extension=php_intl.dll
    J'ai modifié les 2, l'erreur persiste...

    Merci d'avance...

  12. #12
    Membre éclairé Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Par défaut
    essais un print_r(get_loaded_extensions()); pour t'assurer que intl est bien chargée (ou zyeute ton phpinfo). As tu au moins relancé apache ? (sait on jamais )

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //I:\wamp2\bin\apache\Apache2.2.21\bin\php.ini (phpinfo) 
    //I:\wamp2\bin\php\php5.3.8\php.ini 
    extension=php_intl.dll
    J'ai modifié les 2, l'erreur persiste...

    Merci d'avance...
    le fichier php_intl.dll existe ?

  14. #14
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    le fichier php_intl.dll existe ?
    oui
    I:\wamp2\bin\php\php5.3.8\ext\php_intl.dll
    Merci d'avance...

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    oui


    Merci d'avance...
    met bien le display_errors_startup sur On dans tes php.ini
    ensuite sous commande fait : php -m

  16. #16
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par MTroy_ Voir le message
    essais un print_r(get_loaded_extensions()); pour t'assurer que intl est bien chargée (ou zyeute ton phpinfo). As tu au moins relancé apache ? (sait on jamais )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    /*$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;
    $locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;*/
    echo '<pre>';
    print_r(get_loaded_extensions());
    echo '</pre>';
     
    // return
    Array
    (
        [0] => Core
        [1] => bcmath
        [2] => calendar
        [3] => com_dotnet
        [4] => ctype
        [5] => date
        [6] => ereg
        [7] => filter
        [8] => ftp
        [9] => hash
        [10] => iconv
        [11] => json
        [12] => mcrypt
        [13] => SPL
        [14] => odbc
        [15] => pcre
        [16] => Reflection
        [17] => session
        [18] => standard
        [19] => mysqlnd
        [20] => tokenizer
        [21] => zip
        [22] => zlib
        [23] => libxml
        [24] => dom
        [25] => PDO
        [26] => Phar
        [27] => SimpleXML
        [28] => wddx
        [29] => xml
        [30] => xmlreader
        [31] => xmlwriter
        [32] => apache2handler
        [33] => gd
        [34] => mbstring
        [35] => mysql
        [36] => mysqli
        [37] => pdo_mysql
        [38] => pdo_sqlite
        [39] => mhash
        [40] => xdebug
    )

  17. #17
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    met bien le display_errors_startup sur On dans tes php.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    display_startup_errors = On //plutot

    Citation Envoyé par stealth35 Voir le message
    ensuite sous commande fait : php -m
    Où taper cette commande ?

  18. #18
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Dans l'invite de commande

  19. #19
    Membre éclairé Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    /*$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;
    $locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;*/
    echo '<pre>';
    print_r(get_loaded_extensions());
    echo '</pre>';
     
    // return
    Array
    (
        [0] => Core
        [1] => bcmath
        [2] => calendar
        [3] => com_dotnet
        [4] => ctype
        [5] => date
        [6] => ereg
        [7] => filter
        [8] => ftp
        [9] => hash
        [10] => iconv
        [11] => json
        [12] => mcrypt
        [13] => SPL
        [14] => odbc
        [15] => pcre
        [16] => Reflection
        [17] => session
        [18] => standard
        [19] => mysqlnd
        [20] => tokenizer
        [21] => zip
        [22] => zlib
        [23] => libxml
        [24] => dom
        [25] => PDO
        [26] => Phar
        [27] => SimpleXML
        [28] => wddx
        [29] => xml
        [30] => xmlreader
        [31] => xmlwriter
        [32] => apache2handler
        [33] => gd
        [34] => mbstring
        [35] => mysql
        [36] => mysqli
        [37] => pdo_mysql
        [38] => pdo_sqlite
        [39] => mhash
        [40] => xdebug
    )
    Où taper cette commande ?
    Inutile de taper cette commande (de plus il te faudrait l’exécuter dans le bon répertoire), le résultat est dans ta citation de code.
    A présent il faut que tu consultes tes logs apache à la recherche de pourquoi l'extension n'est pas chargée (savoir si tu as bien fait les choses ou si l'erreur provient d'une autre dépendance).
    As tout hasard, la dll est elle existante (normalement oui par défaut) ?
    Peux tu nous transmettre ton dernier fichier de log apache dans un pastebin ?
    Vérifie comme dit plus haut, si display_startup_errors est bien à On

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par MTroy_ Voir le message
    Inutile de taper cette commande (de plus il te faudrait l’exécuter dans le bon répertoire)
    Si, y'aura plus d'explication sur pourquoi la lib ne charge pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Détecter la langue du navigateur.
    Par Le Mad dans le forum VB.NET
    Réponses: 4
    Dernier message: 11/05/2009, 18h40
  2. recuperer la langue du navigateur
    Par maloups dans le forum JSF
    Réponses: 1
    Dernier message: 13/09/2007, 22h11
  3. [PHP-JS] Détection de la langue du navigateur
    Par nako dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 14h13
  4. [JSP] Récupérer la langue du navigateur sans js
    Par Snivel dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/03/2006, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo