@State var selectedSpace : FreeSpace = .Big_Bag
Picker("", selection: $selectedSpace) {
ForEach(FreeSpace.allCases) { FreeSpace in
Text(FreeSpace.rawValue.capitalized)
}
}.environment(\.locale, Locale.init(identifier: "az-Arab"))
.foregroundColor(Color("Color"))
.padding(.trailing)
知道pickerValues
enum FreeSpace: String, CaseIterable, Identifiable {
case Big_Bag, Small_Bag
var id: Self { self }
}
我正试图转换什么是内选择器到阿拉伯语和无法找到一个解决方案,它总是显示在英语。
3条答案
按热度按时间xzlaal3s1#
Apple Doc:
如果你初始化一个文本视图,视图使用init(:)初始化器,它不会本地化字符串。但是,您可以通过首先创建LocalizedStringKey示例来请求本地化,这会触发init(:tableName:bundle:comment:)初始化器:
这意味着您必须用途:
5anewei62#
我认为你误解了iOS本地化的概念。在您的应用程序中,您需要提供可本地化的字符串文件(通常名为Localizable.strings),其中包含您支持的语言的本地化值。

因此,基本上在您的项目设置中,您需要启用所需的语言(屏幕截图上的英语和阿拉伯语)。
然后创建Localizable.strings文件并将其添加为应用程序的资源。然后只需在文件检查器中单击本地化即可将其本地化。
这将允许您选择要为当前文件使用的语言。一旦你使它可本地化,你可以勾选要使用的语言,你可以在项目导航器中切换它们。
从现在开始,您将把本地化文本放在相应的Localizable文件中,并使用其密钥访问它。
如果你使用
Text(String(localized: "key").uppercased())
,你应该没问题。ego6inou3#
你可以这样本地化**picker。**但是如果你设置你的picker段来自一个Array:
let qiuzSegments = [NSLocalizedString(“5000 Words”,comment:“5000 Kelime”),NSLocalizedString(“Favorite Words”,注解:“Favori Kelimeler”)]
这是帮助土耳其语->英语翻译。
我的意思是第一个字符串是你的目标语言,第二个字符串(注解)是你的主要应用语言。您可以这样设置picker本地化。
有关更多信息,请查看我的Medium页面:https://beratridvanasilturk.medium.com/