PythonIDE Docs
中文
简体中文

translation

设备端文本翻译。

设备端文本翻译(Apple Translation 框架):离线翻译、查询支持语言。

边界:需 iOS 支持 Translation 框架;首次翻译可能下载语言包。仅文本翻译,不含实时语音同传。

#模块概览

说明
导入import translation
适合做什么笔记翻译、多语言 UI 文案、离线翻译
调用时机translate() 放在按钮回调
推荐顺序is_available()supported_languages()translate()
语言码BCP-47,如 enzh-Hansja

#快速开始

python
import translation

if not translation.is_available():
    print("Translation 不可用")
else:
    print(translation.supported_languages())
    text = translation.translate("你好,世界", target="en")
    print(text)

指定源语言:

python
import translation

text = translation.translate("Bonjour", target="zh-Hans", source="fr")
print(text)

#AppUI 示例

python
import appui
import translation

state = appui.State(
    available="—",
    source="你好,世界",
    target_lang="en",
    result="—",
)


def refresh_available():
    state.available = "是" if translation.is_available() else "否"


def do_translate():
    refresh_available()
    if state.available != "是":
        state.result = "Translation 不可用"
        return

    try:
        state.result = translation.translate(state.source, target=state.target_lang)
    except translation.TranslationError as exc:
        state.result = str(exc)


def body():
    return appui.NavigationStack(
        appui.Form([
            appui.Section("翻译", [
                appui.TextEditor(text=state.source).frame(min_height=80),
                appui.TextField("目标语言", text=state.target_lang),
                appui.Button("翻译", action=do_translate)
                .button_style("bordered_prominent"),
            ]),
            appui.Section("结果", [
                appui.LabeledContent("可用", value=state.available),
                appui.Text(state.result).foreground_color("secondaryLabel"),
            ]),
        ]).navigation_title("翻译")
    )


appui.run(body, state=state)

#API 参考

#速查

API作用
is_available()Translation 是否可用 → bool
supported_languages()支持的语言码列表
translate(text, target='en', source=None)翻译文本 → str
TranslationError翻译失败异常

#translate

translate(text, target='en', source=None)source 省略时自动检测源语言。

python
translation.translate("你好", target="en")
translation.translate("Hello", target="zh-Hans", source="en")

#常见错误

错误写法后果修正
未检查 is_available()TranslationError先判断可用性与系统版本
无效语言码翻译失败supported_languages() 核对
body() 里自动翻译每次刷新重复请求放进按钮回调
超长文本一次翻译可能超时或截断分段翻译

#相关文档

文档用途
foundation_models端侧文本生成(iOS 26+)
speech语音合成

#预期效果

运行示例后,界面应出现文档描述的目标结果;若与预期不符,先看「失败路径」并按返回值或日志排查。