見出し画像

5.1. メッセージの種類

Polyglotの「メッセージの種類」(2020-08-18更新版)の私家版和訳を掲載します。「翻訳者ハンドブック|WordPress翻訳|translate.wordpress.org (GlotPress)」の続きのコンテンツです。
以下、本文です。

5.1. メッセージの種類

https://make.wordpress.org/polyglots/handbook/translating/glotpress-translate-wordpress-org/types-of-messages/

WordPressの管理画面には、翻訳が必要なさまざまなメッセージがあります。頻繁に目にするメッセージもあれば、たまにしか目にしないメッセージもあります。それぞれのメッセージタイプについて、例とともに以下に説明します。

ラベル

ラベルは、HTML<label>、<legend>、<a>、<select>タグの文脈でよく使われます。それらはUI要素の目的を短く正確に記述したものです。これらは、特に単一ワードの場合、そして、英語で使用されているワードが名詞とも命令形動詞とも解釈できる場合、翻訳が非常に難しいことがあります。殆どのラベルでは、適切な翻訳を考える前に、コードを検索して、そのラベルが使用されている文脈を見つける必要があります。

メッセージの多くはWordPressの管理インターフェイスの一部であるため、ラベルはおそらく最も頻繁に翻訳されるメッセージの種類です。

“Post”は命令形の動詞とも解釈できるが、この文脈では名詞です。英語の“Post”の名詞形は訳しにくく、チームによっては最も適切な訳語を決めるのが難しいです。下記のフィンランド語訳の様に、多くの翻訳が英語の“Article”に相当するものを使用しています。

msgid "Post"
msgstr "Artikkeli"

ヒンディー語訳のラベルの例をもうひとつ紹介しましょう。

#: wp-login.php:79 wp-login.php:233 wp-register.php:166
#: wp-includes/template-functions-general.php:46
msgid "Register"
msgstr "रजिस्टर"

以下の例(ウェールズ語訳)の様に、ダッシュで囲まれたラベルは、ターゲットとするロケールのユーザーを混乱させる可能性がある場合、またはあなたのロケールで確立された慣習が異なる場合は、削除または置き換えることができます。

#: wp-admin/admin-functions.php:357
msgid "- Select -"
msgstr " - Dewis -"

情報メッセージ

情報メッセージは通常、完全な文章で構成されます。それらは情報を伝えたり、ユーザーに行動を求めたりします。これらのメッセージは、ラベルよりも長い傾向があるので、翻訳するのが少し簡単になる傾向があります。しかし、長いメッセージになると、フォーマルなレベル(または非フォーマルなレベル)のバリエーションが増えるため、翻訳者は注意が必要です。

下の例 – ブルガリア語訳 – では、情報メッセージに英語の定型表現(“小切手/小切手は郵送中です”)が含まれており、これが非フォーマルさを助長しています。

#: wp-login.php:146
msgid "Your new password is in the mail."
msgstr "Вашата нова парола е в електронната ви поща."

このスウェーデン語訳の例に見られる様に、エラーメッセージは短く簡潔であるため、よりフォーマルなものになる傾向があります。

#: wp-includes/functions.php:1636
msgid "<strong>Error</strong>: Incorrect password."
msgstr "<strong>FEL</strong>: Felaktigt lösenord."

勿論、WordPressのインターフェースでは、すべてのエラーメッセージがフォーマルなものではありません。以下の例は、ドイツ語の翻訳からで、非フォーマルなトーンのエラーメッセージを示しています。

#: wp-includes/functions-post.php:467
msgid "Sorry, you can only post a new comment once every 15 seconds. Slow down cowboy."
msgstr "Leider kannst du nur alle 15 Sekunden einen neuen Kommentar eingeben. Immer locker bleiben."

説明付き文字列

文字列が縦棒|を含む場合、|の右側の部分は説明です。その目的は、文字列を特定の文脈に置いたり、追加情報を提供したりして、翻訳を助けることです。

以下のケースでは、文字列を翻訳するためにwebページを見ることを示唆しています。

#: wp-includes/locale.php:186
msgid ""
"number_format_decimal_point|$dec_point argument for http://php.net/number_format, default is ."
msgstr ","

日付と時刻のロケール設定

殆どのホストでは、多くの言語に対して正しく設定されていないPHP組み込みのロケール切り替え機能を使うのではなく、WordPressはgettext翻訳モジュールを使って日付と時刻の翻訳とフォーマットを行ないます。

WordPressは、以下の日付と時刻の設定をすべて翻訳します。

月名

#: wp-includes/locale.php:42 wp-includes/locale.php:57
msgid "May"
msgstr "Květen"

(チェコ語翻訳より)

月の省略形

#: wp-includes/locale.php:57
msgid "May_May_abbreviation"
msgstr "Mag"

上の例では、msgidが普通でないことに注意してください。これらのメッセージは直訳すべきではありません。ここでのmsgidは、フルネームと略称が英語では同じである為、Gettextが誤って2つを1つのエントリにまとめてしまう為に使われるハックです。(イタリア語翻訳より)

曜日名

#: wp-includes/locale.php:7
#: wp-includes/locale.php:18
#: wp-includes/locale.php:31
msgid "Tuesday"
msgstr "火曜日"

(日本語翻訳より)

曜日略称

#: wp-includes/locale.php:31
msgid "Tue"
msgstr "Уто"

(セルビア語翻訳より)

曜日イニシャル

#: wp-includes/locale.php:18
msgid "T_Tuesday_initial"
msgstr "ti"

曜日の頭文字はWordPressのカレンダー機能の為のもので、英語の火曜日と木曜日が同じ頭文字であることを回避する為に、上記の月の略語と同じハックを使用しています。すべてのロケールがすべての日に一文字の略語を使うわけではありません。上の例では、ノルウェー語ではtirsdag(火曜日)とtorsdag(木曜日)を区別する為に余分な文字を使っています。

日付のフォーマット文字列

これらはPHPのdate()フォーマット文字列で、 ロケールにあわせて日付や時刻のフォーマットを変更することができます。

WordPressは、月名や曜日名などに、ローカライズファイル内の他の場所の翻訳を使用します。この特別な文字列は、日付と時刻にどの要素を含めるか、またどの順番で表示するかを選択する為のものです。

theme.potファイルからこのmsgidを取り出します:

#: archive.php:40 search.php:19 single.php:22
msgid "l, F jS, Y"
msgstr ""

英語では、この様にフォーマットされます:

Sunday, February 27th, 2005

しかし、ロケールによって日付のフォーマットは異なります。例えばデンマーク語では、日付はこの様に表記されます:

søndag, 27. februar 2005

その為、上のmsgidを次の様に翻訳します:

#: archive.php:40 search.php:19 single.php:22
msgid "l, F jS, Y"
msgstr "l, j. F Y"

別の例を挙げると、中国語と日本語の日付のフォーマットには次の様なものがあります:

2005年2月27日

翻訳ではこの様になります:

#: archive.php:40 search.php:19 single.php:22
msgid "l, F jS, Y"
msgstr "Ynj日"

最後に、スペイン語で時々発生する様に、日付フォーマットにリテラルアルファベットを含める必要がある場合は、バックスラッシュを使用することができます:

#: archive.php:40 search.php:19 single.php:22
msgid "l, F jS, Y"
msgstr "l j \d\e F \d\e Y "

この様に出力されます:

domingo 27 de febrero de 2005

WordPress-PHPを介した翻訳

プラグイン内などで日付を翻訳するには、mysql2date()或いはdate_i18n()を使用します。タイムスタンプをもとに、ローカライズされたフォーマットで日付が返されます。

プレースホルダーを使ったメッセージ

翻訳された後のメッセージに翻訳不可能な動的コンテンツを挿入する為、多くのメッセージはPHPの特別なフォーマットプレースホルダを含んでいます。PHPのプレースホルダには2つの異なるフォーマットがあります:

%s:プレースホルダが一つしかないときに使われます。
%1$s%2$s%3$s、…:番号の付いたプレースホルダで、翻訳者が順番を並べ替えることができます。これにより、動的コンテンツが適切な場所に挿入されることを保証しながら、翻訳された文字列をより柔軟にすることができます。

以下の例 – スペイン語訳から – では、eメールが送信されたユーザーのユーザー名がメッセージに挿入されています。

#: wp-login.php:116
msgid "The e-mail was sent successfully to %s's e-mail address."
msgstr "El e-mail fue enviado satisfactoriamente a la dirección e-mail de %s."

一方以下の例 – 中国語訳から – では、番号付きのプレースホルダーを使用し、ファイル名とタイプの使用順序を逆にしています。

#: wp-admin/upload.php:96
#, php-format
msgid "File %1$s of type %2$s is not allowed."
msgstr "类型为%2$s的文件%1$s不允许被上传。"

ストップワード

ストップワードとは、‘a’、‘the’、‘and’の様な、検索から除外されるべき非常に一般的な単語のことです。これらの単語を単純にあなたの言語に翻訳すべきではありません。その代わりに、あなたの言語で一般的に受け入れられているストップワードを探し、提供してください。

注:

  • WordPressコアのストップワードの比較アルゴリズムは、完全に一致するものを探しているので、発音記号を使用する言語の場合は、ストップワードのすべてのバリエーションをリストに含める様にしてください(例:“pravé”と“právě”)。

  • 一文字のストップワードを追加する必要はない(それらの文字がA~Zの範囲にある場合)。

#: wp-includes/query.php:2031
msgctxt "Comma-separated list of search stopwords in your language"
msgid "about,an,are,as,at,be,by,com,for,from,how,in,is,it,of,on,or,that,the,this,to,was,what,when,where,who,will,with,www"
msgstr "le,la,les,de,des,un,uns,une,unes,et,a,à,il,elle,on,ne,je,tu,nous,vous,ils,elles,son,sa,ses,que,quoi,se,qui,ce,cette,dans,en,du,au,aux,pour,pas,sur,y,ou,où,si,ton,ta,te,mon,ma,tout,toute,tous,toutes,ça,ni,www,com,fr,par,sur,par,dans,mais,vos,votre,vôtre,sans,toi,moi,lui,leur,leurs"

Last updated: August 18, 2020

この記事が気に入ったらサポートをしてみませんか?