{"id":2386,"date":"2012-04-16T08:46:42","date_gmt":"2012-04-16T06:46:42","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog\/?p=2386"},"modified":"2015-01-18T16:08:53","modified_gmt":"2015-01-18T15:08:53","slug":"html5-attribut-translate","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/veille-technologique\/html5-attribut-translate","title":{"rendered":"HTML5 &#8211; Attribut translate"},"content":{"rendered":"<p>HTML5 nous apporte l&rsquo;attribut <code>translate<\/code>. Cet attribut permet de limiter l&rsquo;impact d&rsquo;une traduction par des outils tels que Google Translate en interdisant la traduction de certains contenus.<br \/>\nAinsi le contenu de votre site web est compos\u00e9 avec davantage de pr\u00e9cision. Voyons comment agir et sur quoi appliquer cet attribut.<!--more--><\/p>\n<h2>D\u00e9finition<\/h2>\n<p>Le <a href=\"http:\/\/dev.w3.org\/html5\/spec\/global-attributes.html#the-translate-attribute\">W3C d\u00e9finit cet attribut translate<\/a> comme \u00e9tant :<\/p>\n<blockquote><p>[&hellip;] un attribut \u00e0 valeurs \u00e9num\u00e9r\u00e9es* utilis\u00e9 pour sp\u00e9cifier si les valeurs d&rsquo;attribut d&rsquo;un \u00e9l\u00e9ment et les valeurs textuelles de ses enfants doivent \u00eatre traduits lorsque la page est localis\u00e9e, ou si elles doivent rester inchang\u00e9es.<\/p>\n<p><small>*c&rsquo;est \u00e0 dire qu&rsquo;il a des valeurs pr\u00e9vues bien pr\u00e9cises<\/small><\/p><\/blockquote>\n<p>Je l&rsquo;ai r\u00e9sum\u00e9 dans l&rsquo;intro, en somme cela vous permet de d\u00e9finir quelles parties de votre document sont traduisibles.<\/p>\n<h2>Utilisation<\/h2>\n<p>Cet attribut attend des valeurs pr\u00e9cises que sont \u00ab\u00a0<code>no<\/code> &raquo;, \u00ab\u00a0<code>yes<\/code>\u00a0\u00bb ou encore une chaine vide (valeur par d\u00e9faut). La chaine vide ou le \u00ab\u00a0<code>yes<\/code>\u00a0\u00bb ont valeur \u00e9quivalente : le contenu sera traduit.<br \/>\nPour d\u00e9finir un \u00e9l\u00e9ment comme n&rsquo;\u00e9tant pas sujet \u00e0 traduction, voici comment proc\u00e9der.<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">&lt;span translate=\"no\" class=\"author\"&gt;Hope&lt;\/span&gt;<\/code><\/pre>\n<p>Sur un document d\u00e9finit originellement en anglais et traduit ponctuellement en fran\u00e7ais, \u00ab\u00a0<em lang=\"en\" translate=\"no\">Hope<\/em>\u00a0\u00bb ne sera ainsi pas traduit par \u00ab\u00a0Esp\u00e9rer\u00a0\u00bb. Cela permet \u00e0 l&rsquo;auteur de conserver son vrai pseudonyme \ud83d\ude42<\/p>\n<p>Si l&rsquo;ancre de l&rsquo;exemple avait \u00e9t\u00e9 porteuse d&rsquo;un attribut <code>title<\/code> ou <code>alt<\/code>, son contenu n&rsquo;aurait \u00e9galement pas \u00e9t\u00e9 traduit, d&rsquo;apr\u00e8s la d\u00e9finition donn\u00e9e par le W3C.<\/p>\n<h2>Quelques exemples<\/h2>\n<h3>Le pseudo, le nom, le pr\u00e9nom &hellip;<\/h3>\n<p>C&rsquo;est le cas de l&rsquo;exemple pr\u00e9c\u00e9dent : le nom ou pseudonyme d&rsquo;un auteur, ou le nom d&rsquo;un programme, par exemple, n&rsquo;ont a priori pas \u00e0 \u00eatre traduits.<br \/>\nDans les classiques espaces \u00ab\u00a0Auteur\u00a0\u00bb des blogs, il conviendrait d&rsquo;utiliser syst\u00e9matiquement la valeur <code>no<\/code> de <code>translate<\/code> sur l&rsquo;\u00e9l\u00e9ment balisant le pseudo de l&rsquo;auteur.<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">Article \u00e9crit par &lt;a translate=\"no\" class=\"author\" href=\"\/auteur\/pierre\"&gt;Pierre&lt;\/a&gt;<\/code><\/pre>\n<p>Ici on part du principe que notre page est en fran\u00e7ais, le pr\u00e9nom Pierre ne sera pas traduit par Peter lors d&rsquo;une traduction du fran\u00e7ais vers l&rsquo;anglais, gr\u00e2ce \u00e0 notre intervention.<\/p>\n<h3>Cheat mode, transcription, ligne de commande &hellip;<\/h3>\n<p>Imaginions que vous lisiez des articles en anglais sur un cheat mode pour un jeu, mais que l&rsquo;article vous semble trop obscure dans sa langue originelle. Hop, un coup de Google translate, et l\u00e0, c&rsquo;est le drame, vos codes sont aussi traduits !<br \/>\nJe prends l&rsquo;exemple d&rsquo;un code d&rsquo;un jeu auquel j&rsquo;ai jou\u00e9 de nombreuses heures (je vous laisse trouver son nom) :<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">You can also use this code to get a car for the game :&lt;br&gt;\r\n&lt;kbd&gt;HOW DO YOU TURN THIS ON&lt;\/kbd&gt;<\/code><\/pre>\n<p>Ceci serait alors traduit par :<br \/>\n<samp>Vous pouvez \u00e9galement utiliser ce code pour obtenir une voiture pour le jeu : COMMENT vous activez cette fonction<\/samp><\/p>\n<p>Nous aurions pu sauver le code simplement en pr\u00e9voyant le coup :<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">You can also use this code to get a car for the game :&lt;br&gt;\r\n&lt;kbd translate=\"no\"&gt;HOW DO YOU TURN THIS ON&lt;\/kbd&gt;<\/code><\/pre>\n<p>Celui-ci n&rsquo;aurait alors pas \u00e9t\u00e9 vulgairement traduit.<\/p>\n<h2>Attention \u00e0 l&rsquo;h\u00e9ritage<\/h2>\n<p>Lorsque vous d\u00e9finissez un \u00e9l\u00e9ment comme n&rsquo;\u00e9tant pas traduisible, ses enfants h\u00e9ritent de cet aspect et ne sont eux-m\u00eames pas traduisibles.<br \/>\nPour corriger le tir il suffit de re-d\u00e9finir la valeur <code>yes<\/code> de <code>translate<\/code> sur les enfants.<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">&lt;p translate=\"no\"&gt;Texte qui ne doit pas \u00eatre traduit \u00e0 part\r\n&lt;span translate=\"yes\"&gt;cette partie&lt;\/span&gt; qui peut l'\u00eatre.&lt;\/p&gt;<\/code><\/pre>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/traduction-chrome.png\" alt=\"Barre de traduction de Google Chrome\" title=\"\" width=\"525\" height=\"38\" class=\"aligncenter size-full wp-image-2394\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/traduction-chrome.png 525w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/traduction-chrome-300x21.png 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Pour rappel, Google Chrome, qui est de plus en plus utilis\u00e9, int\u00e8gre cet outil de traduction et le propose d\u00e8s que vous \u00eates sur une page de langue \u00e9trang\u00e8re (pour votre navigateur).<br \/>\nLa traduction de contenu est donc chose courante, je le vois sur mes outils d&rsquo;analyse sur ce blog, mais bien entendu tout d\u00e9pend de la cible de votre site internet.<\/p>\n<p>N&rsquo;h\u00e9sitez pas \u00e0 venir me corriger si vous voyez une b\u00eatise \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTML5 nous apporte l&rsquo;attribut translate. Cet attribut permet de limiter l&rsquo;impact d&rsquo;une traduction par des outils tels que Google Translate en interdisant la traduction de certains contenus. Ainsi le contenu de votre site web est compos\u00e9 avec davantage de pr\u00e9cision. Voyons comment agir et sur quoi appliquer cet attribut.<\/p>\n","protected":false},"author":4,"featured_media":2395,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[12],"tags":[416,16,453,452],"coauthors":[597],"class_list":["post-2386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-veille-technologique","tag-attribut","tag-html5","tag-i18n","tag-translate"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/2386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=2386"}],"version-history":[{"count":0,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/2386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/2395"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=2386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=2386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=2386"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=2386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}