首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在swift / swiftUI中回退到默认的(英语)语言?

在Swift / SwiftUI中回退到默认的(英语)语言,可以通过以下步骤实现:

  1. 首先,确保你的应用支持多语言。在Xcode中,选择你的项目文件,然后在"Localizations"部分添加所需的语言。
  2. 创建一个名为"Localizable.strings"的文件,用于存储各种语言的本地化字符串。在文件中,你可以定义键值对,其中键是用于标识特定字符串的唯一标识符,值是对应语言的翻译。
  3. 在你的应用中,使用NSLocalizedString函数来获取本地化字符串。这个函数会根据当前设备的语言设置自动返回适当的翻译。
  4. 如果要回退到默认的英语语言,可以通过修改应用的语言设置来实现。可以在应用的设置界面中提供一个选项,让用户选择应用的语言。
  5. 一旦用户选择了回退到默认的英语语言,你可以使用UserDefaults来存储用户的选择。在应用启动时,检查存储的语言设置,并将其应用到整个应用程序。

以下是一个示例代码,演示如何在Swift / SwiftUI中回退到默认的英语语言:

代码语言:txt
复制
import SwiftUI

struct ContentView: View {
    @State private var selectedLanguage = UserDefaults.standard.string(forKey: "SelectedLanguage") ?? Locale.current.languageCode ?? "en"

    var body: some View {
        VStack {
            Text(NSLocalizedString("hello", comment: ""))
                .font(.title)
            
            Picker("Language", selection: $selectedLanguage) {
                Text("English").tag("en")
                Text("French").tag("fr")
                // 添加其他语言选项
            }
            .pickerStyle(SegmentedPickerStyle())
            .padding()
        }
        .onAppear {
            // 应用存储的语言设置
            Bundle.main.setLanguage(selectedLanguage)
        }
        .onChange(of: selectedLanguage) { newValue in
            // 存储用户选择的语言
            UserDefaults.standard.set(newValue, forKey: "SelectedLanguage")
            // 应用新的语言设置
            Bundle.main.setLanguage(newValue)
        }
    }
}

extension Bundle {
    func setLanguage(_ languageCode: String) {
        guard let path = Bundle.main.path(forResource: languageCode, ofType: "lproj") else {
            return
        }
        let bundle = Bundle(path: path)
        object_setClass(self, type(of: bundle!))
    }
}

在上面的示例中,我们创建了一个简单的视图,其中包含一个文本和一个选择器。文本使用NSLocalizedString函数获取本地化字符串。选择器允许用户选择应用的语言。

通过UserDefaults存储用户选择的语言,并在应用启动时应用该设置。Bundle的扩展方法setLanguage用于设置应用的语言。

请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。对于更复杂的应用,可能需要在整个应用中管理多语言的切换和本地化字符串的更新。

推荐的腾讯云相关产品:腾讯云国际化服务(Internationalization Service),该服务提供了多语言管理和翻译的能力,可帮助开发者更好地支持多语言应用。了解更多信息,请访问:腾讯云国际化服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift 周报 第十九期

本提案介绍了使用 if 和 switch 语句作为表达式功能,主要内容包含: 函数、属性和闭包返回值 为变量赋值 声明变量 Swift论坛 讨论 Comparable 下 == 危险默认实现[5...如今,在这些情况下,开发人员不得不回退到 Objective-C/C++/C(使用 attribute((constructor))),即使他们只需要调用一个 Swift 函数。...Manager 包会自动默认为第一个支持版本,对于许多平台来说,这是 2017 年版本。...它不但让我们参与到布局过程,而且也给了我们一个很好机会去更好理解布局在 SwiftUI 作用。 话题讨论 你如何看待各地疫情管控放开 欢迎在文末留言参与讨论。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

1.5K30

全新Swift从入门到进阶实战探探iOS APP

这些差异使得Swift成为了一个更适合现代开发需求语言,同时也反映了Apple在推动其平台向前发展方面的决心。如何在Swift实现测试驱动开发(TDD)最佳实践?...利用声明式编程语言SwiftUI来实现用户界面可以显著提高开发效率和项目的质量19。...为了进一步提高UI设计质量和效率,开发者可以考虑使用静态分析工具(SonarQube和Codacy)来评估和改进他们SwiftUI项目19。...有效地使用Swift和UIKit框架进行用户界面设计需要开发者深入理解这两个技术栈,并结合现代编程范式(SwiftUI最佳实践来提高开发效率和产品质量。...在iOS应用开发,提高Swift编程语言性能高级技巧可以从多个方面进行考虑。

23910

肘子 Swift 周报 | Swift,超越苹果生态!

虽然自 2015 年末起 Swift 便开始支持 Linux,但长期以来,其在非苹果平台上推广和应用进展缓慢,许多人仍旧将 Swift 视作苹果生态下专属语言。...然而,值得高兴是,Swift 社区从未放弃将 Swift 推向更广阔平台梦想。得益于语言特性持续丰富与工具链不断优化,近两三年来,Swift 在跨平台方面取得了显著进步。...此外,通过引入新语言特性及支持这些特性第三方库,Swift 在服务器端表现也得到了进一步加强。...文章不仅阐述了这一概念实现过程,还附带了一个完整演示,展现了如何在 SwiftUI 环境下应用这一技术。...在转向 AppKit 过程,他探讨了一些鲜为人知 AppKit 组件, NSTableHeaderCell 等,并通过 NSViewRepresentable构建了 SwiftUI 与 AppKit

11510

Swift 周报 第四十一期

然而,先前提出一些目标包括尚处于开放式研究阶段问题。在 Swift 6 工作进展同时,语言指导组正在将 Swift 6 剩余变更重点缩小到默认情况下数据竞争安全。...6 默认启用。...换句话说,专门用于非尽事枚举要求,即添加 @unknown 默认情况,以处理未来枚举案例,已从 “Swift 4 警告/Swift 5 错误” 降级为 “Swift 4 运行时陷阱/Swift...正如我们在关于 Swift 6 进展最新帖子宣布那样,我们已经使用即将推出功能标志合并了一些不兼容源代码更改,计划在 Swift 6 默认启用这些标志。...掌握 SwiftUI ContentUnavailableView [10] 摘要: 这篇博客介绍了如何在 SwiftUI 掌握使用 ContentUnavailableView 类型。

20940

肘子 Swift 周报 #001

在 Fatbobman's Swift Weekly ,除了为订阅者提供我个人博客最新消息外,还会分享其他优秀作者关于 SwiftSwiftUI、Core Data、SwiftData 等方面的内容...,无论是用英文、中文还是其他语言撰写。...本文将深入探讨 SwiftData 是如何通过代码创建数据模型,使用了哪些新 Swift 语言特性,以及构建 PersistentModel 过程和原理。...如果你打算逐步从 Core Data 迁移到 Swift Data,或者想在你应用程序为特定用例(小组件)使用Swift Data,本文将对你有所帮助。...在本文中,作者将会谈论和“空间”相关三个事项: 如何在模拟器中体验空间照片 空间视频/照片到底是什么 Apple 到底做了什么 XRealityZone[21] 是一个专注于 XR 领域创作者社区。

24840

肘子 Swift 周报 #031 |苹果用 M4 来展现拥抱 AI 决心

我迫切希望了解苹果如何在 AI 性能、能耗、隐私、开发便利性和使用体验等方面找到平衡。...近期推荐 Swift’s native Clocks are very inefficient( Swift 原生时钟效率极低 )[5] Wade Tregaskis[6] 在 Swift 并发编程...除了阐述如何在应用中部署机器学习模型具体技术步骤外,本文还深入探讨了相关最佳实践和可能遇到挑战。...这些工具使得在应用多个功能模块之间无缝共享状态成为可能,同时支持状态持久化存储,如用户默认设置和文件系统,保证了功能 100%可测试性。...团队面临主要问题包括:与 SwiftUI 和现代 Swift兼容性问题、Xcode SwiftUI 预览功能中断、storyboards 加载缓慢、以及 Podfile 复杂性增加和依赖维护困难等

13810

肘子 Swift 周报 #022 | 忙碌一周

此外,苹果还发布了 Xcode 15.3 版本,并随之带来了 Swift 5.10 更新。 在这众多更新,对开发者而言最重大莫过于 Swift 5.10 发布。...而今,Swift 5.10 在启用完整并发检查选项后,将强制在语言所有方面实施完全数据隔离,以编译时检查为手段确保安全。...通过一段时间实践,Swift Predicate 对我产生了深远影响。它不仅在特定框架中发挥作用,我预见在未来开发过程Swift Predicate 将在更多数据逻辑判断场景中广泛应用。...该版本在并发语言模型引入了完全数据隔离机制,为即将发布 Swift 6 版本奠定了坚实基础。...Migrating my SwiftUI App to VisionOS in 2 Hours[16] Cihat Gündüz[17] 在这篇文章里,Cihat Gündüz 详细讲述了他如何在两小时内

8810

Swift 周报 第十二期

如下图: 在 iOS 16 中使用 SwiftUI Charts 自定义折线图[14] 摘要: iOS 16 引入 SwiftUI Charts,可以快速实现各种统计图,通过图表直观呈现数据。...本文介绍了几种自定义折线统计图。 如何在 SwiftUI 创建条形图[15] 摘要: 本文展示了如何创建一个垂直条形图,其中 Y 轴表示每个类型值。...如下图: 如何在 SwiftUI 创建水平条形图[16] 摘要: 根据 UI 设计以及交互需求,有时候统计图需要调整 X 和 Y 轴。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。...-16/ [15]如何在 SwiftUI 创建条形图: https://swdevnotes.com/swift/2021/how-to-create-bar-chart-swiftui/ [16]货拉拉

2.5K10

肘子 Swift 周报 #019 | 超越代码,拥抱思维转变

这些属性包装器涵盖了不同框架声明周期整合、辅助聚焦、焦点值观察管理等功能。 Swift 语言属性包装器与 SwiftUI 诞生于同一年。...近期推荐 The Swift Method Dispatch Deep Dive[5] Jacob Bartlett[6] 本文深入探讨了 Swift 语言方法派发机制,目的在于阐释 Swift 执行函数调用机制及其对代码性能具体影响...文章进一步讨论了通过采纳某些策略,使用 final 关键字、方法私有化以及全模块优化等,来降低动态派发频率,从而有效提升 Swift 代码运行效率。...Swift 语言带来一系列高效、强大及实用算法扩展。...在这篇文章,Majid Jabrayilov 利用自己丰富实践经验,向我们展示了如何借助 Swift Algorithms 库中提供各种功能,二分搜索、数据分块、过滤、采样和元素组合等,有效提升项目开发效率和执行性能

8510

百行代码变十行,苹果SwiftUI可视化编程让开发者惊呼完美

Swift 是苹果于 2014 年发布全新开发语言,可与 Objective-C* 共同运行于 macOS 和 iOS 平台,用于搭建基于苹果平台应用程序。...Swift 设计以安全为出发点,以避免各种常见编程错误类别。近年来,这种编程语言热度上升很快,甚至有人呼吁用它来代替 Python,作为 TensorFlow 支持语言。 ?...今天苹果就为 Switf 前端编程插上了翅膀,其最新发布 SwiftUI 是一个基于 Swift 语言、创新而又极为简单用户界面解决方案,各种平台上应用都能用它打造精致用户界面。...这种声明式方式甚至允许使用复杂功能,动画(animation)。只需要几行代码,即可添加动画在任何控件上,并且可以使用易于调用特效。...Xcode 会通过「动态替换」在实时 APP 交换编辑代码,这是 Swift 新特征。

4K10

Swift 周报 第十四期

周报精选 新闻和社区:iPhone灵动岛无法适配大部分应用 提案:Swift 5.8 实现提案 Swift 论坛:conformance 关键字 推荐博文:SwiftUI 新功能 Layout 协议...以上调整生效后,在“我 App”“价格与销售范围”部分会随即更新。您可以随时在 App Store Connect 更改您 App 和 App 内购买项目的价格 (包括自动续期订阅)。...版推出,探索如何通过这一框架为您 App 构建实时活动。...SwiftUI 之 HStack 和 VStack 切换 摘要: 本文介绍了当涉及到水平和垂直变体时( HStack 和 VStack ),我们需要如何在这两者之间动态切换。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

3.3K10

Swift 周报 第十期

为了避免这种情况,该提案要求在调用显式地作为任何 P 类型注释,其中当前可以表达返回类型将丢弃对被类型擦除原始关联类型约束,提案示例所示: protocol P { associatedtype...SE-0362: 即将到来语言改进逐渐采用[13] 状态:已接受Swift 6 积累了许多对语言有源码兼容性影响改进,从而在以前语言模式(Swift 4.x 和 Swift 5.x)默认情况下无法启用它们...这些改进已经在背后为 Swift 6 语言模式 Swift 编译器实现,但他们对于开发者是无法访问,并将持续直到 Swift 6 作为一个可获得语言模式。...对于某些模块,所有在 Swift 6 改动总数或许会造成迁移繁重,并且在 Swift 4.x/5.x 逐一采纳这些语言改动,可以使过渡期路径变得丝滑。...Swift论坛 SwiftUI 新功能[17] 围绕 WWDC2022-10052 内容进行讨论 Swift 正则表达式[18] 围绕 WWDC2022-110357 内容进行讨论 SwiftUI

2.1K00

一些适合 SwiftUI 初学者教程

在他网站 Hacking with Swift ,提供了大量优秀免费内容。100 Days of SwiftUI[4] 便是面向 SwiftUI 初学者一个合集。...作者为学习者订立了两项规则:每天花费一个小时阅读或观看该教程,并编写 SwiftUI 代码每天将你进度发布到社交媒体上,监督与自我监督教程还包含了 Swift 语言基础( 1 - 15 天 )方面的知识...教程包含了视频、文档以及代码等内容,对于英语能力欠缺学习者,浏览器自带翻译工具已足够理解教程文档内容( 文档国内有中文搬运 )。...本书前四章可以 免费阅读[5]。该书是为没有任何程式经验、想要学习 SwiftUI 开发初学者而撰写。涉及内容不少,但不要被书名“精通”所迷惑。...她频道中有关于 SwiftUI 视频,但在此我推荐是她 Swift 基础篇和中级篇系列[13]。这个系列相对比较完整,对于初学者掌握 SwiftUI 也十分必要。

1.8K21

Swift 周报 第十七期

针对如何将最新技术集成到您 App 、设计直观 UI,以及测试最新软件等主题大胆提问。 活动将于 11 月 14 日至 18 日举行,届时将提供多种语言和多个时区在线一对一咨询和小组 Q&A。...摘要: 在 iOS 16 引入 SwiftUI 图表,可以以直观视觉格式呈现数据,并且可以使用 SwiftUI 图表快速创建。...在 Swift 图表中使用 Foudation 库测量类型 摘要: 本篇文章使用今年推出 Swift Charts 框架,实现如何绘制默认不符合 Plottable 协议类型数据。...如何在 SwiftUI 创建条形图 摘要: 本文将展示如何创建一个垂直条形图,其中矩形高度将代表每个类别的值。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

2K10

Ask Apple 2022 与 SwiftUI 有关问答(下)

如果你要渲染许多相关控件,使用 Form 会在 iOS 和 macOS 上有最好默认体验。...Swiftcord[12] 代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 显示大数据集响应效率[13] 一文,了解苹果工程师推荐方法。...在 SwiftUI 4 ,可以使用 .scrollContentBackground(.hidden) 隐藏列表默认背景searchableQ:是否有办法在.searchable() 修饰器以编程方式设置搜索字段焦点...macOS APIQ:对于运行 Monterey Mac,能否如何在 SwiftUI 实现下面需求建议:打开一个窗口在该窗口中初始化数据找到所有打开窗口确定一个窗口是否打开从不在该窗口视图中关闭一个窗口...SwiftUI 当前缺乏动画完成后调机制。在动画不复杂情况下,可以通过创建一个符合 Animatable 协议 ViewModifier 来同步观察动画进程。

14.7K30

深度解读 Observation —— SwiftUI 性能提升新途径

在 WWDC 2023 ,苹果介绍了 Swift 标准库新成员:Observation 框架。它出现有望缓解开发者长期面临 SwiftUI 视图无效更新问题。...这导致在 SwiftUI ,极易产生了大量不必要视图刷新,从而影响 SwiftUI 应用性能。 为了改善这些限制,Swift 5.9 版本推出了 Observation 框架。...减少 SwiftUI 对视图无效更新,提高应用性能。...( 这里调闭包用于调用 withObservationTracking onChange 闭包)。...闭包调用完成后,会清除 withObservationTracking 当前线程 _AccessList 对应信息 清除 ObservationRegistrar 与本次观察操作有关属性与调闭包之间对应关系

49920

苹果在 iOS 15 中使用了 SwiftSwiftUI

另一方面,我计算了位于 iPhone OS 3.1 引入 dyld 共享缓存框架。 请记住,开发人员可以混合不同编程语言来创建一个二进制文件。...一个例子是我开发应用程序 Clutters,我在那里使用 SwiftSwiftUI、Objective-C 和 C,使用最合适编程语言来解决特定Dev问题。...iOS 15 SwiftSwiftUI 也许最有趣数字之一是统计苹果在iOS 15使用 SwiftSwiftUI 情况。所以让我们从这个开始吧!...同样,在iOS 14 和 iOS 15 之间,包含至少一行 Swift 代码二进制文件数量翻了一番: 您所见,苹果继续逐步采用 Swift 开发自己内置应用程序。...请再次注意,一个二进制文件可以被多次计算,所以这个图中二进制数据总和大于二进制总数: 使用各种编程语言二进制文件数量 在 iOS 15 所有二进制文件: 89% 使用了 Objective-C

2.2K30

肘子 Swift 周报 #023 | 为应用配备隐私清单

( 东坡肘子 "Fatbobman( 东坡肘子)")") 在 SwiftUI 框架,惰性布局容器, List 和 LazyVStack,提供了一种高效展示大型数据集方法。...Arc 浏览器,一款基于 Swift 开发浏览器,目前正在开发其 Windows 版本,这表明有更多机会让 Swift 开发者在各种平台上发挥 Swift 语言潜力。...Rauhul Varma 在这篇文章中分享了他使用 Swift 新开发嵌入式语言模式为 Playdate 创建游戏经历。...] @_silgen_name 属性赋予开发者在 Swift 前向声明函数能力,允许他们直接引用编译后二进制可能在当前模块不可见函数。...尽管在日常应用开发不经常需要用到全局 actor,但它们在某些特定场景下,主线程渲染,显得格外有价值。

10610

肘子 Swift 周报 #005

然而,在某些情况下,开发者可能希望自行响应持久化历史跟踪事务,以获得更多灵活性。本文将介绍如何在 SwiftData 通过持久化历史跟踪观察特定数据变化方法。...30 年过去了,Swift 现在仍是所有主流语言中唯一能正确判断"‍♂️"长度语言。...The Browser Company 构建了一个语言投影工具,用于为 WinRT 创建符合习惯用法 Swift 语言绑定,并将其应用于开发 Arc Windows 版本。...Advanced SwiftUI Animations – Part 7: PhaseAnimator[15] Javier[16] 在 WWDC 2023 SwiftUI 动画功能得到了显著增强...在 iOS 16 ,Apple 改进了向 iOS 添加和暴露应用程序快捷方式过程。新 App Intents 框架允许开发者使用你日常使用相同语言Swift)创建快捷方式!

22850

从 iPhone OS 1.0 到 iOS 14 编程语言演变

在我之前关于苹果在 iOS 14 中使用了 SwiftSwiftUI 文章,我统计了 iOS 中使用 SwiftSwiftUI 内置应用程序数量。...检测不同编程语言 在我之前关于苹果在 iOS 14 中使用 SwiftSwiftUI 文章,我统计了使用 SwiftSwiftUI 内置应用程序。...另一个很好例子是Clatters,我使用了一些用 SwiftSwiftUI、Objective-C 和 C 编写代码,这些代码是用来解决每个特定问题最合适编程语言。...检测 Swift 检测 Swift 使用可以使用类似的方法来完成,2016 年一篇旧帖子所述。...现在我们知道二进制文件总数和它们编程语言,我们可以回答关于在 iOS 14 中使用 SwiftSwiftUI 二进制文件百分比问题。

2K30
领券