You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI中如何本地化Text的relative样式?

解决小组件中Relative格式Text本地化失效的问题
  • 检查项目本地化配置
    确认主App和小组件的Info.plist都添加了目标语言(比如中文)的本地化支持,Localizations列表里必须包含所需语言,别只配置主App却漏了小组件。

  • 手动绑定本地化环境
    小组件可能默认没继承系统本地化设置,给Text组件手动指定当前设备的Locale:

    Text(date, style: .relative)
        .environment(\.locale, Locale.current)
    

    也可以直接指定具体语言标识(例如中文简体):

    Text(date, style: .relative)
        .environment(\.locale, Locale(identifier: "zh_CN"))
    
  • 确认系统语言优先级
    去设备「通用-语言与地区」里,把目标语言拖到列表最顶部,多语言环境下优先级直接影响显示效果。

  • 清理缓存并重启
    删除App和小组件,用Cmd+Shift+K清理Xcode缓存后重新编译安装,同时重启设备确保系统语言设置完全生效。

  • 自定义相对时间格式化(备选)
    如果上述方法都无效,用RelativeDateTimeFormatter手动生成本地化文本:

    let formatter = RelativeDateTimeFormatter()
    formatter.unitsStyle = .short
    formatter.locale = Locale.current
    let relativeText = formatter.localizedString(for: date, relativeTo: Date())
    Text(relativeText)
    

内容的提问来源于stack exchange,提问作者Ali Seymen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:05:14