Aller au contenu

Tableau bilingue


zedark

Sujets conseillés

Bonjour,

Sur une page déclarée en français (<html lang="fr">) j'ai un tableau dont la deuxième colonne contient un nom traduit en anglais.

J'ai donc pensé à <colgroup>, et à placer l'attribut lang="en" dans la balise <col> correspondant à ma colonne.

Est-ce la bonne manière ?

Si oui je suppose que je n'ai pas besoin de déclarer lang="fr" pour les autres colonnes, elles auront la langue de la page.

J'ai bon ?

Merci,

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

dans les balises meta j'ai simplement mis :

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

et, dans la colonne où il y a un mot français sui explique le mot étranger, le mot étranger est entre les balises <span lang="en">english</span>.

Je ne sais pas si c'est la bonne méthode, mais le W3C accepte.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tu as tout à fait raison, Nullette :)

Ce que le W3C en dit : L'indication de la langue dans les contenus XHTML et HTML

On peut utiliser l'attribut lang sur tous les éléments HTML sauf applet, base, basefont, br, frame, frameset, iframe, param et script. [...]

S'il n'y a aucun balisage autour du texte de langue différente, utilisez un élément span afin d'en marquer les limites.

Je nuancerai donc la réponse de Nullette. Si tous les mots contenus dans la balise col sont en anglais, il convient d'y ajouter l'attribut lang. Si ce n'est pas le cas, il faut utiliser la balise span pour chaque terme en anglais.

Lien vers le commentaire
Partager sur d’autres sites

Merci Nullette et Monique !

Suivant vos explications, j'ai codé la langue de ma colonne de 2 manière pour voir ce que ça donne :

Méthode avec col :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
[...]
<meta http-equiv="Content-Language" content="fr" />
[...]
<table summary="Résultat de la recherche de cartes.">
<colgroup>
<col />
<col lang="en" />
[...]
<tr>
<td>Ceci est un texte en français<td>
<td>This is an english text<td>
[...]

Résultat :

Mon ptit firefox considère que la page est en français, et la 2è colonne du tableau comme du français également :(

Méthode sans col :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
[...]
<meta http-equiv="Content-Language" content="fr" />
[...]
<table summary="Résultat de la recherche de cartes.">
[...]
<tr>
<td>Ceci est un texte en français<td>
<td lang="en">This is an english text<td>
[...]

Résultat :

Mon ptit firefox considère que la page est en français, et la 2è colonne du tableau comme de l'anglais :)

Conclusion : soit j'ai une erreur dans la méthode avec col (j'ai pourtant testé plusieurs variantes), soit on peut décidément pas faire grand chose avec colgroup, et c'est dommage.

Encore merci,

alex,

Lien vers le commentaire
Partager sur d’autres sites

J'avoue avoir très peu d'expérience avec des tableaux complexes....

A propos de l'élément colgroup, je lis (les exemples sont donnés pour HTML 4, donc à adapter pour XHTML bien-sûr)

Quand il est nécessaire d'isoler une colonne (par exemple, pour une information de style, pour spécifier une information de largeur, etc.) au sein d'un groupe, les auteurs doivent identifier cette colonne avec un élément COL. Ainsi, pour appliquer une information de style particulière à la dernière colonne de la table précédente, on l'isole de cette manière :

<COLGROUP width="20">

<COL span="39">

<COL id="mise-en-forme-particuliere">

</COLGROUP>

L'attribut width de l'élément COLGROUP est hérité par la totalité des 40 colonnes. Le premier élément COL se rapporte aux 39 premières colonnes (sans rien de particulier pour elles) et le second assigne une valeur à l'attribut id pour la quarantième colonne, de sorte qu'une feuille de style puisse s'y appliquer.

Dans ton exemple, je ne vois pas d'attribut span (pour le nombre de colonnes non concernées par la modification de langue).

Lien vers le commentaire
Partager sur d’autres sites

J'avoue avoir très peu d'expérience avec des tableaux complexes....
Pareil pour moi. C'est la première fois que j'essaie de faire un joli tableau du point de vue xhtml en exploitant colgroup, et tout n'est pas clair. Il y a quelques semaines je me suis cassé les dents sur le stylage des colonnes (j'ai fini par utiliser des classes sur les <td>)... et ça recommence avec la langue :ohmy:

Dans ton exemple, je ne vois pas d'attribut span (pour le nombre de colonnes non concernées par la modification de langue).

Il me semble que le navigateur utilise les <col /> pour identifier les colonnes lorque <colgroup> en contient :

« Les agents utilisateurs doivent ignorer cet attribut (span) si l'élément COLGROUP contient un ou plusieurs éléments COL. »

C'est bizarre. j'ai regardé ce que firebug en disait : la colonne déclarée avec <col lang="en" /> est bien au bon endroit sur la page, l'inspecteur dom me dit qu'elle a "lang: en", mais quand je sélectionne du texte de cette colonne, les propriétés me disent que c'est du français.

Tant pis, j'ai toujours l'autre méthode qui fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...