Question

Je construis un site sur le moteur d'application Google et son code de base et la base de données est conçu pour gérer les différentes langues et régions.

Ce que je suis vraiment pour des suggestions sur la façon dont les années d'URL doivent être structurées, en particulier pour une configuration gea / django / python, de sorte que le site sait quelle langue il devrait être de charger les pages en fonction de l'URL.

Voici mes suggestions, s'il vous plaît carillon sur ce que vous pensez est le meilleur:

sous-domaine: http://fr.mysite.com/ Mais est-ce possible d'avoir différents sous-domaines, tels que « en », « fr », « de », et toujours pointer vers la même application Google dans votre compte?

DOMAIN EXTENSION: http://www.mysite.fr / Ne serait-il être possible d'acheter des noms de domaine pour chacune des langues, pointez à la même application?

FIRST FOLDER: http://www.mysite.com/fr/about- nous Cette méthode fonctionne, mais serait gênant pour le code et je préfère ne pas avoir plus urls que nécessaire. Pensées?

Y at-il d'autres options que je ne pense pas à? Tout conseil serait apprécié, merci.

Était-ce utile?

La solution

Les trois possibilités sont ceux d'un point de vue du développement. Le modèle « d'extension de domaine » est susceptible de se révéler coûteuse et peut-être impossible en fonction de vos ressources et les langues que vous souhaitez soutenir -. .Fr par exemple est réservé aux résidents seulement ou entités ayant une présence française

Le modèle « premier dossier » ne peut pas être si difficile à programmer pour. Lors de la configuration de vos gestionnaires, vous pourriez faire quelque chose comme ceci:

application = webapp.WSGIApplication(
[
  ('/(en|fr|de)/', IndexController),
]

Quelle serait alors passer explicitement l'identificateur de langue en tant que premier paramètre au gestionnaire.

Les sous-domaines, comme vous l'avez dit, vont être le plus propre du point de vue de l'URL. Comme il est indiqué dans le PythonRuntime Environnement de docs vous pouvez mapper plusieurs sous-domaines la même application - en fait des applications hébergées seront tous répondre à [tout] [nom de l'application] .appspot.com.. L'hôte utilisé pour l'accès peut être extrait de l'objet de requête.

Dans l'ensemble, il semble que plus d'une préférence personnelle que toute autre chose.

Autres conseils

Je voulais juste souligner que cela pourrait aussi être fait avec un préfixe dans l'URL. Comme ceux-ci:

www.site.com/en/rest_of_url

www.site.com/fr/rest_of_url

l'application serait la configuration comme ceci:

 class LanguageHandler(webapp2.RequestHandler):
     def dispatch(self):
         request = self.request
         args = request.route_args
         if len(args) and args[0] in ['en','fr']:
             self.language = args[0]
             request.route_args = args[1:]
         try:
             # Dispatch the request.
             webapp2.RequestHandler.dispatch(self)
         finally:
             # The web page response Header will now include the 2 letter language code...
             self.response.headers['Content-Language'] = str(self.language)

 class HomePage(LanguageHandler):
     def get(self):
         # self.language is now 'en' or 'fr'
         # ...code goes here...

 app = webapp2.WSGIApplication([
     (r'/(en|fr)', HomePage),
 ], debug = True)
scroll top