Язык доступности SwiftUI Заметка

Язык доступности SwiftUI

"При создании приложения для изучения языка с помощью SwiftUI, VoiceOver может неправильно произносить текст, если он находится на другом языке, чем язык устройства. Чтобы исправить это, необходимо изменить язык доступности, используемый VoiceOver. В UIKit можно установить свойство accessibilityLanguage для текстовых меток, но это недоступно в SwiftUI. Одним из предложенных решений является использование AttributedString с атрибутом accessibilitySpeechLanguage, но это не работает. Другим решением является изменение окружающей среды локали для каждого представления с помощью модификатора environment. Однако это работает только в том случае, если вы используете инициализатор verbatim для представления Text, поскольку он по умолчанию обрабатывает текст как ключ локализованной строки. Это решение работает для представлений Text, но требует более длинной формы для представлений, таких как Label. Вы можете применить локаль к метке или дочернему текстовому представлению, но если вы используете метку с иконкой, локаль вступает в силу только при применении к кнопке. Это означает, что VoiceOver будет произносить "кнопку" в измененной локали, но основной текст будет произноситься правильно. В целом, изменение окружающей среды локали для каждого представления является решением для изменения языка доступности, используемого VoiceOver в SwiftUI."