×

Як проводити локалізацію продуктів — гайд для тестувальників

Привіт! Мене звати Олег, я Manual QA Engineer у RocketRoute. В IT я 4 роки, з них близько 3 на позиції QA.

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

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

Далі у матеріалі я розповім детальніше про те, що таке локалізація і з чим її їсти, як почати та на що необхідно звертати увагу. Ці поради будуть корисними та цікавими для спеціалістів, які лише розпочинають свою кар’єру, так і вже досвідченим QA. Отже, полетіли!

Що ж таке локалізація та чому вона настільки потрібна

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

❗️ 72.1% інтернет-користувачів надає перевагу проводити покупки на сайтах їхньою рідною мовою, навіть якщо вони вільно володіють англійською.

Попри те, що локалізація продукту сприяє більшій лояльності клієнтів до бренду, у деяких країнах вона є обов’язковою вимогою. Для прикладу: Канада є офіційно двомовною країною з англійською та французькою мовами, відповідно локалізації цими мовами є обов’язковими на державному рівні.

Ні для кого не секрет, що успіх компанії на глобальному ринку залежить від того, наскільки добре його продукт адаптований до роботи у всьому світі. Стратегія підготовки продукту до міжнародного використання — Globalization.

Глобалізація (g11n) — це підготовка вашого бізнесу до зв’язку з клієнтами на нових ринках у всьому світі. Термін охоплює все, від стратегії та досліджень до повсякденних операцій.

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

Процес адаптації продукту до конкретного ринку відомий як локалізація (l10n). Якщо інтернаціоналізацію зроблено правильно, то локалізувати продукт має бути просто.

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

Відповіді на питання чому ж локалізація настільки важлива для продукту/ компанії є досить зрозумілими. Перш за все, локалізація допомагає з легкістю вийти на нові ринки. Також збільшується задоволеність клієнтів та підвищується лояльність до бренду. Здобувається конкурентна перевага. І як результат усього вищезгаданого — збільшення доходу компанії.

Параметри локалізації, або чому не можна просто взяти та локалізувати

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

  • Форматування.
  • Одиниці виміру.
  • Платіжні типи.
  • Геолокація.
  • Мови.
  • Емодзі, смайли.
  • Культурні відмінності.
  • Календарі.
  • Закони, стандарти.
  • Аудіо/ відео/ зображення.
  • Девайси.

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

Поділіться в коментарях, які параметри ви б додали до цього списку.

❗️ Близько 40% користувачів Інтернету ніколи не купуватимуть на вебсайтах, які не підтримують їхню рідну мову.

Найбільш несподіваними для мене стали саме емодзі, хоча згодом це виявилося дуже очевидним. Адже емодзі не є універсальною мовою. І у кожній країні є свої рухи/ жести, які мають кардинально інше значення. Для прикладу, у Китаї емодзі, що плескає в долоні👏, буде тотожним запрошенню «займатися коханням», в той час, як піднятий великий палець👍 в Греції буде означати небажання продовжувати розмову.

Localization != Translation

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

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

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

Крім того, вона повинна відповідати умовам, які використовуються в цільовій країні, таким як звичайні символи, пунктуація, форматування і типографіка. Рядки заголовків, меню, діалогові вікна, кнопки, повідомлення та підказки — це деякі звичайні елементи керування інтерфейсу користувача, які містять текст. Файли довідки та посібники користувача зазвичай вимагають великих зусиль з перекладу.

Переклад не завжди призводить до однозначної відповідності між мовою оригіналу та мовою перекладу. Одне слово англійською може мати декілька перекладів іншою мовою, залежно від контексту. Наприклад, слово «supply» англійською мовою може мати різні переклади іспанською мовою, залежно від того, чи використовується воно як дієслово, чи як іменник. Навіть у межах самих категорій дієслів та іменників іспанський переклад може відрізнятися залежно від конкретного контексту.

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

Також варто звернути увагу, що деякі локалі мають однакову мову, але використовують різні слова для того самого об’єкта. Наприклад, слово «комп’ютер» в Іспанії — «ordenador», а в Мексиці та Пуерто-Рико — «computador» (обидва — чоловічого роду). Слово «computadora» використовується в інших країнах Латинської Америки (і рід слова змінюється на жіночий). Щоб розв’язувати такі проблеми, якщо існує один переклад, який вважається прийнятним для всіх локалізацій, локалізатори повинні використовувати саме це формулювання.

Загалом, текст (а також графіку та інші елементи) локалізованого програмного продукту не можна змінювати, щоб зображати геополітичні погляди, пов’язані з місцевістю, оскільки це може спричинити неузгодженість у локалізованому продукті.

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

Лінгвістичне тестування

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

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

Окрім тексту, який збільшується в довжину під час перекладу, розмір шрифту може відрізнятися залежно від мови. Наприклад, у мовах Східної Азії текст зазвичай виводиться шрифтом більшого розміру, ніж у багатьох інших мовах. В результаті зміни розміру шрифту система розширює елементи інтерфейсу користувача за вертикаллю. Поля редагування, статичний текст і елементи керування кнопками в локалізованій для Східної Азії версії продукту зазвичай призводять до більших вертикальних інтервалів, ніж в інших мовах.

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

❗️ 65% людей з високим рівнем володіння англійською віддають перевагу контенту рідною мовою.

Хочу поділитися чеклістом мовних параметрів, на які варто звернути уваги при підготовці до тестування.

  • Наявність національних символів або ж умлаут, та їх сортування. Це дуже важливо, щоб національні символи, для прикладу в українській мові це літера «ї», при сортуванні займали правильне місце згідно з абеткою, а не в кінці списку.
  • Напрям письма також буває різним: звичний для нас горизонтальний напрям зліва направо, також справа наліво (використовується в арабській, івриті, перській, урду та синдхи) та вертикальний (китайська, японська та корейська писемність).
  • Не менш важливими для мови є її правила переносу рядків. Як і напрям письма — варіанти переносу є зліва направо, справа наліво, знизу вверх та й зверху вниз. І, як вишенька на торті, у деяких мов немає правил переносу, тому треба помістити певну кількість тексту в рядку без переносу.
  • Та важливий параметр мови, який для моєї команди став улюбленим — це властивість мови подовжуватися або розтягуватися. Тобто, скільки місця займає та чи інша фраза. «Найширшою» вважається мовна сім’я північних/ скандинавських країн. Давайте лише пригадаємо назву вулкана в Ісландії, який через виверження колись спровокував авіаційний колапс у Європі — Eyjafjallajökull. Або ж досить відомого німецького футболіста — Bastian Schweinsteiger. Саме цей параметр може «допомогти» вашому додатку стати адаптивним, якщо першочергово так не було зроблено :)

Тут приходить на допомогу псевдолокалізація (pseudolocalization). Розберімось з визначенням. Зазвичай під час локалізації програми ви замінюєте вихідний текст іноземною мовою. Наприклад, ваша англомовна програма перетворюється на програмне забезпечення для німецької аудиторії. Псевдолокалізація робить те саме, але замість німецької мови ми замінимо англійські рядки на [!!! Tλïƨ ƭèжƭ ïƨ ƥƨèúδôℓôçáℓïƺèδ !!!] (This text is pseudolocalized)

Що ж, псевдолокалізація — це швидкий метод тестування, щоб переконатися, що знайдено усі hardcoded рядки тексту, перш ніж відправити їх на переклад.

Цей підхід дозволяє пришвидшити початок тестування GUI та робить його універсальним для усіх локалей.

Виконавши тестовий запуск за допомогою [!!! Fáƙè Éñϱℓïƨλ !!!], ви можете швидко перевірити кожну сторінку своєї програми та переконатися, що все виглядає локалізовано. Якщо ні, ви точно знатимете, який текст ви забули локалізувати, і зможете повернутися до свого коду та додати його.

Псевдолокалізація також є корисним способом переконатися, що ви залишили достатньо місця у своєму GUI для інших мов. Загальне правило полягає в тому, що неанглійські мови на 30% довші. Це означає, що створена вами кнопка BUY всього на 3 літери, ймовірно, не буде достатньо великою для іспанської (Comprar) або грецької (Αγοράστε) мов, і в результаті основний заклик до купівлі буде обрізаний та не зрозумілий для клієнта, що впливає на успіх бізнесу.

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

Декілька слів саме для практичного застосування:

  • [!!! Fáƙè Éñϱℓïƨλ !!!] — використання дужок на початку та в кінці рядка, дозволяють переконатися, що усі символи зображені та ніякі не обрізані.
  • [!!!_Fáƙè Éñϱℓïƨλ_!!!] — використання символів ! та _ зумовлене раніше описаним правилом про збільшення довжини мови відносно англійської +30%.
  • [!!!_Fáƙè Éñϱℓïƨλ_!!!] — використання умлаут та національних символів дасть універсальний варіант для перевірки зображення мов одночасно.

Тут посилання на безоплатний онлайн-генератор Pseudolocalization generator.

Різноманітність форматів та їхня підступність

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

Коротко розкажу про різні формати. Наприклад: системи вимірювання, а саме метрична система, заснована на метрі як мірі довжини та кілограмі (грамі) як мірі маси, й традиційні системи. В наш час більшість країн світу перейшли на метричну систему одиниць вимірювання. Винятком залишаються Сполучені Штати Америки, М’янма та Ліберія. У Великій Британії метрична система використовується поряд з імперськими одиницями. Особливість англійської (імперська) системи полягає у використанні для виміру довжини інших одиниць — дюйми, фути, а для виміру ваги — фунти.

Щодо валют, тут все зрозуміло: у світі налічується близько 150 валют різних держав та валютних об’єднань, плюс, кожна країна використовує певну валюту для розрахунків.

Поштовий індекс виник відносно недавно у зв’язку зі швидким розвитком поштових перевезень. Поштові індекси також відрізняються від країни до країни своїм форматом. Як символи поштового коду, зазвичай, використовуються цифри, але в деяких країнах (Аргентина, Андорра, Бермудські острови, Бруней, Канада, Монако, Ямайка, Мальта, Нідерланди, Велика Британія, Свазіленд, Венесуела, Латвія, Сальвадор, Куба) застосовують комбінації цифр і літер; подекуди літери позначають загальний код країни з двох літер.

Телефонний номер у кожної країни також різний. Окрім національного коду та кількості цифр, телефонні номери відрізняються й розділювачами. Для прикладу:

в Україні +380 12 345 67 89,
в США +1.510.5555.12345,
в Японії +81-1-234-5678.

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

Знайомтеся, цей символ — Моммає, десятковий розділювач, який використовується в арабських країнах. Цей символ може створити додаткові клопоти клієнту, бізнесу та команді розробників, якщо не врахувати це заздалегідь.

Сонячний, місячний чи місячно-сонячний?

Як ви вже могли здогадатися, йдеться про національні календарі. Отже, розглянемо, які вони існують та відмінності між ними. Існують 3 основі види — сонячний, місячний та сонячно-місячний календарі, які, своєю чергою, поділяються на підвиди.

Сонячний: в основі лежить тривалість 1 тропічного року, тобто тривалість календарного року — 355/356 діб. Знайомі нам Григоріанський та Юліанські календарі є сонячними.

Місячний (Ісламський): тривалість місяця складає 29,5 діб. Відповідно календарний місяць триває 29/30 діб, календарний рік — 354 доби.

Місячно-сонячний: поєднує місячний та сонячний календарі. Тому дата місячно-сонячних календарів вказує як фазу Місяця, так і час сонячного року, тобто положення Сонця на земному небі. Сучасні місячно-сонячні календарі включають китайський, в’єтнамський, індуїстський, івритський і тайський календарі.

Час = гроші

З назви можна зрозуміти, що мова йтиме про дату й час, а саме різноманіття форматів передачі цих даних.

Щодо часу, то є 2 варіанти позначення: 12 та 24-годинний формати. 12-годинний формат часу передбачає поділ 24 годин, що складають добу, на два 12-годинні інтервали — з опівночі та з полудня, що позначаються a.m. та p.m. Цей формат переважає в Австралії, Канаді (за винятком Квебеку), Новій Зеландії, США та на Філіппінах. Разом з 24-годинним форматом він використовується в Албанії, Бразилії, Великій Британії та деяких інших англомовних країнах, у Греції, Ірландії, канадському Квебеці та Франції.

В інших країнах світу 24-годинний формат є переважним, однак 12-годинний формат широко використовується у неформальному/ усному спілкуванні.

Проте і тут є винятки: попри використання цивільним населенням в США 12-годинного формату, 24-годинний формат називається «військовим часом» та використовується американською армією для взаємодії з іншими арміями світу.

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

Формат

Приклад запису дати «24 серпня 1991»

Країни

рррр. ММ. дд

1991. 08. 24

Угорщина

рррр-ММ-дд

1991-08-24

Польща, Швеція, Литва, Канада

рррр/ММ/дд

1991/08/24

Іран, Японія

рррр-М-д

1991-8-24

КНР

рррр/М/д

1991/8/24

Гонконг, Тайвань

д.М.рррр

24.8.1991

Фінляндія, Чехія

д-М-рррр

24-8-1991

Нідерланди

д/М/рррр

24/8/1991

Бразилія, Греція, Таїланд

дд.мм.рррр

24.08.1991

Болгарія, Німеччина, Норвегія, Румунія, росія, Туреччина, Україна

дд-ММ-рррр

24-08-1991

Данія, Португалія

дд/ММ/рррр

24/08/1991

Велика Британія, В’єтнам, Ізраїль, Індонезія, Іспанія, Італія, Франція

М/д/рррр

8/24/1991

США

Переконаний, що кожен, реєструючись на американських сайтах, вказував невірну дату народження через непорозуміння з форматом, який використовується.

Особисті знахідки в тестуванні локалізації: опис декількох цікавих багів локалізації

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

Ми з командою працювали над медіадодатком відомої на ринку США платформи для прослуховування подкастів та онлайн-радіо. Замовники вирішили вивести застосунок на канадський ринок, відповідно нас очікувала локалізація канадськими англійською та французькою мовами.

Хоч США та Канада виглядають досить схожими, проте насправді це так не є. Псевдолокалізація показала нам усі вузькі, в прямому і переносному значенні, місця. Проте один з неочевидних багів був захований у зміні швидкості відтворення подкасту. При зміні швидкості на будь-яку іншу, ніж мова за замовчуванням, за умови французької локалізації застосунок «падав». Як виявилося пізніше, проблема полягає у різних десяткових розділювачах. А саме для ca-en використовується крапка (.), а для ca-fr — кома (,).

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

Але розпочалися чудеса, коли замовник надав пакет телеканалів, які показували метадані англійською. Проявився конфлікт між напрямом письма. Здебільшого це мало наступний вигляд: !FoxNEWS — חֲדָשׁוֹת, тобто спецсимволи, цифри зображалися відповідно до правил письма івриту, а латинські символи — зліва направо. Також ця проблема відтворювалася у полі пошуку.

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

Висновок

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

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

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

Рекомендую перед початком тестування заповнити чекліст з мовними параметрами та форматами відповідно до локалі. Це дасть змогу якісно підійти до процесу та відшукати баги.

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

Корисні матеріали:

👍ПодобаєтьсяСподобалось24
До обраногоВ обраному13
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

Колись працював LQA в одній великій міжнародній компанії і в був наступний кейс:
— тестували шутер і була там карта яка називалась «Фундамент» і на більшості мов вона і була так перекладена. Але чомусь на арабську переклали як «Алькаїда». Добре що в нас працював носій мови, а то було б м’яко кажучі незручно))

Перша половина — самоочевидна водичка, друга — дійсно корисна і цікава.
Дякую:)

Дуже дякую за розгорнуту статтю

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

Таких довідників не бачив, проте ніхто не скасовував вікіпедію :)
Моя пропозиція використовувати ISO код валюти (USD, GBP, UAH). Таким чином можна уникнути зміни місця написання символу, та й не треба забувати, що деякі валюти мають однаковий символ. Для прикладу: $ (долар) є не лише у США, але й у Канаді, Новій Зеландії, Австралії, Сінгапурі... І для позначення валюти лише одного символа буде точно не достатньо.

Прекрасна стаття, дякую. Дуже прикольна тема з pseudolocalization!

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