Translator: measureInputUsage() メソッド
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
Want more browser support for this feature? Tell us why.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
measureInputUsage() は Translator インターフェイスのメソッドで、指定されたテキスト入力に対して、翻訳処理によってどの程度の入力クォータが使用されるかを報告します。
構文
measureInputUsage(input)
measureInputUsage(input, options)
引数
input-
入力使用状況の測定対象とする入力テキストを表す文字列。
options省略可-
measureInputUsage()操作の構成オプションを指定するオブジェクト。取り得る値は次のとおりです。signal-
AbortSignalオブジェクトのインスタンス。これを使用すると、関連付けられたAbortControllerを通じてmeasureInputUsage()操作を中止することができます。
返値
指定された入力テキストの inputQuota によるクォータを表す数値で履行される Promise です。
この数値は実装に依存します。inputQuota よりも小さい場合、その文字列は翻訳可能です。
例外
NotAllowedErrorDOMException-
このメソッドの使用が
translatorのPermissions-Policyによってブロックされた場合に発生します。 NotReadableErrorDOMException-
出力された翻訳が、有害、不正確、意味不明であると検出された場合、例えば、ユーザーエージェントによってフィルターされた場合に、この例外が発生します。
UnknownErrorDOMException-
measureInputUsage()の呼び出しが、その他の理由、またはユーザーエージェントが開示を望まない理由で失敗した場合に発生します。
例
>十分なクォータがあるかどうかを確認
下記のコードスニペットでは、create() を使用して新しい Translator インスタンスを作成し、inputQuota を通じて総入力クォータを返し、measureInputUsage() を通じて具体的なテキスト文字列の翻訳にかかる入力クォータの使用量を返します。
次に、その文字列に対する個別の使用量が、利用できるクォータの合計を上回っているかどうかを検査します。上回っている場合は、適切なエラーが発生し、そうでない場合は、translate() を使用して文字列を翻訳します。
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> |