在 SwiftUI 中进行本地化时,如果发现某个字符串没有被翻译,可能是由于以下几个原因:
.strings
文件)存在并且配置正确。以下是一些详细的步骤和示例,帮助你排查和解决 SwiftUI 本地化问题:
首先,确保你已经创建了本地化文件并正确配置。
Info
选项卡。Localizations
部分,点击 +
按钮添加新的语言。Main.storyboard
、Localizable.strings
等)。Localizable.strings
文件,选择 Show in Finder
。Localizable.strings
文件存在于每个语言的文件夹中(例如,en.lproj
、zh-Hans.lproj
等)。确保在 Localizable.strings
文件中添加了正确的键值对。
Localizable.strings
文件英文(en.lproj/Localizable.strings
)
"hello_world" = "Hello, World!";
简体中文(zh-Hans.lproj/Localizable.strings
)
"hello_world" = "你好,世界!";
使用 NSLocalizedString
或 LocalizedStringKey
来引用本地化字符串。
NSLocalizedString
import SwiftUI
struct ContentView: View {
var body: some View {
Text(NSLocalizedString("hello_world", comment: ""))
}
}
LocalizedStringKey
import SwiftUI
struct ContentView: View {
var body: some View {
Text(LocalizedStringKey("hello_world"))
}
}
确保你的应用程序的本地化设置正确,并且设备或模拟器的语言设置为目标语言。
Settings
应用。General
> Language & Region
。有时,Xcode 可能没有正确加载本地化文件。尝试清理和重建项目。
Product
> Clean Build Folder
。如果仍然没有翻译字符串,请检查 Xcode 控制台输出,看看是否有任何错误或警告。
确保本地化文件被正确包含在构建中。
Build Phases
选项卡。Copy Bundle Resources
部分包含所有本地化文件。领取专属 10元无门槛券
手把手带您无忧上云