このページでは

Localization API

Guides and Surveys Localization APIは、ガイドとサーベイの翻訳ファイルをXLIFF1.2形式でインポートおよびエクスポートします。このAPIは外部の翻訳管理システムやワークフローと統合できます。

地域

ここで説明するAPIエンドポイントはすべて、次のベースURLに関連しています。

認証

このAPIはベーシック認証を使用します。APIキーアプリキーではなく)とプロジェクトシークレットキーを入力する必要があります。

文字列YOUR_API_KEY:YOUR_PROJECT_SECRET_KEYをBase64でエンコードすることにより、ベーシック認証ヘッダーを構築します。

ヘッダーの例: Authorization: Basic <base64_encoded_api_key:project_secret_key>

<base64_encoded_api_key:project_secret_key>を実際のBase64エンコードされた認証情報に置き換えます。

XLIFFファイルの構造

このAPIはXLIFFバージョン1.2を使用しています。XLIFF構造には次のエレメントが含まれます。

  • **<file>エレメント:**ガイドやサーベイの翻訳を表します。

    • original:ガイドまたはサーベイ、オプションで特定のバリアントを識別します。
      • フォーマット:<key>または<key>_<variant>
      • <key>:ガイドやサーベイに固有のキーです。
      • <variant>(オプション):ガイドまたはサーベイ内の特定のバリアントの識別子です。
        • インポートの場合、<variant>が省略されると、APIはガイドまたはサーベイのい最初のバリアントを更新します。
        • エクスポートの場合、ガイドまたはサーベイに複数のアクティブなバリアントがある場合、各バリアントがXLIFFドキュメント内の個別の<file>エレメント内に表示されます。original属性は、これらのファイルを区別するために<key>_<variant>のフォーマットを使用します。
    • datatype="plaintext"
    • source-language:ソース言語コードです(例:"en")。
    • target-language:このファイル内の翻訳のターゲット言語コードです(例:"de"、"fr")。
  • **<body>エレメント:**1つ以上の<trans-unit>エレメントを含んでいます。

  • **<trans-unit>エレメント:**翻訳用のテキストの一部を表します。

    • id:ガイドまたはサーベイ内のテキストセグメントに対する固有の識別子です(例:snooze_labelstep_1_titlestep_6_content.markdown)。これらのIDは、ガイドまたはサーベイコンテンツの翻訳可能なフィールドに対応しています。
    • <source>source-languageの元のテキストです。
    • <target>target-language内の翻訳済みテキストです。インポートの場合は、ここに翻訳を提供してください。 エクスポートの場合、エレメントには既存の翻訳が含まれています。空の<target>エレメントは、テキストがそのターゲット言語にまだ翻訳されていないことを意味します。

エンドポイント

翻訳をインポート

XLIFFファイルをインポートして、1つ以上のガイドまたはサーベイの翻訳を追加または更新します。インポートが成功すると、Amplitudeはアプリケーションの関連キャッシュをパージし、新しい翻訳を利用できるようにします。

  • HTTPメソッド:POST
  • URL:/import/
  • ヘッダー:
    • Authorization: Basic <base64_encoded_api_key:project_secret_key>
    • Content-Type: application/xml; charset=utf-8
  • リクエスト本文: XLIFF1.2の生のXMLコンテンツ。
    xml
    <?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
        <file original="your-nudge-flag-key" datatype="plaintext" source-language="en" target-language="de">
            <body>
                <trans-unit id="step_1_title">
                    <source>Welcome!</source>
                    <target>Willkommen!</target>
                </trans-unit>
                <trans-unit id="step_1_content.markdown">
                    <source>This is an important announcement.</source>
                    <target>Dies ist eine wichtige Ankündigung.</target>
                </trans-unit>
                <!-- Add more trans-unit elements as needed -->
            </body>
        </file>
        <!-- Add more file elements for other Nudges or languages -->
    </xliff>
    
  • リクエスト例(curl):
    bash
    curl -X POST \\
      -H "Authorization: Basic YOUR_BASE64_ENCODED_CREDENTIALS" \\
      -H "Content-Type: application/xml; charset=utf-8" \\
      --data \'\'\'<?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"><file original="nudge-translated-announcement-1" datatype="plaintext" source-language="en" target-language="de">
            <body>
                <trans-unit id="step_1_title">
                    <source>Announcement</source>
                    <target>Ankündigung</target>
                </trans-unit>
            </body>
        </file>
    </xliff>\'\'\' \\
      "https://app.amplitude.com/a/guides-surveys/api/v1/localization/import/"
    
    <base64_encoding(api_key:project_secret_key)>を実際のBase64エンコードされたAPIキーとプロジェクトシークレットキーに置き換えてください。)
  • レスポンス:
    • 200 OK:XLIFFファイル内のすべての翻訳単位が正常に処理されました。レスポンス本分は、処理された各ファイルのステータスを詳述するJSONオブジェクトです。 例:
    json
      {
        "nudge-translated-announcement-1": {
          "de": {
            "state": "COMPLETE",
            "message": "Updated 5 translation units."
          }
        }
      }
    

翻訳をエクスポート

keyによって)指定されたガイドまたはサーベイの翻訳をXLIFF1.2ファイルにエクスポートします。

  • HTTPメソッド:GET
  • URL:/export/
  • ヘッダー:
    • Authorization: Basic <base64_encoded_api_key:project_secret_key>
  • クエリパラメータ:
    • key(文字列、必須):翻訳をエクスポートする対象のガイドまたはサーベイのキーです。複数のガイドやサーベイをリクエストするには、このパラメータを複数回提供するか、カンマ区切りリストを提供します(例:?key=key1&key=key2または?key=key1,key2)。少なくとも1つのkeyは必須です。
    • locale(文字列、オプション):エクスポートする特定のターゲット言語コード("de"、"fr"など)。このパラメータは、複数のロケールに対して複数回指定してください。 省略された場合、APIはソース言語を除く、アプリに設定されているすべてのターゲットロケールの翻訳をエクスポートします。
  • リクエスト例(curl): 単一のガイドまたはサーベイと、特定のロケールの翻訳をエクスポートする場合:
    bash
    curl -X GET \\
      -H "Authorization: Basic YOUR_BASE64_ENCODED_CREDENTIALS" \\
      "https://app.amplitude.com/a/guides-surveys/api/v1/localization/export/?key=nudge-translated-announcement-1&locale=de"
    
    複数のガイドまたはサーベイのキーとロケールをエクスポートする場合:
    bash
    curl -X GET \\
      -H "Authorization: Basic YOUR_BASE64_ENCODED_CREDENTIALS" \\
      "https://app.amplitude.com/a/guides-surveys/api/v1/localization/export/?key=key-one&key=key-two&locale=de&locale=fr"
    
    YOUR_BASE64_ENCODED_CREDENTIALSを実際のBase64エンコードされたAPIキーとプロジェクトシークレットキーに置き換えてください。)
  • レスポンス:
    • 200 OK:レスポンス本文にはXLIFF1.2のXMLコンテンツが含まれています。

これは役に立ちましたか?