このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Translator: measureInputUsage() メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more browser support for this feature? Tell us why.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

measureInputUsage()Translator インターフェイスのメソッドで、指定されたテキスト入力に対して、翻訳処理によってどの程度の入力クォータが使用されるかを報告します。

構文

js
measureInputUsage(input)
measureInputUsage(input, options)

引数

input

入力使用状況の測定対象とする入力テキストを表す文字列。

options 省略可

measureInputUsage() 操作の構成オプションを指定するオブジェクト。取り得る値は次のとおりです。

signal

AbortSignal オブジェクトのインスタンス。これを使用すると、関連付けられた AbortController を通じて measureInputUsage() 操作を中止することができます。

返値

指定された入力テキストの inputQuota によるクォータを表す数値で履行される Promise です。

この数値は実装に依存します。inputQuota よりも小さい場合、その文字列は翻訳可能です。

例外

NotAllowedError DOMException

このメソッドの使用が translatorPermissions-Policy によってブロックされた場合に発生します。

NotReadableError DOMException

出力された翻訳が、有害、不正確、意味不明であると検出された場合、例えば、ユーザーエージェントによってフィルターされた場合に、この例外が発生します。

UnknownError DOMException

measureInputUsage() の呼び出しが、その他の理由、またはユーザーエージェントが開示を望まない理由で失敗した場合に発生します。

十分なクォータがあるかどうかを確認

下記のコードスニペットでは、create() を使用して新しい Translator インスタンスを作成し、inputQuota を通じて総入力クォータを返し、measureInputUsage() を通じて具体的なテキスト文字列の翻訳にかかる入力クォータの使用量を返します。

次に、その文字列に対する個別の使用量が、利用できるクォータの合計を上回っているかどうかを検査します。上回っている場合は、適切なエラーが発生し、そうでない場合は、translate() を使用して文字列を翻訳します。

js
const translator = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "ja",
});

const totalInputQuota = translator.inputQuota;
const inputUsage = await translator.measureInputUsage(myTextString);

if (inputUsage > totalInputQuota) {
  throw new Error("翻訳に十分なクォータがありません。");
} else {
  console.log("翻訳に利用可能なクォータがあります。");
  const translation = await translator.translate(myTextString);
  // ...
}

仕様書

仕様書
Translator and Language Detector APIs
# dom-translator-measureinputusage

ブラウザーの互換性

関連情報