Головне
- Зміна мови застосунку могла залишити частину екрана старою мовою — це реальна особливість iOS, а не випадковий збій. Виправлено: тепер застосунок пропонує чистий перезапуск, щоб завершити перемикання.
- Я перевірив усі 8 перекладених мов від початку до кінця: шаблон повідомлення про допомогу, який ніколи не був перекладений на 7 мов, відсутні рядки безпеки і дублі ключів — усе виправлено.
- Позначку Partner Mode на сайті було занижено — тепер вона коректно каже, що підключення партнера працює в пілоті, і лише панель спільного доступу досі закрита.
- Контент про статуси функцій на сайті синхронізовано з чесною, оновленою дорожньою картою застосунку за попередні два дні.
- Переклади для кризових ситуацій і безпеки зроблені ретельно, але я все одно хочу, щоб носії мови перевірили їх перед публічним запуском в App Store.
Баг: зміна мови могла залишити вас наполовину в кожній
Тестувальник повідомив, що після зміни мови застосунку частина екрана залишалася старою мовою — англійський підпис поруч з українським текстом, або навпаки. Така неузгодженість швидко підриває довіру, особливо в застосунку про добробут, де чіткість мови важлива.
Причина виявилася цікавішою, ніж просто помилка. iOS насправді фіксує мову застосунку в момент запуску процесу і кешує, як розв'язується String(localized:) на весь цей сеанс роботи. Заміна мовного пакета «на льоту» перенаправляє лише прості виклики SwiftUI Text("буквальний текст"), а не кешовані локалізовані значення — тому ці два шляхи тихо розходяться, і ви отримуєте справді змішаний екран. Це неможливо було просто «залатати»; потрібен був зовсім інший підхід.
Виправлення: чесний перезапуск замість зламаної миттєвої зміни
Замість боротьби з поведінкою iOS я перестав обіцяти миттєве перемикання «на льоту». Тепер вибір мови записується, і застосунок пропонує «Перезапустити зараз» — чистий перезапуск, після якого весь інтерфейс повністю й узгоджено повертається новою мовою — або «Пізніше», якщо ви хочете продовжити й перемкнутися, коли зручно. Я перевірив обидва напрямки в симуляторі, з української на англійську і назад, і переконався, що весь інтерфейс, включно з кешованими локалізованими рядками на кшталт «Не налаштовано» чи «1 дитина», після перезапуску узгоджений. Ваші дані в будь-якому разі залишаються недоторканими.
Заразом: повний аудит 8 мов
Виправлення бага з перемиканням стало гарним приводом ретельно перевірити кожен перекладений рядок в усіх 8 неанглійських мовах. Я знайшов реальні прогалини:
- Шаблон повідомлення для прохання про допомогу не був перекладений на 7 мов — він відображався буквально як власна внутрішня назва ключа замість тексту, а не справжнього тексту; тепер усі 4 плейсхолдери коректно перекладені кожною мовою.
- П'ять ключів, зокрема два рядки про кризові ситуації й безпеку та кілька застережень, існували лише українською і тихо переходили на англійську всюди інде. Додав їх у решту 7 мов.
- Прибрав дублі ключів (як-от дві окремі позиції для «Суміш» і «Щось інше») та невідповідність форматування.
Після аудиту кожна мова має рівно 1472 ключі, без пропущених, без дублів і без невідповідностей формату — перевірено лінтером plist від Apple. Хочу бути чесним щодо одного: переклади для кризових ситуацій і безпеки зроблені ретельно, вручну, але вони все одно заслуговують на клінічну перевірку носієм мови, перш ніж це дійде до публічного App Store — це відома вимога, а не запізніла думка.

Сайт наздоганяє реальність про Partner Mode
Опублікований сайт — це статичне дзеркало, окреме від дорожньої карти всередині застосунку, тож я перевірив кожну позначку доступності функції на ньому проти реального стану в застосунку. Більшість уже були точними — цикл, планування, Care Circle, Memories, діти й сімейна стрічка коректно показували «Доступно»; напрямок про малюка і сімейну медичну картку коректно показували «Заплановано»; застосунок для Apple Watch уже був представлений як частина пілоту.
Partner Mode виявився тим, що применшував реальність: там було написано «В розробці · закрито в продакшені», тоді як підключення партнера вже сьогодні працює. Я оновив позначку на «У пілоті · спільний доступ закрито в продакшені» на всіх 9 мовах сайту — саме так, як я описав Partner Mode в попередньому записі.

Синхронізація решти контенту дорожньої карти сайту
Окремо я привів контент статусів функцій на сайті у відповідність до змін в застосунку за останні два дні: Цикл/Планування, Вагітність, Малюк, Memories і Care Circle тепер показують «зараз» замість м'якшого статусу; Здоров'я показує «далі», що відповідає вже випущеним імпорту ваги й «Тілу та відновленню», але глибші сигнали й контекст від годинника ще попереду. Також я прибрав дві речі, які вже не були чесними: обіцянку оцінки «вікна фертильності» (застосунок свідомо не робить жодних тверджень про фертильність) і примітку про профілі малюка за прихованим перемикачем (карточка про малюка вже вийшла). Статуси маркетплейсу Care і драбини довіри залишив без змін — це окремий запуск зі своїм графіком.
Де і коли
- 08:35 — TestFlight білд 23 (комміт f425230).
- 09:00 — Контент статусів функцій на сайті синхронізовано з оновленою дорожньою картою застосунку (0ebb475).
- 10:44 — Позначку Partner Mode виправлено на всіх 9 мовах сайту: «У пілоті · спільний доступ закрито в продакшені» (761c6b7).
- 11:16 — Виправлено баг зі зміною мови через перезапуск; завершено повний аудит рядків на 8 мовах (359e2cc).
- 11:17 — TestFlight білд 24, виправлення зміни мови (250a8a2).
Що далі
Переклади для кризових ситуацій і безпеки все ще потребують клінічної перевірки носієм мови перед загальним запуском. А найбільше, до чого я йшов цього тижня, — новий спосіб просто розповісти застосунку, замість заповнення форм — було вже зовсім поруч. Про це дуже скоро.

Питання, які ставлять мами
Чому застосунок не міг перемикати мову миттєво, без перезапуску?
iOS фіксує мову застосунку при запуску і кешує, як розв'язується локалізований текст на весь сеанс. Заміна пакета «на льоту» впливає лише на частину тексту, тому шляхи розходяться і виходить змішаний екран. Перезапуск — єдиний надійний спосіб виправити це.
Чи видалить зміна мови мої дані?
Ні. Зміна мови й перезапуск впливають лише на те, як відображається текст. Ваш щоденник, чек-іни і всі дані залишаються цілком недоторканими.
Чи Partner Mode повністю доступний в App Store зараз?
Підключення партнера працює в пілоті. Повніша панель спільного доступу досі закрита в публічній версії App Store в очікуванні перевірки приватності.
Чи переклади для кризових ситуацій і безпеки вже перевірені фахівцем?
Вони написані ретельно, вручну, на всіх 8 мовах, але все одно потребують клінічної перевірки носієм мови, перш ніж я вважатиму їх остаточними для загального запуску.
Доступність може залежати від встановленої версії застосунку. Статуси підтверджені засновником на момент публікації.



