- From: Jukka K. Korpela <jukka.k.korpela@kolumbus.fi>
- Date: Mon, 15 Oct 2012 21:53:05 +0300
- To: public-html-comments@w3.org
2012-10-15 21:23, Andreas Prilop wrote: > http://translate.google.com never translates <code>...</code> . > It is therefore not necessary to write <code translate=no> > or <code class=notranslate> . I think this is a good idea. On practical grounds, it might be seen as a good idea. Computer code is generally meant to be language-invariant, and it is better to avoid translating source program code, markup, commands, or other <code> content. Still, on logical grounds, computer code as such is not non-translatable. I'm thinking of comments mainly, of course. > Could <code translate=no> be made the default in HTML5 > for the code element? > I have no strong opinion on this. Pragmatically, it might be a good idea, though perhaps Google and friends will keep doing whatever they are doing, anyway. Logically, it would be odd. The "translate" attribute as such is questionable. An attribute name that is an English verb suggests that it is a command, or at least suggestion. But attributes are supposed to be declarative. Appropriate markup would say that the content of the element is to be treated as not being in any human language, for the purposes of translation, spelling checks, text concordance analysis, etc., but may still be treated as being in one or more human languages in speech synthesis. If such markup were available, <code> elements could have it set by default, provided that there is a way to switch it off for comments (and maybe for string literals). But there's a completely different meaning for translate=no, as exemplified by the following code at http://www.w3.org/TR/html5/global-attributes.html#the-translate-attribute: <p>The Bee Game is a text adventure game in English.</p> <p>When the game launches, the first thing you should do is type <kbd*translate=no*>eat honey</kbd>. The game will respond with:</p> <pre><samp*translate=no*>Yum yum! That was some good honey!</samp></pre> Perhaps a better example would be the statement "The plural of 'ox' in English is 'oxen'", where it would of course be absurd to translate "ox" and "oxen". This is very different from the <code> case: here the language of the content is certainly a human language, well identified and mentioned in the context. The content could surely be translated; it just should normally not be translated. Though this might really seem to call for command-like markup, the logical structure is that the words "ox" and "oxen" should be taken as linguistic objects rather than normal words. They could well be translated in a rendering mode where a document is displayed in its original language but translations to another language are displayed e.g. on mouseover, as explanations. The same applies to the example above: normally not translated, but surely translatable, much more than computer language keywords and variable names are. -- Yucca, http://www.cs.tut.fi/~jkorpela/
Received on Monday, 15 October 2012 18:53:29 UTC