Не перекладачами єдиними: як уся команда може впливати на якість локалізації

💡 Усі статті, обговорення, новини про Mobile — в одному місці. Приєднуйтесь до Mobile спільноти!

Вітання! Мене звати Ярослава Качан, я техрайтерка в MacPaw на продукті Setapp. Setapp — це сервіс, що надає користувачам доступ до 240+ апок за однією передплатою. Ми локалізували Setapp 7 мовами, і переклад завжди замовляли у фрилансерів. Минулого року додали ще й українську локалізацію, і робимо її своїми силами. Це дало змогу подивитися на процес локалізації під іншим кутом.

По-перше, ми побачили нашу комунікацію з перекладачами їхніми очима і зрозуміли, так би мовити, їхні болі.

А по-друге, ми усвідомили, що й де ми можемо доопрацювати на своїй стороні, щоб у результаті отримати якісніший переклад. Іншими словами, на якому етапі неналежний переклад може бути прогалиною саме нашої команди, а не перекладача.

На жаль, заздалегідь важко передбачити, де щось може піти не так. Якщо проводити аналогію з водінням автівки, як би гарно ви не вивчили ПДР, усе одно доведеться декілька разів потрапити в небезпечні ситуації та різко натиснути на гальма, перш ніж стати досвідченим водієм і вміти бачити небезпеку здалеку. Тому в цій статті я хочу не просто дати готові рекомендації, а продемонструвати, звідки виникають такі «небезпечні» ситуації.

У своїй розповіді поділюся реальними кейсами з життя нашої команди та висновками, до яких ми дійшли. Сподіваюся, ця стаття убезпечить вас від тих граблів, на які наступили ми, й українські продукти завжди матимуть топовий рівень локалізації.

Статтю також можна прочитати англійською.

Дисклеймер:

Деякі передумови та обставини я винесла за дужки, щоб не перенавантажувати текст. Тому, можливо, змальовані ситуації насправді були більш комплексними і складними, ніж може здаватися із цієї статті.

Ситуація № 1. Додавання нової функціональності

Команда додала на інтерфейс дві нові кнопки:

  • Get Web App (11 символів)
  • Get iOS App (11 символів)

Їх необхідно було локалізувати. Для перекладача це була задача із зірочкою, адже слова GetApp іншими мовами досить довгі як для кнопок. Зокрема, українською:

  • Установити вебпрограму (22)
  • Установити iOS-програму (23)

Перекладені кнопки точно б поплавили інтерфейс.

Попереднє рішення

Щоб спростити завдання перекладачам, команда запропонувала нові назви, які не містили слова App:

  • Get for Web (11)
  • Get for iOS (11)

Та насправді, коли ми позбувалися слова App, назви кнопок українською все одно були задовгі:

  • Установити на веб (17)
  • Установити на iOS (17)

Цей варіант не вписувався в наш дизайн і потрібно було шукати рішення в іншій площині.

Остаточне рішення

Вирішили не змінювати назви кнопок, а повідомляти перекладачам максимально допустиму кількість символів. Адже локалізація — це пошук оптимального рішення, що враховує всі обмеження і побажання. Українська локалізація набула такого вигляду:

Рекомендація

Зазначайте для перекладачів обмеження в довжині копі, де воно є.

Якщо ви знаєте, що певна кнопка / лейбл / заголовок не може містити більше N символів, вкажіть це в коментарі.

❌ Button.

✅ Button. Max length: 9 chars.

«Вкорочувати» англійський текст заради перекладів — не ефективно. Ну тобто з ймовірністю 50 % це допоможе, але з ймовірністю 50 % не допоможе.

Ситуація № 2. Внесення змін до наявної функціональності

На нашому продукті є різні тематичні блоки, що спрощують навігацію:

У якийсь момент вирішили спробувати розмістити блоки компактніше:

Попереднє рішення

Враховуючи, що в англійській локалізації Recommended for you (19) не поміщалося в новий дизайн, це копі скоротили до Recommended і відправили на повторний переклад.

Це був англоцентричний погляд на речі: «Якщо англійською всі проблеми вирішені, значить, вони автоматично вирішені і для інших мов». Англоцентричний погляд створює хибне враження, що інші копі поводяться так, як і англійські. Однак, для прикладу, Recently updated українською — Нещодавні оновлення (19). І 19 символів було забагато для нового дизайну. Але цей копі не відправили на повторний переклад, адже з його англійським колегою все було ОК.

Остаточне рішення

Відправили на повторний переклад усі назви блоків, а не тільки ті, що зазнали змін англійською.

Рекомендація

Уникайте англоцентричного погляду на тексти.

У разі внесення змін до дизайну або UX, оцініть, чи можуть вони теоретично вплинути на копі іншими мовами. Якщо так, відправте копі на повторний переклад і зазначте нові умови їх використання.

Памʼятайте, інші локалізації «живуть власним життям». 🙂

Ситуація № 3. Клонування наявної функціональності

У нас певний час була кнопка Invite friends на верхній панелі Setapp. Згодом вирішили її продублювати в меню профайла:

З огляду на те, що переклади для цього копі вже були зроблені, команда вирішила не відправляти копі на повторний переклад.

Попереднє рішення

Переклади скопіювали з уже наявної кнопки. І, як то має бути в меню, усі слова написали з великої літери. Усіма мовами.

Як бачимо, у деяких перекладах ця капіталізація була недоречною. Не всі мови мають традицію написання слів у меню з великої літери. Кожна мова має власні правила орфографії, які можуть різнитися з Apple Style Guide. І те, що англійською було правильним, в інших локалях створило неузгодженість.

Остаточне рішення

Команда узгодила капіталізацію з правилами орфографії кожної з мов.

Рекомендація

Не вносьте зміни до локалізації без погодження з перекладачем.

Навіть якщо рішення здається вам очевидним, найкраще проконсультуватися з перекладачем чи справді все має бути так.

Насправді, окрім орфографії, є ще пунктуація, яка в кожній мові має свої пастки. Тому навіть найпростіші зміни варто погоджувати з перекладачами, які чудово знають усі особливості й контексти своєї мови.

Ситуація N. Будь-де, будь-коли

Але якби хтось попросив універсальної поради, від мене вона звучала би так:

Рекомендація

Додавайте скриншоти.

Це скарб для перекладача.

Повертаючися до аналогії з водінням, скриншоти — це навігатор. Можна довго пояснювати дорогу на пальцях («Поїдеш прямо, на кільці — другий зʼїзд, кілометрів за 10 буде поворот...»), а можна просто вручити водію навігатор, який вирішить 99% його питань щодо маршруту. Скриншот — це путівник, де можна побачити, що тобі потрібно локалізувати, як і навіщо. Навіть якщо команді здається, що тут усе просто та очевидно, насправді це може бути зовсім не так.

Уявіть, що в скопі з десятками інших копі, ви надсилаєте на переклад назви категорій — Optimize, Work, Create, Develop.

Без скриншоту зʼявляється поле для інтерпретацій. Не розуміючи, що всі ці копі — частинка чогось спільного:

  • слова можна перекласти різними частинами мови («Робота», «Створити»);
  • можна перекласти дієсловами, не узгодивши спосіб дієслів («Оптимізуйте», «Створити»);
  • можна перекласти так, що різниця між словами буде майже стерта («Зробити», «Створити», «Розробити»).

Цей приклад штучно драматизований, бо в реальному житті просто був скриншот 🙂. Але, сподіваюся, він передає ідею, чому скриншот так полегшує перекладачеві життя. І якість локалізації.

Якщо в українській локалізації ви ще зможете згодом відловити всі недоліки й пофіксити їх, то в китайській — мабуть, ніколи. Продукт може роками виглядати, скажімо, дивно, і команда навіть не буде про це здогадуватися. Тому краще подбати про всі «небезпечні ситуації» заздалегідь.



Якщо вам сподобалися ці поради та ви хотіли б дізнатися більше хитриків про роботу з текстами, підписуйтеся на мій канал у телеграмі Здавалося б, слова...

Також буду вдячна, якщо в коментарях поділитеся власним досвідом і підкажете, у яких ще ситуаціях команда може вплинути на якість локалізації.

👍ПодобаєтьсяСподобалось7
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Згадала про ще одну особливість роботи з іншими мовами — тексти мають бути завершеними за змістом, не складатися з частин. Мій приклад — замість того, щоб просто писати ціну, вирішили писати цікавіше — «Купити за» і далі має підставлятись вартість окремим ключем. Але виявилось, що в азербайджанській мові в такому тексті на початку має стояти цифра, тобто: «500 üçün bron edin» на місці нашого «Купити за 500». І це все ламає)

вау, дуже цікавий кейс, дякую <3

Не завжди є можливість «не складати з частин». У таких випадках перекладачі повинні мати доступ до найвищого в цьому ланцюжку рядка — тобто того, що має всі змінні. І пояснення, звідки що тягнеться. І здебільшого бажано, щоби змінні в таких рядках були завжди індивідуальними для цього місця, інакше буде так, як з Invite friends у прикладі Ярослави.

Приклад 1.
but_btn_comp="{0} {1}" Context: {0} is a variable for buy_btn_text, {1} is a variable for buy_btn_amount
buy_btn_text ="Buy for" Context: a part of buy_btn_comp.
buy_btn_amount="${0}" Context: a part of buy_btn_comp. Edit to your local currency format.

Що в перекладі для української, до прикладу, трансформується в
buy_btn_text ="Придбати за"
buy_btn_amount="{0} грн"

Або вставляти змінні безпосередньо в рядок із можливістю змінювати рід залежних від числівника слів. Це вже просунутий крок в підготовці якісної локалізації з боку розробників застосунків чи ігор.
Приклад:
You need to get {0:p:dollar|dollars}. Context. Supports native plural forms.
Вам потрібно дістати {0:p:долар|долари|доларів|долара}.
Вам потрібно дістати 1 долар|2 долари|5 доларів|1,5 долара

Хороша стаття, про мої щоденні болі) Чи розробляєте ви якийсь глосарій для перекладачів і для себе?

дякую)
маю словничок (глосарій) і збірку правил для себе. Про це більше писала в попередній статті:
dou.ua/forums/topic/41944
Як працюють інші перекладачі, на жаль, не сильно знаю. Але думаю вони також щось таке мають, бо вибрані терміни забуваються...

Дякую, цікава стаття! Класно, що є приклади, як це виглядає в інтерфейсі.

Підписатись на коментарі