Bonjour,
j'ai parcouru pas mal de liens :
http://www.alsacreations.com/astuce/lire/1151-langue-du-contenu.html
http://forum.alsacreations.com/topic-17-18363-1-Indication-de-langue-pour-un-document-multilingue.html
http://forum.alsacreations.com/topic-17-18467-1-Resolu-Double-declaration-de-langue-.html
et je me trouve donc confronté à ce même problème : déclarer et coder correctement une page en français et en anglais
Voici donc un premier "jet", en espérant avoir des retours sur le codage et les erreurs, (bien sur Smiley biggol ) que j'ai pues faire :
-http://www.unesourisetmoi.info/pages/international.php
Il me reste bien sur à savoir si je suis sur le bon chemin, mais je me pose également la question de placer 'title' et 'description' dans les deux langues ...
à l'avance grand merci pour toute aide qui sera la bienvenue
Smiley eek
Modifié par Laurie-Anne (14 Apr 2011 - 08:42)
Bonsoir,

17 erreurs d'après le validateur HTML du W3C. Il faudrait peut-être commencer par là.
Ensuite:
- L'attribut lang ne peux pas définir deux langues à la fois. Un contenu précis (phrase ou intitulé) n'est pas simultanément dans deux langues.
- Une stratégie qui marche bien en général c'est de définir une langue de traitement principale dans l'attribut lang sur l'élément html (mettons le français), puis d'utiliser des attributs lang ponctuels sur les conteneurs dont le contenu n'est pas en français. Regarde par exemple le code HTML de http://covertprestige.net/ (on notera que les lang="en" pour les articles ne sont pas nécessaires).
- Tu ne peux pas mettre d'élément de niveau bloc (titre, paragraphe, DIV, etc.) à l'intérieur d'un élément de niveau texte tel qu'un SPAN. Si tu veux déclarer une langue différente de la langue de traitement courante sur un titre, il faut écrire <hN lang="...">...</hN>, et pas <span lang="..."><hN>...</hN></span>.

Je te recommande fortement cette lecture:
http://openweb.eu.org/articles/specifier_langue
merci,
effectivement, pour le W3C il y a pas mal d'erreurs que je vais voir au fur et à mesure, surtout apparemment pour certaines 'portions de codes' qui semblent obsolètes ...
Pour ce GROS problème (pour moi ...) de déclaration de deux lagues, il faudrait donc mettre ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr, en" lang="fr, en">

puis:
<meta http-equiv="Content-Language" content="fr, en" />

et ensuite pour les parties en fançais:
<p lang="fr">Des textes</p>

et celles en anglais:
<p lang="en">Des textes</p>

ai-je au moins bien compris de ce côté-là ?
@+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr, en" lang="fr, en">

Faux. UNE SEULE langue indiquée dans un attribut lang ou xml:lang. Jamais deux.

<meta http-equiv="Content-Language" content="fr, en" />

Oui, ça c'est possible.

<p lang="fr">Des textes</p>

Juste. À noter que si la langue de traitement courante (indiquée par la valeur de l'attribut lang pour le parent de l'élément, ou le plus proche ancêtre qui a un attribut lang) est déjà "fr", pas besoin de le repréciser ici.

<p lang="en">Des textes</p>

Faux, "Des textes" est du français, pas de l'anglais.
Modifié par fvsch (11 Mar 2011 - 13:45)
re...
je vais donc corrigé les premiers points et supprimer tout ce qui avait rapport au "fr", en ne laissant que les indications pour "en" .....
- quelle différence entre:
<span lang="fr">

et
<p lang="en">

et , bien sur autant pour moi, j'aurais du mettre :
<p lang="en">More ...</p>

@+
Modifié par bg62 (11 Mar 2011 - 20:45)
bg62 a écrit :
- quelle différence entre:
<span lang="fr">
et
<p lang="en">

Comment ça, quelle différence? Le premier sert à baliser un mot ou quelques mots en français. Le deuxième sert à baliser un paragraphe en anglais.
premier point :valid w3c ok pour la page, mais 8 erreurs pour la css que je n'arrive pas à résoudre ...
pour le reste, donc si je mets ceci :
<div class="boxgrid caption">
 <span lang="en">           
<img src="img/bing-ben.jpg"title="London,England" alt="London,England" width="280" height="230" border="0"/>
</span><div class="cover boxcaption"><!--<span lang="en">--><!-- style="background:url(arrow.png) -1px 40px no-repeat #610f10">-->
<h3 lang="en">International DJ</h3>
		  <p lang="en">Family party,private parties or celebrity,<em></em> <br />
		  Coktail, works council,<br />
          Gala evenings.          </p>
                    <span lang="en"><p><a href="#" class="moreLinkUK">English</a></p></span>
		</div>

cela te parait-il bon ?
Modifié par bg62 (11 Mar 2011 - 20:44)
bg62 a écrit :
cela te parait-il bon ?

Oui, mais tu pourrais sans doute te contenter d'écrire:
<div class="boxgrid caption" lang="en">
  ...
  Tout le contenu du bloc en anglais
  ...
</div>

Plutôt que de rajouter des lang="en" partout.
Modifié par fvsch (12 Mar 2011 - 01:22)
Administrateur
Bonjour,

bg62 a écrit :
je me pose également la question de placer 'title' et 'description' dans les deux langues ...

l'élément title titre de la page ? Comme pour l'attribut alt des images/zones cliquables/boutons de soumission de type image et l'attribut title des liens, la norme HTML ne permet pas de préciser plusieurs langues différentes à ces endroits-là donc on se débrouille comme on peut Smiley smile
Pour une page parfaitement bilingue 50% FR 50% EN, tu tires au sort la langue principale, balise les changements de langue dans le contenu et pour les éléments et attributs que je viens de citer, tu peux par exemple écrire
a écrit :
<title>Compétences d'un développeur web - Webdeveloper skills</title>
et comme on ne peut pas baliser le changement de langue bah on le fait pas, tant pis.
Modifié par Felipe (12 Mar 2011 - 14:10)
bon, alors je pense être arrivé là où je n'irai certainement pas plus loin ...
j'ai mis ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <meta http-equiv="Content-Language" content="fr,en" />
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

puis dans les autres parties j'ai utilisé ceci :
<div class="boxgrid caption" lang="en" xml:lang="en">

ce qui change un peu de ce que vous m'avez recommandé ci-dessus, mais qui doit être valable quand même , non ?

il reste des
<div id="logo" lang="fr" xml:lang="fr">

ça ne mange pas de pain ... je pense !? et au cas où je change d'avis pour la déclaration de langue principale ... ça servira Smiley cligne

après, il me faudra 'nettoyer' les éléments inutiles et quand au W3C, je n'arrive pas à faire mieux, il ne reste que des erreurs sur la feuille de style qui concerne le fonctionnement de jquery et là je ne sais pas du tout comment corriger ...
@+
Smiley smile
bg62 a écrit :
ce qui change un peu de ce que vous m'avez recommandé ci-dessus, mais qui doit être valable quand même , non ?

Oui. (Ça suit d'ailleurs certaines techniques données dans la spec XHTML 1.0 pour rester compatible avec les agent utilisateurs qui comprennent HTML mais pas XHTML.)

bg62 a écrit :
ça ne mange pas de pain ... je pense !?

Ils ne sont pas nécessaires mais ne posent pas de souci.

bg62 a écrit :
et au cas où je change d'avis pour la déclaration de langue principale ... ça servira

Oui.
Smiley biggrin
super !
je ne mets pas encore en 'résolu' ... on ne sait jamais ...
mais je pense que je vais donc réussir à m'en sortir ainsi Smiley smile
grand(s) merci(s) donc
@+
bg
un petit résumé de toute cette manipulation :
-http://www.unesourisetmoi.info/pages/internationalisation.php
qu'en penses-tu ?
@+
Modifié par Laurie-Anne (14 Apr 2011 - 08:43)