※本連載は、弊社刊『アプリ翻訳実践入門』の一部をコンパクトに再編集したものです。
キーワード:プレースホルダー、タグ、条件選択
アプリ翻訳では、特殊なテキストを扱います。ここではプレースホルダー、タグ、条件選択を取り上げます。これらをうまく処理しないと、アプリ上でテキストが正常に表示されなくなることがあります。
プレースホルダー
プレースホルダーとは、あとでその場所に情報を挿入するために、あらかじめ場所を確保しておく目印です。たとえば以下のような文字が使われます。
# {0} {1} %d %1$s %2$s %USERNAME
プレースホルダーが入っている原文を訳すときは、訳文でも対応する位置にプレースホルダーを配置します。まれに削除するという対応を取ることもありますが、基本的には訳文でも残します。たとえば英日翻訳では次のようになります。
【原文】Welcome, {0}!
【訳例】ようこそ、{0}さん!
{0} というプレースホルダーに「John」というテキストが挿入された場合、英語だと「Welcome, John!」、日本語だと「ようこそ、Johnさん!」と表示されるはずです。
プレースホルダーが1 つの場合はそれほど迷うことはありませんが、たまに複数のプレースホルダーが使われることがあります。複数あるケースでは、位置を考えないと訳文の表示がおかしくなります。ダウンロード済みのファイル数を示すテキストを例にします。
【原文】{0} of {1} files have been downloaded.
{0}に「5」、{1}に「8」という数字が入る場合、英語では「5 of 8 files have been downloaded.」と表示されます。このとき、日本語では{0}と{1}の位置(順序)を入れ替える必要があります。
【訳例】{1}個のうち{0}個のファイルがダウンロードされました。
こうすると「8個のうち5個のファイルがダウンロードされました。」と表示されます。
タグ
テキストに何らかの情報を追加するための記号です。代表的なのはHTMLやXML といったマークアップ言語で用いられるタグで、基本的に原文にタグがあれば、訳文でも対応する部分にタグを挿入します。
ただし、訳文にタグを適用しないこともあります。たとえば日本語ではイタリックを適用すると文字がつぶれて読みにくいことがあります。しかし単純にタグを削除するとQAツールでタグの不整合を指摘されることがあるため、文字にかからないよう外しておくこともあります。以下はイタリックにする「<i> </i>」を外した例です。
【原文】The topic is detailed in <i>The Mythical Man-Month</i>.
【訳例】この話題は『人月の神話<i></i>』に詳しい。
条件選択
何かしらの条件に応じて異なるテキストを選択して表示するアプリがあります。ここで「条件」とは、たとえば名詞の単数形と複数形、あるいは男性名詞や女性名詞などです。
日本語の場合、名詞の数に応じて単数形と複数形を使い分けることはしません。1冊でも2冊でも「本」です。しかし英語では1冊なら「book」、2冊以上なら「books」になります。以下に条件選択のある英語原文のサンプルを示します。
プレースホルダー(#)に入る数字に応じて異なる訳文を選択して表示します。
- 数が1:You have # book in your reader.
- 数が2以上:You have # books in your reader.
日本語では単数形と複数形を使い分けるわけではないため、同じ訳文になります。まったく同じ文が2 回登場することになりますが、これで問題ありません。
- 数が1:リーダーには、#冊の本があります。
- 数が2以上:リーダーには、#冊の本があります。
条件選択を表す方法はプログラミング言語やライブラリーによって異なりますが、ICU(International Components for Unicode)の書式を使う例が頻繁に見られます。ICU の書式を使った複数形選択は図Aのようになります。
図A(『アプリ翻訳実践入門』p. 120より転載)
「=0」の直後の波かっこには0冊の場合のメッセージ、「one」は1冊の場合のメッセージ、「other」は英語ではone以外(つまり複数)の場合のメッセージです。翻訳者が翻訳するのは、この波かっこのなかのテキストになります。ただし「#」はプレースホルダーで、ここに本の数(1、3、24 など)が挿入されます。プレースホルダーは翻訳者が移動できるようになっています。
やや複雑な印象を受けますが、この仕組みを取り入れるアプリは近年増加しています。少なくともこのような仕組みが存在する点は頭の片隅に入れておきましょう。
まとめ
- アプリ翻訳では「特殊なテキスト」を扱います。プレースホルダー、タグ、条件選択などです。
- プレースホルダーは、あとでその場所に情報を挿入するために、あらかじめ場所を確保しておく目印です。
- 条件選択とは、何かしらの条件(名詞の数や性など)に応じて異なるテキストを選択して表示する方法です。
本記事の元になっている書籍『アプリ翻訳実践入門』の詳細および購入についてはこちらのページをご覧ください。