Баг в локализации даты и времени в SwiftUI (или Swift)

swift

#1

Товарищи!

Неожиданно для себя столкнулся с неизвестным багом в двух своих проектах

Почему то отображаемые дата и время не переключаются на российскую локаль. Все настройки, и в симуляторе, и на девайсе выставлены на язык Русский, регион: Россия.

Дата отображается в английском стиле, а время в 12-часовом формате.

Что делать даже представить не могу.

Кто нибудь сталкивался с подобным? меня уже это порядком утомило

Буду благодарен за любую помощь


#2

выведите в консоль текущую локаль и проверьте.

print(Locale.current)

вроде так на память.

Ну и в коде можете назначить принудительно нужную локаль.


#3

Попробовал. Результат не обрадовал. Где то глюк.

Вот код:

struct ContentView: View {
    
    let formatter: DateFormatter = {
        let df = DateFormatter()
        df.dateStyle = .medium
        df.locale = Locale(identifier: "ru_RU")
        return df
    }()
    
    var body: some View {
        
        Text(Date(), formatter: formatter)
            .onAppear{
                print(Locale.current)
                print(formatter.string(from: Date()))
            }
    }
}

Консоль:
en_RU (current)

23 Jul 2021

Пробовал в настройках iPhone менять язык и регион. В консоли регион меняется на разные страны, а язык нет.

Самое интересное DatePicker тоже работает только на английском языке


#4

В настройках схемы то меняли язык и регион? У меня нормально всё