Connect with us

Программирование

Множественное число в текстовых представлениях SwiftUI с помощью склонения

Эта интеграция делает работу с множественным числом в SwiftUI простой и эффективной.

Опубликовано

/

     
     

В фреймворке Foundation есть функция автоматического согласования грамматики, которая позволяет сократить количество строк локализации и упростить код. Она обеспечивает соблюдение в тексте таких грамматических правил, как множественное число и род. Она легко сочетается со SwiftUI, позволяя нам обрабатывать множественное число непосредственно в текстовых представлениях без написания лишней логики.

Чтобы текст автоматически подстраивался под значения множественного числа, мы можем указать, что хотим, чтобы он использовал правило склонения, и определить область применения склонения, используя следующий синтаксис:

Text("You read ^[\(bookCount) book](inflect: true) this year!")

SwiftUI распознает этот синтаксис как пользовательский атрибут Markdown и обрабатывает его соответствующим образом. Когда создается представление Text со строковым литералом, как показано в примере выше, SwiftUI рассматривает строку как LocalizedStringKey и анализирует содержащуюся в ней  разметку. Он определяет атрибуты склонения в строке и использует функцию автоматического согласования грамматики из Foundation для внесения необходимых корректировок во время рендеринга.

Вот как это будет выглядеть в полном представлении SwiftUI:

struct BookReadingTracker: View {
    @State private var bookCount: Int = 0
    
    var body: some View {
        VStack(spacing: 16) {
            Text("""
            You read ^[\(bookCount) book](inflect: true) this year!
            """)

            Button("Add a book") {
                bookCount += 1
            }
        }
    }
}

В этом примере нажатие на кнопку увеличивает значение bookCount, и текст обновляется автоматически. Когда значение bookCount равно 1, используется форма единственного числа book. При увеличении значения, например до 2 или выше, текст динамически переключается на форму множественного числа, обеспечивая грамматическую правильность.

Множественное число в текстовых представлениях SwiftUI с помощью склонения

Эта интеграция делает работу с множественным числом в SwiftUI простой и эффективной. Функция автоматического грамматического согласования и атрибут склонения были представлены в iOS 15 с первоначальной поддержкой английского и испанского языков. С течением времени грамматический движок был расширен для включения дополнительных языков, а в iOS 18 он также поддерживает немецкий, французский, итальянский, португальский, хинди и корейский, что делает его еще более универсальным для многоязычных приложений.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: