入力漏れを防ぐ!EPUBの言語、メタデータの言語指定

メタデータの言語指定の確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

新しいEPUBを初めて作るときは、出力直前ではなく、作品情報を登録する最初の段階で本文の主要言語を決めます。日本語本文ならja、英語本文ならenを情報カードへ入力し、初回出力後にOPFのdc:languageを読み戻してください。この記事で扱うのは、この「最初の一冊に言語を入れ、最初の成果物で確かめる」工程です。

今回のStage 4では、シリーズ情報のない空の作業場所から日本語版を新規設定し、同じ判断を別の空の作業場所にある英語版でも繰り返しました。既存日本語版を保存して英語版へ変更する工程ではありません。

答え:新規一冊では本文を見て最初の言語値を確定する

初回設定の順番は、本文と章名を確認し、出版物全体の主要言語を一つ決め、情報カードへ言語値を入れ、出力したEPUBから同じ値を読み戻す、です。ファイル名や管理表に「日本語版」「English edition」と書くだけでは、EPUB内部の言語メタデータは設定されません。

ここで決めるのは出版物全体の主要言語です。本文中に短い外国語の引用がある場合の部分的な言語指定とは分けて考えます。また、翻訳済みの別版へ切り替える作業とも分けます。本記事の合格条件は、新規作成した一冊について、入力した主要言語と初回成果物のdc:languageが一致することです。

初回設定票:空の作業場所から一冊ずつ始める

記事固有の記録では、日本語用と英語用の各作業場所を開いた時点で、タブ数は0、シリーズ情報は未登録でした。そこへ2章の原稿を用意し、それぞれを独立した新規出版物として設定しています。

初回設定で固定した項目 日本語の新規出版物 英語の新規出版物
開始状態 シリーズ情報なし シリーズ情報なし
本文・章名 日本語2章 英語2章
情報カードの言語 ja en
初回出力名 studio-416-260831.120000.epub english-edition-studio-416-260831.120000.epub

英語側は日本語側を変更して作った「変更後」ではなく、同じ初回設定ルールを確かめるために別の空の作業場所から始めた対照です。この区別により、言語変更の記事と同じ変更前・変更後の手順にはなりません。

操作:初回入力、初回出力、読み戻しの順に確認する

新規出版物では、次の順で入力漏れを止めます。

  1. 採用する本文と章名を読み、その一冊の主要言語を決める。
  2. シリーズ情報が未登録の新しい作業場所で、作品名、著者、出版社、出力名と一緒に言語を入力する。
  3. 原稿2章を選び、初回出力の計画で章数と出力先を確認する。
  4. EPUBを初めて出力する。
  5. 出力したEPUBのOPFからdc:languageを読み戻す。
  6. navの章名が、採用した本文・章名の言語と一致するか確認する。
  7. 構造検査を実行し、不一致なら最初に入力した情報カードまたは章名へ戻って再出力する。

Stage 4の20操作は、日本語と英語の各新規作業場所でこの初回設定を独立に行った合計です。既存版の複製、元版の保存、jaからenへの上書きはこの手順に含めません。それらはSTUDIO-418が扱う版変更の仕事です。

実測:二つの初回設定で入力値を読み戻せた

記事固有の実測ステータスはpassedでした。日本語側では初回入力したjaがOPFに入り、日本語のnavとvalid: trueを確認しました。英語側でも、別の新規設定として入力したen、英語のnav、valid: trueを確認しています。

読み戻した項目 日本語の新規出版物 英語の新規出版物
OPFの言語 ja en
navの章名 日本語を確認 英語を確認
出力名の分離 別名出力を確認 別名出力を確認
ローカル構造検査 valid: true valid: true

結果値はja_language: ja、en_language: en、separate_output_names: true、ja_nav_has_japanese: true、en_nav_has_english: trueで、日英ともvalid: trueです。この対照で確認したのは、「新規一冊の本文言語を最初に入力し、初回成果物から同じ値を読める」という判断がjaとenの双方で成立したことです。

これとは別の共通回帰標本では、2章、横書き、version 1.6のEPUBを9操作で出力し、spine 6、画像1、欠落0、navあり、NCXあり、valid: trueでした。これは出力経路全体の回帰確認であり、上の初回言語設定とは別の測定です。

初回設定の合格と、別工程へ送る条件

初回言語設定を合格にできるのは、本文・章名の主要言語、情報カードの入力値、OPFのdc:languageが一つの出版物についてつながる場合です。OPFだけが違えば情報カードへ戻り、navだけが違えば章名へ戻ります。別言語の成果物がすでに存在し、その版を残したまま切り替える必要がある場合は、初回設定ではなくSTUDIO-418の変更工程へ送ります。

この分け方なら、「最初からenで作る」と「既存のja版を残して英語版を再生成する」を同じ作業として扱いません。初回設定では変更前の版を用意せず、新規一冊の入力と初回読み戻しだけを閉じます。

限界:確認できたのはjaとenのローカル成果物まで

今回の実測はjaとenの二つに限ります。他の言語コードの対応可否はSTUDIO-420の範囲であり、ここから推測しません。多言語本文の部分指定、既存版から別言語版への変更、翻訳品質も対象外です。

販売ストアの商品情報欄、審査結果、外部リーダーの言語表示は確認していません。valid: trueはローカル構造検査の結果であり、すべての販売先での受理や同一表示を意味しません。

Rune Studioで使える範囲

Rune Studioの公開機能では、EPUBウィザードのシリーズ情報で原稿の言語を日本語または英語から選び、章順、目次、バージョン、公開日を確認してEPUB 3を生成できます。日本語と英語に応じた目次名、奥付、日付表記の生成も公開機能です。ここまでが製品資料で確認できるStage 3の範囲です。

今回の空の作業場所からの初回入力、OPFのjaとen、別出力名、言語別nav、両方のvalid: trueはStage 4の実測です。EPUBの一般仕様はW3C EPUB 3.3で確認でき、製品の概要はRune Studio公式ページで案内されています。

結論:初回設定は最初の出力から言語値を読み戻して閉じる

新しい一冊では、本文と章名を見て主要言語を決め、シリーズ情報を初めて登録するときにjaまたはenを入力します。その初回成果物からdc:languageとnavを読み戻し、入力値と一致した時点で初回設定を閉じます。

今回のStage 4では、日本語と英語をそれぞれシリーズ情報のない作業場所から設定し、OPF言語、nav、別出力名、ローカル構造検査が一致しました。既存版を残して別言語版へ変更する場合は、この初回設定を繰り返すのではなく、変更前後を管理するSTUDIO-418の工程へ分けてください。