web-dev-qa-db-fra.com

Redirection sur changement de langue

Je crée un site qui permettra au propriétaire du site d'ajouter/supprimer des pages et des articles de blog dans différentes langues.

Les URL de chaque page ou article de blog ressemblent à:

  • http://site.com/en/path/to/some/page
  • http://site.com/es/blog/path/to/some/post

J'ai l'intention d'ajouter un sélecteur de langue ou de pays en haut de la page qui permet à un utilisateur de changer de langue. Lorsqu'une nouvelle langue est définie, cette langue s'applique à toute la session (la langue de l'interface principale est également changée) jusqu'à ce qu'ils changent de langue à nouveau.

Donc, si je consulte le blog anglais http://site.com/en/blog/my-awesome-blog-post, cliquer sur le bouton espagnol me redirigera vers http://site.com/es/blog/mi-blog-impresionante.

Le problème est que les articles/pages de blog peuvent être publiés dans une seule langue, mais cela peut prendre un certain temps avant que la version traduite soit traduite.

Dans le cas ci-dessus, disons que la version espagnole n'a pas encore été créée, que dois-je faire?

  • N'affichez pas de bouton de changement de langue pour l'espagnol (trompeur car le changement de langue doit également changer la langue du site global.
  • Redirigez l'utilisateur vers une page d'espace réservé indiquant que la traduction n'est pas disponible actuellement.
  • Redirige l'utilisateur vers la page d'accueil en espagnol.
  • Quelque chose de mieux que ce qui précède?
3
F21

Si vous utilisez des boutons pour changer de langue, je changerais l'apparence des langues qui ne sont pas encore disponibles, mais je les rendrais toujours cliquables. Par exemple, faites en sorte que les boutons s'affichent pour les langues pour lesquelles une version traduite de la page n'est pas encore disponible.

Si l'utilisateur clique sur un bouton "décoloré", changez l'interface principale dans la langue de son choix, mais affichez le contenu du blog/de la page en anglais. De plus, affichez une notice traduite en haut de la page dans le sens de "Cette page n'est pas encore disponible en [langue]".

3
philwilks

Je dirais de ne pas afficher le bouton pour l'espagnol jusqu'à ce que la version espagnole soit créée (quelque chose comme ça dans le code - si (espagnol) {bouton d'affichage}), mais si vous devez avoir le bouton en tout temps, vous devriez "Rediriger l'utilisateur vers une page d'espace réservé indiquant que la traduction n'est pas disponible actuellement. "

Là, vous pouvez leur proposer de soumettre leurs e-mails.Une fois que le propriétaire a fait la traduction, vous pouvez envoyer à l'utilisateur un lien vers la publication en espagnol. Vous devrez écrire du code supplémentaire, mais un très bon moyen de solliciter des utilisateurs pour leurs e-mails: D (c'est un gagnant/gagnant - le propriétaire reçoit ses e-mails et les utilisateurs font traduire le message dans une langue qu'ils peuvent lire.)

La seule meilleure façon serait de ne pas rendre le message public avant d'avoir les versions EN et SP, mais de cette façon, vous devrez penser au temps que cela prend pour un message à traduire et si elle est trop longue que vous devriez aller avec la version ci-dessus. Vous devez demander au propriétaire à quel point il est important d'attendre la traduction pour rendre le message public.

2
Radi

Vous surchargez deux fonctions sur un seul contrôle: changez la langue principale et changez la langue de cet article.

Regardez-le du point de vue d'un utilisateur qui arrive sur le blog, et ils ne parlent pas la langue de la page qu'ils consultent. Ce seront presque tous les utilisateurs de cette fonction de changement de langue. La plupart des personnes recherchant arriveront à la bonne langue pour commencer; la plupart des utilisateurs ne changeront pas de langue fréquemment. Ils choisiront leur langue et à partir de là, ils seront à peine au courant des autres traductions.

Votre cas d'utilisation le plus important est donc "Aide, je suis perdu sur une page en langue étrangère, où est ma bouée de sauvetage?" Ils ne se soucient pas de savoir si cet article de blog est disponible dans une autre langue ... ils doivent même changer pour comprendre les fonctionnalités de navigation. Pour cette raison, vous devriez toujours avoir la fonction de changement de langue disponible sur chaque page. Si le message cible n'est pas disponible dans la langue souhaitée, vous devez le noter avec un message d'erreur ou de notification (tel qu'un rouge "Je suis désolé, mais le message n'est pas disponible en anglais. Vous avez été redirigé vers la page d'accueil . Si vous souhaitez traduire, cliquez ici. ")

Votre deuxième utilisateur le plus courant de cette fonctionnalité sera bilingue, et il pourrait être intéressé de voir l'article dans une autre traduction basée sur la fluidité, de pratiquer sa compréhension ou de savoir ce que les traductions doivent faire. Vous pouvez avoir un "Cet article est disponible en: EN, ES, DE, IT" dans une liste déroulante ou autre.

Mais je pense que ces deux besoins pourraient être satisfaits par un seul widget. En haut de la page, répertoriez les langues que vous prenez en charge (selon le nombre, vous pouvez utiliser des drapeaux, des codes à deux lettres ou des mots entiers). Les langues dans lesquelles l'article actuel est disponible pourraient être mises en évidence ou plus audacieuses; les langues dans lesquelles l'article actuel n'est pas disponible pourraient être effacées.

Cette méthode fournit une voie d'évasion pour les locuteurs unilingues, tout en fournissant simultanément aux utilisateurs multilingues des informations sur les langues disponibles pour l'article après quelques essais et erreurs.

0
Myrddin Emrys