BookTranslator
BookTranslator

RTFファイルを翻訳する方法:残るものと壊れるもの

RTFファイルを翻訳すると、段落、表、脚注、リンク、書式がどうなるのか、TextEditのファイルに追加の手順が必要な理由、そして無料のチェッカーについて説明します。

BookTranslator

BookTranslator Team

23 分で読了

RTFファイルを翻訳するには、.rtfファイル全体をRTFを読み取れる翻訳ツールにアップロードし、結果を確認します。BookTranslatorはRTFに対応しています。テキストを1段落ずつ読み取り、翻訳し、新しいRTFファイルとバイリンガルRTFファイルを提供します。テキストをチャットウィンドウやWeb翻訳ツールに貼り付ける方法も、1〜2ページなら使えますが、ファイルが失われ、作り直す必要があります。

アップロードする前に知っておくべきことが1つあります。翻訳されたファイルはあなたの言葉と段落を保持しますが、書式は保持しません。太字、見出し、フォント、表、リンク、画像は戻ってきません。したがって、適切な方法はファイルの内容と、どのアプリで保存されたかによって変わります。Wordから保存されたプレーンな原稿は簡単なケースです。MacのTextEditで保存されたファイルは、最初に追加の手順が必要です。そうしないと、すべての段落がつながってしまいます。

3つのテストファイルを作成し、アップロード前にRTFファイルの内容と、アップロード後に何が変わったかを表示する無料チェッカーを書きました。テストファイルは、BookTranslatorが使用するRTF読み書きコードのローカルコピーに、モデルの代わりにマーカーを入れて実行したので、各テストファイルが翻訳のために送信するテキストと、ファイルがどのように返ってくるかを正確に確認できます。

簡単な答え:ファイルの各部分に何が起こるか

ファイルの部分テストで返ってきたもの対処法
\parで終わる段落(WordおよびほとんどのWindowsアプリ)それぞれに1つの翻訳された段落なし
バックスラッシュと改行で終わる段落(TextEdit、その他のMacアプリ)ファイル全体が1つの段落として送信され、各改行の場所にスペースがない最初にファイルを変換する(ステップ2を参照)
太字、斜体、見出し、フォント、色、配置削除されました。すべての段落は12ポイントのTimes New RomanですWordで再度書式設定するか、代わりにDOCXを翻訳する
表セルのテキストがスペースなしで結合:StopTimeNorth pier7:05代わりにDOCXを翻訳する
脚注脚注のテキストが段落の末尾に追加され、脚注番号は失われました脚注を手動で戻すか、DOCXを翻訳する
ページヘッダーファイル内のその位置(今回のテストでは先頭)で通常の段落になる削除するか、元のヘッダーを残す
リンクリンクテキストは保持・翻訳され、ウェブアドレスは削除されるリンクを再度追加する
画像削除されるアートワーク用に元のファイルを保持する
アクセント付き文字と非ラテン文字(café、日本)正しく読み書きされるなし
0–9 と a–f からなる20文字以上の連続(長い参照番号、ハッシュ)翻訳前に削除される翻訳後に確認する(チェッカーがこれを行う)

このガイドの残りの部分では、各行がどこから来るのか、そしてそれに対して何をすべきかを説明します。

ステップ1:どの種類のRTFを持っているかを確認する

RTFは書式コードを含むテキスト形式です。ファイルをプレーンテキストエディタで開くか、ターミナルで head -c 120 yourfile.rtf を実行して、最初の行を確認してください。

  • \cocoartf が含まれている場合、そのファイルはAppleのテキストシステム(TextEdit、またはそれを使用する他のMacアプリ)によって保存されています。
  • \rtf1\ansi があり、\cocoartf がない場合、Word、LibreOffice、WordPad、またはライティングアプリのエクスポートによるものである可能性が高いです。

この違いが重要なのは、2種類のファイルが段落を異なる方法で終了するからです。Wordや他のほとんどのワープロは、各段落の終わりに \par というコードを書き込みます。Appleのテキストシステムは代わりに、行の終わりに単一のバックスラッシュを書き込みます。どちらも有効なRTFです。Microsoftのオリジナル1989年RTF仕様(ミラーコピー)では、バックスラッシュの後に改行が続くものは \par と同じように扱われるとされており、Apple自身のリーダーは私たちのTextEditテストファイルを別々の段落として表示します。BookTranslatorのRTFリーダーは \par のみで段落を分割します。私たちはこれを2026年11月3日にそのコードと以下のテストで確認しました。

チェッカーは、どの種類のファイルか、そしてファイル内に他に何があるかを教えてくれます。Python 3だけが必要で、他には何も要りません:

python3 check_rtf.py sample-word-style.rtf

私たちのWordスタイルのテストファイルでは、次のように出力されました:

== sample-word-style.rtf
  par_breaks: 7
  table_cells: 4
  table_rows: 2
  hyperlinks: 1
  fields: 1
  bold_on: 2
  italic_on: 1
  page_breaks: 1
  fonts: 2
  footnotes: 1
  headers: 1
  images: 1
  visible_paragraphs: 7
  WARN 4 table cells: check that cell boundaries survive.
  WARN 1 footnotes: check where this text ends up in the output.
  WARN 1 headers: check where this text ends up in the output.
  WARN 1 hyperlinks: the link text may survive without the URL.
  WARN 1 images: keep the original for the artwork.

TextEditファイルでは、最初の警告はこれでした:

  WARN Paragraphs end with a backslash + line break (TextEdit/Cocoa style), not \par. Tools that only split on \par will see one long paragraph.

チェッカーが警告を何も出力しなければ、段落、数字、テキストは正しく通るはずです。太字、見出し、リストは警告を出しませんが、RTF経由では削除されてしまうため、必要ならステップ2を確認してください。

テストファイルから返ってきたもの

小さなファイルを3つ作りました。それらと、返ってきたすべてのものはテストファイルフォルダにあります。

  • sample-word-style.rtf は、WordがRTFで使うスタイルで手書きしたものです。\par 改行、ページヘッダー、脚注、リンク、2×2の表、小さな画像、改ページ、コードページ文字として書かれた café、Unicodeコードとして書かれた 日本 が含まれています。
  • sample-textedit.rtf は、Macで textutil -convert rtf を使って作成しました。これはTextEditと同じテキストシステムを使います。見出し、太字と斜体の単語、リンク、箇条書きリスト、表、そして {braces} とバックスラッシュを含む行があります。
  • sample-long-numbers.rtf には、20桁の注文参照番号、40文字のコミットハッシュ、電話番号が含まれています。

2026年11月3日にBookTranslatorのバックエンドコードからRTFの読み書き関数をコピーし、各ファイルで実行しました。モデルは使用していません。翻訳に送られるすべての段落は、[ZH] と元のテキストに置き換えられました。これにより、実際の翻訳のノイズなしに、モデルが受け取る内容とファイルがどのように再構築されるかが正確にわかります。

Wordスタイルのファイル:6つのきれいな段落と3つの驚き

ファイルは6つの翻訳済み段落として、この順序で返ってきました:

[ZH] Harbor Notes - Draft 2
[ZH] Chapter 3: The Harbor
[ZH] The ferry left at 6:40, an hour before the café opened. Timetable from the 1998 edition.
[ZH] Read the harbor map before you go.
[ZH] StopTimeNorth pier7:05
[ZH] Chapter 4: 日本 (Nihon)

ほとんどは望ましい結果です。各段落は順番に一度だけ送られ、café と 日本 はRTFコードからテキストへ、そして戻る旅を生き延びました。3つの驚きは次のとおりです:

  1. ページヘッダーが最初の段落になった。 「Harbor Notes - Draft 2」は各ページの上部に印刷されるヘッダーでした。翻訳済みファイルでは本文テキストになっています。
  2. 脚注が文中に移動した。 「Timetable from the 1998 edition.」は「opened」の脚注でした。今では文の一部であるかのように文の後に続き、脚注番号は消えています。その段落を翻訳するモデルは1つの続いたテキストを見ることになり、脚注を手作業で見つけて戻す必要があります。
  3. 表のセルがつながった。 4つのセル「Stop」「Time」「North pier」「7:05」が単一の文字列 StopTimeNorth pier7:05 になりました。モデルは間違った場所で分割したり、「StopTime」を1つの単語として翻訳したりするかもしれません。

翻訳済みファイルにはヘッダー、脚注、表、リンクアドレス、画像、太字がありません。ステップ4のチェッカーの比較モードがそのすべてをリストします。

TextEditファイル:1つの段落

TextEditファイルには8つの見える段落があります。それらはすべて1つの段落として翻訳に送られました:

Chapter 3: The HarborThe ferry left at 6:40, an hour before the market opened.Read the harbor map before you go.	•	Bring cash	•	Keep your ticketStopTimeNorth pier7:05Ana said: "We'll wait {here}" and C:\Users\ana\notes stayed open.

各段落が終わった場所にスペースがありません:「HarborThe」「opened.Read」。翻訳済みファイルも1つの段落です。テストファイルは短いです。TextEditで保存された実際の本では、ファイル全体が1つの段落になります。翻訳前に、BookTranslatorは非常に長い段落を約6,000文字(中国語、日本語、韓国語では約2,000文字)の断片に、見つけられる文末で分割します。これらの分割は段落内の文末に落ちますが、失われた段落区切りには決して落ちません。「opened.Read」は文末に見えないからです。各段落が台詞やリスト項目のように単一の文である場合、分割はカンマやスペースに落ちることがあります。モデルは段落がどこにあったか決して見ず、あなたは1つの壁のようなテキストを受け取ります。

最後の文の波括弧とバックスラッシュは生き残りました。出力時に正しくエスケープされたので、ファイルはまだ開きます。

長い数字:翻訳前に削除

3番目のファイルはこのように返ってきました:

[ZH] Your order reference is  and must be quoted in full.
[ZH] The fix landed in commit  last week.
[ZH] Call +44 20 7946 0958 before 5 pm.

注文参照番号とコミットハッシュは消え、それぞれの場所に二重スペースがあります。リーダーは、数字0–9と文字a–fのみで構成される20文字以上の連続を削除します。RTFでは埋め込み画像データがそのように見えるからです。テキスト内の長い数字も同じに見えます。電話番号は数字のグループが短いため生き残りました。

これは主に契約書、請求書、技術メモ、長い参照番号を含む記録で重要です。チェッカーはソースファイル内のそのような文字列をすべてリストし、翻訳後に欠落しているものがあれば知らせます。

ステップ2:ファイルに適したルートを選ぶ

チェッカーの出力を使って1つを選んでください:

ファイルの内容最適な方法理由
Word や他の \par アプリからのプレーンな段落RTF をアップロード段落はそのまま返ってきます。不要な書式だけが失われます
TextEdit(\cocoartf)からのプレーンな段落先に DOCX または TXT に変換してからアップロードRTF リーダーがファイル全体を 1 段落として送信してしまうため
見出し、表、脚注、または保持したい書式Word または LibreOffice で DOCX として保存し、その DOCX をアップロードRTF 経由ではプレーンなファイルが再構築されますが、DOCX は Word のワークフローを通ります
長い参照番号やハッシュどちらの方法でも、その後確認すべての数字が返ってきたことを確認

Mac で TextEdit ファイルを変換するには、ターミナルを開いて次のいずれかを実行します:

textutil -convert docx notes.rtf
textutil -convert txt notes.rtf

最初のコマンドは元のファイルの隣に notes.docx を書き出します。私たちの TextEdit テストファイルをこの方法で変換したところ、DOCX は各行が別々の段落になり、太字と斜体の単語も保持されていました。表は保持されず、別々の段落になり、リンクも保持されませんでした。これらが必要な場合は、Word または LibreOffice でファイルを開いてそこから DOCX として保存し、アップロードする前に表を確認してください。2 番目のコマンドはプレーンテキストファイルを書き出します。単語だけが必要な場合に使用してください。プレーンテキスト翻訳ガイドでは、TXT ファイルで確認すべき点を説明しています。

表、スタイル、ヘッダーが重要な Word 文書については、書式を保ったまま Word 文書を翻訳するガイドをご覧ください。BookTranslator の文書翻訳ページの FAQ では、古い Word .doc ファイルについても同じアドバイスをしています。テキストを翻訳して RTF ファイルを返しますが、画像、表、レイアウトを保持する必要がある場合は先に DOCX として保存することを推奨しています。

ステップ 3:ファイル全体を翻訳する

ファイルをアップロードし、対象言語を選択して、支払う前に価格を確認してください。BookTranslator は段落を順番に翻訳します。繰り返し登場する名前や用語がある長いファイルの場合は、支払う前に自動用語集オプションをオンにすると、全体を通して同じように翻訳されます。

2 つのファイルが得られます:

  • 翻訳ファイル: 各段落が対象言語で書かれています。
  • バイリンガルファイル: 各原文段落の後にその翻訳が続きます。2 つを並べて読んで、スキップされた段落や誤読された段落を見つけられるため、レビューにはこちらのファイルが速いです。私たちの TextEdit テストのバイリンガルファイルでは、文書全体が英語で一度表示され、次にマーカー付きで一度表示されます。これは 1 段落問題を確認する別の方法です。

どちらのファイルも、12 ポイントの Times New Roman のプレーンな段落として書き出されます。アラビア語やヘブライ語など右から左に読む対象言語は、右から左への段落としてマークされます。ファイルを Word、LibreOffice、または TextEdit で開いて読み、書式を設定してください。

ステップ4: 翻訳されたファイルを確認する

元のファイルと翻訳を指定してチェッカーを実行します:

python3 check_rtf.py sample-word-style.rtf sample-word-style-translated.rtf

Word形式のファイルでは、比較セクションに次のように出力されました:

== compare
  CHANGED table_cells: 4 -> 0
  CHANGED footnotes: 1 -> 0
  CHANGED headers: 1 -> 0
  CHANGED hyperlinks: 1 -> 0
  CHANGED images: 1 -> 0
  CHANGED bold_on: 2 -> 0
  CHANGED italic_on: 1 -> 0
  CHANGED page_breaks: 1 -> 0
  CHANGED visible_paragraphs: 7 -> 6

各行が確認すべき項目です。ここでは、表の行が1つの段落になったため、段落数が7から6に減っています。長い数値を含むファイルでは、削除された数値ごとに MISSING 行が2行出力されました。TextEditのファイルでは、visible_paragraphs: 8 -> 1 がステップ2に戻るべきサインです。

チェッカーは構造を数えるだけです。翻訳の品質までは判断できません。少なくとも冒頭の数ページと、人名・数値・会話を含む箇所はバイリンガルファイルを読んでください。

よくある問題

翻訳されたRTFが1つの長い段落になっている。 元のファイルはおそらくTextEditなどのMacアプリ由来です。元のファイルに対してチェッカーを実行してください。バックスラッシュによる改行について警告が出る場合は、ファイルをDOCXかTXTに変換して、そちらを翻訳してください。

「StopTime」のように単語がくっついている。 それは表のセルでした。この経路ではRTFの表がセルの境界を失います。表が重要な場合は、ファイルのDOCXコピーを翻訳してください。

文の末尾に、その文に属さないテキストが付いている。 おそらく脚注です。元のファイルで該当箇所を見つけ、その翻訳をWordの脚注に戻してください。

翻訳から数値が消えている。 0–9とa–fからなる20文字以上の数値だった場合、翻訳前に削除されています。元のファイルからコピーして戻してください。チェッカーの MISSING 行にすべて記載されています。

書式が失われている。 RTF経路では想定内です。ファイルはプレーンな段落で再構築されます。書式が必要な場合は、DOCXコピーを翻訳するか、翻訳後にスタイルを再適用してください。DOCX翻訳ツールの比較では、どのツールがWordの書式を保持するか、またその精度について解説しています。

結果をDOCXで受け取ることはできますか? RTFをアップロードした場合、RTFが入力されRTFが出力されるためできません。アップロード前に元のファイルをDOCXに変換すれば、結果はDOCXで返ってきます。

関連記事