SwiftUI 在新的 Foundation Formatters iOS 15 中更改语言
Posted
技术标签:
【中文标题】SwiftUI 在新的 Foundation Formatters iOS 15 中更改语言【英文标题】:SwiftUI Change language in new Foundation Formatters iOS 15 【发布时间】:2021-10-04 17:33:21 【问题描述】:大家好,我在翻译日历中月份和日期的名称时一直遇到问题..
对于ios 14
我正在使用
DateFormatter()
(或Calendar.current.shortMonthSymbols
)
对于日历月份和iOS 15
的格式,我使用Foundation
中的新格式
Date().formatted(.dateTime.year().month())
在这两种情况下,我都无法将日期和月份的名称从 English 翻译成 Italian
前段时间我没有遇到这些问题,因为翻译是直接从用户真实设备的语言完成的,而不是现在,因为我在真实设备上安装了iOS 15
,翻译不再自动发生,我无法理解我如何使用优雅的方式解决它
有人遇到过这些问题吗?有什么帮助吗?
【问题讨论】:
【参考方案1】:只需确保设置您的日历语言环境属性:
var cal = Calendar.current
cal.locale = Locale(identifier: "it_IT")
cal.shortMonthSymbols // ["gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "
【讨论】:
感谢您的建议 .. 使用日历我正在使用 @Environment (\. calendar) var calendar 我该如何优化这个? @kAiN ***.com/a/65846026/2303865 我试图创建它并将其插入 contentView 但它仍然无法翻译..我错在哪里?struct ContentView: View var body: some View Reservation() .environment(\.calendar, var calendar = Calendar.current calendar.locale = Locale(identifier: "it_IT") return calendar ())
展示您如何使用自定义日历
这样解决了@available(iOS 15, *) func formatMonthName(style: Date.FormatStyle.Symbol.Month) -> String self.formatted(.dateTime.locale(Locale(identifier: "it")).month(style))
以上是关于SwiftUI 在新的 Foundation Formatters iOS 15 中更改语言的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 如何在新视图中链接 ForEach 索引和照片索引?
css Blockgrid for Foundation。为中型屏幕启用布局。注意:此网格中的中断点为600px而不是fo
css Blockgrid for Foundation。为中型屏幕启用布局。注意:此网格中的中断点为600px而不是fo
css Blockgrid for Foundation。为中型屏幕启用布局。注意:此网格中的中断点为600px而不是fo
css Blockgrid for Foundation。为中型屏幕启用布局。注意:此网格中的中断点为600px而不是fo
css Blockgrid for Foundation。为中型屏幕启用布局。注意:此网格中的中断点为600px而不是fo