Які мови має підтримувати Splync
Коли був запущений Splync, це був одномовний додаток — доступний лише англійською — хоча цей блог зараз публікується 42 мовами. Моя рідна мова — японська, і я навіть сертифікований для її викладання, пройшовши Японський тест з викладання мови, що адмініструється Японськими освітніми обмінами та службами. Проте англійська, здається, є найбільш доступною мовою в сьогоднішньому світі, тому я випустив першу версію Splync англійською як MVP (мінімально життєздатний продукт). Коли я оглядаюсь навколо, багато японців, схоже, не дуже комфортно користуються англійською, тому додавання підтримки японської здавалося цілком природним для мене. Я також додав французьку, якою розмовляв зі старшими людьми у Руанді, коли добровільно працював у сфері води та санітарії в рамках японської програми Міжнародні волонтери. Крім того, я включив спрощену китайську, яку трохи вмію читати, просто щоб побачити, як додаток виглядатиме в іншій системі письма.
Від однієї мови до чотирьох
Splync v1.3 підтримує чотири мови: англійську, японську, французьку та спрощену китайську. Розширюючи Splync за межі англійської, я хотів зробити підтримку мов якомога ефективнішою без зайвої складності. Замість того, щоб гнатися за кількістю, я зосередився на впливі кожної мови. Англійська природньо охоплює найширшу міжнародну аудиторію. Японська — моя рідна мова і представляє великий внутрішній ринок, де додатки для спільного бюджету ще тільки з'являються. Французька, з іншого боку, розширює охоплення кількох континентів — не лише Франції, але й частин Африки, Канади та Європи. Нарешті, спрощена китайська відкриває доступ до однієї з найбільших онлайн-спільнот світу. Разом ці чотири мови забезпечують збалансоване глобальне покриття — Північна Америка, Європа, Азія та Африка — залишаючись керованими для підтримки одним розробником. З точки зору співвідношення витрат та вигоди, це найбільш ефективна багатомовна установка на цьому етапі. Оскільки це була моя перша спроба локалізації додатка, весь процес став для мене цінним експериментом.
Як локалізувати додатки через ключі
У Splync я використовую вбудовану в Apple систему локалізації з файлами .strings для кожної підтримуваної мови, зберігаючи весь текст, що відображається користувачеві, у структурованому форматі. Кожен фрагмент тексту ідентифікується ключем — наприклад, "sign_up_button" — і отримує фрази, специфічні для кожної мови, у кожному з файлів .strings. Англійською це може бути "Sign Up", тоді як інші файли містять відповідні переклади. Таким чином, кожен файл .strings діє як паралельний корпус, об'єднаний загальними ключами. Ці ключі динамічно керують всім відображуваним текстом у UI додатка на основі вибраної користувачем мови. Хоч механізм сам по собі доволі простий, підтримка високого рівня якості перекладу є набагато складнішим завданням. І, звісно, я не знаю стільки мов, як C-3PO!
Давайте покращимо якість перекладу разом
Для цієї версії я використав ChatGPT-4o для перекладу всього тексту за ключами і переглянув якомога більше вручну. Як одиночний розробник, я планую автоматизувати процес перекладу, використовуючи Python та OpenAI API, так само як і для цього блогу. Локалізація є як лінгвістичним, так і технічним викликом. Хороший переклад не є просто буквальним — він повинен враховувати тон, фразеологію та культурні нюанси. Я раніше працював у глобальній компанії з академічного перекладу та редагування, що навчило мене цінності людського перегляду для виявлення глибшого контексту та намірів, які AI може не врахувати. Обмеження UI — ще один фактор — іноді перекладена фраза просто не вписується в кнопку або мітку. Тож локалізація стосується не лише мови, а й макета та дизайну. Через проби і помилки я продовжуватиму вдосконалювати багатомовний досвід Splync, щоб зробити його більш природним, послідовним і масштабованим. І ця подорож — не лише про код чи підказки — я хотів би залучити відгуки користувачів для подальшого підвищення якості. Якщо ви помітите якісь неприродні або незграбні переклади, дайте мені знати. Ваші відгуки завжди вітаються.
Splync базується на спільноті
Я працював менеджером з обслуговування клієнтів у глобальних компаніях і дізнався, наскільки важливо слухати користувачів. Це одна з причин, чому я хочу підтримувати більше мов — щоб Splync міг зрозуміти і зростати з більшою кількістю голосів. У той же час чудові сервіси та продукти повинні захищати спільні інтереси своїх спільнот користувачів. Хтось може сказати одне, інший — інше. Деякі запити можна вирішити через налаштування. Інші можуть вимагати компромісу. Зрештою, те, як ми просуваємось вперед, повинно відповідати нашому основному баченню. Як я вже казав: Splync орієнтований на бачення, зосереджений на користувачах та базується на спільноті. Сподіваюся, ми зможемо продовжити зростати разом, щоб зробити Splync найпростішим додатком для бюджету, який допомагає зробити життя трохи щасливішим.