Comment traduire des Links et des URL dans Magento

Écrit par Mario SAM

Qui travaille avec Magento sait combien il est difficile de traduire le système en portugais (Brésil), et ici même sur le blog, j’ai expliqué pourquoi il est si difficile de créer une traduction complète à 100%.

Lire la publication: 100% de la traduction se trouve!

Et il y a un autre point dans le système où la traduction n’arrive pas, qui sont les url des liens de navigation natifs du système, tels que Checkout, Nouveau compte, Ma liste de souhaits, etc.

Voyons dans cette publication comment faire cette traduction pour améliorer non seulement l’esthétique de votre url, mais aussi l’indexation (SEO) du site.

Étape 1 – Le CMS

Dans le système backend, vous pouvez créer certaines pages de contenu statique, et Magento crée déjà certaines de ces pages par défaut, telles que Página Inicial (home), Sobre Nós (about-magento-demo-store), Central de Atendimento (customer-service), etc.

Donc, dans cette situation, vous pouvez résoudre le problème simplement en éditant chaque page en modifiant la valeur du champ URL.

Changer l’URL du CMS

La traduction portugaise-brésilienne disponible ici dans le blog fait déjà la traduction de certains contenus du CMS, assurez-vous d’obtenir une copie dans le post: La meilleure traduction Magento pt-BR.

Une fois que vous faites ce changement, vous devez maintenant modifier le lien qui appelle cette page. Dans cet exemple, accédez au menu:

CMS > Blocs statiques [Pied de page]

Lorsque vous accédez au bloc contenant les liens de bas de page, modifiez simplement l’url du lien (À propos de nous).

Modification de la référence du lien

Pour mieux comprendre comment fonctionne le pied de page, lisez la publication: Modification du pied de page.

Étape 2 – Le XML

Si vous étudiez la conception de thèmes et thèmes pour Magento, vous savez déjà que plusieurs des liens affichés sur les pages sont créés à partir de xml. Habituellement, en utilisant action blocks “addLink“, “addCartLink“, ou “addLinkBlock“.

Ce que font ces action essentiellement, créez le lien dans html.

Mais beaucoup d’entre eux recherchent cette URL via helpers, comme dans l’exemple du client du lien Log In:

Cette action va chercher dans la classe:

app > code > core > Mage > Customer > Helper > Data.php

La méthode getLoginUrl() pour obtenir l’URL de ce lien.

Donc, la meilleure façon de traduire cette url serait de recréer action addLink comme ceci:

cliente/conta/entrarLog Intrue100

Dans cet exemple, j’ai changé l’appel url helper pour url et j’ai ajouté l’attribut prepare=true pour reconstruire l’url. Cela transformera:

customer/account/login

dans

cliente/conta/entrar

Avec cela, vous pouvez traduire les URL des liens, mais maintenant, vous devez indiquer ces nouvelles URL aux mêmes pages que les liens précédents.

Étape 3 – Réécriture d’URL

Voici les fonctionnalités déjà mentionnées ici sur le blog dans: Url Amigável no Magento. Il peut être utilisé dans d’autres situations en plus de la traduction de liens et d’URL.

Accédez à votre backend menu:

Catalogue > Gérer l'URL Réécrire [Créer une URL]

Pour cette situation de traduction url, vous choisirez l’option “Personnalisé“, l’identifiant ainsi que la description soyez seul pour votre contrôle dans backend.

La chose importante ici est les champs “New Path“, “Base Path” et “Redirect“.

Création d’une redirection d’URL traduite

Nouveau chemin – Entrez l’url traduite, ,par exemple: client/conta/login

Chemin de base – Entrez l’url d’origine, par exemple: customer/account/login

Redirection – Conservez “Non” afin que votre magasin continue à afficher l’url traduit, sinon il redirige la nouvelle url vers l’url précédente (original).

Après avoir sauvegardé tout et mis à jour le cache, vous pouvez déjà effectuer les tests. N’oubliez pas que vous ne devriez pas modifier les fichiers XML base/default, faites-en toujours une copie pour default/default ou votre template/theme personnalisé.

Succès!

L'auteur

Mario SAM

En attendant qu'une opportunité se présente de m'installer en France, je continue d'aider à distance.