リソースGettextの複数形を理解する:WordPressで複雑な複数形を処理する方法

Gettextの複数形を理解する:WordPressで複雑な複数形を処理する方法

SimplePoTranslateチーム2025年12月1日

英語では、複数形は単純です。「Apple」(1つ)と「Apples」(2つ以上)があります。

しかし、WordPressサイトをポーランド語、ロシア語、またはアラビア語に翻訳しようとしているなら、言語的な地雷原に足を踏み入れようとしています。

ロシア語では、「ファイル」という単語が、1つのファイル、2〜4つのファイル、または5つ以上のファイルを持っているかによって変化することをご存知ですか?

  • 1 файл(1ファイル)
  • 3 файла(3ファイル)
  • 5 файлов(5ファイル)

翻訳ツールがすべての言語が英語(単数形と複数形)のように機能すると盲目的に想定している場合、ユーザーには文法的に間違った文章が表示され、ブランドがプロフェッショナルでないように見えます。

このガイドでは、WordPressとGettextがこれらの複雑なルールをどのように処理するか、そしてそれらを正しく自動化する方法について説明します。

複数形文字列の技術的解剖学

標準的な.poファイルでは、複数形の文字列は次のようになります。

msgid "You have %d new message"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
  • msgid: 単数形(カウント= 1に使用)。
  • msgid_plural: 複数形(カウント!= 1に使用)。
  • msgstr[N]: 翻訳。

英語の場合、msgstr[0](単数形)とmsgstr[1](複数形)のみが必要です。しかし、他の言語では、msgstr[2]msgstr[3]、さらにはmsgstr[5]が必要になる場合があります。

Plural-Formsヘッダー

WordPressはどのmsgstrを使用するかをどのように知るのでしょうか?.poファイルのヘッダーを見ます。

ロシア語の場合、ヘッダーは次のようになります。 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"

この恐ろしい数式はWordPressに次のように伝えます。

  1. 3つの可能な形式があります(nplurals=3)。
  2. 数字が1で終わる(ただし11ではない)場合は、フォーム0を使用します。
  3. 数字が2〜4で終わる(ただし12〜14ではない)場合は、フォーム1を使用します。
  4. その他すべての場合は、フォーム2を使用します。

なぜほとんどの翻訳者がここで失敗するのか

一般的なAIラッパーや基本的な自動化ツールを使用する場合、それらはしばしばPlural-Formsヘッダーを無視します。

英語の入力(2つの形式)を見て、ターゲット言語に強制しようとします。

  • エラー: msgstr[0]msgstr[1]を埋めるかもしれませんが、msgstr[2]は空のままにします。
  • 結果: ロシアのユーザーに5つのメッセージがある場合、WordPressはフォーム2を探します。空または欠落している場合、WordPressは通常、元の英語の文字列に戻ります。

突然、完全にローカライズされたサイトが、ロシア語の文章の真ん中に英語で「You have 5 new messages」と表示します。これは没入感とユーザーの信頼を損ないます。

解決策:複数形サポート付きのコンテキスト認識AI

複数形を正しく処理するには、次の2つが必要です。

  1. Gettext標準への厳密な準拠: ツールはヘッダー内のnpluralsカウントを尊重する必要があります。
  2. 言語的インテリジェンス: AIは、特定の数値範囲に対して単語を活用させる方法を知っている必要があります。

これはSimplePoTranslateのネイティブ機能です。

私たちが複雑な複数形を処理する方法

テキストを翻訳するだけではありません。.poヘッダーの数学を読み取ります。

ポーランド語(3つの複数形がある)への翻訳のためにファイルをアップロードする場合:

  1. ヘッダー分析: nplurals=3を検出します。
  2. プロンプトエンジニアリング: 私たちのシステムはコンテキスト認識AIに指示します:「この文字列をポーランド語に翻訳してください。正確に3つの形式を提供してください:単数形用、2〜4で終わる数字用、およびその他用。」
  3. 検証: ファイルをコンパイルする前に、出力にmsgstr[0]msgstr[1]、およびmsgstr[2]が正確に含まれていることを確認します。

これを自動的に処理します。ターゲット言語の文法規則を知る必要はありません。ファイルをアップロードすると、必要なすべての複数形が正しく入力されます。

手動翻訳よりも優れていますか?

ターゲット言語を流暢に話さない限り、これらの複数形を手動で入力することはできません。推測することになります。SimplePoTranslateは、これらの正確な文法規則でトレーニングされた高度なLLMを活用し、ネイティブレベルの精度を保証します。

複数形を正しくする

「1 Apple、5 Apples」がサイトのプロフェッショナルな外観を台無しにしないようにしてください。グローバルな文法の複雑さを理解するツールを使用してください。

SimplePoTranslateを使用すると、複数形エンジンを無料でテストできます。

頭痛の種なしに翻訳する準備はできましたか? SimplePoTranslate.comで無料で始めましょう