# General Translation Python SDKs: declare_var URL: https://generaltranslation.com/zh/docs/python/reference/functions/declare-var.mdx --- title: declare_var description: General Translation Python 中 declare_var 的 API 参考。将动态值标记为不可翻译的变量。 --- 将动态值标记为不可翻译的变量,以便它在不同语言中保持不变。可用于仅在运行时才能确定的值,例如嵌入在 [`t`](/docs/python/reference/functions/t) 调用中的用户名、电子邮件地址和数量。 ## 概览 [#overview] 调用 `declare_var` 时,传入一个值,以及可选的仅限关键字参数 `name`。它会返回一个 ICU `{_gt_, select, ...}` 结构,用于将该值嵌入为 General Translation 的变量标记。 ```python from gt_flask import declare_var # 或:from gt_fastapi import declare_var,或:from gt_i18n import declare_var t(f"Signed in as {declare_var(email, name='email')}") ``` 签名: ```python declare_var( variable: str | int | float | bool | None, *, name: str | None = None, ) -> str ``` 由 `gt_i18n` 和各框架包从 `generaltranslation.static` 重新导出。 ## 工作原理 [#how-it-works] * **值格式化。** `None` 会变成空字符串,`bool` 会变成 `"true"`/`"false"`,其他值会被转换为字符串;结果会经过清理。 * **标记构造。** 它会返回 `{_gt_, select, other {value}}`;如果提供了 `name`,还会额外带上 `_gt_var_name {name}` 子句。 * **运行时与构建时。** 适用于运行时值;如果某个值在构建时只有有限种可能结果,请使用 [`derive`](/docs/python/reference/functions/derive)。使用 [`decode_vars`](/docs/python/reference/functions/decode-vars) 可恢复嵌入的值。 ## 参数 [#parameters] | 参数 | 描述 | Type | 可选 | 默认值 | | ----------------------- | -------------------- | ------------------------------------- | -- | ------ | | [`variable`](#variable) | 要作为不可翻译变量嵌入的值。 | `str \| int \| float \| bool \| None` | 否 | — | | [`name`](#name) | 仅限关键字的人类可读变量名。 | `str` | 是 | `None` | ### `variable` [#variable] **类型** `str | int | float | bool | None` · **必填** 要嵌入的值。`None` 会渲染为空字符串;布尔值会以小写形式渲染。 ### `name` [#name] **类型** `str` · **可选** · **默认值** `None` 变量的一个仅限关键字、人类可读的标签;提供时会以 `_gt_var_name` 子句的形式添加。 ## 返回值 [#returns] **类型** `str` 一个 ICU `{_gt_, select, ...}` 结构,用于将该值包装为变量标记。 ## 示例 [#example] ```python from gt_flask import t, declare_var # 在已翻译的 f-string 中保留运行时值 message = t(f"{declare_var(name, name='name')} goes home") ```