Динамически обновляемый текст пользовательского интерфейса не подчиняется локализации 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...", а не "Передача выполняется". Есть ли у кого-нибудь идеи, как это исправить?

0 ответов

Другие вопросы по тегам