Динамически обновляемый текст пользовательского интерфейса не подчиняется локализации SwiftUI
У меня есть прогресс отслеживания текстового поля, который динамически обновляется из другого класса с помощью @ObservedObject
и я хочу, чтобы это соответствовало локализации (изменить язык в зависимости от настроек). Мой нормальныйText()
объявления работают нормально, но динамически изменяющийся объект - нет.
BLE-менеджер:
let _TX_PROGRESS_STRING = "Transfer in progress..."
class BLEManager: NSObject, ObservableObject {
@Published var transferTextString: String = _TX_PROGRESS_STRING
}
ContentView:
struct ContentView: View {
@ObservedObject var bleManager() = BLEManager()
Text("Transfer in progress...") // Displays "Envoi en cours..." when set to French
Text(bleManager.transferTextString) // Displays "Transfer in progress..." when set to French
}
Localizable.strings (английский):
"Transfer in progress..." = "Transfer in progress...";
Localizable.strings (французский):
"Transfer in progress..." = "Envoi en cours...";
Очевидно, что это последнее текстовое поле в ContentView должно отображать "Envoi en cours...", а не "Передача выполняется". Есть ли у кого-нибудь идеи, как это исправить?