Noms des fichiers pour les differentes langues

  • Auteur de la discussion Auteur de la discussion Tapoteur
  • Date de début Date de début
Nouveau WRInaute
Bonjour,
voila je dois traduire un site en differentes langues.
Je vais tres certainement opte pour l'utilisation de repertoires pour differencier les langues /fr, /en, ...

Mais voila mon soucis, sur la version francaise, l'adresse de ma page "produit" va etre du genre :
/fr/produit.php (qui redirigerait vers produit.php?lang=fr)

Pour l'instant, si je change juste le parametre de la langue en anglais dans l'url, j'ai :
/en/produit.php (qui redirigerait vers produit.php?lang=en)

Hors "produit" en anglais ne veut rien dire, je prefererai avoir ceci par exemple :
/en/product.php (qui redirigerait vers produit.php?lang=en)

Y a t il une solution miracle ou est ce que je vais devoir mettre dans mon fichier .htaccess une regle de rewriting pour chaque page dans chaque langue ?
Donc si j'ai par exemple 3 langues et 10 pages, je vais devoir faire 3*10 regle de rewriting pour avoir les noms de fichiers dans la langue correspondante ??

Je suis a votre disposition si je n'ai pas ete tres clair.
D'avance merci pour vos conseils.
 
WRInaute accro
Bonjour
L'avantage des règles de réécriture d'URL est que tu peux utiliser des expressions régulières pour traiter des schémas de construction d'URL. Ton problème doit pouvoir se régler en une ligne (il faudra après mettre en place des redirections 301 des anciennes URL vers les nouvelles)
 
Nouveau WRInaute
Mon soucis est que je ne vois pas trop comment en une seule expression reguliere dire que :

en "fr" je dois avoir par exemple :
/fr/nouvelles.php -> nouvelles.php?lang=fr
/fr/produit.php -> produit.php?lang=fr
/fr/liens.php -> liens.php?lang=fr

et en anglais
/en/news/php -> nouvelles.php?lang=en
/en/product.php -> produit.php?lang=en
/en/links.php -> liens.php?lang=en
 
WRInaute discret
Je ne vois pas de problème ici : si tu as un répertoire (ou mieux un sous-domaine) par langue, il n'y a pas nécessité de différentier la langue en fonction du nom de la page ("produits.html" ou "products.html").

Si le site est en php, le début du script php se fera en déterminant la langue en fonction du sous-domaine et l'url-rewriting ne sera là que pour rediriger vers la bonne partie du script.
 
Nouveau WRInaute
Bonsoir,

Je m'excuse de déterrer ce topic, mais j'ai un besoin similaire avec une structure identique.

Je me permets de demander une précisions là-dessus :

duplex13 a dit:
si tu as un répertoire (ou mieux un sous-domaine) par langue, il n'y a pas nécessité de différentier la langue en fonction du nom de la page ("produits.html" ou "products.html").

L'URL étant prise en compte par les moteurs de recherche (à faible dose d'après ce que j'ai pu comprendre), l'intérêt peut-être intéressant non ?

Dans mon cas je ne possède qu'une dizaine de page (site vitrine donc pas besoin de regex) et je précise qu'ils ont un nommage propre (pas de suroptimisation, un mot voir deux séparés par un tiret maxi), du coup ça me pose pas souci de faire un URL rewriting distinct pour chaque page, mais si cela vaut le coup.. d'où ma question ?

Merci d'avance ;)
 
WRInaute discret
Bonjour,

Cette phrase était écrite dans le cadre de la mise en place de 2 sites dans 2 langues différentes ayant des noms de domaines distincts et en utilisant l'URL Rewriting.

Exemple : la règle
Code:
RewriteRule ^([a-z|0-9|-]{1,99})-prod([0-9]{1,5}).html produit.php?produit=$2
mène au script php indépendamment de la langue et dont le traitement différera en fonction de la variable $produit et de la langue en se basant sur le nom de domaine :

Code:
$provenance = $_SERVER['HTTP_HOST'];
if ($provenance == "mondomandeenanglais.com")
{
  $langue = "en";
}
if ($provenance == "mondomandeenfrancais.fr")
{
  $langue = "fr";
}

D'où ma remarque. Dans le cas d'un site simple, il faut bien orienter l'internaute vers la page dans la bonne langue.
 
Discussions similaires
Haut