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

swift 5中的本地化(更改语言按钮不起作用)

在Swift 5中,本地化是指将应用程序的用户界面和文本内容适应不同的语言和地区。本地化是为了提供更好的用户体验,使应用程序能够在全球范围内被广泛接受和使用。

本地化的实现通常涉及以下几个方面:

  1. 语言资源文件:在应用程序中,可以创建多个语言资源文件,每个文件包含特定语言的本地化文本和字符串。这些资源文件使用特定的文件名和后缀来标识语言,例如Localizable.strings表示默认的本地化文件,Localizable.strings (French)表示法语的本地化文件。
  2. NSLocalizedString函数:在Swift中,可以使用NSLocalizedString函数来获取本地化字符串。该函数接受一个键值作为参数,然后根据当前设备的语言设置从相应的语言资源文件中获取对应的本地化字符串。
  3. 语言切换:为了实现更改语言的功能,可以使用UserDefaults来存储用户选择的语言设置。当用户更改语言时,可以更新UserDefaults中的值,并重新加载应用程序的界面,以便应用程序使用新的语言资源文件。

然而,如果在Swift 5中更改语言按钮不起作用,可能有以下几个可能的原因和解决方法:

  1. 检查语言资源文件:确保在项目中正确创建了语言资源文件,并且文件名和后缀与代码中的引用一致。还要确保每个语言资源文件中包含了正确的本地化文本和字符串。
  2. 检查语言切换逻辑:确保在更改语言按钮的点击事件中正确更新UserDefaults中的值,并重新加载应用程序的界面。可以使用NotificationCenter来发送通知,以便其他部分的界面可以监听到语言切换事件并进行相应的更新。
  3. 检查语言设置:在应用程序启动时,可以检查UserDefaults中存储的语言设置,并根据该设置加载相应的语言资源文件。确保语言设置的读取和应用正确。
  4. 检查按钮点击事件:确保按钮的点击事件已正确绑定,并且在点击事件中执行了正确的语言切换逻辑。

如果以上方法都没有解决问题,可能需要进一步调试和排查代码,以确定具体原因。同时,可以参考腾讯云的国际化和本地化相关产品,例如腾讯云翻译服务(https://cloud.tencent.com/product/tmt)来实现更强大的本地化功能。

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

相关·内容

实现模块化应用本地化

前言 我已经有一段时间没有从头开始一个需要支持多种语言新项目了。当然不是从头开始,而是在代码库中通过使用 Swift 包将代码分成不同模块。...主页有一个按钮允许用户导航到详情页面,还有一个标签展示用户当前所在区域语言代码。详情页只展示一个标签,和主页标签展示信息一致: 添加字符串!...支持本地化 可能与你想法正好相反,把设备系统语言设置为加泰罗尼亚语或西班牙语并且运行 app 内容仍然用英文展示。...值得注意是,如果设备有被 app 支持但是包不支持语言,则后者将会回退到 Package.swift 中提供 defaultLocalization ....当用户修改区域时,如果你资源包存在该语言包或默认提供 Package.swift ,软件包也会展示该区域语言内容。 2.支持多少个区域就会有多少个本地化资源。

88320

iOS之深入解析Xcode 13正式版发布40个新特性

Column Breakpoint; 如果调试器尚未解析断点,则断点图标将更改为占位符字形。...; 现在可以使用键盘选择和导航大纲视图组,例如 Constraints; Interface Builder 有一个重新设计画布底部栏,带有用于更改设备和布局弹出窗口,以及用于更改设备外观和方向开关...Transparency 框架重置受保护资源“用户跟踪”授权状态; 用 Swift 编写测试方法可能会被标记为异步或异步抛出,以允许调用和等待来自异步 API 结果,作为 Swift 并发语言功能一部分...二十八、App Store StoreKit 2 引入了一个现代基于 Swift API,它利用了新语言功能,如 Swift 并发性。...除了首选语言之外,如果当前系统语言与首选语言不同,标头还包括作为后备的当前系统语言。此行为会影响链接到 macOS 12、iOS 15、tvOS 15 和 watchOS 8 SDK 应用程序。

8.7K40
  • 对iOS应用中文本进行本地化

    可见,在app中显示让使用者最亲切语言文本是何等重要。对于相当数量app来说,如果能够将UI中显示文本进行了本地化转换,基本上就完成了app本地化工作。...文本本地化原理 作为一个程序员,如果让你考虑设计一套逻辑对原始文本针对不同语言进行本地化转换,我想大多数人都会考虑使用字典(键值对)解决方案。...因此我们必须首先让项目知道,我们将对项目进行本地化操作、并选择对应语言。...文件并没有被本地化,当前你项目中只有一个文件,在该文件中进行文本键值对定义,仅会针对项目的开发语言,通过右侧Localize...按钮,我们可以选择生成Localizable.strings对应语言...,系统将根据使用者硬件设备返回对应内容 实战5:重新设定付款按钮 使用复数规则完善付款按钮

    2.2K20

    使用 App Store Connect API 批量创建内购商品

    单击 “生成 API 密钥”(如果之前创建过,则点击 “添加(+)” 按钮新增。)。 输入密钥名称。该名称仅供您参考,名字不作为密钥一部分。 单击 “生成”。...图片 1、Issuer ID:拷贝复制内容 2、密钥 ID: 生成密钥,有一列名为 “密钥 ID” 就是 kid 值,鼠标移动到文字就会显示 拷贝密钥 ID,点击按钮就可以复制 kid 值。...3、API 密钥文件,下载 API 密钥 按钮(仅当您尚未下载私钥时,才会显示下载链接。),此私钥只能一次性下载!。 注意:将您私钥存放在安全地方。...3、Apple Party(苹果派)更新 下载 2.1.0 更新版本:Releases · 37iOS/AppleParty 更新重点内容 截图不再是必需项 支持多种本地化语言 表格格式更新,删除无法字段...,支持多种本地化语言: 图片 支持多种本地化语言,通过在表格最后列增加,本地化语言标识,每种语言增加2列,分别对应本地化名字和描述。

    4.8K20

    iOS OC swift 自定义 popover 泡泡

    环境: Xcode:Xcode 8.2 Swiftswift3+ git 地址:https://github.com/TieShanWang/KKPopover pod 集成:pod 'KKPopover...' 【注意】pod 版本,swift 3 支持,以 3....棕色区域是可以设置 红色 底层箭头视图边框 白色 底层箭头视图背景颜色 蓝色 自定义内容区域,在此区域(contentView)可以添加希望展示内容 加号按钮 模拟了 sourceView...可以看到当 sourceView(加号按钮) 在不同地方时候,popover 自动更改方向、调整箭头方向、位置以适应不同 sourceView 类说明 open class KKPopover: UIView...,空白地方可以处理触摸事件 /// 当 touchThrough 为 true 时候,此字段不起作用 arrowDirection: UIPopoverArrowDirection /// 箭头方向

    2.7K70

    iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboardxib本地化纯代码本地化语言切换后记

    写在前面 本文同步 个人博客 简书 掘金 慕课 使用Xcode 9.3 Swift4.1 前言 语言本地化 大家肯定都多少都听过,今天我要分享是快速实现语言本地化,与App内语言切换 核心内容主要是三个部分...纯代码本地化 创建string文件 ? ? 勾选语言,把几种全部勾上,包括Base (为下文使用脚本生成代码做准备) 参考此篇文章进行脚本添加 iOS中多语言本地化流程优化 ?...,否则会报错 build一下就能自动生成相关代码 就可以直接用了,具体用法可以参考上面提到那篇文章 iOS中多语言本地化流程优化 语言切换 语言切换基本原理是使用Userdefault存储当前选择语言...,在设置时候改变其内容即可 主要涉及到两个问题 storyboard/xib如何切换语言 如何刷新界面 对于上面都算是正常本地化内容,基本上介绍本地化教程都会有。...,是不是很简单呢~~ 后记 对于普通小项目本地化内容其实远没有那么复杂,需要替换内容也很少,只要添加过一次语言,再添加新语言就非常简单了。

    2.4K31

    Travis CI 教程:入门

    由于 Travis 使用多种不同语言,因此如果没有关于它是什么类型项目的信息,它就不知道如何构建您特定项目。...由于 Xcode 知道如何分辨 Swift内容以及 Objective-C 中内容,因此您 Swift 项目会很好。...你已经添加了像你应该 .travis.yml 文件,为什么它不起作用? 单击其中一个 Details 链接以查看此构建结果。新错误会直接导致您遇到问题: ?...返回 GitHub 页面并单击绿色 Merge pull request 按钮,然后单击 Confirm merge 以正式合并您更改。 Hello, World!...github_travis_success 再次,单击 合并拉取请求,然后单击 确认合并 按钮以合并您更改。合并后,您将在主要 MovingHelper GitHub 页面上看到您徽章: ?

    5K21

    Swift 周报 第十四期

    以上调整生效后,在“我 App”中“价格与销售范围”部分会随即更新。您可以随时在 App Store Connect 中更改 App 和 App 内购买项目的价格 (包括自动续期订阅)。...拓展 Swift 可用目标平台 拓展 Swift 可用主机平台 提高 Swift 现有平台上 Toolchain 让 Swift 编译器可以在现有的平台上工作比如 Linux 和 Windows...实现模块化应用本地化 摘要: 本文详细介绍了本地化上线过程,建议收藏,以后新开项目作为参考。...关于我们 Swift社区是由 Swift 爱好者共同维护公益组织,我们在国内以微信公众号运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心技术内容,也整理收集优秀学习资料...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

    3.3K10

    Swift入门:怎样安装Xcode和创建Playground

    watchOS是苹果最小操作系统名字,负责运行本机应用程序,并从手机发送通知。 Swift是苹果现代编程语言,允许你为iOS、macOS和其他平台编写应用程序。...它包含构建程序功能,但不处理用户界面、音频或网络之类内容。 Swift 1.2是对Swift第一次重大更新,它调整了各种语言特性并改进了其他特性。...Swift 3是Swift第三次重大更新,它带来了大量命名更改,使语言更容易编写,也更自然。 Swift 4是Swift第四次重大更新,主要关注有助于提高语言表达能力新功能。...它包含按钮、文本框、导航控件等,您可以使用Swift来驾驭它。 AppKit是苹果macOS用户界面工具包。像UIKit一样,它包含了按钮、文本框等内容,尽管它关注是macOS而不是iOS。...Taylor SwiftSwift编程语言无关。这是一个遗憾,你可能会想象,但我会试图弥补这个不足,在本教程使用她歌曲。

    6.2K10

    iOS字符串本地化(APP 内本地化切换) 、nib本地化、图片本地化

    3.1 APP 内本地化切换 iOS APP 内本地化切换【修订】 3.2 一个语言对应多个字符串资源文件方案 3.3 iOS本地化字符串指定参数顺序(应用:app内语言切换) iOS...本地化字符串指定参数顺序(应用场景:app内语言切换)【修订】 前言 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言多种方言 如果要添加本地化功能,需要为每种支持语言创建一个子目录...当本地化应用程序需要载入某一资源时,如图像、属性列表、nib文件,应用程序会检查用户语言和地区,并查找相匹配本地化文件夹。...如果找到了相应文件夹,就会载入这个文件夹中资源 I、nib& info.plist 本地化 本地化准备 先创建本地化文件夹(zh-Hans.lproj),让应用程序支持对应语言环境,并选择选择当前需要本地化资源.../92388239 II、图片本地化 应用场景:不同语言登录现显示对应图片 ?

    1.6K30

    苹果全新UI框架来了!可视化编程,自动化减少20%代码量

    开发者通过SwiftUI,利用Swift语法就能够完成代码和设计同步。 Swift是苹果最新开发语言,有人呼吁谷歌取代TensorFlowPython。目前在TOIBE排名18位: ?...SwiftUI还提供对动态类型、暗黑模式、本地化和可访问性自动支持。 SwiftUI都更新了什么? 此次更新主要有5点: 声明式:更加易读代码。...而SwiftUI通过4种方式,解决了上述问题: 用一个新声明式UI结构,定义了布局外观和工作方式 更新UI预览会自动生成新Swift代码,反之,更改Swift代码也会更新UI预览 Swift任何绑定例如有效...人人都能编程 SwiftUI继承了Swift理念:每个人都可以编程。现在,一个全新用户界面系统诞生,有助于避免新开发人员遇到大量问题。...尽可能依赖工具 通过消除源码控制痛点、消除对UIKit严重依赖、消除Interface Builder可能遇到一些连接混淆,苹果希望开发者更多使用Swift,尽可能依赖工具而不是纠结于一些不必要事情

    5.4K20

    桌面程序用什么语言开发好

    促使程序赢得更多客户最好、最经济方法是使之支持多国语言,而不是将潜在客户群限制为全球近70亿人口中一小部分。本文介绍四种实现WPF应用程序支持多国语言解决方案。...它显示为一种示例,该示例使用某些本地化 API 并演示如何编写本地化工具。点击下载LocBaml)复制到应用程序 bin\debug 文件夹,即创建主应用程序集位置。...翻译可本地化内容 注意此步应当使用兼容unicode文本编辑器进行编辑翻译。...测试新增语言资源文件 更改操作系统地区设置(“开始” | 控制面板 |“区域和语言选项”)。...另外,和其他元素不同是,MessageBox的确定(OK),是(Yes),否(NO)等按钮是直接调用系统Win32 API,MessageBox按钮当前显示哪种语言文本是由Windows操作系统安装默认语言决定

    1.8K20

    Apple 营收有望再创新高 | Swift 周报 issue 47

    ShareLinkButtonView 设计为仅在满足特定条件(ideaSnapshot 非零)时显示按钮。...:smiley:当然,这两种选择都是可能,我观点是,在我看来,weak MyClass 不够精确,不足以成为一种语言功能(就像这样)。...用户在特定情况下希望自定义字符串插值行为,特别是在本地化字符串上下文中。 他们提供了一个示例,其中使用可变大小写字符串插值动态构造本地化字符串键。...该摘要捕获了用户对 appendLiteral 正确使用以及他们在 Swift 中为本地化字符串键自定义字符串插值具体情况询问。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

    13032

    ONLYOFFICE8.1版本震撼来袭

    版本控制:用户可以跟踪文档中所有更改,查看各个更改由谁在何时做出,必要时恢复到以前版本。 文档比较:轻松对比两篇文档,用审阅模式查看不同之处,并接受或拒绝修改。...路径:更改配色方案 从右至左显示 & 新本地化选项 ONLYOFFICE 不断改进编辑器本地化,争取让世界各地用户都能使用这个套件。...在新版本中,我们改进了右至左语言支持: 改进单词顺序 改正不同文本类型对齐方式 此外,在8.1版本中,您还会发现: 电子表格编辑器支持更多新语言,包括孟加拉语和僧伽罗语 为编辑器添加了塞尔维亚语...– 西尔语本地化 (sr-Cyrl-RS) 可用性提升 可以隐藏或显示标题中保存、打印、撤消和重做功能按钮。...配色方案按钮移至布局选项卡 邮件合并按钮移至协作选项卡 演示文稿编辑器右侧面板增加了更多设置 更丰富模板库 利用我们免费多语种模板库,节省更多时间。

    16110

    Swift 周报 第四十一期

    此外,以下语言更改目前正在进行设计和实施,以接受 Swift 演进审查过程: SE-0411: 孤立默认值表达式 23 为方法和键路径文字推断 @Sendable 18 全局和静态变量严格并发检查...语言指导组承认,并发领域其他语言更改也很重要,但以上更改对于定义 Swift 6 语言模式是必要。其他并发特性是附加,可以独立探索。...鉴于关于向一致使用存在任何语言迁移担忧,以及期望会出现可能影响该迁移最终结果其他语言改进,语言指导组正在将 SE-0335 中源不兼容更改推迟到将来语言修订中。...其他 Swift 6 可能包括源不兼容更改演进提案,语言指导组将在评估这类提案是否相对于源不兼容成本对语言价值时逐个进行评估。...文章通过实例演示了 ContentUnavailableView 基本用法以及如何在其中定义描述文本和操作按钮

    22640

    Swift教程(一)--基础内容

    本次教程是基于Swift5.1版本 Swift是一个全新用户iOS,MacOS,watchOS和tvOS应用编程语言。...元组允许你创建和传递一组数据,你可以用元组当做函数返回值来返回多个Swift还增加了可选项,用来处理没有值情况,它使得Swift更安全,这也充分说明swift是一门类型安全编程语言,那么现在让我们开始...swift编程之旅吧 常量和变量 顾名思义,常量值一旦设置好便不能再被更改,然而变量值可以在将来被设置成不同值 声明常量和变量 常量和变量必须在使用前被申明,使用关键字 let 来声明常量,使用关键字...lines */ 分号 和许多其他语言不同,Swift 并不要求你在每一句代码结尾写分号( ; ),当然如果你想写的话也没问题。..." 类型安全和类型推断 Swift 是一门类型安全语言

    1.3K30

    市值一夜蒸发8000亿元 | Swift 周报 issue 50

    动机为了添加 metatype keypaths 到 Swift 语言中,该提议旨在解决挑战并改善语言语义。...采用影响metatype keypaths 不可逆地添加到旧版本应用中,并且需要在 Swift 标准库和运行时中进行更改才能充分利用它们。...然而,有人提到,将 “async let” 更改时间与其他并发相关增强功能保持一致将是有益,尽管对于调度决策没有做出任何保证。...作者展示了如何通过简单示例来创建一个按钮,该按钮在每次按下时都会启动一个异步任务。讲解了如何对按钮进行改进,以在任务执行期间禁用按钮,以及如何将按钮逻辑提取到一个专用视图中。...特别感谢 Swift社区 编辑部每一位编辑,感谢大家辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言发展贡献自己力量。

    15232
    领券