Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

i18n

7 réponses
Avatar
Rakotomandimby (R12y) Mihamina
Bonjour,
Je co-écris du code PHP pour application Web qui est pour l'instant
francophone mais dont il faut prévoir une déclinaison anglophone et
hispanophone.
A coté du choix de la structure de données, nous devons choisir l'outil
qui servira à l'internationalisation (ouh! que c'est long...).
Il s'agit pour nous d'automatiser la traduction des messages "standard"
comme "login", "mot de passe", "Nom", "Prénom", "Accueil", "Déconnexion",...
Le contenu, lui sera aussi traduit, et si on doit déjà tenir compte des
contraintes de l'outil d'internationalisation, autant le faire des le début.
Alors... la question...: quel outil est à conseiller en ce moment pour
cet usage? De quelles informations doit-on se munir pour définir l'outil
de traduction adapté à nos besoins?...

Merci d'avance pour toutes les indications que vous pourrez donner.

--
Serveurs infogérés:
http://www.infogerance.us/infogerance/packs-serveurs-infogeres

7 réponses

Avatar
max
Rakotomandimby (R12y) Mihamina a écrit :
Bonjour,
Je co-écris du code PHP pour application Web qui est pour l'instant
francophone mais dont il faut prévoir une déclinaison anglophone et
hispanophone.
A coté du choix de la structure de données, nous devons choisir l'outil
qui servira à l'internationalisation (ouh! que c'est long...).
Il s'agit pour nous d'automatiser la traduction des messages "standard"
comme "login", "mot de passe", "Nom", "Prénom", "Accueil",
"Déconnexion",...
Le contenu, lui sera aussi traduit, et si on doit déjà tenir compte des
contraintes de l'outil d'internationalisation, autant le faire des le
début.
Alors... la question...: quel outil est à conseiller en ce moment pour
cet usage? De quelles informations doit-on se munir pour définir l'outil
de traduction adapté à nos besoins?...

Merci d'avance pour toutes les indications que vous pourrez donner.




Je ne sais pas si cela peut aider mais dans mon cas, il s'agit d'une
variable globale PHP trainée dans toutes les pages. Au début de la page,
une vérification est faite par le code, ce qui entraine la recherche
dans la BD des désignations dans la langue voulue. Par exemple, si le
code est 1, le message s'affiche en français, si le code est 2, le
message est en anglais (car lu dans la BD avec le code 2).

Cela exige que la BD contienne les traductions de tous les messages et
mots standard dans une page, mais c'est une solution simple...

En espérant que cela puisse t'aider...

Max
Avatar
Sylvain SF
Rakotomandimby (R12y) Mihamina a écrit :

quel outil est à conseiller en ce moment pour cet usage?



un linguiste, ou un rédacteur polyglote, mais ce n'est pas
un "outil".

De quelles informations doit-on se munir pour définir l'outil
de traduction adapté à nos besoins?...



pour définir la traduction (pas l'outil) adaptée au site,
il suffit de connaitre le site, contenu 100% dynamique et
donc localisation par fichier de définition et/ou bases
ou relativement statique et bonjour le parsing.

s'il y a besoin d'un outil, c'est sûrement plus pour
localiser et extraire le texte à localiser des pages
que pour le traduire.

Sylvain.
Avatar
Pascal PONCET
Rakotomandimby (R12y) Mihamina a écrit :
Alors... la question...: quel outil est à conseiller en ce moment pour
cet usage? De quelles informations doit-on se munir pour définir l'outil
de traduction adapté à nos besoins?...



Bonjour,

Je n'ai pas encore eu l'occasion de l'essayer, mais j'ai noté que
beaucoup de frameworks PHP utilisent la bibliothèque "GNU-Gettext" pour
gérer l'internationalisation.
Essayez de voir sur le site de GNU (http://www.gnu.org/software/gettext)
et sur celui de PHP (http://fr.php.net/gettext).

Précision importante, quand-même : ce genre d'outil ne "fait" pas la
traduction, mais permet seulement de pointer vers les catalogues de
messages correspondants à la langue demandée (ou détectée).

Cordialement,
Pascal
Avatar
BertrandB
Rakotomandimby (R12y) Mihamina a écrit :
Bonjour,
Je co-écris du code PHP pour application Web qui est pour l'instant
francophone mais dont il faut prévoir une déclinaison anglophone et
hispanophone.
A coté du choix de la structure de données, nous devons choisir l'outil
qui servira à l'internationalisation (ouh! que c'est long...).
Il s'agit pour nous d'automatiser la traduction des messages "standard"
comme "login", "mot de passe", "Nom", "Prénom", "Accueil",
"Déconnexion",...
Le contenu, lui sera aussi traduit, et si on doit déjà tenir compte des
contraintes de l'outil d'internationalisation, autant le faire des le
début.
Alors... la question...: quel outil est à conseiller en ce moment pour
cet usage? De quelles informations doit-on se munir pour définir l'outil
de traduction adapté à nos besoins?...

Merci d'avance pour toutes les indications que vous pourrez donner.




S'inspirer de wordpress et du plugin polyglot ?

faire des templates différents suivant la langue ?

Peut être déjà expliquer les besoins.
Avatar
Mihamina Rakotomandimby
BertrandB wrote:
S'inspirer de wordpress et du plugin polyglot ?
faire des templates différents suivant la langue ?



Ok.

Peut être déjà expliquer les besoins.



L'application Web aura des petits drapeau français, espagnol et anglais.
Si le visiteur clique sur l'un des drapeaux _et_ si le contenu qu'il
demande est disponible dans la langue du drapeau, alors ce contenu sera
délivré dans cette langue. Sinon, on prend la langue par défaut (dans
notre cas précis: français).

Il me semble avoir mélangé les termes: je crois que le bon terme c'est
"internationalisation" et non "traduction".

Merci de vos suggestions.
Avatar
Emmanuel
Mihamina Rakotomandimby a écrit :

L'application Web aura des petits drapeau français, espagnol et anglais.
Si le visiteur clique sur l'un des drapeaux _et_ si le contenu qu'il
demande est disponible dans la langue du drapeau, alors ce contenu sera
délivré dans cette langue. Sinon, on prend la langue par défaut (dans
notre cas précis: français).




Si le site Web fait appel à un SGBDR, pourquoi ne pas décliner la base
française en plusieurs langues (exemple, une base site_fr, une site_es
et site_en), avec les mêmes structures de tables à l'intérieur. Au
chargement de la page d'accueil, tu inclues le fichier connect.php
pointant sur la langue que tu souhaites si la base existe, sinon tu
charges le connect.php (ou la ligne se connectant à la base) par défaut.
Cela suppose évidemment que les contenus à traduire soient issus de la base.

Ainsi ton contenu PHP et toutes tes requêtes restent correctes car elles
font appels aux mêmes tables mais pas de la même base.


Un mécanisme de session devrait permettre de conserver le type de langue
choisi. (avec éventuellement un chargement automatique du index_fr.php
ou index_es.php ou index_en.php à l'aide de la négociation de contenu
apache s'il s'agit du serveur web utilisé).


Mes 2 centimes.

--
Emmanuel
Avatar
BertrandB
Mihamina Rakotomandimby a écrit :
BertrandB wrote:
S'inspirer de wordpress et du plugin polyglot ?
faire des templates différents suivant la langue ?



Ok.

Peut être déjà expliquer les besoins.



L'application Web aura des petits drapeau français, espagnol et anglais.
Si le visiteur clique sur l'un des drapeaux _et_ si le contenu qu'il
demande est disponible dans la langue du drapeau, alors ce contenu sera
délivré dans cette langue. Sinon, on prend la langue par défaut (dans
notre cas précis: français).

Il me semble avoir mélangé les termes: je crois que le bon terme c'est
"internationalisation" et non "traduction".

Merci de vos suggestions.


sur john-gillham.com j'ai commis un truc de ce genre avec des
templates/contenus différents par langue si ça coorrespond je met à
disposition ma "mécanique" mais ça ne mérite pas un copyright.