Comment détecter des pays clients, les paramètres régionaux dans laravel 4
Je veux détecter mon client nationaux ou régionaux ou qu'ils ouvrent site web à partir de ou obtenez le navigateur recommandé de langue.
Par Exemple, si vous ouvrez le navigateur, au Japon, il va me donner le code de pays ou de pays, nom de l'utilisateur courant ouvert comme "fr-jp" ou "japon".
Après Recherche j'ai découvert que "Zend Framework" a la fonction pour détecter l'utilisateur/l'environnement dans Zend_locale.
Donc je me demande si je peux faire la même chose dans laravel 4 ou sinon quelle est la solution que vous suggérez dans une méthode (php, javascript, vérification de l'ip, etc.)?
Je vous remercie à l'avance.
OriginalL'auteur ohm89 | 2014-02-09
Vous devez vous connecter pour publier un commentaire.
Ok je connais les réponses à mes questions comme suivant:
Comment détecter les pays client?
Pour autant que je sais que nous avons besoin d'utiliser geoIP service permettant de détecter l'IP du client qui peut dire où le client en utilisant (par exemple,maxmind)
Mais ce n'est pas la solution pour détecter et modifier la langue du site, si vous à la recherche de cette solution dans laravel 4, je vais vous montrer dans la prochaine question
Comment vérifier la langue que le client souhaite utiliser? (paramètres régionaux dans laravel4)
En résumer, j'ai trouvé quelques façons que vous pouvez obtenir avec la langue du client souhaitez utiliser par la suite:
En-Tête HTTP (HTTP_ACCEPT_LANGUAGE) dans
$_SERVER['HTTP_ACCEPT_LANGUAGE']
égal àRequest::server('HTTP_ACCEPT_LANGUAGE')
dans laravel4. Ces en-tête de nous dire la langue actuelle du navigateur client à utiliser.Demande directe - Dans cette condition, nous allons obtenir une demande directe à partir d'un client de la langue qu'ils souhaitent utiliser. Pour simple exemple, comme nous leur donnons la
<select>
<option val="en">English</option>
<option val="th">Thailand</option>
</select>
Et il choisit de l'envoyer au serveur via l'url Ex: http://www.Test.com/en
Cookies (facultatif) - Nous pouvons obtenir les cookies du navigateur, qui nous fournissent de la langue que la dernière utilisation par l'utilisateur courant. Qui est que nous devons envoyer les cookies après, ils ont visité le site pour la première fois.
Avant que je l'utilise je conserver le soutien tableau des langues dans app/config/app.php par ce qui suit:
Tous ça, j'ai modifier le code app/filter.php pour obtenir toutes les données ci-dessus et de la transformation de mon application en suivant:
Et après l'événement de l'application est la suivante:
Espère que cela va vous aider.
OriginalL'auteur ohm89
- Je utiliser ce
Ip2Country
pour Laravel 4.2 qui peut récupérer les utilisateurs de pays sur la base d'une adresse IP donnée. Crée une base de données locale qui utilise le MaxMind GeoIP de données, donc pas de temps d'exécution appels d'API externes.https://github.com/smalldogs/ip2country
C'est en travaillant uniquement avec des adresses IPv4.
Celui-ci est incompatible pour Laravel 5.4
OriginalL'auteur Dustin Brownell
Je n'ai pas essayé ce paquet, mais vous pouvez probablement utiliser ceci:
https://github.com/webpatser/laravel-countries
Si qui n'est pas de vous tous que vous avez besoin, vous pouvez probablement de le combiner avec le construit en App::setLocale('fr');
Référencé dans:
http://cheats.jesse-obrien.ca
OriginalL'auteur c-griffin
Parle ohm89!
J'ai utilisé la technique suivante pour capturer la priorité de l'utilisateur linguam et de montrer mon site dans votre langue:
1º - j'ai créé deux nouveaux tableaux dans mon app.php, alt_langs (pris en charge par mon site) et locale_prefix de la langue (le préfixe de l'url):
2º - En routes.php fichier:
J'espère que j'ai aidé.o/
OriginalL'auteur Gabriel Glauber