HTML 文書内で翻訳してよい箇所かどうか指定する2021年12月08日 23時31分

この記事は HTML アドベントカレンダーの 8 日目の分です。


英語の技術文書を機械翻訳して読んでいたら、固有名詞やプログラミングコードまで翻訳されておかしな日本語になっていたという経験はないでしょうか。そのような事態を防ぐために使えるのが translate 属性です。

ある要素の translate 属性の値に no を指定すると、その要素の内容を翻訳の対象にしてはいけないと示すことになります。yes または空文字列を指定すると、翻訳の対象にしてよいと示すことになります。

<pre translate="no"><code>
int n = 0;
/* <span translate="yes">ここで <span translate="no">printf</span> しないと
   なぜか <span translate="no">segmentation fault</span> する。</span> */
printf("%d\n", n);
</code></pre>

translate 属性を指定しない場合は親要素の値を引き継ぎ、親要素がない (自身が html 要素である) 場合のデフォルト値は yes です。つまり、デフォルトでは文書全体を翻訳の対象にしてよいということになります。

translate 属性の効果は一部の属性にも及びます。任意の要素の title 属性、img 要素の alt 属性、input 要素の placeholder 属性などの値は、(その要素が translate="yes" 相当なら) 翻訳の対象となりえます。さらには、style 属性の値を解析した結果の CSS content プロパティの値なども翻訳の対象となりうるとされています。

この記事を書いていて気づきましたが、a 要素の download 属性の値も翻訳の対象になりうるとされています。しかし、download 属性の値はファイル名として扱われるので、勝手に翻訳されると困ったことになるかもしれませんね。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
「ハイパーテキストマークアップ言語」をアルファベット4文字でいうと?

コメント:

トラックバック

このエントリのトラックバックURL: http://nanto.asablo.jp/blog/2021/12/08/9446555/tb