Як мы рабілі Слоўка
Як выглядае падрыхтоўка да App Store для дадатку на мове, якой у App Store няма.
Слоўка — гульня ў словы і тлумачальны слоўнік беларускай мовы ў адным дадатку. Кожны дзень адно слова з пяці літар на ўсіх, шэсць спробаў, а пасля разгадкі — слоўнікавы артыкул: значэнне, часціна мовы, род, стылёвая пазнака. Асобнай укладкай жыве сам слоўнік: пошук, пераход па літарах, фільтры паводле пазнак.
Усё змесціва — па-беларуску. Словы, інтэрфейс, значэнні. Лакалізацыі на іншыя мовы не будзе і не плануецца: дадатак існуе для носьбітаў канкрэтнай мовы. Пры гэтым выходзіць ён ва ўсіх краінах, дзе працуе App Store.
З гэтага спалучэння — мова адна, вітрына глабальная — вынікла амаль усё, што апісана ніжэй.
01 Мовы няма ў спісе
Першае, аб што спатыкаецца такі праект: беларускай няма сярод лакаляў метаданых App Store Connect. Apple падтрымлівае 49 моваў — там ёсць руская, польская, украінская, чэшская, — беларускай сярод іх няма. Слота «метаданыя па-беларуску» фізічна не існуе.
Гэта прымушае развесці дзве рэчы, якія інтуітыўна здаюцца адной.
Мова змесціва задаецца лакалізацыямі ў бандле. iOS беларускую падтрымлівае, і калі дадаць be, на старонцы прадукту ў радку «Мовы» з'явіцца Belarusian. Гэта адзінае месца, дзе Apple афіцыйна вымаўляе назву мовы.
Мова метаданых — асобная гісторыя. Беларускі тэкст даводзіцца фізічна ўпісваць унутр слотаў іншых лакаляў. Так робяць усе малыя мовы; правілы гэтага не забараняюць — яны забараняюць набіваць метаданыя чужымі гандлёвымі маркамі, а не пісаць на сваёй мове.
Далей пачынаецца арыфметыка: які слот у якой вітрыне чытаецца.
02 Слот, які працуе не там, дзе напісана
App Store індэксуе ключавыя словы не з адной лакалі на вітрыну, а з асноўнай плюс другасных. І вось што з гэтага вынікае: у літоўскай, латышскай і эстонскай уласных лакаляў у App Store Connect няма зусім. Іх вітрыны індэксуюць English (U.K.).
А ў Літве жыве 57,5 тысячы беларусаў.
Слот «англійская брытанская» ў гэтым праекце запоўнены беларускай кірыліцай. Гэта не англійская для англічан — гэта транспарт у Вільню і Рыгу.
Той самы слот працуе фолбэкам яшчэ ў паўтары сотні вітрын, у якіх сваёй лакалі няма. Таму ён асноўны і самы нагружаны, а англійскі тэкст адправіўся ў амерыканскі слот, дзе ён і патрэбны.
Разам сем камплектаў метаданых, кожны са сваёй задачай:
| Слот | Што праз яго чуваць |
|---|---|
| en-GB | Асноўны. Фолбэк для ўсіх вітрын без сваёй лакалі, плюс Літва, Латвія, Эстонія, Польшча, Германія, Чэхія. Запоўнены па-беларуску. |
| en-US | Вітрына ЗША. Англійскі загаловак, каб дадатак знаходзілі тыя, хто шукае па-англійску. |
| ru | Рускамоўны пошук дыяспары. Адзіная кірылічная лакаль, што індэксуецца ў амерыканскай вітрыне. |
| pl | Польшча — найбуйнейшая дыяспара і галоўны плацёжаздольны рынак. |
| uk | Індэксуецца адразу ў дзвюх вітрынах, украінскай і расійскай. |
| cs, de | Чэхія і Германія — прыкметныя напрамкі выезду. |
Сто знакаў, а не сто байтаў
Асобная пастка, на якой я страціў палову палёў. Ключавыя словы абмежаваныя сотняй — і я лічыў іх байтамі, бо кірыліца ў UTF-8 займае па два. У рускім камплекце замест ста знакаў стаяла сорак дзевяць.
Поле лічыць знакі. Кірылічная літара — адзін знак, роўна як лацінская. Пасля пераліку кірылічныя камплекты выраслі ўдвая.
03 Дзе аўдыторыя і дзе грошы — гэта розныя мапы
Паміж 400 і 418 тысячамі грамадзян Беларусі жывуць і працуюць за межамі краіны. У Польшчы 173–188 тысяч, у Літве 57,5 тысячы — гэта даныя на канец 2024 года. То бок асноўная аўдыторыя прадукту на беларускай мове знаходзіцца не ў Беларусі.
А вось мапа грошай выглядае яшчэ інакш. З 1 красавіка 2026 года Apple цалкам адключыла прыём плацяжоў у Расіі: новыя пакупкі і ўбудаваныя пакупкі немагчымыя. У Беларусі карты мясцовых банкаў пад абмежаваннямі міжнародных плацёжных сістэм.
Адсюль рашэнне, якое вызначыла прадуктовую мадэль: «слова дня» — паўнавартасны бясплатны прадукт, а не дэма. У Беларусі і Расіі дадатак жыве як бясплатны і мусіць быць самадастатковым. Платны бясконцы рэжым — для тых вітрын, дзе пакупка наогул магчымая.
І гэта ж трапіла ў тэксты: бясплатнасць рэжыму дня заяўленая відавочна ва ўсіх сямі лакалях, а не схаваная ў дробны шрыфт.
04 Іконка, якая чыталася як памылка друку
Самая доўгая частка працы. Першая іконка была літарай ў на чырвонай плашцы — знак мовы, усё лагічна.
Праблема вылезла там, дзе іконку не разглядаюць асобна. У выдачы пошуку App Store іконка і назва стаяць ушчыльную, памерам 60 пікселяў, і паўплываць на гэтую вёрстку немагчыма — радок збірае Apple. Вока сумленна спрабавала прачытаць пару цалкам і атрымлівала «ўСлоўка».
Адсюль тры напрамкі: ператварыць гліф у графічную форму, каб ён перастаў чытацца як сімвал; узяць ад літары толькі дыякрытыку; альбо сысці ад літары зусім. Па два варыянты на кожны.
Глядзець іх паасобку бессэнсоўна — судзіць трэба на той паверхні, дзе ўсё ламаецца. Таму параўнанне сабранае як імітацыя выдачы пошуку.
Тупік, які варта апісаць
Найдаўжэй я важдаўся з варыянтам «абрэзаная Ў»: гліф павялічаны і падрэзаны краямі плашкі, каб чытаўся як форма, а не як набраны сімвал. На буйным памеры выглядала мацней за ўсё астатняе.
І не працавала. Атрымлівалася літара V з чымсьці накшталт тэлефоннай трубкі зверху.
Дваццаць адна апрацоўка ў тры праходы паказала, што гэта не пытанне падгонкі, а ўласцівасць самога гліфа. Дэфекты два, і яны цягнуць адзін аднаго. Хвост у «у» — адзінае, што адрознівае яе ад V; як толькі абрэзка яго з'ядае, чаша чытаецца як V. А брэве ў ў аддзелены ад літары па сваёй прыродзе: у наборы гэта незаўважна, але на памеры іконкі зазор ператвараецца ў пустэчу, і дужка становіцца самастойным прадметам.
Апускаць літару ніжэй — горш: хваста застаецца яшчэ менш, а дужка ад'язджае да цэнтру і вісіць прыкметней. У вялікай Ў дужку можна абрэзаць верхнім краем, тады яна прырастае да мяжы і трубка знікае, — але цела літары без хваста чытаецца ўжо адкрыта як V пад казырком.
Курсіў праблему вырашаў. Але да гэтага моманту стала зразумела, што задача фармулюецца інакш.
Адказ: пакінуць адну дыякрытыку
Літара «у» ёсць ва ўсіх кірылічных мовах. Ў ёсць практычна толькі ў беларускай. То бок апазнавальны знак — не літара, а дужка над ёй.
Калі прыбраць літару і пакінуць брэве, знікаюць адразу абедзве праблемы. Сутыкнення з назвай няма, бо гэта ўжо не сімвал. І маштабуецца лепш за ўсё астатняе: гэта адзін штрых, ён не разваліцца ні на 29 пікселях, ні на чым меншым.
Размен тут сумленны і яго варта назваць: знак абстрактны. Сам па сабе ён не паведамляе ні што гэта гульня ў словы, ні што яна беларуская — у выдачы чытаецца хутчэй як усмешка ці чара. Значыць, усю нагрузку па тлумачэнні бяруць на сябе падзагаловак і першы скрыншот, а пазнавальнасць нарабляецца паўтарэннем: адзін і той жа знак у іконцы, фавіконе, картках шэрынгу.
05 Скрыншоты: галерэя адказвае на тры пытанні, а не на адно тройчы
Першы сабраны набор складаўся з шасці кадраў, пяць з якіх былі адным і тым жа экранам. Экран выніку ў трох варыянтах, гульня ў працэсе — чацвёртым.
Вітрына мусіць адказаць на тры розныя пытанні: што гэта, чым яно асаблівае, чаму варта паставіць. Той набор тройчы адказваў на першае.
Знайшліся яшчэ дзве рэчы. Ва ўсіх гульнявых кадрах стаяў бясконцы рэжым — то бок вітрына паказвала платны рэжым і хавала бясплатны штодзённы, які і ёсць кручок. І два вынікі з трох былі пройгрышамі.
Асобна пра трэці кадр. Ён існуе дзеля клавіятуры: беларуская раскладка з Ў, І і апострафам, без И, Щ і Ъ. Апостраф у ёй — паўнапраўная літара, якая становіцца ў слова нароўні з астатнімі. Гэта тое, чаго не атрымаецца падрабіць перафарбоўкай чужой гульні, і на вітрыне такое варта паказваць.
06 Шэрынг: дзяліцца пытаннем, а не вынікам
Відавочнае рашэнне для гульні — аддаваць у шэрынг вынік партыі. Але вынік паведамляе атрымальніку роўна адно: «я маладзец». Адказаць на гэта няма чым.
Таму ў рэжыме дня шэрыцца азначэнне слова без самога слова. Спойлера няма — слова па-ранейшаму трэба адгадаць. Затое атрымальніку зададзенае пытанне, на якое хочацца адказаць, і ён бачыць беларускі тэкст, нават калі раней яго не бачыў.
«Празрысты каштоўны камень, які сваім бляскам і цвёрдасцю перавышае ўсе іншыя мінералы». Адгадана з трэцяй спробы. Што за слова?
Ніжэй — адзін рад з пяці ячэек з рэальнымі статусамі з партыі гульца, без літар: ён паведамляе даўжыню слова і тлумачыць жанр таму, хто ў гульню не гуляў. Для гульца гэты рад інфармацыйна пусты, і ў гэтым увесь сэнс — шэрынг адрасаваны не яму.
Аддаецца і карцінка, і тэкст, прычым кожны самадастатковы. Не «карцінка плюс подпіс»: розныя месцы бяруць рознае. Сторыс возьмуць толькі карцінку і выкінуць тэкст, «скапіяваць» возьме толькі тэкст. Калі раскласці паведамленне на паловы, у палове выпадкаў з'едзе палова сэнсу.
У бясконцым рэжыме логіка перагортваецца: словы ва ўсіх розныя, загадваць бессэнсоўна, і дзяліцца там няма чым, апроч уласнага выніку. Таму кампазіцыя іншая — вынік буйна, слова і значэнне ніжэй і драбней.
07 Што з гэтага каштавала намаганняў
Калі зводзіць да прынцыпаў, іх атрымалася чатыры.
- Слот метаданых — не мова, а канал. Запаўняць яго трэба тым, што чытаецца ў мэтавай вітрыне, а не тым, што напісана на ярлыку слота.
- Судзіць дызайн трэба на той паверхні, дзе ён ламаецца. Іконку — у выдачы пошуку побач з назвай, а не на белым фоне ў буйным памеры. Скрыншот — у стужцы вітрыны, а не на сваім маніторы.
- Адмоўны вынік эканоміць час, калі яго запісаць. Дваццаць адна апрацоўка ў выглядае марнатраўствам, пакуль не зразумееш, што напрамак закрыты структурна, а не таму, што дрэнна стараліся.
- Абстрактны знак — гэта доўг, а не знаходка. Яго давядзецца выплачваць падзагалоўкам, скрыншотамі і паўтарэннем.
Дадатак на момант напісання артыкула праходзіць рэўю. Першая падача вярнулася са стандартным запытам інфармацыі, які Apple рассылае новым акаўнтам без гісторыі: відэа працы дадатку і апісанне таго, як да чаго дабрацца. Да змесціва прадукту запыт дачынення не меў.
Ілюстрацыі з іконкамі намаляваныя вектарам і ўзнаўляюць фінальную геаметрыю знака. Скрыншоты — са зборкі для App Store, знятыя на прыладзе.