# General Translation Python SDKs: hash_message URL: https://generaltranslation.com/ja/docs/python/reference/functions/hash-message.mdx --- title: hash_message description: General Translation Python で、翻訳の参照に使用する ICU MessageFormat 文字列をハッシュ化します。hash_message の API リファレンス。 --- ICU MessageFormat 文字列を、翻訳の参照に使用される 16 進キーにハッシュ化します。これは [`t`](/docs/python/reference/functions/t) が内部で計算する ハッシュ と同じなので、翻訳辞書の構築や確認に利用できます。 ## 概要 [#overview] `hash_message` を、ソース文字列 と、任意の keyword-only 引数である context、id、max-chars を指定して呼び出します。メッセージ内の variable にインデックスを付けた後、`data_format="ICU"` を指定してハッシュ化します。 ```python from gt_i18n import hash_message h = hash_message("Hello, world!") ``` シグネチャ: ```python hash_message( message: str, *, context: str | None = None, id: str | None = None, max_chars: int | None = None, ) -> str ``` `gt_i18n` から `hash_message` をインポートしてください。フレームワークパッケージでは再エクスポートされていません。 ## 仕組み [#how-it-works] * **変数にインデックスを振ります。** まず、メッセージ内の変数にインデックスを振ってメッセージを正規化するため、同等のメッセージは同じ方法でハッシュ化されます。 * **ハッシュ化。** 正規化されたメッセージを `context`、`id`、`max_chars` とともにハッシュ化します。これは JS の gt-i18n 実装に一致しています。これらのいずれかを変更すると、別のハッシュになります。 ## パラメータ [#parameters] | パラメータ | 説明 | 型 | 省略可能 | デフォルト | | ------------------------- | ---------------------------------- | ------------- | ---- | ------ | | [`message`](#message) | ICU MessageFormat の ソース文字列。 | `str` | いいえ | — | | [`context`](#context) | 曖昧さを解消するための context string。 | `str \| None` | はい | `None` | | [`id`](#id) | 明示的なメッセージ識別子。 | `str \| None` | はい | `None` | | [`max_chars`](#max-chars) | 最大文字数の制約。 | `int \| None` | はい | `None` | ### `message` [#message] **型** `str` · **必須** ハッシュ化する対象の ICU MessageFormat ソース文字列。 ### `context` [#context] **型** `str | None` · **任意** · **デフォルト** `None` 同一のソーステキストを区別するために使用する任意のコンテキスト (`t` の `_context` オプション) 。 ### `id` [#id] **Type** `str | None` · **Optional** · **Default** `None` 明示的に指定するメッセージ識別子 (`t` の `_id` オプション) 。 ### `max_chars` [#max-chars] **Type** `int | None` · **Optional** · **デフォルト** `None` 最大文字数の任意の制約 (`t` の `_max_chars` オプション) 。 ## 戻り値 [#returns] **型** `str` 翻訳の参照キーとして使用される、16進数のハッシュ文字列。 ## 例 [#example] ```python from gt_i18n import hash_message # ハッシュをキーとする翻訳辞書を構築する translations = { hash_message("Hello, world!"): "Hola, mundo!", } ```