Salut à tous !,

  1. Je suis actuellement sur la création d'un site internet qui sera multilingue.

Dans l'idéal je souhaiterai avoir des sous domaines pour les langues secondaires :

monsite.com --> Default, Francais
en.monsite.com --> Anglais
de.monsite.com --> Allemand
etc....

  1. De plus je souhaiterai pouvoir traduire facilement mon site avec PoEdit. Qui me semble pratique pour envoyer les fichiers aux traducteurs.

  2. Enfin, si possible j'aimerai également pouvoir traduire la langue original (Fr) avec PoEdit et non seulement les langues secondaires. (C'est un bonus, si pas possible tampis...)

Qu'en pensez vous, faisable ? C'est une bonne idée ? Pouvez vous me donner une piste et si possible me donner des conseils.

Et sinon niveau référencement comment sa se passe ? Une autre méthode est meilleur ?

Merci à vous pour votre aide et vos conseils ! :)

14 réponses


shinix
Réponse acceptée

Non surtout pas dupliquer de page, si tu fais ton site en 10 langues et que tu veux modifier 1 truc, tu devras le modifier 10x :)

Il s'agit de réecriture d'url ou tu extraits le get et en fonction du get tu affiches la langue. C'est comme si tu avais tonsite.com/index.php?language=fr

kamelzagger
Auteur
Réponse acceptée

Salut shinix, merci pour ta réponse ! :)

Ok alors c'est bien ce qu'il me semblait. Il me semble que cette option est plus judicieuse.

Donc :

1. Site non dupliquer (1 page).

2. On fait passer la langue désirée, via la variable GET (monsite.com/index.php?language=fr).

3. On affiche la page dans la langue désirée (en fait c'est la même page, mais la langue change via la variable GET recus précedemment).

4. Enfin, on peu réecrire les URL pour avoir qqch de plus jolie (et pour le référencement), exemple monsite.com/?language=fr deviens monsite.com/fr/.

Merci à tous pour votre aide :)

Pour le https il est plus simple de n'avoir qu'un seul domaine et de coder la langue dans l'url
https://monsite.com/en/...
avec des sous-domaines il te faut un certificat 'wildcard' (plus cher)

Comme le dis Huggy, mieux vos prévoir les urls de cette façon https://monsite.com/en...

Après tout dépend des technologies que tu utilises pour le développement de ton site, le CMS Grav par exemple propose un système multilingue très facile à utiliser pour les développeurs et rédacteurs.

Sinon tu as des frameworks comme Symfony qui propose la gestion du multilingue avec Twig, à toi de gérer la selection de la langue à ta façon.

Merci à vous pour vos réponses !

Le certificat 'wildcart' est obligatoire ? Car j'ai actuellement un site avec des sous domaines (héberger en Suisse) et ils sont bien en HTTPS. Pourtant je n'ai rien payé de plus, c'est l'option "free SSL" qui est comprise dans l'hébergement et qui s'applique donc également aux sous domaines.

Du coup, pensez vous que je peux quand même garder mon idée de sous domaines ?

Sinon, je connais pas sufissament le frameworks Symfony pour l'utiliser de plus je souhaite si possible faire mon site "maison".

Autre question : pour ce qui sera des "dossiers" - https://monsite.com, https://en.monsite.com, https://de.monsite.com etc.., es ce que je suis obligé de dupliquer a chaque fois tout mon site ? Ou es je peux copier uniquement les pages et relier les sources (css, js, images etc..) via la même URL ?

Par exemple je pourrais mettre tout mes sources dans un dossier src ou alors ajouter un nouveau sous domaine src.monsite.com et toutes les versions du site pioche dans le même dossier. Cela me semble plus simple à gérer. Qu'en pensez vous ? Bien ou pas ?

MERCI :)

La structure des dossiers c'est la partie la plus facile ; moi je crée des sous-dossiers par langue en utilisant comme nom le code langue (fr, en ..) du coup on peut garder le même nom de vue.
si tu fais un dev maison, tu dois penser à gérer des groupes de page correspondant à une page dans ses différentes langues.
Il faut pouvoir générer les hreflang (= liste des variantes de la page) à mettre dans le head
Un autre point important est le comportement du site : langue par défaut, langue du navigateur, choix de l'utilisateur.
faire une correspondance entre les langues qu'accepte le navigateur et les langues du site (fr-fr => fr, fr-FR => fr, fr-CA => fr)
gérer un cookie pour garder le choix de l'utilisateur et ne pas rebasculer sur la langue par défaut
se garder la possibilité de ne pas avoir de traduction pour certaines pages ...

Si tu as déjà un site multi-langue avec sous-domaines, tu dois pouvoir dire si au niveau SEO c'est bénéfique ou pas
(répartition du ranking sur les différents domaines = perte ? possibilité de faire un maillage de liens inter-domaine ?
est-ce que la searchconsole de Google consolide tous les sous domaines au niveau des stats ? je n'en sais rien

Pour répondre à la question url vs sous-domaine
il y a un fil en anglais ici
En gros si tu cibles des pays (commerce spécifique) tu dois choisir des sous-domaines
si tu cibles des personnes de langues différentes, choisis l'url

Merci pour ta réponse Huggy ! Et désolé pour ma réponse tardive.

Tu m'a bien éclairé sur le sujet je pense opter pour le dossiers (monsite.com/fr, monsite.com/de...).

Mais maintenant je me pose une autre question. J'ai vue la vidéo de grafikart pour internaliser son site web, il fait cela avec une variable GET et des pages non dupliqués. C'est donc la même page (index par exemple) qui affichera la langue selon le GET obtenue.

Es bien de faire un site multilingue sur une seul page ? (Et je suppose que l'on "simule" les sous dossiers (/fr, /de, ) en utilisant la réecriture d'URL ?)

Ou c'est mieux de dupliquer chaque page ? Si oui, comment adapter le tuto de grafikart, pour que je puisse également utiliser Poedit ?

Bref, je suis encore dans le flou. Si vous pouvez me conseiller et m'aiguiller encore peu ce serait sympa de votre part. Je souhaite donc vraiment si possible pouvoir traduire mon site facilement avec poedit.

T'as tout compris et pour le référencement ça pose aucun problème.

Dacc, parfait alors !

Merci à tous pour votre aide. Sujet résolu :)

je reviens sur la duplication de pages
bien sûr qu'en théorie c'est mieux de n'avoir qu'une page et des champs traduits mais c'est un travail de Titan.
Pour faire plus simple, tu peux faire une page en français de A à Z puis tu la dupliques, c'est un peu ce que fait Wordpress (wpml)
pour améliorer tu peux mettre en champs traduit les balises importantes pour le SEO comme le title et la description
pour le contenu texte, c'est trop compliqué et la recherche de traduction de chaque paragraphe demande des plombes (bd ou fichier).
Pour le SEO il faut aussi penser aux images, les alt doivent être traduits pour être correctement référencés, sans compter les noms des fichiers qui sont hyper important (chaton_qui_dort.png -> sleeping_kitten.png)
Tout n'est que compomis et ne dépend que de la complexité de tes pages

bon courage.

Sa me parait plus simple quand meme une seul page, non ?

Je veux faire facon Grafikart, avec le GET et gettext. Si je duplique toutes mes pages, ce sera tout bonnement les mêmes.

Il me semble plus simple de faire sur une page ? Tu vois ce que je veux dire ?

Oui je vois bien,
ce que jeveux dire c'est qu'une fois dupliquées il suffit de changer les textes et les images.
et chaque page devient autonome, si tu fais une modif sur une page elle n'impactera pas les autres ; dans ta façon de faire une modif du template peut faire péter une langue (libellé trop long qui décale tout ...).
Comme je le disais, utiliser les gettext au maximum mais garder la possiblité d'avoir des pages autonomes qu'on peut customiser c'est un confort.
Dans la réalité t'auras toujours un chef ou un client qui te demandera de rajouter une image ou un logo pour une langue en particulier.

Re @Huggy, merci pour tes précisions et désolé pour ma réponse tardive !

Ouais je comprend bien. Mais à contrario, si les pages sont dupliqués et que je souhaite faire un changement dans le corps, le footer ou le menu je devrais le faire autant de fois que j'ai de langue (comme tu me l'avais dis précedemment), ce que je souhaite vraiment éviter.

L'idéal serai donc vraiment de faire sur une page avec GET et Gettext. Si j'ai un soucis au niveau css à cause de la langue (libellé trop long etc...) je pourrais toujours appelé une nouvelle feuille de style. Exemple si le GET = En, j'apelle la feuille en.css

Je pensais pas que ce serait si "compliqué" de faire un site en plusieurs langues, ya pas mal de choses à prendre en compte ! Pour le moment je vais terminer le site en francais et je trancherai sur une méthode à la fin. Mais je pense opter pour GETTEXT, c'est l'option que je vois la plus recommandé sur internet.

Merci encore pour ton aide et tes précisions :)

PS : Pas bête pour les noms des images, je n'y avais pas pensé tout de suite. Mais pour le coup je n'aurait pas de soucis à ce niveau la car la plus part de mes images seront des prénoms/pseudo du style : kamel-1993.jpg voir même du style 53ced3c8ca24db7ef7.jpeg donc pas besoin de traduire :)