- Posts: 140
- Thank you received: 21
Gestion des alias sur un site multilingue
- easyconnect83
-
Topic Author
- Offline
Less
More
3 years 11 months ago #345995
by easyconnect83
Gestion des alias sur un site multilingue was created by easyconnect83
-- HikaShop version -- : 4.6.2
-- Joomla version -- : 4.2.3
-- PHP version -- : 7.4.25
-- Browser(s) name and version -- : Brave 1.39.111
Bonjour,
en faisant l'import des produits en deux langues je me suis aperçu que dans la langue traduite le champ alias était identique au champ nom du produit.
Par exemple si le nom du produit est RED TOTO l'alias sera RED TOTO (voir capture écran).
Le système conserve les espaces et ne met pas de tirets de séparation pour avoir ceci -> red-toto
J'ai pourtant bien identité au moment de l'import les champs
product_name|en-GB contenant RED TOTO
et product_alias|en-GB contenant red-toto
De même si je corrige le champ alias pour mettre à la main red-toto alors à l'enregistrement il met red-toto à l'identique dans le champ nom du produit.
Ce qui a posé problème jusqu'à ce que je définisse à la main dans la langue traduite les URLs canoniques de chaque fiche produit pour pouvoir accéder correctement aux produits dans le listing des produits côté frontend.
Qu'en pensez-vous ?
-- Joomla version -- : 4.2.3
-- PHP version -- : 7.4.25
-- Browser(s) name and version -- : Brave 1.39.111
Bonjour,
en faisant l'import des produits en deux langues je me suis aperçu que dans la langue traduite le champ alias était identique au champ nom du produit.
Par exemple si le nom du produit est RED TOTO l'alias sera RED TOTO (voir capture écran).
Le système conserve les espaces et ne met pas de tirets de séparation pour avoir ceci -> red-toto
J'ai pourtant bien identité au moment de l'import les champs
product_name|en-GB contenant RED TOTO
et product_alias|en-GB contenant red-toto
De même si je corrige le champ alias pour mettre à la main red-toto alors à l'enregistrement il met red-toto à l'identique dans le champ nom du produit.
Ce qui a posé problème jusqu'à ce que je définisse à la main dans la langue traduite les URLs canoniques de chaque fiche produit pour pouvoir accéder correctement aux produits dans le listing des produits côté frontend.
Qu'en pensez-vous ?
Please Log in or Create an account to join the conversation.
3 years 11 months ago - 3 years 11 months ago #346014
by nicolas
Replied by nicolas on topic Gestion des alias sur un site multilingue
Bonjour,
Le système de traduction natif à HikaShop (sans utilisation de Falang) utilise le système d'override de traductions de Joomla.
Dans un fichier de traduction, les traductions se présentent ainsi:
CLEF_DE_TRADUCTION="Texte de la traduction"
Il n'est pas possible d'avoir plusieurs lignes avec la même clé de traduction.
Lorsque vous avez le texte "TOTO ROUGE" dans le nom du produit (colonne product_name du CSV), le système va sauvegarder les traductions du nom avec la clé TOTO_ROUGE. Et si vous avez l'alias du produit avec "toto-rouge" (colonne product_alias dans le CSV), alors la clé de traduction sera aussi TOTO_ROUGE pour les traductions de l'alias. Et c'est là que vous avez un conflit.
D'ailleurs, vous aurez le même souci avec un produit avec le nom "test" et un autre produit avec le nom "Test", car cela ferait aussi la même clé de traduction.
Vous avez deux solutions ici:
- vous faites en sorte que les clés de traduction qui seront générées pour le nom et l'alias soient différentes, en utilisant au moins un caractère alphanumérique différent entre les deux textes.
- vous activez l'option "Clés de traduction non-latines" de la configuration HikaShop. Dans ce cas, les clés qui seront générées seront des hashs ( fr.wikipedia.org/wiki/Fonction_de_hachage ) du texte initial. Ainsi, "TOTO ROUGE" et "toto-rouge" auront une clé de traudction totalement différente qui évitera le souci. Par contre, notez qu'avec cette option, les traductions déjà renseignées dans HikaShop seront perdues. Elles seront toujours dans le fichier de traduction, mais le système ne les verra plus vu qu'il cherchera des traductions avec des clés en mode "hash".
Le système de traduction natif à HikaShop (sans utilisation de Falang) utilise le système d'override de traductions de Joomla.
Dans un fichier de traduction, les traductions se présentent ainsi:
CLEF_DE_TRADUCTION="Texte de la traduction"
Il n'est pas possible d'avoir plusieurs lignes avec la même clé de traduction.
Lorsque vous avez le texte "TOTO ROUGE" dans le nom du produit (colonne product_name du CSV), le système va sauvegarder les traductions du nom avec la clé TOTO_ROUGE. Et si vous avez l'alias du produit avec "toto-rouge" (colonne product_alias dans le CSV), alors la clé de traduction sera aussi TOTO_ROUGE pour les traductions de l'alias. Et c'est là que vous avez un conflit.
D'ailleurs, vous aurez le même souci avec un produit avec le nom "test" et un autre produit avec le nom "Test", car cela ferait aussi la même clé de traduction.
Vous avez deux solutions ici:
- vous faites en sorte que les clés de traduction qui seront générées pour le nom et l'alias soient différentes, en utilisant au moins un caractère alphanumérique différent entre les deux textes.
- vous activez l'option "Clés de traduction non-latines" de la configuration HikaShop. Dans ce cas, les clés qui seront générées seront des hashs ( fr.wikipedia.org/wiki/Fonction_de_hachage ) du texte initial. Ainsi, "TOTO ROUGE" et "toto-rouge" auront une clé de traudction totalement différente qui évitera le souci. Par contre, notez qu'avec cette option, les traductions déjà renseignées dans HikaShop seront perdues. Elles seront toujours dans le fichier de traduction, mais le système ne les verra plus vu qu'il cherchera des traductions avec des clés en mode "hash".
Last edit: 3 years 11 months ago by nicolas.
The following user(s) said Thank You: easyconnect83
Please Log in or Create an account to join the conversation.
- easyconnect83
-
Topic Author
- Offline
Less
More
- Posts: 140
- Thank you received: 21
3 years 11 months ago #346015
by easyconnect83
Replied by easyconnect83 on topic Gestion des alias sur un site multilingue
Merci beaucoup pour les précisions apportées.
Je comprends mieux pourquoi j'ai observé ce résultat.
Et effectivement j'ai oublié de préciser que c'était en mode traduction native par HikaShop ... et non une extension tierce
L'utilisation de la fonction de hachage est intéressante.
Merci!
Je comprends mieux pourquoi j'ai observé ce résultat.
Et effectivement j'ai oublié de préciser que c'était en mode traduction native par HikaShop ... et non une extension tierce
L'utilisation de la fonction de hachage est intéressante.
Merci!
Please Log in or Create an account to join the conversation.
- easyconnect83
-
Topic Author
- Offline
Less
More
- Posts: 140
- Thank you received: 21
3 years 11 months ago #346017
by easyconnect83
Replied by easyconnect83 on topic Gestion des alias sur un site multilingue
Je pense à une chose concernant le nom des déclinaisons de produits.
Il est possible d'avoir des noms de déclinaisons identiques pour différents produits parents.
Dans ce cas cela va aussi poser problème car il risque d'y avoir une clé de traduction similaire.
Pour revenir sur la solution n°2 après activation du hash il suffit de réimporter le fichier avec l'ensemble des traductions.
Il est possible d'avoir des noms de déclinaisons identiques pour différents produits parents.
Dans ce cas cela va aussi poser problème car il risque d'y avoir une clé de traduction similaire.
Pour revenir sur la solution n°2 après activation du hash il suffit de réimporter le fichier avec l'ensemble des traductions.
Please Log in or Create an account to join the conversation.
Time to create page: 0.256 seconds