translate属性は翻訳しない固有名と通常の文章を分けて指定する
公開日: 執筆:佐藤
translate属性は、pageの一部を翻訳対象にするか、翻訳しない語として扱うかを示すための属性です。会社名、商品名、型番、定めたservice名などをむやみに翻訳させたくない場合に使えます。page全体の言語を示すlang属性や、多言語pageを用意する作業とは役割が違います。
翻訳しない語を決める作業は、技術的な属性を選ぶ作業より先です。会社名を日本語表記のまま出すのか、決めた英字表記を使うのか、商品名をどこまで同じ形で出すのかを先に決めます。名称がpageごとに違えば、translateで翻訳を抑えても、利用者は同じものか判断できません。まず表記をそろえ、その表記を保つ必要がある範囲だけを指定します。
HTML 5.1 Candidate Recommendationは、translateをglobal attributeとして定めています。yesまたはnoを使い、要素内のtextと、翻訳可能なattribute valueを翻訳対象にするかを示します。translate="no"を付けたからといって、そのpageの言語が決まるわけでも、別の言語pageが用意されるわけでもありません。
pageの言語と翻訳しない語を分ける
英語pageへ会社名が出てくる場合でも、page全体は英語で書かれ、会社名だけは日本語表記のままにしたいことがあります。この場合、pageの言語はlangで示し、固有名を翻訳しない範囲はtranslateで示します。pageの言語、本文を翻訳する作業、固有名の表記を一つの属性へ任せません。
| 確認するもの | 主な役割 | 代わりにできないこと |
|---|---|---|
lang属性 |
pageまたは部分の言語を示す | 固有名だけを翻訳しない指定 |
translate属性 |
textを翻訳対象にするかを示す | page全体の言語指定 |
| 多言語page | 各言語で読める本文を用意する | browserの翻訳機能への指示だけで本文を作ること |
| 固有名の表記ルール | 会社名、商品名、型番を統一する | 翻訳対象かどうかの技術的な指定 |
たとえば、サービス名を日本語pageでは「サトラボ制作プラン」、英語pageでは決めた英字表記で使う場合、その表記自体を先に決めます。translateを付けてから名称を考える順序ではありません。表記が決まっていない語を翻訳対象から外しても、利用者に何を指すか伝わりません。
サービス名と説明文も分けます。「サトラボ制作プラン」は固有の名称として表記を保ちたいことがあります。しかし、そのplanが何を含み、誰が使えるかという説明まで翻訳させない範囲に入れると、別の言語で読む人には内容が伝わりません。名称を保つことと、内容を読めるようにすることは両立させます。
翻訳しない候補には、会社名、registered product name、型番、技術的なcode、特定のservice名があります。一方で、料金、対応地域、受付時間、利用条件のように、利用者が判断するための説明は通常の文章です。固有名らしく見えるからという理由で、重要な条件まで翻訳から外しません。
翻訳しない範囲を必要な語へ絞る
翻訳を避けたい語があるからといって、paragraph全体やpage全体へtranslate="no"を付ける必要はありません。必要な固有名だけを囲みます。
<p>
<span translate="no">SATOLAB.</span>の制作サービスについて説明します。
</p>
この例では、会社名だけを翻訳しない範囲として示しています。価格、対応地域、受付時間、利用条件のように、利用者が読むべき説明まで同じ範囲へ入れません。固有名と説明文を分けておけば、名称を保ちながら内容を読めます。
translate="yes"は、親要素で翻訳しないと示した範囲の中に、翻訳させるtextを置きたい場合に使えます。親子で指定を重ねる前に、どの語を固有名として守り、どの説明を読ませるかを整理してください。指定を深く重ねると、更新する人がどの文を翻訳対象にしたか読み取りにくくなります。最初は固有名だけを小さな範囲で指定します。
templateの中に会社名が何度も出る場合は、各pageへ個別に同じ指定を足す前に、どこから出力されているかを確認します。header、footer、商品一覧、投稿本文で出し方が違えば、表記を直す場所も違います。翻訳しない指定を増やすことより、会社名の正本を一つに決め、変更時に同じ表記へ直せる状態を作る方が先です。
実際の翻訳と表示を確認する
attributeを加えた後は、sourceだけを見て終わりにしません。対象pageを開き、会社名、商品名、型番、本文の表記が意図どおりか確認します。
- 翻訳しない固有名を一覧にする。
- pageの主な言語を
langで確認する。 - 固有名だけへ
translate="no"を付ける。 - 本文や利用条件まで翻訳しない範囲に入っていないか確認する。
- 対象browserと翻訳serviceで表示を確認する。
- 固有名の表記ルール、編集担当、変更日を残す。
翻訳serviceで確認するときは、固有名だけでなく周囲の文章を読みます。会社名が残っていても、直後の説明が読めなければ、利用者は何の会社か分かりません。料金や対象地域が意図せず翻訳されない範囲へ入っていないか、link文言が利用者の言語で内容を示しているかも確認します。固有名を守る設定と、page全体を読ませる設計を一緒に見ます。
翻訳作業を外部へ頼む場合も、会社名や商品名の正式表記、pageの原文、公開する翻訳文はsite側で確認します。attributeを入れることと、事業名や条件を正しく伝えられることは別です。翻訳者へ渡す表記表には、固有名の正しい表記、訳さない理由、本文中での説明を記録します。外部の人が変わっても同じ名称を使えるようにします。
最初の一手は、site内で翻訳したくない固有名を五つ以内で書き出すことです。その語が本当に固有名か、説明文まで含めていないかを確認してから指定します。page全体の言語、多言語URL、翻訳文の内容を直す必要がある場合は、それぞれを別の作業として進めます。
関連記事

