翻字 (トランスリテレーション)

ある文字体系のテキストを別の文字体系に変換する処理。音韻を保持しながら文字を置き換える。

翻字 (トランスリテレーション) とは、ある文字体系で書かれたテキストを別の文字体系に変換する処理です。翻訳 (translation) が意味を別の言語に置き換えるのに対し、翻字は音韻 (発音) を保持しながら文字だけを置き換えます。たとえば日本語の「東京」をローマ字で「Tokyo」と表記するのは翻字の一例です。国際化対応、検索エンジン、パスポートの氏名表記など、多くの場面で使われています。

翻字にはいくつかの標準規格が存在します。日本語のローマ字表記にはヘボン式 (Hepburn) と訓令式 (Kunrei) があり、「し」をヘボン式では「shi」、訓令式では「si」と表記するなど違いがあります。訓令式を定めていた 1954 年の内閣告示は 2025 年に改定され、ヘボン式にあたるつづり方を基本とする形へ切り替わったため、2026 年時点の公的な表記はヘボン式系が基本です。キリル文字からラテン文字への変換には ISO 9 規格、中国語のピンイン表記には ISO 7098 規格が定められています。パスポートの氏名表記ではヘボン式ローマ字が採用されており、「おおの」を「ONO」とするか「OHNO」とするかなど、長音の扱いに注意が必要です。

プログラミングにおける翻字の実装では、ICU (International Components for Unicode) ライブラリが事実上の標準です。ICU の Transliterator クラスは、ラテン文字からカタカナ、キリル文字からラテン文字など、多数の文字体系間の変換ルールを提供しています。より軽量なライブラリも各言語にありますが、対象言語が想定に入っているかを確かめてから選ぶ必要があります。たとえば Python の unidecode は Unicode 文字を ASCII に落とすためのライブラリで、公式の説明は中国語・日本語・韓国語の翻字については「扱おうとしていない」と明言しており、日中で共用される漢字には中国語側の読みが割り当てられます。日本語の読みでローマ字化したい場合は、形態素解析で読みを取得してから変換するなど、言語専用の経路を用意することになります。検索エンジンでは、ユーザーがローマ字で入力した検索クエリを日本語に変換して検索する機能に翻字が活用されています。

翻字と転写 (transcription) は混同されやすい概念です。翻字は文字と文字の対応関係に基づく変換で、可逆性 (元の文字に戻せること) を設計目標に置くものが多くあります。ISO 9 の 1995 年版は発音区別符号 (ダイアクリティカルマーク) を使って 1 文字を 1 文字に対応させることで、元の言語が分からなくても逆変換できると説明しています。一方、転写は発音に基づく変換なので、情報が落ちて元に戻せないことがあります。ただし日本語のローマ字化は方式によって可逆性が変わる点に注意が必要です。ヘボン式は英語話者の発音に寄せた方式で、「じ」と「ぢ」、「ず」と「づ」を同じ綴りに統合するため、綴りから仮名を一意に復元できません。仮名の並びに忠実な日本式はこの区別を保ちます。つまり「ローマ字だから翻字」「ヘボン式だから可逆」とは言えず、翻字と転写は連続的なものとして捉えるほうが実態に合います。英語話者が聞いた音を「Foojeesan」と書くような表記は、その連続線上でさらに転写側に寄った処理です。

よくある注意点として、翻字は完全に一対一の変換にならないケースがあります。日本語の「ん」はローマ字では基本的に「n」ですが、ヘボン式には「b」「m」「p」の前を「m」とする流儀があり (「新橋」→「Shimbashi」)、訓令式や日本式は位置によらず「n」のままです。同じ語でも方式と流儀の組み合わせで綴りが変わるため、単純な文字置換では正確な翻字にならず、どの方式に従うかを先に決めて記録しておかないと表記が混在します。また、中国語の声調記号やアラビア語の母音記号など、元の文字体系にある情報がラテン文字への翻字で失われることもあります。

文字数カウントとの関連では、翻字によって文字数が大きく変化する点が重要です。漢字 1 文字がローマ字では複数文字になるため (「東」→「higashi」で 7 文字)、翻字前後で文字数制限への影響を考慮する必要があります。SNS の投稿やメタディスクリプションなど文字数制限がある場面では、翻字後の文字数を事前に確認することが実務上重要です。

この記事を共有