Connect with us

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

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

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

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

/

     
     

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

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

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

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

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

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

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

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

Популярное

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

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