# General Translation Python SDKs: hash_message
URL: https://generaltranslation.com/ja/docs/python/reference/functions/hash-message.mdx
Docs index: https://generaltranslation.com/llms.txt
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`](/docs/python/reference/functions/t) の `_context` オプション) 。

### `id` [#id]

**型** `str | None` · **任意** · **デフォルト** `None`

明示的に指定するメッセージ識別子 ([`t`](/docs/python/reference/functions/t) の `_id` オプション) 。

### `max_chars` [#max-chars]

**型** `int | None` · **Optional** · **デフォルト** `None`

最大文字数の任意の制約 ([`t`](/docs/python/reference/functions/t) の `_max_chars` オプション) 。

## 戻り値 [#returns]

**型** `str`

翻訳の参照キーとして使用される、16進数のハッシュ文字列。

## 例 [#example]

```python
from gt_i18n import hash_message

# ハッシュをキーとする翻訳辞書を構築する
translations = {
    hash_message("Hello, world!"): "Hola, mundo!",
}
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
