Початкові кроки у інтернаціоналізації¶
Маєте проєкт і хочете перекласти його декількома мовами? Цей розділ підручника допоможе вам у цьому. Описано декілька типових випадків. Втім, більшість прикладів є загальними — їх може бути застосовано у інших сценаріях.
Перш ніж перекладати будь-яке програмне забезпечення, вам слід зрозуміти, що мови світу є дуже різними — ви не можете робити ніяких припущень на основі вашого попереднього життєвого досвіду. Для більшості мов поділ речення на шматки, які потім з’єднуються, дуже ускладнює переклад. Вам слід належним чином обробляти форми множини, оскільки у багатьох мовах доволі складні правила щодо цього, отже оболонка перекладу, якою ви користуєтеся, має підтримувати ці форми множини.
Нарешті, хоча це також є важливим, вам, ймовірно, слід додати певний контекст до рядка, який буде перекладено. Уявіть, що перекладачеві показано рядок Sun, який слід перекласти. Без контексту більшість перекладачів виконають переклад, який відповідатиме назві найближчої до нас зірки, але це слово може насправді використовуватися як скорочення слова, яке позначає день тижня — неділю.
Вибір оболонки інтернаціоналізації¶
Оберіть те, що є стандартним на вашій платформі, намагайтеся уникнути винаходження велосипеда, створюючи власний фреймворк для обробки локалізацій. Weblate підтримує більшість широко використовуваних фреймворків, див. Формати файлів локалізації для отримання додаткової інформації (особливо Можливості типів перекладу).
Наші особисті рекомендації для деяких платформ викладено у наведеній нижче таблиці. Вміст таблиці засновано на наших власних враженнях, він не є абсолютно повним, тому зважайте на ваше середовище, коли робитимете вибір.
Платформа |
Рекомендований формат |
|---|---|
Android |
|
iOS |
|
Qt |
|
Python |
|
PHP |
|
C/C++ |
|
C# |
|
Perl |
|
Ruby |
|
Веброзширення |
|
Java |
|
JavaScript |
Докладнішу процедуру для деяких форматів описано у наступних розділах:
Дивись також
Навчання розробників правильній інтернаціоналізації¶
Інтернаціоналізація програмного забезпечення полягає не тільки в можливості перекладу рядків, але й у тому, щоб все програмне забезпечення виглядало для користувача з іншої країни як рідне. Сюди також входять такі речі, як форматування дати або чисел, відображення валюти або введення тексту в правильному напрямку. Більшість програмних фреймворків добре підтримують це, тому, будь ласка, дотримуйтесь їхніх інструкцій у всіх цих сферах.
Переклад рядків також може бути не таким простим завданням. Особливо це стосується коротких рядків, таких як підписи або написи на кнопках. Різні мови мають різні правила, і нерозумно очікувати, що один і той самий рядок завжди буде перекладатися однаково. У багатьох випадках може бути незрозуміло, як саме перекладати, і навіть важко розрізнити, чи є слово дієсловом чи іменником.
Усі розробники повинні розуміти це і однозначно ідентифікувати рядки, що використовуються в різних сферах. Наприклад, None, що означає «немає користувачів», може бути перекладено інакше, ніж None, що означає «немає елементів». Використовуйте різні ключі або контексти, щоб розрізнити ці терміни для перекладачів. Ви можете надати додатковий контекст у Weblate, наприклад Скріншоти та візуальний контекст або Пояснення.
Технічна сторона — це лише частина роботи. Перекладачі також звертають увагу на робочий процес, пов’язаний із текстовими рядками, релізами та комунікацією. Декілька практичних прийомів значно полегшують співпрацю:
Відповідайте на запитання та коментарі перекладачів і переконайтеся, що вказаний канал зв’язку дійсно контролюється.
Уникайте зайвих змін у вихідних рядках. Переформулювання або заміна існуючих рядків без видимої для користувача причини створює зайву роботу для перекладачів.
Додайте достатньо контексту, щоб перекладачі могли зрозуміти короткі або неоднозначні фрази. Уникайте об’єднання речень із окремих фрагментів, використовуйте заповнювачі, порядок яких можна змінювати, та скористайтеся вбудованою функцією обробки множини.
Регулярно надсилайте переклади, щоб готові матеріали не залишалися невикористаними у Weblate протягом тривалого часу.
Повідомляйте про зміни в робочих процесах або політиках та забезпечуйте, щоб вимоги до внесків залишалися реалістичними для невеликих мовних команд.
Якщо проект більше не підтримується, відобразіть це у робочому процесі перекладу, замість того щоб залишати компоненти відкритими на невизначений термін.
Weblate може допомогти вирішити деякі з цих проблем. Зокрема, регулярні автоматичні записи змін у Weblate дозволяють відстежувати хід перекладу в історії вихідного коду та зменшують ризик того, що виконана робота буде забута до випуску. Дивіться Безперервна локалізація, щоб дізнатися про можливості автоматизації.
Дивись також