it-swarm-fr.com

La langue par défaut ne fonctionne pas correctement

J'ai un site avec 2 langues: anglais et espagnol et préfixe de chemin: fr et s respectivement. Ensuite, l'espagnol est défini sur défaut (voir image 1) image 1

Et la négociation de langue est définie sur: PROFIX PATH PARFIX AVEC DEBOWBACK LANGUE (voir image 2) enter image description here

Tout fonctionne comme prévu, mais il y a un problème: lorsque le site est chargé, il prend l'anglais comme langue par défaut. Ensuite, si je change de langue (avec le commutateur de langue), tout fonctionne bien.

Pour être clair, l'URL est:

www.mysite.com (la page d'atterrissage est chargée en anglais) J'ai besoin de cela pour être en espagnol

www.mysite.com/fr/Home (la page d'atterrissage est chargée en anglais)

www.mysite.com/es/Home (la page d'atterrissage est chargée en espagnol)

Je ne peux pas résoudre ce problème ... s'il vous plaît?

3
chefnelone
  1. goto: Accueil "Administration" Configuration "Langues régionales et linguistiques".
  2. sélectionnez l'onglet 'Détection et sélection'.
  3. ONU-Cochez tout sauf 'URL' et 'Default'. Gardez 'URL' au-dessus de 'Default'
5
user392795

Si vous souhaitez coller au mécanisme de "Path PRY PREFIX avec le mécanisme de relèvement de la langue", vous ne pouvez pas utiliser le mécanisme de "PROFIX DE POID PREFIX et de langue par défaut" proposé par @ user392795 , autrement est génial.

Cependant, il y a aussi des solutions pour cela:

Premier cas: Vous n'avez pas besoin d'une alimentation par défaut de Drupal sur la page d'accueil

C'est le cas plus simple, car nous pouvons exploiter la lacune que Drupal= ne fonctionnera pas la négociation de langue lors de la définition du champ "Page d'accueil par défaut" à /admin/config/system/site-information. Donc, définissez-le sur une URL d'un nœud ou d'une vue, etc. qui est en espagnol. Cette solution est également traitée dans cette question .

Assurez-vous simplement que la "page avant par défaut" est pas Dites "Il s'agit d'une variable multilingue". en dessous, parce que cela ajoute des pages avant dépendantes de la langue qui ne sont pas disponibles dans Drupal sur la boîte. Si tel est le cas, vous pouvez vous en débarrasser en suivant ce processus en sens inverse.

Deuxième cas: vous souhaitez également conserver le Drupal Flight Flight sur la page d'accueil

Dans ce cas, les mécanismes de sélection de la langue de Drupal régissent la page d'accueil, vous devez donc vous assurer que les utilisateurs arrivent toujours au frontpage toujours avec le préfixe du chemin pour l'espagnol. Sinon, le mécanisme de secours de la langue lancerait et déterminerait la langue de la langue de la préférence ou du navigateur de profil, comme expliqué par @kiamlaluno déjà ..

Donc, configurez un transitaire d'URL qui fera la redirection. Par exemple avec le mécanisme Apache Mod_alias dans .htaccess:

Redirect 301 / /es/home

Celui-ci devrait également travailler, bit plus gentil:

Redirect 301 / /es

(Si cela ne fonctionne pas dans votre cas, voir certains détails .)

0
tanius